]> git.wh0rd.org Git - ICEs.git/blob - 168696/ice.i
initial import
[ICEs.git] / 168696 / ice.i
1 // /usr/libexec/gcc/x86_64-pc-linux-gnu/4.1.1/cc1plus -quiet -I.pch/wxprec_advdll -Ilib/wx/include/gtk2-ansi-release-2.6 -I/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -MMD .pch/wxprec_advdll/wx/wxprec.h.d -MF .deps/_pch_wxprec_advdll_wx_wxprec_h_gch.d -MQ .pch/wxprec_advdll/wx/wxprec.h.gch -D_GNU_SOURCE -D_REENTRANT -D__WXGTK__ -DWXUSINGDLL -DWXMAKINGDLL_ADV -DPIC -DWX_PRECOMP -DNO_GCC_PRAGMA -DGTK_NO_CHECK_CASTS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES /var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxprec.h -quiet -dumpbase wxprec.h -march=nocona -auxbase wxprec -O2 -O2 -Wall -Wundef -Wno-ctor-dtor-privacy -fPIC -fno-strict-aliasing -fomit-frame-pointer -fno-strict-aliasing -o - --output-pch= .pch/wxprec_advdll/wx/wxprec.h.gch -frandom-seed=0
2 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxprec.h"
3 # 1 "<built-in>"
4 # 1 "<command line>"
5 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxprec.h"
6 # 13 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxprec.h"
7 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h" 1
8 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
9 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/platform.h" 1
10 # 190 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/platform.h"
11 # 1 "lib/wx/include/gtk2-ansi-release-2.6/wx/setup.h" 1
12
13
14
15
16
17
18
19 #pragma interface
20 # 1035 "lib/wx/include/gtk2-ansi-release-2.6/wx/setup.h"
21 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/chkconf.h" 1
22 # 1036 "lib/wx/include/gtk2-ansi-release-2.6/wx/setup.h" 2
23 # 191 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/platform.h" 2
24 # 271 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/platform.h"
25 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/chkconf.h" 1
26 # 272 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/platform.h" 2
27 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h" 2
28 # 62 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
29 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/features.h" 1
30 # 63 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h" 2
31 # 113 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
32 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/version.h" 1
33 # 114 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h" 2
34 # 216 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
35 typedef short int WXTYPE;
36
37
38
39
40
41
42 typedef int wxWindowID;
43 # 472 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
44 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dlimpexp.h" 1
45 # 473 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h" 2
46 # 509 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
47 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/debug.h" 1
48 # 18 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/debug.h"
49 # 1 "/usr/include/assert.h" 1 3 4
50
51
52
53
54
55
56
57 # 1 "/usr/include/gentoo-multilib/amd64/assert.h" 1 3 4
58 # 36 "/usr/include/gentoo-multilib/amd64/assert.h" 3 4
59 # 1 "/usr/include/features.h" 1 3 4
60
61
62
63
64
65
66
67 # 1 "/usr/include/gentoo-multilib/amd64/features.h" 1 3 4
68 # 323 "/usr/include/gentoo-multilib/amd64/features.h" 3 4
69 # 1 "/usr/include/sys/cdefs.h" 1 3 4
70
71
72
73
74
75
76
77 # 1 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 1 3 4
78 # 313 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
79 # 1 "/usr/include/bits/wordsize.h" 1 3 4
80
81
82
83
84
85
86
87 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
88 # 9 "/usr/include/bits/wordsize.h" 2 3 4
89 # 314 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 2 3 4
90 # 9 "/usr/include/sys/cdefs.h" 2 3 4
91 # 324 "/usr/include/gentoo-multilib/amd64/features.h" 2 3 4
92 # 346 "/usr/include/gentoo-multilib/amd64/features.h" 3 4
93 # 1 "/usr/include/gnu/stubs.h" 1 3 4
94
95
96
97
98
99
100
101 # 1 "/usr/include/gentoo-multilib/amd64/gnu/stubs.h" 1 3 4
102
103
104
105 # 1 "/usr/include/bits/wordsize.h" 1 3 4
106
107
108
109
110
111
112
113 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
114 # 9 "/usr/include/bits/wordsize.h" 2 3 4
115 # 5 "/usr/include/gentoo-multilib/amd64/gnu/stubs.h" 2 3 4
116
117
118
119
120 # 1 "/usr/include/gnu/stubs-64.h" 1 3 4
121
122
123
124 # 1 "/usr/include/gentoo-multilib/amd64/gnu/stubs-64.h" 1 3 4
125 # 5 "/usr/include/gnu/stubs-64.h" 2 3 4
126 # 10 "/usr/include/gentoo-multilib/amd64/gnu/stubs.h" 2 3 4
127 # 9 "/usr/include/gnu/stubs.h" 2 3 4
128 # 347 "/usr/include/gentoo-multilib/amd64/features.h" 2 3 4
129 # 9 "/usr/include/features.h" 2 3 4
130 # 37 "/usr/include/gentoo-multilib/amd64/assert.h" 2 3 4
131 # 65 "/usr/include/gentoo-multilib/amd64/assert.h" 3 4
132 extern "C" {
133
134
135 extern void __assert_fail (__const char *__assertion, __const char *__file,
136       unsigned int __line, __const char *__function)
137      throw () __attribute__ ((__noreturn__));
138
139
140 extern void __assert_perror_fail (int __errnum, __const char *__file,
141       unsigned int __line,
142       __const char *__function)
143      throw () __attribute__ ((__noreturn__));
144
145
146
147
148 extern void __assert (const char *__assertion, const char *__file, int __line)
149      throw () __attribute__ ((__noreturn__));
150
151
152 }
153 # 9 "/usr/include/assert.h" 2 3 4
154 # 19 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/debug.h" 2
155
156 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/limits.h" 1 3 4
157 # 11 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/limits.h" 3 4
158 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/syslimits.h" 1 3 4
159
160
161
162
163
164
165 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/limits.h" 1 3 4
166 # 122 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/limits.h" 3 4
167 # 1 "/usr/include/limits.h" 1 3 4
168
169
170
171
172
173
174
175 # 1 "/usr/include/gentoo-multilib/amd64/limits.h" 1 3 4
176 # 27 "/usr/include/gentoo-multilib/amd64/limits.h" 3 4
177 # 1 "/usr/include/features.h" 1 3 4
178 # 28 "/usr/include/gentoo-multilib/amd64/limits.h" 2 3 4
179 # 145 "/usr/include/gentoo-multilib/amd64/limits.h" 3 4
180 # 1 "/usr/include/bits/posix1_lim.h" 1 3 4
181
182
183
184
185
186
187
188 # 1 "/usr/include/gentoo-multilib/amd64/bits/posix1_lim.h" 1 3 4
189 # 153 "/usr/include/gentoo-multilib/amd64/bits/posix1_lim.h" 3 4
190 # 1 "/usr/include/bits/local_lim.h" 1 3 4
191
192
193
194
195
196
197
198 # 1 "/usr/include/gentoo-multilib/amd64/bits/local_lim.h" 1 3 4
199 # 36 "/usr/include/gentoo-multilib/amd64/bits/local_lim.h" 3 4
200 # 1 "/usr/include/linux/limits.h" 1 3 4
201 # 37 "/usr/include/gentoo-multilib/amd64/bits/local_lim.h" 2 3 4
202 # 9 "/usr/include/bits/local_lim.h" 2 3 4
203 # 154 "/usr/include/gentoo-multilib/amd64/bits/posix1_lim.h" 2 3 4
204 # 9 "/usr/include/bits/posix1_lim.h" 2 3 4
205 # 146 "/usr/include/gentoo-multilib/amd64/limits.h" 2 3 4
206
207
208
209 # 1 "/usr/include/bits/posix2_lim.h" 1 3 4
210
211
212
213
214
215
216
217 # 1 "/usr/include/gentoo-multilib/amd64/bits/posix2_lim.h" 1 3 4
218 # 9 "/usr/include/bits/posix2_lim.h" 2 3 4
219 # 150 "/usr/include/gentoo-multilib/amd64/limits.h" 2 3 4
220
221
222
223 # 1 "/usr/include/bits/xopen_lim.h" 1 3 4
224
225
226
227
228
229
230
231 # 1 "/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h" 1 3 4
232 # 34 "/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h" 3 4
233 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4
234
235
236
237
238
239
240
241 # 1 "/usr/include/gentoo-multilib/amd64/bits/stdio_lim.h" 1 3 4
242 # 9 "/usr/include/bits/stdio_lim.h" 2 3 4
243 # 35 "/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h" 2 3 4
244 # 9 "/usr/include/bits/xopen_lim.h" 2 3 4
245 # 154 "/usr/include/gentoo-multilib/amd64/limits.h" 2 3 4
246 # 9 "/usr/include/limits.h" 2 3 4
247 # 123 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/limits.h" 2 3 4
248 # 8 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/syslimits.h" 2 3 4
249 # 12 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/limits.h" 2 3 4
250 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/debug.h" 2
251
252 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxchar.h" 1
253 # 62 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxchar.h"
254 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stdarg.h" 1 3 4
255 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stdarg.h" 3 4
256 typedef __builtin_va_list __gnuc_va_list;
257 # 105 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stdarg.h" 3 4
258 typedef __gnuc_va_list va_list;
259 # 63 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxchar.h" 2
260 # 103 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxchar.h"
261 # 1 "/usr/include/wchar.h" 1 3 4
262
263
264
265
266
267
268
269 # 1 "/usr/include/gentoo-multilib/amd64/wchar.h" 1 3 4
270 # 28 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
271 # 1 "/usr/include/features.h" 1 3 4
272 # 29 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4
273 # 37 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
274 # 1 "/usr/include/stdio.h" 1 3 4
275
276
277
278
279
280
281
282 # 1 "/usr/include/gentoo-multilib/amd64/stdio.h" 1 3 4
283 # 44 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
284
285
286 typedef struct _IO_FILE FILE;
287
288
289
290
291
292 # 62 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
293 typedef struct _IO_FILE __FILE;
294 # 9 "/usr/include/stdio.h" 2 3 4
295 # 38 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4
296 # 48 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
297 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
298 # 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
299 typedef long unsigned int size_t;
300 # 355 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
301 typedef unsigned int wint_t;
302 # 49 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4
303
304 # 1 "/usr/include/bits/wchar.h" 1 3 4
305
306
307
308
309
310
311
312 # 1 "/usr/include/gentoo-multilib/amd64/bits/wchar.h" 1 3 4
313 # 9 "/usr/include/bits/wchar.h" 2 3 4
314 # 51 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4
315 # 76 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
316 typedef struct
317 {
318   int __count;
319   union
320   {
321     wint_t __wch;
322     char __wchb[4];
323   } __value;
324 } __mbstate_t;
325 # 93 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
326
327
328 typedef __mbstate_t mbstate_t;
329
330
331
332 # 118 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
333 extern "C" {
334
335
336
337
338 struct tm;
339
340
341
342
343
344
345
346
347
348 extern wchar_t *wcscpy (wchar_t *__restrict __dest,
349    __const wchar_t *__restrict __src) throw ();
350
351 extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
352     __const wchar_t *__restrict __src, size_t __n)
353      throw ();
354
355
356 extern wchar_t *wcscat (wchar_t *__restrict __dest,
357    __const wchar_t *__restrict __src) throw ();
358
359 extern wchar_t *wcsncat (wchar_t *__restrict __dest,
360     __const wchar_t *__restrict __src, size_t __n)
361      throw ();
362
363
364 extern int wcscmp (__const wchar_t *__s1, __const wchar_t *__s2)
365      throw () __attribute__ ((__pure__));
366
367 extern int wcsncmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n)
368      throw () __attribute__ ((__pure__));
369
370
371
372
373 extern int wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2) throw ();
374
375
376 extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
377    size_t __n) throw ();
378
379
380
381 # 1 "/usr/include/xlocale.h" 1 3 4
382
383
384
385
386
387
388
389 # 1 "/usr/include/gentoo-multilib/amd64/xlocale.h" 1 3 4
390 # 28 "/usr/include/gentoo-multilib/amd64/xlocale.h" 3 4
391 typedef struct __locale_struct
392 {
393
394   struct locale_data *__locales[13];
395
396
397   const unsigned short int *__ctype_b;
398   const int *__ctype_tolower;
399   const int *__ctype_toupper;
400
401
402   const char *__names[13];
403 } *__locale_t;
404 # 9 "/usr/include/xlocale.h" 2 3 4
405 # 167 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4
406
407 extern int wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
408     __locale_t __loc) throw ();
409
410 extern int wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
411      size_t __n, __locale_t __loc) throw ();
412
413
414
415
416
417 extern int wcscoll (__const wchar_t *__s1, __const wchar_t *__s2) throw ();
418
419
420
421 extern size_t wcsxfrm (wchar_t *__restrict __s1,
422          __const wchar_t *__restrict __s2, size_t __n) throw ();
423
424
425
426
427
428
429
430
431 extern int wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2,
432         __locale_t __loc) throw ();
433
434
435
436
437 extern size_t wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2,
438     size_t __n, __locale_t __loc) throw ();
439
440
441 extern wchar_t *wcsdup (__const wchar_t *__s) throw () __attribute__ ((__malloc__));
442
443
444
445
446 extern wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc)
447      throw () __attribute__ ((__pure__));
448
449 extern wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc)
450      throw () __attribute__ ((__pure__));
451
452
453
454
455
456 extern wchar_t *wcschrnul (__const wchar_t *__s, wchar_t __wc)
457      throw () __attribute__ ((__pure__));
458
459
460
461
462
463 extern size_t wcscspn (__const wchar_t *__wcs, __const wchar_t *__reject)
464      throw () __attribute__ ((__pure__));
465
466
467 extern size_t wcsspn (__const wchar_t *__wcs, __const wchar_t *__accept)
468      throw () __attribute__ ((__pure__));
469
470 extern wchar_t *wcspbrk (__const wchar_t *__wcs, __const wchar_t *__accept)
471      throw () __attribute__ ((__pure__));
472
473 extern wchar_t *wcsstr (__const wchar_t *__haystack, __const wchar_t *__needle)
474      throw () __attribute__ ((__pure__));
475
476
477 extern wchar_t *wcstok (wchar_t *__restrict __s,
478    __const wchar_t *__restrict __delim,
479    wchar_t **__restrict __ptr) throw ();
480
481
482 extern size_t wcslen (__const wchar_t *__s) throw () __attribute__ ((__pure__));
483
484
485
486
487 extern wchar_t *wcswcs (__const wchar_t *__haystack, __const wchar_t *__needle)
488      throw () __attribute__ ((__pure__));
489
490
491
492
493 extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen)
494      throw () __attribute__ ((__pure__));
495
496
497
498
499
500 extern wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c, size_t __n)
501      throw () __attribute__ ((__pure__));
502
503
504 extern int wmemcmp (__const wchar_t *__restrict __s1,
505       __const wchar_t *__restrict __s2, size_t __n)
506      throw () __attribute__ ((__pure__));
507
508
509 extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
510     __const wchar_t *__restrict __s2, size_t __n) throw ();
511
512
513
514 extern wchar_t *wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n)
515      throw ();
516
517
518 extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw ();
519
520
521
522
523
524 extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
525      __const wchar_t *__restrict __s2, size_t __n)
526      throw ();
527
528
529
530
531
532
533 extern wint_t btowc (int __c) throw ();
534
535
536
537 extern int wctob (wint_t __c) throw ();
538
539
540
541 extern int mbsinit (__const mbstate_t *__ps) throw () __attribute__ ((__pure__));
542
543
544
545 extern size_t mbrtowc (wchar_t *__restrict __pwc,
546          __const char *__restrict __s, size_t __n,
547          mbstate_t *__p) throw ();
548
549
550 extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
551          mbstate_t *__restrict __ps) throw ();
552
553
554 extern size_t __mbrlen (__const char *__restrict __s, size_t __n,
555    mbstate_t *__restrict __ps) throw ();
556 extern size_t mbrlen (__const char *__restrict __s, size_t __n,
557         mbstate_t *__restrict __ps) throw ();
558
559 # 341 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
560 extern __inline size_t
561 mbrlen (__const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw ()
562
563 { return (__ps != __null
564    ? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); }
565
566
567
568
569
570 extern size_t mbsrtowcs (wchar_t *__restrict __dst,
571     __const char **__restrict __src, size_t __len,
572     mbstate_t *__restrict __ps) throw ();
573
574
575
576 extern size_t wcsrtombs (char *__restrict __dst,
577     __const wchar_t **__restrict __src, size_t __len,
578     mbstate_t *__restrict __ps) throw ();
579
580
581
582
583
584
585 extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
586      __const char **__restrict __src, size_t __nmc,
587      size_t __len, mbstate_t *__restrict __ps) throw ();
588
589
590
591 extern size_t wcsnrtombs (char *__restrict __dst,
592      __const wchar_t **__restrict __src,
593      size_t __nwc, size_t __len,
594      mbstate_t *__restrict __ps) throw ();
595
596
597
598
599
600
601 extern int wcwidth (wchar_t __c) throw ();
602
603
604
605 extern int wcswidth (__const wchar_t *__s, size_t __n) throw ();
606
607
608
609
610
611
612 extern double wcstod (__const wchar_t *__restrict __nptr,
613         wchar_t **__restrict __endptr) throw ();
614
615
616
617 extern float wcstof (__const wchar_t *__restrict __nptr,
618        wchar_t **__restrict __endptr) throw ();
619 extern long double wcstold (__const wchar_t *__restrict __nptr,
620        wchar_t **__restrict __endptr) throw ();
621
622
623
624
625
626 extern long int wcstol (__const wchar_t *__restrict __nptr,
627    wchar_t **__restrict __endptr, int __base) throw ();
628
629
630
631 extern unsigned long int wcstoul (__const wchar_t *__restrict __nptr,
632       wchar_t **__restrict __endptr, int __base)
633      throw ();
634
635
636
637
638 __extension__
639 extern long long int wcstoll (__const wchar_t *__restrict __nptr,
640          wchar_t **__restrict __endptr, int __base)
641      throw ();
642
643
644
645 __extension__
646 extern unsigned long long int wcstoull (__const wchar_t *__restrict __nptr,
647      wchar_t **__restrict __endptr,
648      int __base) throw ();
649
650
651
652
653
654
655 __extension__
656 extern long long int wcstoq (__const wchar_t *__restrict __nptr,
657         wchar_t **__restrict __endptr, int __base)
658      throw ();
659
660
661
662 __extension__
663 extern unsigned long long int wcstouq (__const wchar_t *__restrict __nptr,
664            wchar_t **__restrict __endptr,
665            int __base) throw ();
666 # 463 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
667 # 1 "/usr/include/xlocale.h" 1 3 4
668 # 464 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4
669
670
671
672 extern long int wcstol_l (__const wchar_t *__restrict __nptr,
673      wchar_t **__restrict __endptr, int __base,
674      __locale_t __loc) throw ();
675
676 extern unsigned long int wcstoul_l (__const wchar_t *__restrict __nptr,
677         wchar_t **__restrict __endptr,
678         int __base, __locale_t __loc) throw ();
679
680 __extension__
681 extern long long int wcstoll_l (__const wchar_t *__restrict __nptr,
682     wchar_t **__restrict __endptr,
683     int __base, __locale_t __loc) throw ();
684
685 __extension__
686 extern unsigned long long int wcstoull_l (__const wchar_t *__restrict __nptr,
687        wchar_t **__restrict __endptr,
688        int __base, __locale_t __loc)
689      throw ();
690
691 extern double wcstod_l (__const wchar_t *__restrict __nptr,
692    wchar_t **__restrict __endptr, __locale_t __loc)
693      throw ();
694
695 extern float wcstof_l (__const wchar_t *__restrict __nptr,
696          wchar_t **__restrict __endptr, __locale_t __loc)
697      throw ();
698
699 extern long double wcstold_l (__const wchar_t *__restrict __nptr,
700          wchar_t **__restrict __endptr,
701          __locale_t __loc) throw ();
702
703
704
705
706
707 extern double __wcstod_internal (__const wchar_t *__restrict __nptr,
708      wchar_t **__restrict __endptr, int __group)
709      throw ();
710 extern float __wcstof_internal (__const wchar_t *__restrict __nptr,
711     wchar_t **__restrict __endptr, int __group)
712      throw ();
713 extern long double __wcstold_internal (__const wchar_t *__restrict __nptr,
714            wchar_t **__restrict __endptr,
715            int __group) throw ();
716
717
718
719 extern long int __wcstol_internal (__const wchar_t *__restrict __nptr,
720        wchar_t **__restrict __endptr,
721        int __base, int __group) throw ();
722
723
724
725
726 extern unsigned long int __wcstoul_internal (__const wchar_t *__restrict __npt,
727           wchar_t **__restrict __endptr,
728           int __base, int __group) throw ();
729
730
731
732
733 __extension__
734 extern long long int __wcstoll_internal (__const wchar_t *__restrict __nptr,
735       wchar_t **__restrict __endptr,
736       int __base, int __group) throw ();
737
738
739
740
741 __extension__
742 extern unsigned long long int __wcstoull_internal (__const wchar_t *
743          __restrict __nptr,
744          wchar_t **
745          __restrict __endptr,
746          int __base,
747          int __group) throw ();
748
749
750
751
752
753
754
755
756 extern __inline double
757 wcstod (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw ()
758
759 { return __wcstod_internal (__nptr, __endptr, 0); }
760 extern __inline long int
761 wcstol (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw ()
762
763 { return __wcstol_internal (__nptr, __endptr, __base, 0); }
764 extern __inline unsigned long int
765 wcstoul (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw ()
766
767 { return __wcstoul_internal (__nptr, __endptr, __base, 0); }
768
769
770
771 extern __inline float
772 wcstof (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw ()
773
774 { return __wcstof_internal (__nptr, __endptr, 0); }
775
776 extern __inline long double
777 wcstold (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw ()
778
779 { return __wcstold_internal (__nptr, __endptr, 0); }
780
781 __extension__
782 extern __inline long long int
783 wcstoq (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw ()
784
785 { return __wcstoll_internal (__nptr, __endptr, __base, 0); }
786 __extension__
787 extern __inline unsigned long long int
788 wcstouq (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw ()
789
790 { return __wcstoull_internal (__nptr, __endptr, __base, 0); }
791
792
793
794
795
796
797
798 extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) throw ();
799
800
801
802 extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n)
803      throw ();
804 # 607 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
805 extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) throw ();
806
807
808
809
810
811
812 extern int fwide (__FILE *__fp, int __mode) throw ();
813
814
815
816
817
818
819 extern int fwprintf (__FILE *__restrict __stream,
820        __const wchar_t *__restrict __format, ...)
821                                                            ;
822
823
824
825
826 extern int wprintf (__const wchar_t *__restrict __format, ...)
827                                                            ;
828
829 extern int swprintf (wchar_t *__restrict __s, size_t __n,
830        __const wchar_t *__restrict __format, ...)
831      throw () ;
832
833
834
835
836
837 extern int vfwprintf (__FILE *__restrict __s,
838         __const wchar_t *__restrict __format,
839         __gnuc_va_list __arg)
840                                                            ;
841
842
843
844
845 extern int vwprintf (__const wchar_t *__restrict __format,
846        __gnuc_va_list __arg)
847                                                            ;
848
849
850 extern int vswprintf (wchar_t *__restrict __s, size_t __n,
851         __const wchar_t *__restrict __format,
852         __gnuc_va_list __arg)
853      throw () ;
854
855
856
857
858
859
860 extern int fwscanf (__FILE *__restrict __stream,
861       __const wchar_t *__restrict __format, ...)
862                                                           ;
863
864
865
866
867 extern int wscanf (__const wchar_t *__restrict __format, ...)
868                                                           ;
869
870 extern int swscanf (__const wchar_t *__restrict __s,
871       __const wchar_t *__restrict __format, ...)
872      throw () ;
873
874
875
876
877
878
879
880
881
882
883
884 extern int vfwscanf (__FILE *__restrict __s,
885        __const wchar_t *__restrict __format,
886        __gnuc_va_list __arg)
887                                                           ;
888
889
890
891
892 extern int vwscanf (__const wchar_t *__restrict __format,
893       __gnuc_va_list __arg)
894                                                           ;
895
896 extern int vswscanf (__const wchar_t *__restrict __s,
897        __const wchar_t *__restrict __format,
898        __gnuc_va_list __arg)
899      throw () ;
900
901
902
903
904
905
906
907
908
909
910 extern wint_t fgetwc (__FILE *__stream);
911 extern wint_t getwc (__FILE *__stream);
912
913
914
915
916
917 extern wint_t getwchar (void);
918
919
920
921
922
923
924 extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
925 extern wint_t putwc (wchar_t __wc, __FILE *__stream);
926
927
928
929
930
931 extern wint_t putwchar (wchar_t __wc);
932
933
934
935
936
937
938
939 extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
940    __FILE *__restrict __stream);
941
942
943
944
945
946 extern int fputws (__const wchar_t *__restrict __ws,
947      __FILE *__restrict __stream);
948
949
950
951
952
953
954 extern wint_t ungetwc (wint_t __wc, __FILE *__stream);
955
956 # 768 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
957 extern wint_t getwc_unlocked (__FILE *__stream);
958 extern wint_t getwchar_unlocked (void);
959
960
961
962
963
964
965
966 extern wint_t fgetwc_unlocked (__FILE *__stream);
967
968
969
970
971
972
973
974 extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream);
975 # 794 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
976 extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream);
977 extern wint_t putwchar_unlocked (wchar_t __wc);
978 # 804 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
979 extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
980      __FILE *__restrict __stream);
981
982
983
984
985
986
987
988 extern int fputws_unlocked (__const wchar_t *__restrict __ws,
989        __FILE *__restrict __stream);
990
991
992
993
994
995
996
997 extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
998    __const wchar_t *__restrict __format,
999    __const struct tm *__restrict __tp) throw ();
1000
1001
1002
1003 # 1 "/usr/include/xlocale.h" 1 3 4
1004 # 829 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4
1005
1006
1007
1008 extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
1009      __const wchar_t *__restrict __format,
1010      __const struct tm *__restrict __tp,
1011      __locale_t __loc) throw ();
1012 # 858 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
1013 }
1014 # 9 "/usr/include/wchar.h" 2 3 4
1015 # 104 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxchar.h" 2
1016 # 178 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxchar.h"
1017     typedef char wxChar;
1018     typedef signed char wxSChar;
1019     typedef unsigned char wxUChar;
1020 # 654 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxchar.h"
1021 # 1 "/usr/include/ctype.h" 1 3 4
1022
1023
1024
1025
1026
1027
1028
1029 # 1 "/usr/include/gentoo-multilib/amd64/ctype.h" 1 3 4
1030 # 27 "/usr/include/gentoo-multilib/amd64/ctype.h" 3 4
1031 # 1 "/usr/include/features.h" 1 3 4
1032 # 28 "/usr/include/gentoo-multilib/amd64/ctype.h" 2 3 4
1033 # 1 "/usr/include/bits/types.h" 1 3 4
1034
1035
1036
1037
1038
1039
1040
1041 # 1 "/usr/include/gentoo-multilib/amd64/bits/types.h" 1 3 4
1042 # 27 "/usr/include/gentoo-multilib/amd64/bits/types.h" 3 4
1043 # 1 "/usr/include/features.h" 1 3 4
1044 # 28 "/usr/include/gentoo-multilib/amd64/bits/types.h" 2 3 4
1045 # 1 "/usr/include/bits/wordsize.h" 1 3 4
1046
1047
1048
1049
1050
1051
1052
1053 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
1054 # 9 "/usr/include/bits/wordsize.h" 2 3 4
1055 # 29 "/usr/include/gentoo-multilib/amd64/bits/types.h" 2 3 4
1056
1057
1058 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
1059 # 32 "/usr/include/gentoo-multilib/amd64/bits/types.h" 2 3 4
1060
1061
1062 typedef unsigned char __u_char;
1063 typedef unsigned short int __u_short;
1064 typedef unsigned int __u_int;
1065 typedef unsigned long int __u_long;
1066
1067
1068 typedef signed char __int8_t;
1069 typedef unsigned char __uint8_t;
1070 typedef signed short int __int16_t;
1071 typedef unsigned short int __uint16_t;
1072 typedef signed int __int32_t;
1073 typedef unsigned int __uint32_t;
1074
1075 typedef signed long int __int64_t;
1076 typedef unsigned long int __uint64_t;
1077
1078
1079
1080
1081
1082
1083
1084 typedef long int __quad_t;
1085 typedef unsigned long int __u_quad_t;
1086 # 134 "/usr/include/gentoo-multilib/amd64/bits/types.h" 3 4
1087 # 1 "/usr/include/bits/typesizes.h" 1 3 4
1088
1089
1090
1091
1092
1093
1094
1095 # 1 "/usr/include/gentoo-multilib/amd64/bits/typesizes.h" 1 3 4
1096 # 9 "/usr/include/bits/typesizes.h" 2 3 4
1097 # 135 "/usr/include/gentoo-multilib/amd64/bits/types.h" 2 3 4
1098
1099
1100 typedef unsigned long int __dev_t;
1101 typedef unsigned int __uid_t;
1102 typedef unsigned int __gid_t;
1103 typedef unsigned long int __ino_t;
1104 typedef unsigned long int __ino64_t;
1105 typedef unsigned int __mode_t;
1106 typedef unsigned long int __nlink_t;
1107 typedef long int __off_t;
1108 typedef long int __off64_t;
1109 typedef int __pid_t;
1110 typedef struct { int __val[2]; } __fsid_t;
1111 typedef long int __clock_t;
1112 typedef unsigned long int __rlim_t;
1113 typedef unsigned long int __rlim64_t;
1114 typedef unsigned int __id_t;
1115 typedef long int __time_t;
1116 typedef unsigned int __useconds_t;
1117 typedef long int __suseconds_t;
1118
1119 typedef int __daddr_t;
1120 typedef long int __swblk_t;
1121 typedef int __key_t;
1122
1123
1124 typedef int __clockid_t;
1125
1126
1127 typedef void * __timer_t;
1128
1129
1130 typedef long int __blksize_t;
1131
1132
1133
1134
1135 typedef long int __blkcnt_t;
1136 typedef long int __blkcnt64_t;
1137
1138
1139 typedef unsigned long int __fsblkcnt_t;
1140 typedef unsigned long int __fsblkcnt64_t;
1141
1142
1143 typedef unsigned long int __fsfilcnt_t;
1144 typedef unsigned long int __fsfilcnt64_t;
1145
1146 typedef long int __ssize_t;
1147
1148
1149
1150 typedef __off64_t __loff_t;
1151 typedef __quad_t *__qaddr_t;
1152 typedef char *__caddr_t;
1153
1154
1155 typedef long int __intptr_t;
1156
1157
1158 typedef unsigned int __socklen_t;
1159 # 9 "/usr/include/bits/types.h" 2 3 4
1160 # 29 "/usr/include/gentoo-multilib/amd64/ctype.h" 2 3 4
1161
1162 extern "C" {
1163 # 41 "/usr/include/gentoo-multilib/amd64/ctype.h" 3 4
1164 # 1 "/usr/include/endian.h" 1 3 4
1165
1166
1167
1168
1169
1170
1171
1172 # 1 "/usr/include/gentoo-multilib/amd64/endian.h" 1 3 4
1173 # 22 "/usr/include/gentoo-multilib/amd64/endian.h" 3 4
1174 # 1 "/usr/include/features.h" 1 3 4
1175 # 23 "/usr/include/gentoo-multilib/amd64/endian.h" 2 3 4
1176 # 37 "/usr/include/gentoo-multilib/amd64/endian.h" 3 4
1177 # 1 "/usr/include/bits/endian.h" 1 3 4
1178
1179
1180
1181
1182
1183
1184
1185 # 1 "/usr/include/gentoo-multilib/amd64/bits/endian.h" 1 3 4
1186 # 9 "/usr/include/bits/endian.h" 2 3 4
1187 # 38 "/usr/include/gentoo-multilib/amd64/endian.h" 2 3 4
1188 # 9 "/usr/include/endian.h" 2 3 4
1189 # 42 "/usr/include/gentoo-multilib/amd64/ctype.h" 2 3 4
1190
1191
1192
1193
1194
1195
1196 enum
1197 {
1198   _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
1199   _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
1200   _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
1201   _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
1202   _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
1203   _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
1204   _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
1205   _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
1206   _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
1207   _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
1208   _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
1209   _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
1210 };
1211 # 81 "/usr/include/gentoo-multilib/amd64/ctype.h" 3 4
1212 extern __const unsigned short int **__ctype_b_loc (void)
1213      __attribute__ ((__const));
1214 extern __const __int32_t **__ctype_tolower_loc (void)
1215      __attribute__ ((__const));
1216 extern __const __int32_t **__ctype_toupper_loc (void)
1217      __attribute__ ((__const));
1218 # 96 "/usr/include/gentoo-multilib/amd64/ctype.h" 3 4
1219
1220
1221
1222
1223
1224
1225 extern int isalnum (int) throw ();
1226 extern int isalpha (int) throw ();
1227 extern int iscntrl (int) throw ();
1228 extern int isdigit (int) throw ();
1229 extern int islower (int) throw ();
1230 extern int isgraph (int) throw ();
1231 extern int isprint (int) throw ();
1232 extern int ispunct (int) throw ();
1233 extern int isspace (int) throw ();
1234 extern int isupper (int) throw ();
1235 extern int isxdigit (int) throw ();
1236
1237
1238
1239 extern int tolower (int __c) throw ();
1240
1241
1242 extern int toupper (int __c) throw ();
1243
1244
1245
1246
1247
1248
1249
1250
1251 extern int isblank (int) throw ();
1252
1253
1254
1255
1256
1257
1258 extern int isctype (int __c, int __mask) throw ();
1259
1260
1261
1262
1263
1264
1265 extern int isascii (int __c) throw ();
1266
1267
1268
1269 extern int toascii (int __c) throw ();
1270
1271
1272
1273 extern int _toupper (int) throw ();
1274 extern int _tolower (int) throw ();
1275 # 233 "/usr/include/gentoo-multilib/amd64/ctype.h" 3 4
1276 # 1 "/usr/include/xlocale.h" 1 3 4
1277 # 234 "/usr/include/gentoo-multilib/amd64/ctype.h" 2 3 4
1278 # 247 "/usr/include/gentoo-multilib/amd64/ctype.h" 3 4
1279 extern int isalnum_l (int, __locale_t) throw ();
1280 extern int isalpha_l (int, __locale_t) throw ();
1281 extern int iscntrl_l (int, __locale_t) throw ();
1282 extern int isdigit_l (int, __locale_t) throw ();
1283 extern int islower_l (int, __locale_t) throw ();
1284 extern int isgraph_l (int, __locale_t) throw ();
1285 extern int isprint_l (int, __locale_t) throw ();
1286 extern int ispunct_l (int, __locale_t) throw ();
1287 extern int isspace_l (int, __locale_t) throw ();
1288 extern int isupper_l (int, __locale_t) throw ();
1289 extern int isxdigit_l (int, __locale_t) throw ();
1290
1291 extern int isblank_l (int, __locale_t) throw ();
1292
1293
1294
1295 extern int __tolower_l (int __c, __locale_t __l) throw ();
1296 extern int tolower_l (int __c, __locale_t __l) throw ();
1297
1298
1299 extern int __toupper_l (int __c, __locale_t __l) throw ();
1300 extern int toupper_l (int __c, __locale_t __l) throw ();
1301 # 323 "/usr/include/gentoo-multilib/amd64/ctype.h" 3 4
1302 }
1303 # 9 "/usr/include/ctype.h" 2 3 4
1304 # 655 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxchar.h" 2
1305 # 1 "/usr/include/string.h" 1 3 4
1306
1307
1308
1309
1310
1311
1312
1313 # 1 "/usr/include/gentoo-multilib/amd64/string.h" 1 3 4
1314 # 26 "/usr/include/gentoo-multilib/amd64/string.h" 3 4
1315 # 1 "/usr/include/features.h" 1 3 4
1316 # 27 "/usr/include/gentoo-multilib/amd64/string.h" 2 3 4
1317
1318 extern "C" {
1319
1320
1321
1322
1323 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
1324 # 34 "/usr/include/gentoo-multilib/amd64/string.h" 2 3 4
1325
1326
1327
1328
1329 extern void *memcpy (void *__restrict __dest,
1330        __const void *__restrict __src, size_t __n)
1331      throw () __attribute__ ((__nonnull__ (1, 2)));
1332
1333
1334 extern void *memmove (void *__dest, __const void *__src, size_t __n)
1335      throw () __attribute__ ((__nonnull__ (1, 2)));
1336
1337
1338
1339
1340
1341
1342 extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
1343         int __c, size_t __n)
1344      throw () __attribute__ ((__nonnull__ (1, 2)));
1345
1346
1347
1348
1349
1350 extern void *memset (void *__s, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1)));
1351
1352
1353 extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
1354      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1355
1356
1357 extern void *memchr (__const void *__s, int __c, size_t __n)
1358       throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1359
1360
1361
1362
1363
1364 extern void *rawmemchr (__const void *__s, int __c)
1365      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1366
1367
1368 extern void *memrchr (__const void *__s, int __c, size_t __n)
1369       throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1370
1371
1372
1373
1374
1375 extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
1376      throw () __attribute__ ((__nonnull__ (1, 2)));
1377
1378 extern char *strncpy (char *__restrict __dest,
1379         __const char *__restrict __src, size_t __n)
1380      throw () __attribute__ ((__nonnull__ (1, 2)));
1381
1382
1383 extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
1384      throw () __attribute__ ((__nonnull__ (1, 2)));
1385
1386 extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
1387         size_t __n) throw () __attribute__ ((__nonnull__ (1, 2)));
1388
1389
1390 extern int strcmp (__const char *__s1, __const char *__s2)
1391      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1392
1393 extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
1394      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1395
1396
1397 extern int strcoll (__const char *__s1, __const char *__s2)
1398      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1399
1400 extern size_t strxfrm (char *__restrict __dest,
1401          __const char *__restrict __src, size_t __n)
1402      throw () __attribute__ ((__nonnull__ (2)));
1403
1404
1405
1406
1407
1408
1409 # 1 "/usr/include/xlocale.h" 1 3 4
1410 # 119 "/usr/include/gentoo-multilib/amd64/string.h" 2 3 4
1411
1412
1413 extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
1414      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
1415
1416 extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
1417     __locale_t __l) throw () __attribute__ ((__nonnull__ (2, 4)));
1418
1419
1420
1421
1422 extern char *strdup (__const char *__s)
1423      throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
1424
1425
1426
1427
1428
1429
1430 extern char *strndup (__const char *__string, size_t __n)
1431      throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
1432 # 165 "/usr/include/gentoo-multilib/amd64/string.h" 3 4
1433
1434
1435 extern char *strchr (__const char *__s, int __c)
1436      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1437
1438 extern char *strrchr (__const char *__s, int __c)
1439      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1440
1441
1442
1443
1444
1445 extern char *strchrnul (__const char *__s, int __c)
1446      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1447
1448
1449
1450
1451
1452 extern size_t strcspn (__const char *__s, __const char *__reject)
1453      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1454
1455
1456 extern size_t strspn (__const char *__s, __const char *__accept)
1457      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1458
1459 extern char *strpbrk (__const char *__s, __const char *__accept)
1460      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1461
1462 extern char *strstr (__const char *__haystack, __const char *__needle)
1463      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1464
1465
1466
1467 extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
1468      throw () __attribute__ ((__nonnull__ (2)));
1469
1470
1471
1472
1473 extern char *__strtok_r (char *__restrict __s,
1474     __const char *__restrict __delim,
1475     char **__restrict __save_ptr)
1476      throw () __attribute__ ((__nonnull__ (2, 3)));
1477
1478 extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
1479          char **__restrict __save_ptr)
1480      throw () __attribute__ ((__nonnull__ (2, 3)));
1481
1482
1483
1484
1485 extern char *strcasestr (__const char *__haystack, __const char *__needle)
1486      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1487
1488
1489
1490
1491
1492
1493 extern void *memmem (__const void *__haystack, size_t __haystacklen,
1494        __const void *__needle, size_t __needlelen)
1495      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3)));
1496
1497
1498
1499 extern void *__mempcpy (void *__restrict __dest,
1500    __const void *__restrict __src, size_t __n)
1501      throw () __attribute__ ((__nonnull__ (1, 2)));
1502 extern void *mempcpy (void *__restrict __dest,
1503         __const void *__restrict __src, size_t __n)
1504      throw () __attribute__ ((__nonnull__ (1, 2)));
1505
1506
1507
1508
1509
1510 extern size_t strlen (__const char *__s)
1511      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1512
1513
1514
1515
1516
1517 extern size_t strnlen (__const char *__string, size_t __maxlen)
1518      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1519
1520
1521
1522
1523
1524 extern char *strerror (int __errnum) throw ();
1525
1526 # 281 "/usr/include/gentoo-multilib/amd64/string.h" 3 4
1527 extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
1528      throw () __attribute__ ((__nonnull__ (2)));
1529
1530
1531
1532
1533
1534 extern void __bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1)));
1535
1536
1537
1538 extern void bcopy (__const void *__src, void *__dest, size_t __n)
1539      throw () __attribute__ ((__nonnull__ (1, 2)));
1540
1541
1542 extern void bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1)));
1543
1544
1545 extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
1546      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1547
1548
1549 extern char *index (__const char *__s, int __c)
1550      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1551
1552
1553 extern char *rindex (__const char *__s, int __c)
1554      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1555
1556
1557
1558 extern int ffs (int __i) throw () __attribute__ ((__const__));
1559
1560
1561
1562
1563 extern int ffsl (long int __l) throw () __attribute__ ((__const__));
1564
1565 __extension__ extern int ffsll (long long int __ll)
1566      throw () __attribute__ ((__const__));
1567
1568
1569
1570
1571 extern int strcasecmp (__const char *__s1, __const char *__s2)
1572      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1573
1574
1575 extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
1576      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1577
1578
1579
1580
1581
1582 extern int strcasecmp_l (__const char *__s1, __const char *__s2,
1583     __locale_t __loc)
1584      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
1585
1586 extern int strncasecmp_l (__const char *__s1, __const char *__s2,
1587      size_t __n, __locale_t __loc)
1588      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4)));
1589
1590
1591
1592
1593
1594 extern char *strsep (char **__restrict __stringp,
1595        __const char *__restrict __delim)
1596      throw () __attribute__ ((__nonnull__ (1, 2)));
1597
1598
1599
1600
1601 extern int strverscmp (__const char *__s1, __const char *__s2)
1602      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1603
1604
1605 extern char *strsignal (int __sig) throw ();
1606
1607
1608 extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src)
1609      throw () __attribute__ ((__nonnull__ (1, 2)));
1610 extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src)
1611      throw () __attribute__ ((__nonnull__ (1, 2)));
1612
1613
1614
1615 extern char *__stpncpy (char *__restrict __dest,
1616    __const char *__restrict __src, size_t __n)
1617      throw () __attribute__ ((__nonnull__ (1, 2)));
1618 extern char *stpncpy (char *__restrict __dest,
1619         __const char *__restrict __src, size_t __n)
1620      throw () __attribute__ ((__nonnull__ (1, 2)));
1621
1622
1623 extern char *strfry (char *__string) throw () __attribute__ ((__nonnull__ (1)));
1624
1625
1626 extern void *memfrob (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1)));
1627
1628
1629
1630
1631
1632
1633 extern char *basename (__const char *__filename) throw () __attribute__ ((__nonnull__ (1)));
1634 # 426 "/usr/include/gentoo-multilib/amd64/string.h" 3 4
1635 }
1636 # 9 "/usr/include/string.h" 2 3 4
1637 # 656 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxchar.h" 2
1638 # 790 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxchar.h"
1639 inline bool wxIsEmpty(const wxChar *p) { return !p || !*p; }
1640
1641
1642 inline size_t wxStrlen(const wxChar *psz) { return psz ? strlen(psz) : 0; }
1643 # 810 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxchar.h"
1644  bool wxOKlibc();
1645 # 1086 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxchar.h"
1646  wchar_t *wxStrdupW(const wchar_t *pwz);
1647 # 1161 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxchar.h"
1648     size_t wxMB2WC(wchar_t *buf, const char *psz, size_t n);
1649     size_t wxWC2MB(char *buf, const wchar_t *psz, size_t n);
1650 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/debug.h" 2
1651 # 130 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/debug.h"
1652     extern const bool wxFalse;
1653 # 247 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/debug.h"
1654         inline bool wxIsDebuggerRunning() { return false; }
1655 # 510 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h" 2
1656
1657
1658
1659
1660
1661 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
1662 # 152 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 3 4
1663 typedef long int ptrdiff_t;
1664 # 516 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h" 2
1665 # 605 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
1666         template <class T>
1667             inline void wxUnusedVar(const T& ) { }
1668 # 654 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
1669 enum
1670 {
1671     wxUNKNOWN_PLATFORM,
1672     wxCURSES,
1673     wxXVIEW_X,
1674     wxMOTIF_X,
1675     wxCOSE_X,
1676     wxNEXTSTEP,
1677     wxMAC,
1678     wxMAC_DARWIN,
1679     wxBEOS,
1680     wxGTK,
1681     wxGTK_WIN32,
1682     wxGTK_OS2,
1683     wxGTK_BEOS,
1684     wxGEOS,
1685     wxOS2_PM,
1686     wxWINDOWS,
1687     wxMICROWINDOWS,
1688     wxPENWINDOWS,
1689     wxWINDOWS_NT,
1690     wxWIN32S,
1691     wxWIN95,
1692     wxWIN386,
1693     wxWINDOWS_CE,
1694     wxWINDOWS_POCKETPC,
1695     wxWINDOWS_SMARTPHONE,
1696     wxMGL_UNIX,
1697     wxMGL_X,
1698     wxMGL_WIN32,
1699     wxMGL_OS2,
1700     wxMGL_DOS,
1701     wxWINDOWS_OS2,
1702     wxUNIX,
1703     wxX11,
1704     wxPALMOS,
1705     wxDOS
1706 };
1707
1708
1709
1710
1711
1712
1713 typedef int wxCoord;
1714
1715 enum { wxDefaultCoord = -1 };
1716 # 717 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
1717 typedef signed char wxInt8;
1718 typedef unsigned char wxUint8;
1719 typedef wxUint8 wxByte;
1720 # 731 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
1721 typedef signed short wxInt16;
1722 typedef unsigned short wxUint16;
1723
1724 typedef wxUint16 wxWord;
1725 # 828 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
1726             typedef int wxInt32;
1727             typedef unsigned int wxUint32;
1728 # 871 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
1729 typedef wxUint32 wxDword;
1730
1731
1732
1733
1734
1735
1736     typedef unsigned long wxUIntPtr;
1737 # 892 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
1738 inline wxUIntPtr wxPtrToUInt(const void *p)
1739 {
1740 # 903 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
1741     return reinterpret_cast<wxUIntPtr>(p);
1742
1743
1744
1745
1746 }
1747
1748 inline void *wxUIntToPtr(wxUIntPtr p)
1749 {
1750
1751
1752
1753
1754     return reinterpret_cast<void *>(p);
1755
1756
1757
1758
1759 }
1760 # 1001 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
1761     typedef long wxInt64;
1762     typedef unsigned long wxUint64;
1763 # 1037 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
1764 typedef float wxFloat32;
1765
1766
1767
1768     typedef double wxFloat64;
1769
1770
1771
1772
1773
1774     typedef double wxDouble;
1775 # 1216 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
1776 enum wxGeometryCentre
1777 {
1778     wxCENTRE = 0x0001,
1779     wxCENTER = wxCENTRE
1780 };
1781
1782
1783
1784
1785
1786
1787
1788 enum wxOrientation
1789 {
1790
1791     wxHORIZONTAL = 0x0004,
1792     wxVERTICAL = 0x0008,
1793
1794     wxBOTH = wxVERTICAL | wxHORIZONTAL
1795 };
1796
1797 enum wxDirection
1798 {
1799     wxLEFT = 0x0010,
1800     wxRIGHT = 0x0020,
1801     wxUP = 0x0040,
1802     wxDOWN = 0x0080,
1803
1804     wxTOP = wxUP,
1805     wxBOTTOM = wxDOWN,
1806
1807     wxNORTH = wxUP,
1808     wxSOUTH = wxDOWN,
1809     wxWEST = wxLEFT,
1810     wxEAST = wxRIGHT,
1811
1812     wxALL = (wxUP | wxDOWN | wxRIGHT | wxLEFT)
1813 };
1814
1815 enum wxAlignment
1816 {
1817     wxALIGN_NOT = 0x0000,
1818     wxALIGN_CENTER_HORIZONTAL = 0x0100,
1819     wxALIGN_CENTRE_HORIZONTAL = wxALIGN_CENTER_HORIZONTAL,
1820     wxALIGN_LEFT = wxALIGN_NOT,
1821     wxALIGN_TOP = wxALIGN_NOT,
1822     wxALIGN_RIGHT = 0x0200,
1823     wxALIGN_BOTTOM = 0x0400,
1824     wxALIGN_CENTER_VERTICAL = 0x0800,
1825     wxALIGN_CENTRE_VERTICAL = wxALIGN_CENTER_VERTICAL,
1826
1827     wxALIGN_CENTER = (wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL),
1828     wxALIGN_CENTRE = wxALIGN_CENTER,
1829
1830
1831     wxALIGN_MASK = 0x0f00
1832 };
1833
1834 enum wxStretch
1835 {
1836     wxSTRETCH_NOT = 0x0000,
1837     wxSHRINK = 0x1000,
1838     wxGROW = 0x2000,
1839     wxEXPAND = wxGROW,
1840     wxSHAPED = 0x4000,
1841     wxFIXED_MINSIZE = 0x8000,
1842     wxTILE = 0xc000,
1843
1844
1845
1846     wxADJUST_MINSIZE = 0x00100000
1847
1848
1849
1850 };
1851
1852
1853 enum wxBorder
1854 {
1855
1856
1857     wxBORDER_DEFAULT = 0,
1858
1859     wxBORDER_NONE = 0x00200000,
1860     wxBORDER_STATIC = 0x01000000,
1861     wxBORDER_SIMPLE = 0x02000000,
1862     wxBORDER_RAISED = 0x04000000,
1863     wxBORDER_SUNKEN = 0x08000000,
1864     wxBORDER_DOUBLE = 0x10000000,
1865
1866
1867     wxBORDER_MASK = 0x1f200000
1868 };
1869 # 1662 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
1870 enum wxBackgroundStyle
1871 {
1872   wxBG_STYLE_SYSTEM,
1873   wxBG_STYLE_COLOUR,
1874   wxBG_STYLE_CUSTOM
1875 };
1876
1877
1878
1879
1880
1881
1882 enum
1883 {
1884
1885     wxID_NONE = -3,
1886
1887
1888     wxID_SEPARATOR = -2,
1889
1890
1891
1892     wxID_ANY = -1,
1893
1894
1895
1896     wxID_LOWEST = 4999,
1897
1898     wxID_OPEN,
1899     wxID_CLOSE,
1900     wxID_NEW,
1901     wxID_SAVE,
1902     wxID_SAVEAS,
1903     wxID_REVERT,
1904     wxID_EXIT,
1905     wxID_UNDO,
1906     wxID_REDO,
1907     wxID_HELP,
1908     wxID_PRINT,
1909     wxID_PRINT_SETUP,
1910     wxID_PREVIEW,
1911     wxID_ABOUT,
1912     wxID_HELP_CONTENTS,
1913     wxID_HELP_COMMANDS,
1914     wxID_HELP_PROCEDURES,
1915     wxID_HELP_CONTEXT,
1916     wxID_CLOSE_ALL,
1917     wxID_PREFERENCES ,
1918
1919     wxID_CUT = 5030,
1920     wxID_COPY,
1921     wxID_PASTE,
1922     wxID_CLEAR,
1923     wxID_FIND,
1924     wxID_DUPLICATE,
1925     wxID_SELECTALL,
1926     wxID_DELETE,
1927     wxID_REPLACE,
1928     wxID_REPLACE_ALL,
1929     wxID_PROPERTIES,
1930
1931     wxID_VIEW_DETAILS,
1932     wxID_VIEW_LARGEICONS,
1933     wxID_VIEW_SMALLICONS,
1934     wxID_VIEW_LIST,
1935     wxID_VIEW_SORTDATE,
1936     wxID_VIEW_SORTNAME,
1937     wxID_VIEW_SORTSIZE,
1938     wxID_VIEW_SORTTYPE,
1939
1940     wxID_FILE1 = 5050,
1941     wxID_FILE2,
1942     wxID_FILE3,
1943     wxID_FILE4,
1944     wxID_FILE5,
1945     wxID_FILE6,
1946     wxID_FILE7,
1947     wxID_FILE8,
1948     wxID_FILE9,
1949
1950
1951     wxID_OK = 5100,
1952     wxID_CANCEL,
1953     wxID_APPLY,
1954     wxID_YES,
1955     wxID_NO,
1956     wxID_STATIC,
1957     wxID_FORWARD,
1958     wxID_BACKWARD,
1959     wxID_DEFAULT,
1960     wxID_MORE,
1961     wxID_SETUP,
1962     wxID_RESET,
1963     wxID_CONTEXT_HELP,
1964     wxID_YESTOALL,
1965     wxID_NOTOALL,
1966     wxID_ABORT,
1967     wxID_RETRY,
1968     wxID_IGNORE,
1969     wxID_ADD,
1970     wxID_REMOVE,
1971
1972     wxID_UP,
1973     wxID_DOWN,
1974     wxID_HOME,
1975     wxID_REFRESH,
1976     wxID_STOP,
1977     wxID_INDEX,
1978
1979     wxID_BOLD,
1980     wxID_ITALIC,
1981     wxID_JUSTIFY_CENTER,
1982     wxID_JUSTIFY_FILL,
1983     wxID_JUSTIFY_RIGHT,
1984     wxID_JUSTIFY_LEFT,
1985     wxID_UNDERLINE,
1986     wxID_INDENT,
1987     wxID_UNINDENT,
1988     wxID_ZOOM_100,
1989     wxID_ZOOM_FIT,
1990     wxID_ZOOM_IN,
1991     wxID_ZOOM_OUT,
1992     wxID_UNDELETE,
1993     wxID_REVERT_TO_SAVED,
1994
1995
1996     wxID_SYSTEM_MENU = 5200,
1997     wxID_CLOSE_FRAME,
1998     wxID_MOVE_FRAME,
1999     wxID_RESIZE_FRAME,
2000     wxID_MAXIMIZE_FRAME,
2001     wxID_ICONIZE_FRAME,
2002     wxID_RESTORE_FRAME,
2003
2004
2005     wxID_FILEDLGG = 5900,
2006
2007     wxID_HIGHEST = 5999
2008 };
2009
2010
2011
2012
2013
2014
2015 enum wxItemKind
2016 {
2017     wxITEM_SEPARATOR = -1,
2018     wxITEM_NORMAL,
2019     wxITEM_CHECK,
2020     wxITEM_RADIO,
2021     wxITEM_MAX
2022 };
2023
2024
2025 enum wxHitTest
2026 {
2027     wxHT_NOWHERE,
2028
2029
2030     wxHT_SCROLLBAR_FIRST = wxHT_NOWHERE,
2031     wxHT_SCROLLBAR_ARROW_LINE_1,
2032     wxHT_SCROLLBAR_ARROW_LINE_2,
2033     wxHT_SCROLLBAR_ARROW_PAGE_1,
2034     wxHT_SCROLLBAR_ARROW_PAGE_2,
2035     wxHT_SCROLLBAR_THUMB,
2036     wxHT_SCROLLBAR_BAR_1,
2037     wxHT_SCROLLBAR_BAR_2,
2038     wxHT_SCROLLBAR_LAST,
2039
2040
2041     wxHT_WINDOW_OUTSIDE,
2042     wxHT_WINDOW_INSIDE,
2043     wxHT_WINDOW_VERT_SCROLLBAR,
2044     wxHT_WINDOW_HORZ_SCROLLBAR,
2045     wxHT_WINDOW_CORNER,
2046
2047     wxHT_MAX
2048 };
2049 # 1869 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
2050 enum
2051 {
2052
2053     wxDEFAULT = 70,
2054     wxDECORATIVE,
2055     wxROMAN,
2056     wxSCRIPT,
2057     wxSWISS,
2058     wxMODERN,
2059     wxTELETYPE,
2060
2061
2062     wxVARIABLE = 80,
2063     wxFIXED,
2064
2065     wxNORMAL = 90,
2066     wxLIGHT,
2067     wxBOLD,
2068
2069     wxITALIC,
2070     wxSLANT,
2071
2072
2073     wxSOLID = 100,
2074     wxDOT,
2075     wxLONG_DASH,
2076     wxSHORT_DASH,
2077     wxDOT_DASH,
2078     wxUSER_DASH,
2079
2080     wxTRANSPARENT,
2081
2082
2083
2084     wxSTIPPLE_MASK_OPAQUE,
2085     wxSTIPPLE_MASK,
2086
2087     wxSTIPPLE = 110,
2088
2089     wxBDIAGONAL_HATCH,
2090     wxCROSSDIAG_HATCH,
2091     wxFDIAGONAL_HATCH,
2092     wxCROSS_HATCH,
2093     wxHORIZONTAL_HATCH,
2094     wxVERTICAL_HATCH,
2095     wxFIRST_HATCH = wxBDIAGONAL_HATCH,
2096     wxLAST_HATCH = wxVERTICAL_HATCH,
2097
2098     wxJOIN_BEVEL = 120,
2099     wxJOIN_MITER,
2100     wxJOIN_ROUND,
2101
2102     wxCAP_ROUND = 130,
2103     wxCAP_PROJECTING,
2104     wxCAP_BUTT
2105 };
2106 # 1933 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
2107 typedef enum
2108 {
2109     wxCLEAR, wxROP_BLACK = wxCLEAR, wxBLIT_BLACKNESS = wxCLEAR,
2110     wxXOR, wxROP_XORPEN = wxXOR, wxBLIT_SRCINVERT = wxXOR,
2111     wxINVERT, wxROP_NOT = wxINVERT, wxBLIT_DSTINVERT = wxINVERT,
2112     wxOR_REVERSE, wxROP_MERGEPENNOT = wxOR_REVERSE, wxBLIT_00DD0228 = wxOR_REVERSE,
2113     wxAND_REVERSE, wxROP_MASKPENNOT = wxAND_REVERSE, wxBLIT_SRCERASE = wxAND_REVERSE,
2114     wxCOPY, wxROP_COPYPEN = wxCOPY, wxBLIT_SRCCOPY = wxCOPY,
2115     wxAND, wxROP_MASKPEN = wxAND, wxBLIT_SRCAND = wxAND,
2116     wxAND_INVERT, wxROP_MASKNOTPEN = wxAND_INVERT, wxBLIT_00220326 = wxAND_INVERT,
2117     wxNO_OP, wxROP_NOP = wxNO_OP, wxBLIT_00AA0029 = wxNO_OP,
2118     wxNOR, wxROP_NOTMERGEPEN = wxNOR, wxBLIT_NOTSRCERASE = wxNOR,
2119     wxEQUIV, wxROP_NOTXORPEN = wxEQUIV, wxBLIT_00990066 = wxEQUIV,
2120     wxSRC_INVERT, wxROP_NOTCOPYPEN = wxSRC_INVERT, wxBLIT_NOTSCRCOPY = wxSRC_INVERT,
2121     wxOR_INVERT, wxROP_MERGENOTPEN = wxOR_INVERT, wxBLIT_MERGEPAINT = wxOR_INVERT,
2122     wxNAND, wxROP_NOTMASKPEN = wxNAND, wxBLIT_007700E6 = wxNAND,
2123     wxOR, wxROP_MERGEPEN = wxOR, wxBLIT_SRCPAINT = wxOR,
2124     wxSET, wxROP_WHITE = wxSET, wxBLIT_WHITENESS = wxSET
2125 } form_ops_t;
2126
2127
2128 enum
2129 {
2130     wxFLOOD_SURFACE = 1,
2131     wxFLOOD_BORDER
2132 };
2133
2134
2135 enum
2136 {
2137     wxODDEVEN_RULE = 1,
2138     wxWINDING_RULE
2139 };
2140
2141
2142 enum
2143 {
2144     wxTOOL_TOP = 1,
2145     wxTOOL_BOTTOM,
2146     wxTOOL_LEFT,
2147     wxTOOL_RIGHT
2148 };
2149
2150
2151
2152 enum wxDataFormatId
2153 {
2154     wxDF_INVALID = 0,
2155     wxDF_TEXT = 1,
2156     wxDF_BITMAP = 2,
2157     wxDF_METAFILE = 3,
2158     wxDF_SYLK = 4,
2159     wxDF_DIF = 5,
2160     wxDF_TIFF = 6,
2161     wxDF_OEMTEXT = 7,
2162     wxDF_DIB = 8,
2163     wxDF_PALETTE = 9,
2164     wxDF_PENDATA = 10,
2165     wxDF_RIFF = 11,
2166     wxDF_WAVE = 12,
2167     wxDF_UNICODETEXT = 13,
2168     wxDF_ENHMETAFILE = 14,
2169     wxDF_FILENAME = 15,
2170     wxDF_LOCALE = 16,
2171     wxDF_PRIVATE = 20,
2172     wxDF_HTML = 30,
2173     wxDF_MAX
2174 };
2175
2176
2177 enum wxKeyCode
2178 {
2179     WXK_BACK = 8,
2180     WXK_TAB = 9,
2181     WXK_RETURN = 13,
2182     WXK_ESCAPE = 27,
2183     WXK_SPACE = 32,
2184     WXK_DELETE = 127,
2185
2186
2187
2188
2189     WXK_START = 300,
2190     WXK_LBUTTON,
2191     WXK_RBUTTON,
2192     WXK_CANCEL,
2193     WXK_MBUTTON,
2194     WXK_CLEAR,
2195     WXK_SHIFT,
2196     WXK_ALT,
2197     WXK_CONTROL,
2198     WXK_MENU,
2199     WXK_PAUSE,
2200     WXK_CAPITAL,
2201     WXK_PRIOR,
2202     WXK_NEXT,
2203     WXK_END,
2204     WXK_HOME,
2205     WXK_LEFT,
2206     WXK_UP,
2207     WXK_RIGHT,
2208     WXK_DOWN,
2209     WXK_SELECT,
2210     WXK_PRINT,
2211     WXK_EXECUTE,
2212     WXK_SNAPSHOT,
2213     WXK_INSERT,
2214     WXK_HELP,
2215     WXK_NUMPAD0,
2216     WXK_NUMPAD1,
2217     WXK_NUMPAD2,
2218     WXK_NUMPAD3,
2219     WXK_NUMPAD4,
2220     WXK_NUMPAD5,
2221     WXK_NUMPAD6,
2222     WXK_NUMPAD7,
2223     WXK_NUMPAD8,
2224     WXK_NUMPAD9,
2225     WXK_MULTIPLY,
2226     WXK_ADD,
2227     WXK_SEPARATOR,
2228     WXK_SUBTRACT,
2229     WXK_DECIMAL,
2230     WXK_DIVIDE,
2231     WXK_F1,
2232     WXK_F2,
2233     WXK_F3,
2234     WXK_F4,
2235     WXK_F5,
2236     WXK_F6,
2237     WXK_F7,
2238     WXK_F8,
2239     WXK_F9,
2240     WXK_F10,
2241     WXK_F11,
2242     WXK_F12,
2243     WXK_F13,
2244     WXK_F14,
2245     WXK_F15,
2246     WXK_F16,
2247     WXK_F17,
2248     WXK_F18,
2249     WXK_F19,
2250     WXK_F20,
2251     WXK_F21,
2252     WXK_F22,
2253     WXK_F23,
2254     WXK_F24,
2255     WXK_NUMLOCK,
2256     WXK_SCROLL,
2257     WXK_PAGEUP,
2258     WXK_PAGEDOWN,
2259
2260     WXK_NUMPAD_SPACE,
2261     WXK_NUMPAD_TAB,
2262     WXK_NUMPAD_ENTER,
2263     WXK_NUMPAD_F1,
2264     WXK_NUMPAD_F2,
2265     WXK_NUMPAD_F3,
2266     WXK_NUMPAD_F4,
2267     WXK_NUMPAD_HOME,
2268     WXK_NUMPAD_LEFT,
2269     WXK_NUMPAD_UP,
2270     WXK_NUMPAD_RIGHT,
2271     WXK_NUMPAD_DOWN,
2272     WXK_NUMPAD_PRIOR,
2273     WXK_NUMPAD_PAGEUP,
2274     WXK_NUMPAD_NEXT,
2275     WXK_NUMPAD_PAGEDOWN,
2276     WXK_NUMPAD_END,
2277     WXK_NUMPAD_BEGIN,
2278     WXK_NUMPAD_INSERT,
2279     WXK_NUMPAD_DELETE,
2280     WXK_NUMPAD_EQUAL,
2281     WXK_NUMPAD_MULTIPLY,
2282     WXK_NUMPAD_ADD,
2283     WXK_NUMPAD_SEPARATOR,
2284     WXK_NUMPAD_SUBTRACT,
2285     WXK_NUMPAD_DECIMAL,
2286     WXK_NUMPAD_DIVIDE,
2287
2288     WXK_WINDOWS_LEFT,
2289     WXK_WINDOWS_RIGHT,
2290     WXK_WINDOWS_MENU ,
2291     WXK_COMMAND,
2292
2293
2294     WXK_SPECIAL1 = 193,
2295     WXK_SPECIAL2,
2296     WXK_SPECIAL3,
2297     WXK_SPECIAL4,
2298     WXK_SPECIAL5,
2299     WXK_SPECIAL6,
2300     WXK_SPECIAL7,
2301     WXK_SPECIAL8,
2302     WXK_SPECIAL9,
2303     WXK_SPECIAL10,
2304     WXK_SPECIAL11,
2305     WXK_SPECIAL12,
2306     WXK_SPECIAL13,
2307     WXK_SPECIAL14,
2308     WXK_SPECIAL15,
2309     WXK_SPECIAL16,
2310     WXK_SPECIAL17,
2311     WXK_SPECIAL18,
2312     WXK_SPECIAL19,
2313     WXK_SPECIAL20
2314 };
2315 # 2154 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
2316 enum
2317 {
2318     wxMM_TEXT = 1,
2319     wxMM_LOMETRIC,
2320     wxMM_HIMETRIC,
2321     wxMM_LOENGLISH,
2322     wxMM_HIENGLISH,
2323     wxMM_TWIPS,
2324     wxMM_ISOTROPIC,
2325     wxMM_ANISOTROPIC,
2326     wxMM_POINTS,
2327     wxMM_METRIC
2328 };
2329
2330
2331
2332
2333
2334 typedef enum
2335 {
2336     wxPAPER_NONE,
2337     wxPAPER_LETTER,
2338     wxPAPER_LEGAL,
2339     wxPAPER_A4,
2340     wxPAPER_CSHEET,
2341     wxPAPER_DSHEET,
2342     wxPAPER_ESHEET,
2343     wxPAPER_LETTERSMALL,
2344     wxPAPER_TABLOID,
2345     wxPAPER_LEDGER,
2346     wxPAPER_STATEMENT,
2347     wxPAPER_EXECUTIVE,
2348     wxPAPER_A3,
2349     wxPAPER_A4SMALL,
2350     wxPAPER_A5,
2351     wxPAPER_B4,
2352     wxPAPER_B5,
2353     wxPAPER_FOLIO,
2354     wxPAPER_QUARTO,
2355     wxPAPER_10X14,
2356     wxPAPER_11X17,
2357     wxPAPER_NOTE,
2358     wxPAPER_ENV_9,
2359     wxPAPER_ENV_10,
2360     wxPAPER_ENV_11,
2361     wxPAPER_ENV_12,
2362     wxPAPER_ENV_14,
2363     wxPAPER_ENV_DL,
2364     wxPAPER_ENV_C5,
2365     wxPAPER_ENV_C3,
2366     wxPAPER_ENV_C4,
2367     wxPAPER_ENV_C6,
2368     wxPAPER_ENV_C65,
2369     wxPAPER_ENV_B4,
2370     wxPAPER_ENV_B5,
2371     wxPAPER_ENV_B6,
2372     wxPAPER_ENV_ITALY,
2373     wxPAPER_ENV_MONARCH,
2374     wxPAPER_ENV_PERSONAL,
2375     wxPAPER_FANFOLD_US,
2376     wxPAPER_FANFOLD_STD_GERMAN,
2377     wxPAPER_FANFOLD_LGL_GERMAN,
2378
2379     wxPAPER_ISO_B4,
2380     wxPAPER_JAPANESE_POSTCARD,
2381     wxPAPER_9X11,
2382     wxPAPER_10X11,
2383     wxPAPER_15X11,
2384     wxPAPER_ENV_INVITE,
2385     wxPAPER_LETTER_EXTRA,
2386     wxPAPER_LEGAL_EXTRA,
2387     wxPAPER_TABLOID_EXTRA,
2388     wxPAPER_A4_EXTRA,
2389     wxPAPER_LETTER_TRANSVERSE,
2390     wxPAPER_A4_TRANSVERSE,
2391     wxPAPER_LETTER_EXTRA_TRANSVERSE,
2392     wxPAPER_A_PLUS,
2393     wxPAPER_B_PLUS,
2394     wxPAPER_LETTER_PLUS,
2395     wxPAPER_A4_PLUS,
2396     wxPAPER_A5_TRANSVERSE,
2397     wxPAPER_B5_TRANSVERSE,
2398     wxPAPER_A3_EXTRA,
2399     wxPAPER_A5_EXTRA,
2400     wxPAPER_B5_EXTRA,
2401     wxPAPER_A2,
2402     wxPAPER_A3_TRANSVERSE,
2403     wxPAPER_A3_EXTRA_TRANSVERSE,
2404
2405     wxPAPER_DBL_JAPANESE_POSTCARD,
2406     wxPAPER_A6,
2407     wxPAPER_JENV_KAKU2,
2408     wxPAPER_JENV_KAKU3,
2409     wxPAPER_JENV_CHOU3,
2410     wxPAPER_JENV_CHOU4,
2411     wxPAPER_LETTER_ROTATED,
2412     wxPAPER_A3_ROTATED,
2413     wxPAPER_A4_ROTATED,
2414     wxPAPER_A5_ROTATED,
2415     wxPAPER_B4_JIS_ROTATED,
2416     wxPAPER_B5_JIS_ROTATED,
2417     wxPAPER_JAPANESE_POSTCARD_ROTATED,
2418     wxPAPER_DBL_JAPANESE_POSTCARD_ROTATED,
2419     wxPAPER_A6_ROTATED,
2420     wxPAPER_JENV_KAKU2_ROTATED,
2421     wxPAPER_JENV_KAKU3_ROTATED,
2422     wxPAPER_JENV_CHOU3_ROTATED,
2423     wxPAPER_JENV_CHOU4_ROTATED,
2424     wxPAPER_B6_JIS,
2425     wxPAPER_B6_JIS_ROTATED,
2426     wxPAPER_12X11,
2427     wxPAPER_JENV_YOU4,
2428     wxPAPER_JENV_YOU4_ROTATED,
2429     wxPAPER_P16K,
2430     wxPAPER_P32K,
2431     wxPAPER_P32KBIG,
2432     wxPAPER_PENV_1,
2433     wxPAPER_PENV_2,
2434     wxPAPER_PENV_3,
2435     wxPAPER_PENV_4,
2436     wxPAPER_PENV_5,
2437     wxPAPER_PENV_6,
2438     wxPAPER_PENV_7,
2439     wxPAPER_PENV_8,
2440     wxPAPER_PENV_9,
2441     wxPAPER_PENV_10,
2442     wxPAPER_P16K_ROTATED,
2443     wxPAPER_P32K_ROTATED,
2444     wxPAPER_P32KBIG_ROTATED,
2445     wxPAPER_PENV_1_ROTATED,
2446     wxPAPER_PENV_2_ROTATED,
2447     wxPAPER_PENV_3_ROTATED,
2448     wxPAPER_PENV_4_ROTATED,
2449     wxPAPER_PENV_5_ROTATED,
2450     wxPAPER_PENV_6_ROTATED,
2451     wxPAPER_PENV_7_ROTATED,
2452     wxPAPER_PENV_8_ROTATED,
2453     wxPAPER_PENV_9_ROTATED,
2454     wxPAPER_PENV_10_ROTATED
2455 } wxPaperSize;
2456 # 2304 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
2457 enum wxDuplexMode
2458 {
2459     wxDUPLEX_SIMPLEX,
2460     wxDUPLEX_HORIZONTAL,
2461     wxDUPLEX_VERTICAL
2462 };
2463 # 2319 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
2464 typedef int wxPrintQuality;
2465
2466
2467
2468
2469 enum wxPrintMode
2470 {
2471     wxPRINT_MODE_NONE = 0,
2472     wxPRINT_MODE_PREVIEW = 1,
2473     wxPRINT_MODE_FILE = 2,
2474     wxPRINT_MODE_PRINTER = 3,
2475     wxPRINT_MODE_STREAM = 4
2476 };
2477
2478
2479
2480
2481
2482 enum wxUpdateUI
2483 {
2484     wxUPDATE_UI_NONE = 0x0000,
2485     wxUPDATE_UI_RECURSE = 0x0001,
2486     wxUPDATE_UI_FROMIDLE = 0x0002
2487 };
2488 # 2746 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
2489 typedef char gchar;
2490 typedef signed char gint8;
2491 typedef int gint;
2492 typedef unsigned guint;
2493 typedef unsigned long gulong;
2494 typedef void* gpointer;
2495 typedef struct _GSList GSList;
2496
2497
2498 typedef struct _GdkColor GdkColor;
2499 typedef struct _GdkColormap GdkColormap;
2500 typedef struct _GdkFont GdkFont;
2501 typedef struct _GdkGC GdkGC;
2502 typedef struct _GdkVisual GdkVisual;
2503
2504
2505 typedef struct _GdkAtom *GdkAtom;
2506 typedef struct _GdkDrawable GdkWindow;
2507 typedef struct _GdkDrawable GdkBitmap;
2508 typedef struct _GdkDrawable GdkPixmap;
2509
2510
2511
2512
2513
2514
2515
2516 typedef struct _GdkCursor GdkCursor;
2517 typedef struct _GdkRegion GdkRegion;
2518 typedef struct _GdkDragContext GdkDragContext;
2519
2520
2521
2522
2523
2524
2525
2526 typedef struct _GtkWidget GtkWidget;
2527 typedef struct _GtkRcStyle GtkRcStyle;
2528 typedef struct _GtkAdjustment GtkAdjustment;
2529 typedef struct _GtkList GtkList;
2530 typedef struct _GtkToolbar GtkToolbar;
2531 typedef struct _GtkTooltips GtkTooltips;
2532 typedef struct _GtkNotebook GtkNotebook;
2533 typedef struct _GtkNotebookPage GtkNotebookPage;
2534 typedef struct _GtkAccelGroup GtkAccelGroup;
2535 typedef struct _GtkItemFactory GtkItemFactory;
2536 typedef struct _GtkSelectionData GtkSelectionData;
2537 typedef struct _GtkTextBuffer GtkTextBuffer;
2538
2539 typedef GtkWidget *WXWidget;
2540 # 2813 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h"
2541 typedef struct _PangoContext PangoContext;
2542 typedef struct _PangoLayout PangoLayout;
2543 typedef struct _PangoFontDescription PangoFontDescription;
2544 # 14 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxprec.h" 2
2545 # 54 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxprec.h"
2546 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 1
2547 # 16 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h"
2548 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/object.h" 1
2549 # 25 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/object.h"
2550 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/memory.h" 1
2551 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/memory.h"
2552 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h" 1
2553 # 39 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
2554 # 1 "/usr/include/string.h" 1 3 4
2555 # 40 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h" 2
2556 # 1 "/usr/include/stdio.h" 1 3 4
2557
2558
2559
2560
2561
2562
2563
2564 # 1 "/usr/include/gentoo-multilib/amd64/stdio.h" 1 3 4
2565 # 28 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
2566 # 1 "/usr/include/features.h" 1 3 4
2567 # 29 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4
2568
2569 extern "C" {
2570
2571
2572
2573 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
2574 # 35 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4
2575
2576 # 1 "/usr/include/bits/types.h" 1 3 4
2577 # 37 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4
2578 # 72 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
2579 # 1 "/usr/include/libio.h" 1 3 4
2580
2581
2582
2583
2584
2585
2586
2587 # 1 "/usr/include/gentoo-multilib/amd64/libio.h" 1 3 4
2588 # 32 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
2589 # 1 "/usr/include/_G_config.h" 1 3 4
2590
2591
2592
2593
2594
2595
2596
2597 # 1 "/usr/include/gentoo-multilib/amd64/_G_config.h" 1 3 4
2598 # 9 "/usr/include/gentoo-multilib/amd64/_G_config.h" 3 4
2599 # 1 "/usr/include/bits/types.h" 1 3 4
2600 # 10 "/usr/include/gentoo-multilib/amd64/_G_config.h" 2 3 4
2601
2602
2603
2604
2605 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
2606 # 15 "/usr/include/gentoo-multilib/amd64/_G_config.h" 2 3 4
2607 # 24 "/usr/include/gentoo-multilib/amd64/_G_config.h" 3 4
2608 # 1 "/usr/include/wchar.h" 1 3 4
2609 # 25 "/usr/include/gentoo-multilib/amd64/_G_config.h" 2 3 4
2610
2611 typedef struct
2612 {
2613   __off_t __pos;
2614   __mbstate_t __state;
2615 } _G_fpos_t;
2616 typedef struct
2617 {
2618   __off64_t __pos;
2619   __mbstate_t __state;
2620 } _G_fpos64_t;
2621 # 44 "/usr/include/gentoo-multilib/amd64/_G_config.h" 3 4
2622 # 1 "/usr/include/gconv.h" 1 3 4
2623
2624
2625
2626
2627
2628
2629
2630 # 1 "/usr/include/gentoo-multilib/amd64/gconv.h" 1 3 4
2631 # 26 "/usr/include/gentoo-multilib/amd64/gconv.h" 3 4
2632 # 1 "/usr/include/features.h" 1 3 4
2633 # 27 "/usr/include/gentoo-multilib/amd64/gconv.h" 2 3 4
2634
2635 # 1 "/usr/include/wchar.h" 1 3 4
2636 # 29 "/usr/include/gentoo-multilib/amd64/gconv.h" 2 3 4
2637
2638
2639 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
2640 # 32 "/usr/include/gentoo-multilib/amd64/gconv.h" 2 3 4
2641
2642
2643
2644
2645
2646 enum
2647 {
2648   __GCONV_OK = 0,
2649   __GCONV_NOCONV,
2650   __GCONV_NODB,
2651   __GCONV_NOMEM,
2652
2653   __GCONV_EMPTY_INPUT,
2654   __GCONV_FULL_OUTPUT,
2655   __GCONV_ILLEGAL_INPUT,
2656   __GCONV_INCOMPLETE_INPUT,
2657
2658   __GCONV_ILLEGAL_DESCRIPTOR,
2659   __GCONV_INTERNAL_ERROR
2660 };
2661
2662
2663
2664 enum
2665 {
2666   __GCONV_IS_LAST = 0x0001,
2667   __GCONV_IGNORE_ERRORS = 0x0002
2668 };
2669
2670
2671
2672 struct __gconv_step;
2673 struct __gconv_step_data;
2674 struct __gconv_loaded_object;
2675 struct __gconv_trans_data;
2676
2677
2678
2679 typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
2680        __const unsigned char **, __const unsigned char *,
2681        unsigned char **, size_t *, int, int);
2682
2683
2684 typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char);
2685
2686
2687 typedef int (*__gconv_init_fct) (struct __gconv_step *);
2688 typedef void (*__gconv_end_fct) (struct __gconv_step *);
2689
2690
2691
2692 typedef int (*__gconv_trans_fct) (struct __gconv_step *,
2693       struct __gconv_step_data *, void *,
2694       __const unsigned char *,
2695       __const unsigned char **,
2696       __const unsigned char *, unsigned char **,
2697       size_t *);
2698
2699
2700 typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *,
2701        __const unsigned char *,
2702        unsigned char *, unsigned char *);
2703
2704
2705 typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***,
2706      size_t *);
2707
2708
2709 typedef int (*__gconv_trans_init_fct) (void **, const char *);
2710 typedef void (*__gconv_trans_end_fct) (void *);
2711
2712 struct __gconv_trans_data
2713 {
2714
2715   __gconv_trans_fct __trans_fct;
2716   __gconv_trans_context_fct __trans_context_fct;
2717   __gconv_trans_end_fct __trans_end_fct;
2718   void *__data;
2719   struct __gconv_trans_data *__next;
2720 };
2721
2722
2723
2724 struct __gconv_step
2725 {
2726   struct __gconv_loaded_object *__shlib_handle;
2727   __const char *__modname;
2728
2729   int __counter;
2730
2731   char *__from_name;
2732   char *__to_name;
2733
2734   __gconv_fct __fct;
2735   __gconv_btowc_fct __btowc_fct;
2736   __gconv_init_fct __init_fct;
2737   __gconv_end_fct __end_fct;
2738
2739
2740
2741   int __min_needed_from;
2742   int __max_needed_from;
2743   int __min_needed_to;
2744   int __max_needed_to;
2745
2746
2747   int __stateful;
2748
2749   void *__data;
2750 };
2751
2752
2753
2754 struct __gconv_step_data
2755 {
2756   unsigned char *__outbuf;
2757   unsigned char *__outbufend;
2758
2759
2760
2761   int __flags;
2762
2763
2764
2765   int __invocation_counter;
2766
2767
2768
2769   int __internal_use;
2770
2771   __mbstate_t *__statep;
2772   __mbstate_t __state;
2773
2774
2775
2776   struct __gconv_trans_data *__trans;
2777 };
2778
2779
2780
2781 typedef struct __gconv_info
2782 {
2783   size_t __nsteps;
2784   struct __gconv_step *__steps;
2785   __extension__ struct __gconv_step_data __data [];
2786 } *__gconv_t;
2787 # 9 "/usr/include/gconv.h" 2 3 4
2788 # 45 "/usr/include/gentoo-multilib/amd64/_G_config.h" 2 3 4
2789 typedef union
2790 {
2791   struct __gconv_info __cd;
2792   struct
2793   {
2794     struct __gconv_info __cd;
2795     struct __gconv_step_data __data;
2796   } __combined;
2797 } _G_iconv_t;
2798
2799 typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
2800 typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
2801 typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
2802 typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
2803 # 9 "/usr/include/_G_config.h" 2 3 4
2804 # 33 "/usr/include/gentoo-multilib/amd64/libio.h" 2 3 4
2805 # 166 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
2806 struct _IO_jump_t; struct _IO_FILE;
2807 # 176 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
2808 typedef void _IO_lock_t;
2809
2810
2811
2812
2813
2814 struct _IO_marker {
2815   struct _IO_marker *_next;
2816   struct _IO_FILE *_sbuf;
2817
2818
2819
2820   int _pos;
2821 # 199 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
2822 };
2823
2824
2825 enum __codecvt_result
2826 {
2827   __codecvt_ok,
2828   __codecvt_partial,
2829   __codecvt_error,
2830   __codecvt_noconv
2831 };
2832 # 267 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
2833 struct _IO_FILE {
2834   int _flags;
2835
2836
2837
2838
2839   char* _IO_read_ptr;
2840   char* _IO_read_end;
2841   char* _IO_read_base;
2842   char* _IO_write_base;
2843   char* _IO_write_ptr;
2844   char* _IO_write_end;
2845   char* _IO_buf_base;
2846   char* _IO_buf_end;
2847
2848   char *_IO_save_base;
2849   char *_IO_backup_base;
2850   char *_IO_save_end;
2851
2852   struct _IO_marker *_markers;
2853
2854   struct _IO_FILE *_chain;
2855
2856   int _fileno;
2857
2858
2859
2860   int _flags2;
2861
2862   __off_t _old_offset;
2863
2864
2865
2866   unsigned short _cur_column;
2867   signed char _vtable_offset;
2868   char _shortbuf[1];
2869
2870
2871
2872   _IO_lock_t *_lock;
2873 # 315 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
2874   __off64_t _offset;
2875 # 324 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
2876   void *__pad1;
2877   void *__pad2;
2878   void *__pad3;
2879   void *__pad4;
2880   size_t __pad5;
2881
2882   int _mode;
2883
2884   char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
2885
2886 };
2887
2888
2889
2890
2891
2892 struct _IO_FILE_plus;
2893
2894 extern struct _IO_FILE_plus _IO_2_1_stdin_;
2895 extern struct _IO_FILE_plus _IO_2_1_stdout_;
2896 extern struct _IO_FILE_plus _IO_2_1_stderr_;
2897 # 360 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
2898 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
2899
2900
2901
2902
2903
2904
2905
2906 typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
2907      size_t __n);
2908
2909
2910
2911
2912
2913
2914
2915 typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
2916
2917
2918 typedef int __io_close_fn (void *__cookie);
2919
2920
2921
2922
2923 typedef __io_read_fn cookie_read_function_t;
2924 typedef __io_write_fn cookie_write_function_t;
2925 typedef __io_seek_fn cookie_seek_function_t;
2926 typedef __io_close_fn cookie_close_function_t;
2927
2928
2929 typedef struct
2930 {
2931   __io_read_fn *read;
2932   __io_write_fn *write;
2933   __io_seek_fn *seek;
2934   __io_close_fn *close;
2935 } _IO_cookie_io_functions_t;
2936 typedef _IO_cookie_io_functions_t cookie_io_functions_t;
2937
2938 struct _IO_cookie_file;
2939
2940
2941 extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write,
2942         void *__cookie, _IO_cookie_io_functions_t __fns);
2943
2944
2945
2946
2947 extern "C" {
2948
2949
2950 extern int __underflow (_IO_FILE *) throw ();
2951 extern int __uflow (_IO_FILE *) throw ();
2952 extern int __overflow (_IO_FILE *, int) throw ();
2953 extern wint_t __wunderflow (_IO_FILE *) throw ();
2954 extern wint_t __wuflow (_IO_FILE *) throw ();
2955 extern wint_t __woverflow (_IO_FILE *, wint_t) throw ();
2956 # 450 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
2957 extern int _IO_getc (_IO_FILE *__fp) throw ();
2958 extern int _IO_putc (int __c, _IO_FILE *__fp) throw ();
2959 extern int _IO_feof (_IO_FILE *__fp) throw ();
2960 extern int _IO_ferror (_IO_FILE *__fp) throw ();
2961
2962 extern int _IO_peekc_locked (_IO_FILE *__fp) throw ();
2963
2964
2965
2966
2967
2968 extern void _IO_flockfile (_IO_FILE *) throw ();
2969 extern void _IO_funlockfile (_IO_FILE *) throw ();
2970 extern int _IO_ftrylockfile (_IO_FILE *) throw ();
2971 # 480 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
2972 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
2973    __gnuc_va_list, int *__restrict);
2974 extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
2975     __gnuc_va_list);
2976 extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) throw ();
2977 extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) throw ();
2978
2979 extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) throw ();
2980 extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) throw ();
2981
2982 extern void _IO_free_backup_area (_IO_FILE *) throw ();
2983 # 542 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
2984 }
2985 # 9 "/usr/include/libio.h" 2 3 4
2986 # 73 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4
2987 # 86 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
2988
2989
2990
2991
2992 typedef _G_fpos64_t fpos_t;
2993
2994
2995
2996 typedef _G_fpos64_t fpos64_t;
2997 # 138 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
2998 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4
2999
3000
3001
3002
3003
3004
3005
3006 # 1 "/usr/include/gentoo-multilib/amd64/bits/stdio_lim.h" 1 3 4
3007 # 9 "/usr/include/bits/stdio_lim.h" 2 3 4
3008 # 139 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4
3009
3010
3011
3012 extern struct _IO_FILE *stdin;
3013 extern struct _IO_FILE *stdout;
3014 extern struct _IO_FILE *stderr;
3015
3016
3017
3018
3019
3020
3021
3022 extern int remove (__const char *__filename) throw ();
3023
3024 extern int rename (__const char *__old, __const char *__new) throw ();
3025
3026
3027
3028
3029 extern int renameat (int __oldfd, __const char *__old, int __newfd,
3030        __const char *__new) throw ();
3031
3032
3033
3034 # 172 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
3035 extern FILE *tmpfile (void) __asm__ ("" "tmpfile64");
3036
3037
3038
3039
3040
3041
3042 extern FILE *tmpfile64 (void);
3043
3044
3045
3046 extern char *tmpnam (char *__s) throw ();
3047
3048
3049
3050
3051
3052 extern char *tmpnam_r (char *__s) throw ();
3053 # 201 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
3054 extern char *tempnam (__const char *__dir, __const char *__pfx)
3055      throw () __attribute__ ((__malloc__));
3056
3057
3058
3059
3060
3061
3062
3063
3064 extern int fclose (FILE *__stream);
3065
3066
3067
3068
3069 extern int fflush (FILE *__stream);
3070
3071 # 226 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
3072 extern int fflush_unlocked (FILE *__stream);
3073 # 236 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
3074 extern int fcloseall (void);
3075
3076
3077
3078
3079 # 257 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
3080 extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes) __asm__ ("" "fopen64");
3081
3082 extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) __asm__ ("" "freopen64");
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092 extern FILE *fopen64 (__const char *__restrict __filename,
3093         __const char *__restrict __modes);
3094 extern FILE *freopen64 (__const char *__restrict __filename,
3095    __const char *__restrict __modes,
3096    FILE *__restrict __stream);
3097
3098
3099
3100
3101 extern FILE *fdopen (int __fd, __const char *__modes) throw ();
3102
3103
3104
3105
3106
3107 extern FILE *fopencookie (void *__restrict __magic_cookie,
3108      __const char *__restrict __modes,
3109      _IO_cookie_io_functions_t __io_funcs) throw ();
3110
3111
3112 extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) throw ();
3113
3114
3115
3116
3117 extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) throw ();
3118
3119
3120
3121
3122
3123
3124 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw ();
3125
3126
3127
3128 extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
3129       int __modes, size_t __n) throw ();
3130
3131
3132
3133
3134
3135 extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
3136          size_t __size) throw ();
3137
3138
3139 extern void setlinebuf (FILE *__stream) throw ();
3140
3141
3142
3143
3144
3145
3146
3147
3148 extern int fprintf (FILE *__restrict __stream,
3149       __const char *__restrict __format, ...);
3150
3151
3152
3153
3154 extern int printf (__const char *__restrict __format, ...);
3155
3156 extern int sprintf (char *__restrict __s,
3157       __const char *__restrict __format, ...) throw ();
3158
3159
3160
3161
3162
3163 extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
3164        __gnuc_va_list __arg);
3165
3166
3167
3168
3169 extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg);
3170
3171 extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
3172        __gnuc_va_list __arg) throw ();
3173
3174
3175
3176
3177
3178 extern int snprintf (char *__restrict __s, size_t __maxlen,
3179        __const char *__restrict __format, ...)
3180      throw () __attribute__ ((__format__ (__printf__, 3, 4)));
3181
3182 extern int vsnprintf (char *__restrict __s, size_t __maxlen,
3183         __const char *__restrict __format, __gnuc_va_list __arg)
3184      throw () __attribute__ ((__format__ (__printf__, 3, 0)));
3185
3186
3187
3188
3189
3190
3191 extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f,
3192         __gnuc_va_list __arg)
3193      throw () __attribute__ ((__format__ (__printf__, 2, 0)));
3194 extern int __asprintf (char **__restrict __ptr,
3195          __const char *__restrict __fmt, ...)
3196      throw () __attribute__ ((__format__ (__printf__, 2, 3)));
3197 extern int asprintf (char **__restrict __ptr,
3198        __const char *__restrict __fmt, ...)
3199      throw () __attribute__ ((__format__ (__printf__, 2, 3)));
3200
3201
3202
3203
3204
3205
3206
3207 extern int vdprintf (int __fd, __const char *__restrict __fmt,
3208        __gnuc_va_list __arg)
3209      __attribute__ ((__format__ (__printf__, 2, 0)));
3210 extern int dprintf (int __fd, __const char *__restrict __fmt, ...)
3211      __attribute__ ((__format__ (__printf__, 2, 3)));
3212
3213
3214
3215
3216
3217
3218
3219
3220 extern int fscanf (FILE *__restrict __stream,
3221      __const char *__restrict __format, ...) ;
3222
3223
3224
3225
3226 extern int scanf (__const char *__restrict __format, ...) ;
3227
3228 extern int sscanf (__const char *__restrict __s,
3229      __const char *__restrict __format, ...) throw ();
3230
3231
3232
3233
3234
3235
3236
3237
3238 extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format,
3239       __gnuc_va_list __arg)
3240      __attribute__ ((__format__ (__scanf__, 2, 0))) ;
3241
3242
3243
3244
3245
3246 extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg)
3247      __attribute__ ((__format__ (__scanf__, 1, 0))) ;
3248
3249
3250 extern int vsscanf (__const char *__restrict __s,
3251       __const char *__restrict __format, __gnuc_va_list __arg)
3252      throw () __attribute__ ((__format__ (__scanf__, 2, 0)));
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262 extern int fgetc (FILE *__stream);
3263 extern int getc (FILE *__stream);
3264
3265
3266
3267
3268
3269 extern int getchar (void);
3270
3271 # 458 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
3272 extern int getc_unlocked (FILE *__stream);
3273 extern int getchar_unlocked (void);
3274 # 469 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
3275 extern int fgetc_unlocked (FILE *__stream);
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287 extern int fputc (int __c, FILE *__stream);
3288 extern int putc (int __c, FILE *__stream);
3289
3290
3291
3292
3293
3294 extern int putchar (int __c);
3295
3296 # 502 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
3297 extern int fputc_unlocked (int __c, FILE *__stream);
3298
3299
3300
3301
3302
3303
3304
3305 extern int putc_unlocked (int __c, FILE *__stream);
3306 extern int putchar_unlocked (int __c);
3307
3308
3309
3310
3311
3312
3313 extern int getw (FILE *__stream);
3314
3315
3316 extern int putw (int __w, FILE *__stream);
3317
3318
3319
3320
3321
3322
3323
3324
3325 extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
3326      ;
3327
3328
3329
3330
3331
3332
3333 extern char *gets (char *__s) ;
3334
3335 # 548 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
3336 extern char *fgets_unlocked (char *__restrict __s, int __n,
3337         FILE *__restrict __stream) ;
3338 # 564 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
3339 extern __ssize_t __getdelim (char **__restrict __lineptr,
3340           size_t *__restrict __n, int __delimiter,
3341           FILE *__restrict __stream) ;
3342 extern __ssize_t getdelim (char **__restrict __lineptr,
3343         size_t *__restrict __n, int __delimiter,
3344         FILE *__restrict __stream) ;
3345
3346
3347
3348
3349
3350
3351
3352 extern __ssize_t getline (char **__restrict __lineptr,
3353        size_t *__restrict __n,
3354        FILE *__restrict __stream) ;
3355
3356
3357
3358
3359
3360
3361
3362
3363 extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
3364
3365
3366
3367
3368
3369 extern int puts (__const char *__s);
3370
3371
3372
3373
3374
3375
3376 extern int ungetc (int __c, FILE *__stream);
3377
3378
3379
3380
3381
3382
3383 extern size_t fread (void *__restrict __ptr, size_t __size,
3384        size_t __n, FILE *__restrict __stream) ;
3385
3386
3387
3388
3389 extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
3390         size_t __n, FILE *__restrict __s) ;
3391
3392 # 625 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
3393 extern int fputs_unlocked (__const char *__restrict __s,
3394       FILE *__restrict __stream);
3395 # 636 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
3396 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
3397          size_t __n, FILE *__restrict __stream) ;
3398 extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
3399           size_t __n, FILE *__restrict __stream) ;
3400
3401
3402
3403
3404
3405
3406
3407
3408 extern int fseek (FILE *__stream, long int __off, int __whence);
3409
3410
3411
3412
3413 extern long int ftell (FILE *__stream) ;
3414
3415
3416
3417
3418 extern void rewind (FILE *__stream);
3419
3420 # 680 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
3421 extern int fseeko (FILE *__stream, __off64_t __off, int __whence) __asm__ ("" "fseeko64");
3422
3423
3424 extern __off64_t ftello (FILE *__stream) __asm__ ("" "ftello64");
3425
3426
3427
3428
3429
3430
3431
3432
3433 # 705 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
3434 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) __asm__ ("" "fgetpos64");
3435
3436 extern int fsetpos (FILE *__stream, __const fpos_t *__pos) __asm__ ("" "fsetpos64");
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446 extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
3447 extern __off64_t ftello64 (FILE *__stream) ;
3448 extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
3449 extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos);
3450
3451
3452
3453
3454 extern void clearerr (FILE *__stream) throw ();
3455
3456 extern int feof (FILE *__stream) throw () ;
3457
3458 extern int ferror (FILE *__stream) throw () ;
3459
3460
3461
3462
3463 extern void clearerr_unlocked (FILE *__stream) throw ();
3464 extern int feof_unlocked (FILE *__stream) throw () ;
3465 extern int ferror_unlocked (FILE *__stream) throw () ;
3466
3467
3468
3469
3470
3471
3472
3473
3474 extern void perror (__const char *__s);
3475
3476
3477
3478
3479
3480
3481 # 1 "/usr/include/bits/sys_errlist.h" 1 3 4
3482
3483
3484
3485
3486
3487
3488
3489 # 1 "/usr/include/gentoo-multilib/amd64/bits/sys_errlist.h" 1 3 4
3490 # 27 "/usr/include/gentoo-multilib/amd64/bits/sys_errlist.h" 3 4
3491 extern int sys_nerr;
3492 extern __const char *__const sys_errlist[];
3493
3494
3495 extern int _sys_nerr;
3496 extern __const char *__const _sys_errlist[];
3497 # 9 "/usr/include/bits/sys_errlist.h" 2 3 4
3498 # 753 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4
3499
3500
3501
3502
3503 extern int fileno (FILE *__stream) throw () ;
3504
3505
3506
3507
3508 extern int fileno_unlocked (FILE *__stream) throw () ;
3509 # 772 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
3510 extern FILE *popen (__const char *__command, __const char *__modes) ;
3511
3512
3513
3514
3515
3516 extern int pclose (FILE *__stream);
3517
3518
3519
3520
3521
3522 extern char *ctermid (char *__s) throw ();
3523
3524
3525
3526
3527
3528 extern char *cuserid (char *__s);
3529
3530
3531
3532
3533 struct obstack;
3534
3535
3536 extern int obstack_printf (struct obstack *__restrict __obstack,
3537       __const char *__restrict __format, ...)
3538      throw () __attribute__ ((__format__ (__printf__, 2, 3)));
3539 extern int obstack_vprintf (struct obstack *__restrict __obstack,
3540        __const char *__restrict __format,
3541        __gnuc_va_list __args)
3542      throw () __attribute__ ((__format__ (__printf__, 2, 0)));
3543
3544
3545
3546
3547
3548
3549
3550 extern void flockfile (FILE *__stream) throw ();
3551
3552
3553
3554 extern int ftrylockfile (FILE *__stream) throw () ;
3555
3556
3557 extern void funlockfile (FILE *__stream) throw ();
3558 # 833 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
3559 # 1 "/usr/include/bits/stdio.h" 1 3 4
3560
3561
3562
3563
3564
3565
3566
3567 # 1 "/usr/include/gentoo-multilib/amd64/bits/stdio.h" 1 3 4
3568 # 33 "/usr/include/gentoo-multilib/amd64/bits/stdio.h" 3 4
3569 inline int
3570 vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg)
3571 {
3572   return vfprintf (stdout, __fmt, __arg);
3573 }
3574
3575
3576 inline int
3577 getchar (void)
3578 {
3579   return _IO_getc (stdin);
3580 }
3581
3582
3583
3584
3585 inline int
3586 getc_unlocked (FILE *__fp)
3587 {
3588   return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
3589 }
3590
3591
3592 inline int
3593 getchar_unlocked (void)
3594 {
3595   return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
3596 }
3597
3598
3599
3600
3601 inline int
3602 putchar (int __c)
3603 {
3604   return _IO_putc (__c, stdout);
3605 }
3606
3607
3608
3609
3610 inline int
3611 fputc_unlocked (int __c, FILE *__stream)
3612 {
3613   return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
3614 }
3615
3616
3617
3618
3619
3620 inline int
3621 putc_unlocked (int __c, FILE *__stream)
3622 {
3623   return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
3624 }
3625
3626
3627 inline int
3628 putchar_unlocked (int __c)
3629 {
3630   return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
3631 }
3632
3633
3634
3635
3636
3637 inline __ssize_t
3638 getline (char **__lineptr, size_t *__n, FILE *__stream)
3639 {
3640   return __getdelim (__lineptr, __n, '\n', __stream);
3641 }
3642
3643
3644
3645
3646
3647 inline int
3648 feof_unlocked (FILE *__stream) throw ()
3649 {
3650   return (((__stream)->_flags & 0x10) != 0);
3651 }
3652
3653
3654 inline int
3655 ferror_unlocked (FILE *__stream) throw ()
3656 {
3657   return (((__stream)->_flags & 0x20) != 0);
3658 }
3659 # 9 "/usr/include/bits/stdio.h" 2 3 4
3660 # 834 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4
3661 # 842 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
3662 }
3663 # 9 "/usr/include/stdio.h" 2 3 4
3664 # 41 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h" 2
3665
3666 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/limits.h" 1 3 4
3667 # 43 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h" 2
3668 # 1 "/usr/include/stdlib.h" 1 3 4
3669
3670
3671
3672
3673
3674
3675
3676 # 1 "/usr/include/gentoo-multilib/amd64/stdlib.h" 1 3 4
3677 # 25 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
3678 # 1 "/usr/include/features.h" 1 3 4
3679 # 26 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4
3680
3681
3682
3683
3684
3685
3686
3687 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
3688 # 34 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4
3689
3690 extern "C" {
3691
3692
3693
3694
3695
3696
3697 # 1 "/usr/include/bits/waitflags.h" 1 3 4
3698
3699
3700
3701
3702
3703
3704
3705 # 1 "/usr/include/gentoo-multilib/amd64/bits/waitflags.h" 1 3 4
3706 # 9 "/usr/include/bits/waitflags.h" 2 3 4
3707 # 43 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4
3708 # 1 "/usr/include/bits/waitstatus.h" 1 3 4
3709
3710
3711
3712
3713
3714
3715
3716 # 1 "/usr/include/gentoo-multilib/amd64/bits/waitstatus.h" 1 3 4
3717 # 65 "/usr/include/gentoo-multilib/amd64/bits/waitstatus.h" 3 4
3718 # 1 "/usr/include/endian.h" 1 3 4
3719 # 66 "/usr/include/gentoo-multilib/amd64/bits/waitstatus.h" 2 3 4
3720
3721 union wait
3722   {
3723     int w_status;
3724     struct
3725       {
3726
3727  unsigned int __w_termsig:7;
3728  unsigned int __w_coredump:1;
3729  unsigned int __w_retcode:8;
3730  unsigned int:16;
3731
3732
3733
3734
3735
3736
3737
3738       } __wait_terminated;
3739     struct
3740       {
3741
3742  unsigned int __w_stopval:8;
3743  unsigned int __w_stopsig:8;
3744  unsigned int:16;
3745
3746
3747
3748
3749
3750
3751       } __wait_stopped;
3752   };
3753 # 9 "/usr/include/bits/waitstatus.h" 2 3 4
3754 # 44 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4
3755 # 96 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
3756
3757
3758 typedef struct
3759   {
3760     int quot;
3761     int rem;
3762   } div_t;
3763
3764
3765
3766 typedef struct
3767   {
3768     long int quot;
3769     long int rem;
3770   } ldiv_t;
3771
3772
3773
3774
3775
3776
3777
3778 __extension__ typedef struct
3779   {
3780     long long int quot;
3781     long long int rem;
3782   } lldiv_t;
3783
3784
3785 # 140 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
3786 extern size_t __ctype_get_mb_cur_max (void) throw () ;
3787
3788
3789
3790
3791 extern double atof (__const char *__nptr)
3792      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
3793
3794 extern int atoi (__const char *__nptr)
3795      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
3796
3797 extern long int atol (__const char *__nptr)
3798      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
3799
3800
3801
3802
3803
3804 __extension__ extern long long int atoll (__const char *__nptr)
3805      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
3806
3807
3808
3809
3810
3811 extern double strtod (__const char *__restrict __nptr,
3812         char **__restrict __endptr)
3813      throw () __attribute__ ((__nonnull__ (1))) ;
3814
3815
3816
3817
3818
3819 extern float strtof (__const char *__restrict __nptr,
3820        char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))) ;
3821
3822 extern long double strtold (__const char *__restrict __nptr,
3823        char **__restrict __endptr)
3824      throw () __attribute__ ((__nonnull__ (1))) ;
3825
3826
3827
3828
3829
3830 extern long int strtol (__const char *__restrict __nptr,
3831    char **__restrict __endptr, int __base)
3832      throw () __attribute__ ((__nonnull__ (1))) ;
3833
3834 extern unsigned long int strtoul (__const char *__restrict __nptr,
3835       char **__restrict __endptr, int __base)
3836      throw () __attribute__ ((__nonnull__ (1))) ;
3837
3838
3839
3840
3841 __extension__
3842 extern long long int strtoq (__const char *__restrict __nptr,
3843         char **__restrict __endptr, int __base)
3844      throw () __attribute__ ((__nonnull__ (1))) ;
3845
3846 __extension__
3847 extern unsigned long long int strtouq (__const char *__restrict __nptr,
3848            char **__restrict __endptr, int __base)
3849      throw () __attribute__ ((__nonnull__ (1))) ;
3850
3851
3852
3853
3854
3855 __extension__
3856 extern long long int strtoll (__const char *__restrict __nptr,
3857          char **__restrict __endptr, int __base)
3858      throw () __attribute__ ((__nonnull__ (1))) ;
3859
3860 __extension__
3861 extern unsigned long long int strtoull (__const char *__restrict __nptr,
3862      char **__restrict __endptr, int __base)
3863      throw () __attribute__ ((__nonnull__ (1))) ;
3864
3865 # 236 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
3866 # 1 "/usr/include/xlocale.h" 1 3 4
3867 # 237 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4
3868
3869
3870
3871 extern long int strtol_l (__const char *__restrict __nptr,
3872      char **__restrict __endptr, int __base,
3873      __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))) ;
3874
3875 extern unsigned long int strtoul_l (__const char *__restrict __nptr,
3876         char **__restrict __endptr,
3877         int __base, __locale_t __loc)
3878      throw () __attribute__ ((__nonnull__ (1, 4))) ;
3879
3880 __extension__
3881 extern long long int strtoll_l (__const char *__restrict __nptr,
3882     char **__restrict __endptr, int __base,
3883     __locale_t __loc)
3884      throw () __attribute__ ((__nonnull__ (1, 4))) ;
3885
3886 __extension__
3887 extern unsigned long long int strtoull_l (__const char *__restrict __nptr,
3888        char **__restrict __endptr,
3889        int __base, __locale_t __loc)
3890      throw () __attribute__ ((__nonnull__ (1, 4))) ;
3891
3892 extern double strtod_l (__const char *__restrict __nptr,
3893    char **__restrict __endptr, __locale_t __loc)
3894      throw () __attribute__ ((__nonnull__ (1, 3))) ;
3895
3896 extern float strtof_l (__const char *__restrict __nptr,
3897          char **__restrict __endptr, __locale_t __loc)
3898      throw () __attribute__ ((__nonnull__ (1, 3))) ;
3899
3900 extern long double strtold_l (__const char *__restrict __nptr,
3901          char **__restrict __endptr,
3902          __locale_t __loc)
3903      throw () __attribute__ ((__nonnull__ (1, 3))) ;
3904
3905
3906
3907
3908
3909
3910 extern double __strtod_internal (__const char *__restrict __nptr,
3911      char **__restrict __endptr, int __group)
3912      throw () __attribute__ ((__nonnull__ (1))) ;
3913 extern float __strtof_internal (__const char *__restrict __nptr,
3914     char **__restrict __endptr, int __group)
3915      throw () __attribute__ ((__nonnull__ (1))) ;
3916 extern long double __strtold_internal (__const char *__restrict __nptr,
3917            char **__restrict __endptr,
3918            int __group)
3919      throw () __attribute__ ((__nonnull__ (1))) ;
3920
3921 extern long int __strtol_internal (__const char *__restrict __nptr,
3922        char **__restrict __endptr,
3923        int __base, int __group)
3924      throw () __attribute__ ((__nonnull__ (1))) ;
3925
3926
3927
3928 extern unsigned long int __strtoul_internal (__const char *__restrict __nptr,
3929           char **__restrict __endptr,
3930           int __base, int __group)
3931      throw () __attribute__ ((__nonnull__ (1))) ;
3932
3933
3934
3935
3936 __extension__
3937 extern long long int __strtoll_internal (__const char *__restrict __nptr,
3938       char **__restrict __endptr,
3939       int __base, int __group)
3940      throw () __attribute__ ((__nonnull__ (1))) ;
3941
3942
3943
3944 __extension__
3945 extern unsigned long long int __strtoull_internal (__const char *
3946          __restrict __nptr,
3947          char **__restrict __endptr,
3948          int __base, int __group)
3949      throw () __attribute__ ((__nonnull__ (1))) ;
3950
3951
3952
3953
3954
3955
3956
3957
3958 extern __inline double
3959 strtod (__const char *__restrict __nptr, char **__restrict __endptr) throw ()
3960 {
3961   return __strtod_internal (__nptr, __endptr, 0);
3962 }
3963 extern __inline long int
3964 strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw ()
3965
3966 {
3967   return __strtol_internal (__nptr, __endptr, __base, 0);
3968 }
3969 extern __inline unsigned long int
3970 strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw ()
3971
3972 {
3973   return __strtoul_internal (__nptr, __endptr, __base, 0);
3974 }
3975
3976
3977
3978
3979 extern __inline float
3980 strtof (__const char *__restrict __nptr, char **__restrict __endptr) throw ()
3981 {
3982   return __strtof_internal (__nptr, __endptr, 0);
3983 }
3984
3985 extern __inline long double
3986 strtold (__const char *__restrict __nptr, char **__restrict __endptr) throw ()
3987 {
3988   return __strtold_internal (__nptr, __endptr, 0);
3989 }
3990
3991
3992
3993
3994
3995 __extension__ extern __inline long long int
3996 strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw ()
3997
3998 {
3999   return __strtoll_internal (__nptr, __endptr, __base, 0);
4000 }
4001 __extension__ extern __inline unsigned long long int
4002 strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw ()
4003
4004 {
4005   return __strtoull_internal (__nptr, __endptr, __base, 0);
4006 }
4007
4008
4009
4010
4011 __extension__ extern __inline long long int
4012 strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw ()
4013
4014 {
4015   return __strtoll_internal (__nptr, __endptr, __base, 0);
4016 }
4017 __extension__ extern __inline unsigned long long int
4018 strtoull (__const char * __restrict __nptr, char **__restrict __endptr, int __base) throw ()
4019
4020 {
4021   return __strtoull_internal (__nptr, __endptr, __base, 0);
4022 }
4023
4024
4025
4026
4027 extern __inline double
4028 atof (__const char *__nptr) throw ()
4029 {
4030   return strtod (__nptr, (char **) __null);
4031 }
4032 extern __inline int
4033 atoi (__const char *__nptr) throw ()
4034 {
4035   return (int) strtol (__nptr, (char **) __null, 10);
4036 }
4037 extern __inline long int
4038 atol (__const char *__nptr) throw ()
4039 {
4040   return strtol (__nptr, (char **) __null, 10);
4041 }
4042
4043
4044
4045
4046 __extension__ extern __inline long long int
4047 atoll (__const char *__nptr) throw ()
4048 {
4049   return strtoll (__nptr, (char **) __null, 10);
4050 }
4051
4052 # 429 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
4053 extern char *l64a (long int __n) throw () ;
4054
4055
4056 extern long int a64l (__const char *__s)
4057      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
4058
4059
4060
4061
4062 # 1 "/usr/include/sys/types.h" 1 3 4
4063
4064
4065
4066
4067
4068
4069
4070 # 1 "/usr/include/gentoo-multilib/amd64/sys/types.h" 1 3 4
4071 # 27 "/usr/include/gentoo-multilib/amd64/sys/types.h" 3 4
4072 # 1 "/usr/include/features.h" 1 3 4
4073 # 28 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
4074
4075 extern "C" {
4076
4077 # 1 "/usr/include/bits/types.h" 1 3 4
4078 # 32 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
4079
4080
4081
4082 typedef __u_char u_char;
4083 typedef __u_short u_short;
4084 typedef __u_int u_int;
4085 typedef __u_long u_long;
4086 typedef __quad_t quad_t;
4087 typedef __u_quad_t u_quad_t;
4088 typedef __fsid_t fsid_t;
4089
4090
4091
4092
4093 typedef __loff_t loff_t;
4094
4095
4096
4097
4098
4099 typedef __ino64_t ino_t;
4100
4101
4102
4103
4104 typedef __ino64_t ino64_t;
4105
4106
4107
4108
4109 typedef __dev_t dev_t;
4110
4111
4112
4113
4114 typedef __gid_t gid_t;
4115
4116
4117
4118
4119 typedef __mode_t mode_t;
4120
4121
4122
4123
4124 typedef __nlink_t nlink_t;
4125
4126
4127
4128
4129 typedef __uid_t uid_t;
4130
4131
4132
4133
4134
4135
4136
4137 typedef __off64_t off_t;
4138
4139
4140
4141
4142 typedef __off64_t off64_t;
4143
4144
4145
4146
4147 typedef __pid_t pid_t;
4148
4149
4150
4151
4152 typedef __id_t id_t;
4153
4154
4155
4156
4157 typedef __ssize_t ssize_t;
4158
4159
4160
4161
4162
4163 typedef __daddr_t daddr_t;
4164 typedef __caddr_t caddr_t;
4165
4166
4167
4168
4169
4170 typedef __key_t key_t;
4171 # 133 "/usr/include/gentoo-multilib/amd64/sys/types.h" 3 4
4172 # 1 "/usr/include/time.h" 1 3 4
4173
4174
4175
4176
4177
4178
4179
4180 # 1 "/usr/include/gentoo-multilib/amd64/time.h" 1 3 4
4181 # 57 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
4182 # 1 "/usr/include/bits/types.h" 1 3 4
4183 # 58 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
4184
4185
4186
4187 typedef __clock_t clock_t;
4188
4189
4190
4191 # 73 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
4192 # 1 "/usr/include/bits/types.h" 1 3 4
4193 # 74 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
4194
4195
4196
4197 typedef __time_t time_t;
4198
4199
4200
4201 # 90 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
4202 # 1 "/usr/include/bits/types.h" 1 3 4
4203 # 91 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
4204
4205
4206 typedef __clockid_t clockid_t;
4207 # 102 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
4208 # 1 "/usr/include/bits/types.h" 1 3 4
4209 # 103 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
4210
4211
4212 typedef __timer_t timer_t;
4213 # 9 "/usr/include/time.h" 2 3 4
4214 # 134 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
4215
4216
4217
4218 typedef __useconds_t useconds_t;
4219
4220
4221
4222 typedef __suseconds_t suseconds_t;
4223
4224
4225
4226
4227
4228 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
4229 # 148 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
4230
4231
4232
4233 typedef unsigned long int ulong;
4234 typedef unsigned short int ushort;
4235 typedef unsigned int uint;
4236 # 195 "/usr/include/gentoo-multilib/amd64/sys/types.h" 3 4
4237 typedef int int8_t __attribute__ ((__mode__ (__QI__)));
4238 typedef int int16_t __attribute__ ((__mode__ (__HI__)));
4239 typedef int int32_t __attribute__ ((__mode__ (__SI__)));
4240 typedef int int64_t __attribute__ ((__mode__ (__DI__)));
4241
4242
4243 typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
4244 typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
4245 typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
4246 typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
4247
4248 typedef int register_t __attribute__ ((__mode__ (__word__)));
4249 # 217 "/usr/include/gentoo-multilib/amd64/sys/types.h" 3 4
4250 # 1 "/usr/include/endian.h" 1 3 4
4251 # 218 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
4252
4253
4254 # 1 "/usr/include/sys/select.h" 1 3 4
4255
4256
4257
4258
4259
4260
4261
4262 # 1 "/usr/include/gentoo-multilib/amd64/sys/select.h" 1 3 4
4263 # 25 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4
4264 # 1 "/usr/include/features.h" 1 3 4
4265 # 26 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4
4266
4267
4268 # 1 "/usr/include/bits/types.h" 1 3 4
4269 # 29 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4
4270
4271
4272 # 1 "/usr/include/bits/select.h" 1 3 4
4273
4274
4275
4276
4277
4278
4279
4280 # 1 "/usr/include/gentoo-multilib/amd64/bits/select.h" 1 3 4
4281 # 9 "/usr/include/bits/select.h" 2 3 4
4282 # 32 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4
4283
4284
4285 # 1 "/usr/include/bits/sigset.h" 1 3 4
4286
4287
4288
4289
4290
4291
4292
4293 # 1 "/usr/include/gentoo-multilib/amd64/bits/sigset.h" 1 3 4
4294 # 23 "/usr/include/gentoo-multilib/amd64/bits/sigset.h" 3 4
4295 typedef int __sig_atomic_t;
4296
4297
4298
4299
4300 typedef struct
4301   {
4302     unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
4303   } __sigset_t;
4304 # 9 "/usr/include/bits/sigset.h" 2 3 4
4305 # 35 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4
4306
4307
4308
4309 typedef __sigset_t sigset_t;
4310
4311
4312
4313
4314
4315 # 1 "/usr/include/time.h" 1 3 4
4316
4317
4318
4319
4320
4321
4322
4323 # 1 "/usr/include/gentoo-multilib/amd64/time.h" 1 3 4
4324 # 117 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
4325 # 1 "/usr/include/bits/types.h" 1 3 4
4326 # 118 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
4327
4328
4329
4330 struct timespec
4331   {
4332     __time_t tv_sec;
4333     long int tv_nsec;
4334   };
4335 # 9 "/usr/include/time.h" 2 3 4
4336 # 45 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4
4337
4338 # 1 "/usr/include/bits/time.h" 1 3 4
4339
4340
4341
4342
4343
4344
4345
4346 # 1 "/usr/include/gentoo-multilib/amd64/bits/time.h" 1 3 4
4347 # 65 "/usr/include/gentoo-multilib/amd64/bits/time.h" 3 4
4348 # 1 "/usr/include/bits/types.h" 1 3 4
4349 # 66 "/usr/include/gentoo-multilib/amd64/bits/time.h" 2 3 4
4350
4351
4352
4353 struct timeval
4354   {
4355     __time_t tv_sec;
4356     __suseconds_t tv_usec;
4357   };
4358 # 9 "/usr/include/bits/time.h" 2 3 4
4359 # 47 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4
4360 # 55 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4
4361 typedef long int __fd_mask;
4362 # 67 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4
4363 typedef struct
4364   {
4365
4366
4367
4368     __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))];
4369
4370
4371
4372
4373
4374   } fd_set;
4375
4376
4377
4378
4379
4380
4381 typedef __fd_mask fd_mask;
4382 # 99 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4
4383 extern "C" {
4384 # 109 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4
4385 extern int select (int __nfds, fd_set *__restrict __readfds,
4386      fd_set *__restrict __writefds,
4387      fd_set *__restrict __exceptfds,
4388      struct timeval *__restrict __timeout);
4389 # 121 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4
4390 extern int pselect (int __nfds, fd_set *__restrict __readfds,
4391       fd_set *__restrict __writefds,
4392       fd_set *__restrict __exceptfds,
4393       const struct timespec *__restrict __timeout,
4394       const __sigset_t *__restrict __sigmask);
4395
4396
4397 }
4398 # 9 "/usr/include/sys/select.h" 2 3 4
4399 # 221 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
4400
4401
4402 # 1 "/usr/include/sys/sysmacros.h" 1 3 4
4403
4404
4405
4406
4407
4408
4409
4410 # 1 "/usr/include/gentoo-multilib/amd64/sys/sysmacros.h" 1 3 4
4411 # 23 "/usr/include/gentoo-multilib/amd64/sys/sysmacros.h" 3 4
4412 # 1 "/usr/include/features.h" 1 3 4
4413 # 24 "/usr/include/gentoo-multilib/amd64/sys/sysmacros.h" 2 3 4
4414
4415
4416
4417
4418
4419 __extension__
4420 extern __inline unsigned int gnu_dev_major (unsigned long long int __dev)
4421      throw ();
4422 __extension__
4423 extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev)
4424      throw ();
4425 __extension__
4426 extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major,
4427        unsigned int __minor)
4428      throw ();
4429
4430
4431 __extension__ extern __inline unsigned int
4432 gnu_dev_major (unsigned long long int __dev) throw ()
4433 {
4434   return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
4435 }
4436
4437 __extension__ extern __inline unsigned int
4438 gnu_dev_minor (unsigned long long int __dev) throw ()
4439 {
4440   return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
4441 }
4442
4443 __extension__ extern __inline unsigned long long int
4444 gnu_dev_makedev (unsigned int __major, unsigned int __minor) throw ()
4445 {
4446   return ((__minor & 0xff) | ((__major & 0xfff) << 8)
4447    | (((unsigned long long int) (__minor & ~0xff)) << 12)
4448    | (((unsigned long long int) (__major & ~0xfff)) << 32));
4449 }
4450 # 9 "/usr/include/sys/sysmacros.h" 2 3 4
4451 # 224 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
4452
4453
4454
4455
4456 typedef __blksize_t blksize_t;
4457 # 248 "/usr/include/gentoo-multilib/amd64/sys/types.h" 3 4
4458 typedef __blkcnt64_t blkcnt_t;
4459
4460
4461
4462 typedef __fsblkcnt64_t fsblkcnt_t;
4463
4464
4465
4466 typedef __fsfilcnt64_t fsfilcnt_t;
4467
4468
4469
4470
4471
4472 typedef __blkcnt64_t blkcnt64_t;
4473 typedef __fsblkcnt64_t fsblkcnt64_t;
4474 typedef __fsfilcnt64_t fsfilcnt64_t;
4475
4476
4477
4478
4479
4480 # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
4481
4482
4483
4484
4485
4486
4487
4488 # 1 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 1 3 4
4489 # 23 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4
4490 # 1 "/usr/include/bits/wordsize.h" 1 3 4
4491
4492
4493
4494
4495
4496
4497
4498 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
4499 # 9 "/usr/include/bits/wordsize.h" 2 3 4
4500 # 24 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 2 3 4
4501 # 50 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4
4502 typedef unsigned long int pthread_t;
4503
4504
4505 typedef union
4506 {
4507   char __size[56];
4508   long int __align;
4509 } pthread_attr_t;
4510
4511
4512
4513 typedef struct __pthread_internal_list
4514 {
4515   struct __pthread_internal_list *__prev;
4516   struct __pthread_internal_list *__next;
4517 } __pthread_list_t;
4518 # 76 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4
4519 typedef union
4520 {
4521   struct __pthread_mutex_s
4522   {
4523     int __lock;
4524     unsigned int __count;
4525     int __owner;
4526
4527     unsigned int __nusers;
4528
4529
4530
4531     int __kind;
4532
4533     int __spins;
4534     __pthread_list_t __list;
4535 # 101 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4
4536   } __data;
4537   char __size[40];
4538   long int __align;
4539 } pthread_mutex_t;
4540
4541 typedef union
4542 {
4543   char __size[4];
4544   int __align;
4545 } pthread_mutexattr_t;
4546
4547
4548
4549
4550 typedef union
4551 {
4552   struct
4553   {
4554     int __lock;
4555     unsigned int __futex;
4556     __extension__ unsigned long long int __total_seq;
4557     __extension__ unsigned long long int __wakeup_seq;
4558     __extension__ unsigned long long int __woken_seq;
4559     void *__mutex;
4560     unsigned int __nwaiters;
4561     unsigned int __broadcast_seq;
4562   } __data;
4563   char __size[48];
4564   __extension__ long long int __align;
4565 } pthread_cond_t;
4566
4567 typedef union
4568 {
4569   char __size[4];
4570   int __align;
4571 } pthread_condattr_t;
4572
4573
4574
4575 typedef unsigned int pthread_key_t;
4576
4577
4578
4579 typedef int pthread_once_t;
4580
4581
4582
4583
4584
4585 typedef union
4586 {
4587
4588   struct
4589   {
4590     int __lock;
4591     unsigned int __nr_readers;
4592     unsigned int __readers_wakeup;
4593     unsigned int __writer_wakeup;
4594     unsigned int __nr_readers_queued;
4595     unsigned int __nr_writers_queued;
4596     int __writer;
4597     int __pad1;
4598     unsigned long int __pad2;
4599     unsigned long int __pad3;
4600
4601
4602     unsigned int __flags;
4603   } __data;
4604 # 184 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4
4605   char __size[56];
4606   long int __align;
4607 } pthread_rwlock_t;
4608
4609 typedef union
4610 {
4611   char __size[8];
4612   long int __align;
4613 } pthread_rwlockattr_t;
4614
4615
4616
4617
4618
4619 typedef volatile int pthread_spinlock_t;
4620
4621
4622
4623
4624 typedef union
4625 {
4626   char __size[32];
4627   long int __align;
4628 } pthread_barrier_t;
4629
4630 typedef union
4631 {
4632   char __size[4];
4633   int __align;
4634 } pthread_barrierattr_t;
4635 # 9 "/usr/include/bits/pthreadtypes.h" 2 3 4
4636 # 271 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
4637
4638
4639 }
4640 # 9 "/usr/include/sys/types.h" 2 3 4
4641 # 439 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4
4642
4643
4644
4645
4646
4647
4648 extern long int random (void) throw ();
4649
4650
4651 extern void srandom (unsigned int __seed) throw ();
4652
4653
4654
4655
4656
4657 extern char *initstate (unsigned int __seed, char *__statebuf,
4658    size_t __statelen) throw () __attribute__ ((__nonnull__ (2)));
4659
4660
4661
4662 extern char *setstate (char *__statebuf) throw () __attribute__ ((__nonnull__ (1)));
4663
4664
4665
4666
4667
4668
4669
4670 struct random_data
4671   {
4672     int32_t *fptr;
4673     int32_t *rptr;
4674     int32_t *state;
4675     int rand_type;
4676     int rand_deg;
4677     int rand_sep;
4678     int32_t *end_ptr;
4679   };
4680
4681 extern int random_r (struct random_data *__restrict __buf,
4682        int32_t *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2)));
4683
4684 extern int srandom_r (unsigned int __seed, struct random_data *__buf)
4685      throw () __attribute__ ((__nonnull__ (2)));
4686
4687 extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
4688    size_t __statelen,
4689    struct random_data *__restrict __buf)
4690      throw () __attribute__ ((__nonnull__ (2, 4)));
4691
4692 extern int setstate_r (char *__restrict __statebuf,
4693          struct random_data *__restrict __buf)
4694      throw () __attribute__ ((__nonnull__ (1, 2)));
4695
4696
4697
4698
4699
4700
4701 extern int rand (void) throw ();
4702
4703 extern void srand (unsigned int __seed) throw ();
4704
4705
4706
4707
4708 extern int rand_r (unsigned int *__seed) throw ();
4709
4710
4711
4712
4713
4714
4715
4716 extern double drand48 (void) throw ();
4717 extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1)));
4718
4719
4720 extern long int lrand48 (void) throw ();
4721 extern long int nrand48 (unsigned short int __xsubi[3])
4722      throw () __attribute__ ((__nonnull__ (1)));
4723
4724
4725 extern long int mrand48 (void) throw ();
4726 extern long int jrand48 (unsigned short int __xsubi[3])
4727      throw () __attribute__ ((__nonnull__ (1)));
4728
4729
4730 extern void srand48 (long int __seedval) throw ();
4731 extern unsigned short int *seed48 (unsigned short int __seed16v[3])
4732      throw () __attribute__ ((__nonnull__ (1)));
4733 extern void lcong48 (unsigned short int __param[7]) throw () __attribute__ ((__nonnull__ (1)));
4734
4735
4736
4737
4738
4739 struct drand48_data
4740   {
4741     unsigned short int __x[3];
4742     unsigned short int __old_x[3];
4743     unsigned short int __c;
4744     unsigned short int __init;
4745     unsigned long long int __a;
4746   };
4747
4748
4749 extern int drand48_r (struct drand48_data *__restrict __buffer,
4750         double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2)));
4751 extern int erand48_r (unsigned short int __xsubi[3],
4752         struct drand48_data *__restrict __buffer,
4753         double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2)));
4754
4755
4756 extern int lrand48_r (struct drand48_data *__restrict __buffer,
4757         long int *__restrict __result)
4758      throw () __attribute__ ((__nonnull__ (1, 2)));
4759 extern int nrand48_r (unsigned short int __xsubi[3],
4760         struct drand48_data *__restrict __buffer,
4761         long int *__restrict __result)
4762      throw () __attribute__ ((__nonnull__ (1, 2)));
4763
4764
4765 extern int mrand48_r (struct drand48_data *__restrict __buffer,
4766         long int *__restrict __result)
4767      throw () __attribute__ ((__nonnull__ (1, 2)));
4768 extern int jrand48_r (unsigned short int __xsubi[3],
4769         struct drand48_data *__restrict __buffer,
4770         long int *__restrict __result)
4771      throw () __attribute__ ((__nonnull__ (1, 2)));
4772
4773
4774 extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
4775      throw () __attribute__ ((__nonnull__ (2)));
4776
4777 extern int seed48_r (unsigned short int __seed16v[3],
4778        struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2)));
4779
4780 extern int lcong48_r (unsigned short int __param[7],
4781         struct drand48_data *__buffer)
4782      throw () __attribute__ ((__nonnull__ (1, 2)));
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792 extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)) ;
4793
4794 extern void *calloc (size_t __nmemb, size_t __size)
4795      throw () __attribute__ ((__malloc__)) ;
4796
4797
4798
4799
4800
4801
4802
4803 extern void *realloc (void *__ptr, size_t __size)
4804      throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
4805
4806 extern void free (void *__ptr) throw ();
4807
4808
4809
4810
4811 extern void cfree (void *__ptr) throw ();
4812
4813
4814
4815 # 1 "/usr/include/alloca.h" 1 3 4
4816
4817
4818
4819
4820
4821
4822
4823 # 1 "/usr/include/gentoo-multilib/amd64/alloca.h" 1 3 4
4824 # 22 "/usr/include/gentoo-multilib/amd64/alloca.h" 3 4
4825 # 1 "/usr/include/features.h" 1 3 4
4826 # 23 "/usr/include/gentoo-multilib/amd64/alloca.h" 2 3 4
4827
4828
4829 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
4830 # 26 "/usr/include/gentoo-multilib/amd64/alloca.h" 2 3 4
4831
4832 extern "C" {
4833
4834
4835
4836
4837
4838 extern void *alloca (size_t __size) throw ();
4839
4840
4841
4842
4843
4844 }
4845 # 9 "/usr/include/alloca.h" 2 3 4
4846 # 613 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4
4847
4848
4849
4850
4851 extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) ;
4852
4853
4854
4855
4856 extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
4857      throw () __attribute__ ((__nonnull__ (1))) ;
4858
4859
4860
4861
4862 extern void abort (void) throw () __attribute__ ((__noreturn__));
4863
4864
4865
4866 extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1)));
4867
4868
4869
4870
4871
4872 extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
4873      throw () __attribute__ ((__nonnull__ (1)));
4874
4875
4876
4877
4878
4879
4880 extern void exit (int __status) throw () __attribute__ ((__noreturn__));
4881
4882
4883
4884
4885
4886
4887 extern void _Exit (int __status) throw () __attribute__ ((__noreturn__));
4888
4889
4890
4891
4892
4893
4894 extern char *getenv (__const char *__name) throw () __attribute__ ((__nonnull__ (1))) ;
4895
4896
4897
4898
4899 extern char *__secure_getenv (__const char *__name)
4900      throw () __attribute__ ((__nonnull__ (1))) ;
4901
4902
4903
4904
4905
4906 extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1)));
4907
4908
4909
4910
4911
4912 extern int setenv (__const char *__name, __const char *__value, int __replace)
4913      throw () __attribute__ ((__nonnull__ (2)));
4914
4915
4916 extern int unsetenv (__const char *__name) throw ();
4917
4918
4919
4920
4921
4922
4923 extern int clearenv (void) throw ();
4924 # 698 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
4925 extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ;
4926 # 712 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
4927 extern int mkstemp (char *__template) __asm__ ("" "mkstemp64")
4928      __attribute__ ((__nonnull__ (1))) ;
4929
4930
4931
4932
4933
4934 extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ;
4935 # 729 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
4936 extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ;
4937
4938
4939
4940
4941
4942
4943
4944
4945 extern int system (__const char *__command) ;
4946
4947
4948
4949
4950
4951
4952
4953 extern char *canonicalize_file_name (__const char *__name)
4954      throw () __attribute__ ((__nonnull__ (1))) ;
4955 # 757 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
4956 extern char *realpath (__const char *__restrict __name,
4957          char *__restrict __resolved) throw () ;
4958
4959
4960
4961
4962
4963
4964 typedef int (*__compar_fn_t) (__const void *, __const void *);
4965
4966
4967 typedef __compar_fn_t comparison_fn_t;
4968
4969
4970
4971
4972
4973
4974 extern void *bsearch (__const void *__key, __const void *__base,
4975         size_t __nmemb, size_t __size, __compar_fn_t __compar)
4976      __attribute__ ((__nonnull__ (1, 2, 5))) ;
4977
4978
4979
4980 extern void qsort (void *__base, size_t __nmemb, size_t __size,
4981      __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
4982
4983
4984
4985 extern int abs (int __x) throw () __attribute__ ((__const__)) ;
4986 extern long int labs (long int __x) throw () __attribute__ ((__const__)) ;
4987
4988
4989
4990 __extension__ extern long long int llabs (long long int __x)
4991      throw () __attribute__ ((__const__)) ;
4992
4993
4994
4995
4996
4997
4998
4999 extern div_t div (int __numer, int __denom)
5000      throw () __attribute__ ((__const__)) ;
5001 extern ldiv_t ldiv (long int __numer, long int __denom)
5002      throw () __attribute__ ((__const__)) ;
5003
5004
5005
5006
5007 __extension__ extern lldiv_t lldiv (long long int __numer,
5008         long long int __denom)
5009      throw () __attribute__ ((__const__)) ;
5010
5011 # 822 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
5012 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
5013      int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ;
5014
5015
5016
5017
5018 extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
5019      int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ;
5020
5021
5022
5023
5024 extern char *gcvt (double __value, int __ndigit, char *__buf)
5025      throw () __attribute__ ((__nonnull__ (3))) ;
5026
5027
5028
5029
5030 extern char *qecvt (long double __value, int __ndigit,
5031       int *__restrict __decpt, int *__restrict __sign)
5032      throw () __attribute__ ((__nonnull__ (3, 4))) ;
5033 extern char *qfcvt (long double __value, int __ndigit,
5034       int *__restrict __decpt, int *__restrict __sign)
5035      throw () __attribute__ ((__nonnull__ (3, 4))) ;
5036 extern char *qgcvt (long double __value, int __ndigit, char *__buf)
5037      throw () __attribute__ ((__nonnull__ (3))) ;
5038
5039
5040
5041
5042 extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
5043      int *__restrict __sign, char *__restrict __buf,
5044      size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5)));
5045 extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
5046      int *__restrict __sign, char *__restrict __buf,
5047      size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5)));
5048
5049 extern int qecvt_r (long double __value, int __ndigit,
5050       int *__restrict __decpt, int *__restrict __sign,
5051       char *__restrict __buf, size_t __len)
5052      throw () __attribute__ ((__nonnull__ (3, 4, 5)));
5053 extern int qfcvt_r (long double __value, int __ndigit,
5054       int *__restrict __decpt, int *__restrict __sign,
5055       char *__restrict __buf, size_t __len)
5056      throw () __attribute__ ((__nonnull__ (3, 4, 5)));
5057
5058
5059
5060
5061
5062
5063
5064 extern int mblen (__const char *__s, size_t __n) throw () ;
5065
5066
5067 extern int mbtowc (wchar_t *__restrict __pwc,
5068      __const char *__restrict __s, size_t __n) throw () ;
5069
5070
5071 extern int wctomb (char *__s, wchar_t __wchar) throw () ;
5072
5073
5074
5075 extern size_t mbstowcs (wchar_t *__restrict __pwcs,
5076    __const char *__restrict __s, size_t __n) throw ();
5077
5078 extern size_t wcstombs (char *__restrict __s,
5079    __const wchar_t *__restrict __pwcs, size_t __n)
5080      throw ();
5081
5082
5083
5084
5085
5086
5087
5088
5089 extern int rpmatch (__const char *__response) throw () __attribute__ ((__nonnull__ (1))) ;
5090 # 910 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
5091 extern int getsubopt (char **__restrict __optionp,
5092         char *__const *__restrict __tokens,
5093         char **__restrict __valuep)
5094      throw () __attribute__ ((__nonnull__ (1, 2, 3))) ;
5095
5096
5097
5098
5099
5100 extern void setkey (__const char *__key) throw () __attribute__ ((__nonnull__ (1)));
5101
5102
5103
5104
5105
5106
5107
5108 extern int posix_openpt (int __oflag) ;
5109
5110
5111
5112
5113
5114
5115
5116 extern int grantpt (int __fd) throw ();
5117
5118
5119
5120 extern int unlockpt (int __fd) throw ();
5121
5122
5123
5124
5125 extern char *ptsname (int __fd) throw () ;
5126
5127
5128
5129
5130
5131
5132 extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
5133      throw () __attribute__ ((__nonnull__ (2)));
5134
5135
5136 extern int getpt (void);
5137
5138
5139
5140
5141
5142
5143 extern int getloadavg (double __loadavg[], int __nelem)
5144      throw () __attribute__ ((__nonnull__ (1)));
5145 # 978 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
5146 }
5147 # 9 "/usr/include/stdlib.h" 2 3 4
5148 # 44 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h" 2
5149 # 55 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
5150 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/buffer.h" 1
5151 # 17 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/buffer.h"
5152 # 1 "/usr/include/stdlib.h" 1 3 4
5153 # 18 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/buffer.h" 2
5154 # 96 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/buffer.h"
5155 class wxCharBuffer { public: wxCharBuffer(const char *str) : m_str(str ? strdup(str) : __null) { } wxCharBuffer(size_t len=0) : m_str((char *)malloc((len + 1)*sizeof(char))) { m_str[len] = (char)0; } ~wxCharBuffer() { free(m_str); } char *release() const { char *p = m_str; ((wxCharBuffer *)this)->m_str = __null; return p; } wxCharBuffer(const wxCharBuffer& src) : m_str(src.release()) { } wxCharBuffer& operator=(const char *str) { free(m_str); m_str = str ? strdup(str) : __null; return *this; } wxCharBuffer& operator=(const wxCharBuffer& src) { free(m_str); m_str = src.release(); return *this; } char *data() { return m_str; } const char *data() const { return m_str; } operator const char *() const { return m_str; } char operator[](size_t n) const { return m_str[n]; } private: char *m_str; };
5156
5157
5158
5159 class wxWCharBuffer { public: wxWCharBuffer(const wchar_t *str) : m_str(str ? wxStrdupW(str) : __null) { } wxWCharBuffer(size_t len=0) : m_str((wchar_t *)malloc((len + 1)*sizeof(wchar_t))) { m_str[len] = (wchar_t)0; } ~wxWCharBuffer() { free(m_str); } wchar_t *release() const { wchar_t *p = m_str; ((wxWCharBuffer *)this)->m_str = __null; return p; } wxWCharBuffer(const wxWCharBuffer& src) : m_str(src.release()) { } wxWCharBuffer& operator=(const wchar_t *str) { free(m_str); m_str = str ? wxStrdupW(str) : __null; return *this; } wxWCharBuffer& operator=(const wxWCharBuffer& src) { free(m_str); m_str = src.release(); return *this; } wchar_t *data() { return m_str; } const wchar_t *data() const { return m_str; } operator const wchar_t *() const { return m_str; } wchar_t operator[](size_t n) const { return m_str[n]; } private: wchar_t *m_str; };
5160 # 123 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/buffer.h"
5161 class wxMemoryBufferData
5162 {
5163 public:
5164
5165     enum { BLOCK_SIZE = 1024 };
5166
5167     friend class wxMemoryBuffer;
5168
5169
5170 private:
5171     wxMemoryBufferData(size_t size = wxMemoryBufferData::BLOCK_SIZE)
5172         : m_data(size ? malloc(size) : __null), m_size(size), m_len(0), m_ref(0)
5173     {
5174     }
5175     ~wxMemoryBufferData() { free(m_data); }
5176
5177
5178     void ResizeIfNeeded(size_t newSize)
5179     {
5180         if (newSize > m_size)
5181         {
5182             void *dataOld = m_data;
5183             m_data = realloc(m_data, newSize + wxMemoryBufferData::BLOCK_SIZE);
5184             if ( !m_data )
5185             {
5186                 free(dataOld);
5187             }
5188
5189             m_size = newSize + wxMemoryBufferData::BLOCK_SIZE;
5190         }
5191     }
5192
5193     void IncRef() { m_ref += 1; }
5194     void DecRef()
5195     {
5196         m_ref -= 1;
5197         if (m_ref == 0)
5198             delete this;
5199     }
5200
5201
5202
5203     void *m_data;
5204
5205
5206     size_t m_size;
5207
5208
5209     size_t m_len;
5210
5211
5212     size_t m_ref;
5213
5214     private: wxMemoryBufferData(const wxMemoryBufferData&); wxMemoryBufferData& operator=(const wxMemoryBufferData&);
5215 };
5216
5217
5218 class wxMemoryBuffer
5219 {
5220 public:
5221
5222     wxMemoryBuffer(size_t size = wxMemoryBufferData::BLOCK_SIZE)
5223     {
5224         m_bufdata = new wxMemoryBufferData(size);
5225         m_bufdata->IncRef();
5226     }
5227
5228     ~wxMemoryBuffer() { m_bufdata->DecRef(); }
5229
5230
5231
5232     wxMemoryBuffer(const wxMemoryBuffer& src)
5233         : m_bufdata(src.m_bufdata)
5234     {
5235         m_bufdata->IncRef();
5236     }
5237
5238     wxMemoryBuffer& operator=(const wxMemoryBuffer& src)
5239     {
5240         m_bufdata->DecRef();
5241         m_bufdata = src.m_bufdata;
5242         m_bufdata->IncRef();
5243         return *this;
5244     }
5245
5246
5247
5248     void *GetData() const { return m_bufdata->m_data; }
5249     size_t GetBufSize() const { return m_bufdata->m_size; }
5250     size_t GetDataLen() const { return m_bufdata->m_len; }
5251
5252     void SetBufSize(size_t size) { m_bufdata->ResizeIfNeeded(size); }
5253     void SetDataLen(size_t len)
5254     {
5255         ;
5256         m_bufdata->m_len = len;
5257     }
5258
5259
5260     void *GetWriteBuf(size_t sizeNeeded)
5261     {
5262         m_bufdata->ResizeIfNeeded(sizeNeeded);
5263         return m_bufdata->m_data;
5264     }
5265
5266
5267     void UngetWriteBuf(size_t sizeUsed) { SetDataLen(sizeUsed); }
5268
5269
5270     void *GetAppendBuf(size_t sizeNeeded)
5271     {
5272         m_bufdata->ResizeIfNeeded(m_bufdata->m_len + sizeNeeded);
5273         return (char*)m_bufdata->m_data + m_bufdata->m_len;
5274     }
5275
5276
5277     void UngetAppendBuf(size_t sizeUsed)
5278     {
5279         SetDataLen(m_bufdata->m_len + sizeUsed);
5280     }
5281
5282
5283     void AppendByte(char data)
5284     {
5285         if (!(m_bufdata->m_data)) {; return; };
5286
5287         m_bufdata->ResizeIfNeeded(m_bufdata->m_len + 1);
5288         *(((char*)m_bufdata->m_data) + m_bufdata->m_len) = data;
5289         m_bufdata->m_len += 1;
5290     }
5291
5292     void AppendData(void* data, size_t len)
5293     {
5294         memcpy(GetAppendBuf(len), data, len);
5295         UngetAppendBuf(len);
5296     }
5297
5298     operator const char *() const { return (const char*)GetData(); }
5299
5300 private:
5301     wxMemoryBufferData* m_bufdata;
5302 };
5303 # 56 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h" 2
5304 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/strconv.h" 1
5305 # 31 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/strconv.h"
5306 # 1 "/usr/include/stdlib.h" 1 3 4
5307 # 32 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/strconv.h" 2
5308
5309
5310
5311
5312
5313
5314
5315 class wxMBConv
5316 {
5317 public:
5318
5319
5320
5321
5322     virtual size_t MB2WC(wchar_t *outputBuf, const char *psz, size_t outputSize) const = 0;
5323     virtual size_t WC2MB(char *outputBuf, const wchar_t *psz, size_t outputSize) const = 0;
5324
5325
5326     const wxWCharBuffer cMB2WC(const char *psz) const;
5327     const wxCharBuffer cWC2MB(const wchar_t *psz) const;
5328
5329
5330
5331
5332
5333     const wxWCharBuffer cMB2WC(const char *psz, size_t pszLen, size_t* pOutSize) const;
5334     const wxCharBuffer cWC2MB(const wchar_t *psz, size_t pszLen, size_t* pOutSize) const;
5335 # 67 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/strconv.h"
5336     const char* cMB2WX(const char *psz) const { return psz; }
5337     const char* cWX2MB(const char *psz) const { return psz; }
5338     const wxCharBuffer cWC2WX(const wchar_t *psz) const { return cWC2MB(psz); }
5339     const wxWCharBuffer cWX2WC(const char *psz) const { return cMB2WC(psz); }
5340
5341
5342
5343     virtual ~wxMBConv();
5344 };
5345
5346
5347
5348
5349
5350
5351 class wxMBConvLibc : public wxMBConv
5352 {
5353 public:
5354     virtual size_t MB2WC(wchar_t *outputBuf, const char *psz, size_t outputSize) const;
5355     virtual size_t WC2MB(char *outputBuf, const wchar_t *psz, size_t outputSize) const;
5356 };
5357 # 98 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/strconv.h"
5358 class wxConvBrokenFileNames : public wxMBConv
5359 {
5360 public:
5361     wxConvBrokenFileNames(const wxChar *charset);
5362     virtual ~wxConvBrokenFileNames() { delete m_conv; }
5363
5364     virtual size_t MB2WC(wchar_t *outputBuf, const char *psz, size_t outputSize) const;
5365     virtual size_t WC2MB(char *outputBuf, const wchar_t *psz, size_t outputSize) const;
5366
5367 private:
5368
5369     wxMBConv *m_conv;
5370 };
5371
5372
5373
5374
5375
5376
5377
5378 class wxMBConvUTF7 : public wxMBConv
5379 {
5380 public:
5381     virtual size_t MB2WC(wchar_t *outputBuf, const char *psz, size_t outputSize) const;
5382     virtual size_t WC2MB(char *outputBuf, const wchar_t *psz, size_t outputSize) const;
5383 };
5384
5385
5386
5387
5388
5389 class wxMBConvUTF8 : public wxMBConv
5390 {
5391 public:
5392     enum {
5393         MAP_INVALID_UTF8_NOT = 0,
5394         MAP_INVALID_UTF8_TO_PUA = 1,
5395         MAP_INVALID_UTF8_TO_OCTAL = 2
5396     };
5397
5398     wxMBConvUTF8(int options = MAP_INVALID_UTF8_NOT) : m_options(options) { }
5399     virtual size_t MB2WC(wchar_t *outputBuf, const char *psz, size_t outputSize) const;
5400     virtual size_t WC2MB(char *outputBuf, const wchar_t *psz, size_t outputSize) const;
5401
5402 private:
5403     int m_options;
5404 };
5405
5406
5407
5408
5409
5410 class wxMBConvUTF16LE : public wxMBConv
5411 {
5412 public:
5413     virtual size_t MB2WC(wchar_t *outputBuf, const char *psz, size_t outputSize) const;
5414     virtual size_t WC2MB(char *outputBuf, const wchar_t *psz, size_t outputSize) const;
5415 };
5416
5417
5418
5419
5420
5421 class wxMBConvUTF16BE : public wxMBConv
5422 {
5423 public:
5424     virtual size_t MB2WC(wchar_t *outputBuf, const char *psz, size_t outputSize) const;
5425     virtual size_t WC2MB(char *outputBuf, const wchar_t *psz, size_t outputSize) const;
5426 };
5427
5428
5429
5430
5431
5432 class wxMBConvUTF32LE : public wxMBConv
5433 {
5434 public:
5435     virtual size_t MB2WC(wchar_t *outputBuf, const char *psz, size_t outputSize) const;
5436     virtual size_t WC2MB(char *outputBuf, const wchar_t *psz, size_t outputSize) const;
5437 };
5438
5439
5440
5441
5442
5443 class wxMBConvUTF32BE : public wxMBConv
5444 {
5445 public:
5446     virtual size_t MB2WC(wchar_t *outputBuf, const char *psz, size_t outputSize) const;
5447     virtual size_t WC2MB(char *outputBuf, const wchar_t *psz, size_t outputSize) const;
5448 };
5449
5450
5451
5452
5453
5454 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/fontenc.h" 1
5455 # 16 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/fontenc.h"
5456 enum wxFontEncoding
5457 {
5458     wxFONTENCODING_SYSTEM = -1,
5459     wxFONTENCODING_DEFAULT,
5460
5461
5462     wxFONTENCODING_ISO8859_1,
5463     wxFONTENCODING_ISO8859_2,
5464     wxFONTENCODING_ISO8859_3,
5465     wxFONTENCODING_ISO8859_4,
5466     wxFONTENCODING_ISO8859_5,
5467     wxFONTENCODING_ISO8859_6,
5468     wxFONTENCODING_ISO8859_7,
5469     wxFONTENCODING_ISO8859_8,
5470     wxFONTENCODING_ISO8859_9,
5471     wxFONTENCODING_ISO8859_10,
5472     wxFONTENCODING_ISO8859_11,
5473     wxFONTENCODING_ISO8859_12,
5474
5475
5476     wxFONTENCODING_ISO8859_13,
5477     wxFONTENCODING_ISO8859_14,
5478     wxFONTENCODING_ISO8859_15,
5479     wxFONTENCODING_ISO8859_MAX,
5480
5481
5482     wxFONTENCODING_KOI8,
5483     wxFONTENCODING_KOI8_U,
5484     wxFONTENCODING_ALTERNATIVE,
5485     wxFONTENCODING_BULGARIAN,
5486
5487
5488
5489     wxFONTENCODING_CP437,
5490     wxFONTENCODING_CP850,
5491     wxFONTENCODING_CP852,
5492     wxFONTENCODING_CP855,
5493     wxFONTENCODING_CP866,
5494
5495     wxFONTENCODING_CP874,
5496     wxFONTENCODING_CP932,
5497     wxFONTENCODING_CP936,
5498     wxFONTENCODING_CP949,
5499     wxFONTENCODING_CP950,
5500     wxFONTENCODING_CP1250,
5501     wxFONTENCODING_CP1251,
5502     wxFONTENCODING_CP1252,
5503     wxFONTENCODING_CP1253,
5504     wxFONTENCODING_CP1254,
5505     wxFONTENCODING_CP1255,
5506     wxFONTENCODING_CP1256,
5507     wxFONTENCODING_CP1257,
5508     wxFONTENCODING_CP12_MAX,
5509
5510     wxFONTENCODING_UTF7,
5511     wxFONTENCODING_UTF8,
5512     wxFONTENCODING_EUC_JP,
5513     wxFONTENCODING_UTF16BE,
5514     wxFONTENCODING_UTF16LE,
5515     wxFONTENCODING_UTF32BE,
5516     wxFONTENCODING_UTF32LE,
5517
5518     wxFONTENCODING_MACROMAN,
5519     wxFONTENCODING_MACJAPANESE,
5520     wxFONTENCODING_MACCHINESETRAD,
5521     wxFONTENCODING_MACKOREAN,
5522     wxFONTENCODING_MACARABIC,
5523     wxFONTENCODING_MACHEBREW,
5524     wxFONTENCODING_MACGREEK,
5525     wxFONTENCODING_MACCYRILLIC,
5526     wxFONTENCODING_MACDEVANAGARI,
5527     wxFONTENCODING_MACGURMUKHI,
5528     wxFONTENCODING_MACGUJARATI,
5529     wxFONTENCODING_MACORIYA,
5530     wxFONTENCODING_MACBENGALI,
5531     wxFONTENCODING_MACTAMIL,
5532     wxFONTENCODING_MACTELUGU,
5533     wxFONTENCODING_MACKANNADA,
5534     wxFONTENCODING_MACMALAJALAM,
5535     wxFONTENCODING_MACSINHALESE,
5536     wxFONTENCODING_MACBURMESE,
5537     wxFONTENCODING_MACKHMER,
5538     wxFONTENCODING_MACTHAI,
5539     wxFONTENCODING_MACLAOTIAN,
5540     wxFONTENCODING_MACGEORGIAN,
5541     wxFONTENCODING_MACARMENIAN,
5542     wxFONTENCODING_MACCHINESESIMP,
5543     wxFONTENCODING_MACTIBETAN,
5544     wxFONTENCODING_MACMONGOLIAN,
5545     wxFONTENCODING_MACETHIOPIC,
5546     wxFONTENCODING_MACCENTRALEUR,
5547     wxFONTENCODING_MACVIATNAMESE,
5548     wxFONTENCODING_MACARABICEXT,
5549     wxFONTENCODING_MACSYMBOL,
5550     wxFONTENCODING_MACDINGBATS,
5551     wxFONTENCODING_MACTURKISH,
5552     wxFONTENCODING_MACCROATIAN,
5553     wxFONTENCODING_MACICELANDIC,
5554     wxFONTENCODING_MACROMANIAN,
5555     wxFONTENCODING_MACCELTIC,
5556     wxFONTENCODING_MACGAELIC,
5557     wxFONTENCODING_MACKEYBOARD,
5558
5559     wxFONTENCODING_MAX,
5560
5561     wxFONTENCODING_MACMIN = wxFONTENCODING_MACROMAN ,
5562     wxFONTENCODING_MACMAX = wxFONTENCODING_MACKEYBOARD ,
5563
5564
5565
5566
5567
5568
5569     wxFONTENCODING_UTF16 = wxFONTENCODING_UTF16LE,
5570     wxFONTENCODING_UTF32 = wxFONTENCODING_UTF32LE,
5571
5572
5573
5574
5575
5576
5577
5578     wxFONTENCODING_UNICODE = wxFONTENCODING_UTF32,
5579
5580
5581
5582
5583     wxFONTENCODING_GB2312 = wxFONTENCODING_CP936,
5584     wxFONTENCODING_BIG5 = wxFONTENCODING_CP950,
5585
5586
5587     wxFONTENCODING_SHIFT_JIS = wxFONTENCODING_CP932
5588 };
5589 # 195 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/strconv.h" 2
5590
5591 class wxCSConv : public wxMBConv
5592 {
5593 public:
5594
5595
5596     wxCSConv(const wxChar *charset);
5597     wxCSConv(wxFontEncoding encoding);
5598
5599     wxCSConv(const wxCSConv& conv);
5600     virtual ~wxCSConv();
5601
5602     wxCSConv& operator=(const wxCSConv& conv);
5603
5604     virtual size_t MB2WC(wchar_t *outputBuf, const char *psz, size_t outputSize) const;
5605     virtual size_t WC2MB(char *outputBuf, const wchar_t *psz, size_t outputSize) const;
5606
5607     void Clear() ;
5608
5609 private:
5610
5611     void Init();
5612
5613
5614     void CreateConvIfNeeded() const;
5615
5616
5617     wxMBConv *DoCreate() const;
5618
5619
5620
5621     void SetName(const wxChar *charset);
5622
5623
5624
5625
5626     wxChar *m_name;
5627     wxFontEncoding m_encoding;
5628
5629
5630     wxMBConv *m_convReal;
5631     bool m_deferred;
5632 };
5633 # 246 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/strconv.h"
5634 extern wxMBConv& wxConvLibc;
5635
5636
5637 extern wxCSConv& wxConvISO8859_1;
5638 extern wxMBConvUTF7& wxConvUTF7;
5639 extern wxMBConvUTF8& wxConvUTF8;
5640 # 260 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/strconv.h"
5641 extern wxMBConv * wxConvFileName;
5642
5643
5644
5645
5646
5647
5648 extern wxMBConv * wxConvCurrent;
5649
5650
5651 extern wxCSConv& wxConvLocal;
5652 # 281 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/strconv.h"
5653     typedef wxMBConvUTF16LE wxMBConvUTF16;
5654     typedef wxMBConvUTF32LE wxMBConvUTF32;
5655 # 57 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h" 2
5656
5657 class wxString;
5658 # 87 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
5659 extern const wxChar* wxEmptyString;
5660 # 98 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
5661 inline bool IsEmpty(const char *p) { return (!p || !*p); }
5662
5663
5664 inline size_t Strlen(const char *psz)
5665   { return psz ? strlen(psz) : 0; }
5666
5667
5668 inline int Stricmp(const char *psz1, const char *psz2)
5669 {
5670 # 135 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
5671   return strcasecmp(psz1, psz2);
5672 # 160 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
5673 }
5674 # 169 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
5675 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/beforestd.h" 1
5676 # 170 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h" 2
5677 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/string" 1 3
5678 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/string" 3
5679        
5680 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/string" 3
5681 #pragma GCC visibility push(default)
5682
5683 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 1 3
5684 # 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 3
5685 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/os_defines.h" 1 3
5686 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/os_defines.h" 3
5687 # 1 "/usr/include/features.h" 1 3 4
5688 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/os_defines.h" 2 3
5689 # 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 2 3
5690
5691
5692 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/cpu_defines.h" 1 3
5693 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 2 3
5694
5695
5696
5697
5698 namespace __gnu_debug_def { }
5699
5700 namespace __gnu_debug
5701 {
5702   using namespace __gnu_debug_def;
5703 }
5704 # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/string" 2 3
5705 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stringfwd.h" 1 3
5706 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stringfwd.h" 3
5707        
5708 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stringfwd.h" 3
5709
5710
5711
5712 namespace std
5713 {
5714   template<typename _Alloc>
5715     class allocator;
5716
5717   template<class _CharT>
5718     struct char_traits;
5719
5720   template<typename _CharT, typename _Traits = char_traits<_CharT>,
5721            typename _Alloc = allocator<_CharT> >
5722     class basic_string;
5723
5724   template<> struct char_traits<char>;
5725
5726   typedef basic_string<char> string;
5727
5728
5729   template<> struct char_traits<wchar_t>;
5730
5731   typedef basic_string<wchar_t> wstring;
5732
5733 }
5734 # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/string" 2 3
5735 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h" 1 3
5736 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h" 3
5737        
5738 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h" 3
5739
5740 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstring" 1 3
5741 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstring" 3
5742        
5743 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstring" 3
5744 #pragma GCC visibility push(default)
5745
5746 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstddef" 1 3
5747 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstddef" 3
5748        
5749 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstddef" 3
5750 #pragma GCC visibility push(default)
5751
5752 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
5753 # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstddef" 2 3
5754
5755 namespace std
5756 {
5757   using ::ptrdiff_t;
5758   using ::size_t;
5759 }
5760
5761 #pragma GCC visibility pop
5762 # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstring" 2 3
5763
5764 # 1 "/usr/include/string.h" 1 3 4
5765 # 54 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstring" 2 3
5766 # 79 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstring" 3
5767 namespace std
5768 {
5769   using ::memcpy;
5770   using ::memmove;
5771   using ::strcpy;
5772   using ::strncpy;
5773   using ::strcat;
5774   using ::strncat;
5775   using ::memcmp;
5776   using ::strcmp;
5777   using ::strcoll;
5778   using ::strncmp;
5779   using ::strxfrm;
5780   using ::strcspn;
5781   using ::strspn;
5782   using ::strtok;
5783   using ::memset;
5784   using ::strerror;
5785   using ::strlen;
5786
5787   using ::memchr;
5788
5789   inline void*
5790   memchr(void* __p, int __c, size_t __n)
5791   { return memchr(const_cast<const void*>(__p), __c, __n); }
5792
5793   using ::strchr;
5794
5795   inline char*
5796   strchr(char* __s1, int __n)
5797   { return __builtin_strchr(const_cast<const char*>(__s1), __n); }
5798
5799   using ::strpbrk;
5800
5801   inline char*
5802   strpbrk(char* __s1, const char* __s2)
5803   { return __builtin_strpbrk(const_cast<const char*>(__s1), __s2); }
5804
5805   using ::strrchr;
5806
5807   inline char*
5808   strrchr(char* __s1, int __n)
5809   { return __builtin_strrchr(const_cast<const char*>(__s1), __n); }
5810
5811   using ::strstr;
5812
5813   inline char*
5814   strstr(char* __s1, const char* __s2)
5815   { return __builtin_strstr(const_cast<const char*>(__s1), __s2); }
5816 }
5817
5818 #pragma GCC visibility pop
5819 # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h" 2 3
5820 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 1 3
5821 # 66 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
5822 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/climits" 1 3
5823 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/climits" 3
5824        
5825 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/climits" 3
5826 #pragma GCC visibility push(default)
5827
5828 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/limits.h" 1 3 4
5829 # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/climits" 2 3
5830
5831 #pragma GCC visibility pop
5832 # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 2 3
5833 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib" 1 3
5834 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib" 3
5835        
5836 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib" 3
5837 #pragma GCC visibility push(default)
5838 # 72 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib" 3
5839 # 1 "/usr/include/stdlib.h" 1 3 4
5840 # 73 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib" 2 3
5841 # 104 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib" 3
5842 namespace std
5843 {
5844   using ::div_t;
5845   using ::ldiv_t;
5846
5847   using ::abort;
5848   using ::abs;
5849   using ::atexit;
5850   using ::atof;
5851   using ::atoi;
5852   using ::atol;
5853   using ::bsearch;
5854   using ::calloc;
5855   using ::div;
5856   using ::exit;
5857   using ::free;
5858   using ::getenv;
5859   using ::labs;
5860   using ::ldiv;
5861   using ::malloc;
5862
5863   using ::mblen;
5864   using ::mbstowcs;
5865   using ::mbtowc;
5866
5867   using ::qsort;
5868   using ::rand;
5869   using ::realloc;
5870   using ::srand;
5871   using ::strtod;
5872   using ::strtol;
5873   using ::strtoul;
5874   using ::system;
5875
5876   using ::wcstombs;
5877   using ::wctomb;
5878
5879
5880   inline long
5881   abs(long __i) { return labs(__i); }
5882
5883   inline ldiv_t
5884   div(long __i, long __j) { return ldiv(__i, __j); }
5885 }
5886 # 160 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib" 3
5887 namespace __gnu_cxx
5888 {
5889
5890   using ::lldiv_t;
5891
5892
5893
5894
5895
5896   using ::_Exit;
5897
5898
5899   inline long long
5900   abs(long long __x) { return __x >= 0 ? __x : -__x; }
5901
5902
5903   using ::llabs;
5904
5905   inline lldiv_t
5906   div(long long __n, long long __d)
5907   { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
5908
5909   using ::lldiv;
5910 # 193 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib" 3
5911   using ::atoll;
5912   using ::strtoll;
5913   using ::strtoull;
5914
5915   using ::strtof;
5916   using ::strtold;
5917 }
5918
5919 namespace std
5920 {
5921
5922   using ::__gnu_cxx::lldiv_t;
5923
5924   using ::__gnu_cxx::_Exit;
5925   using ::__gnu_cxx::abs;
5926
5927   using ::__gnu_cxx::llabs;
5928   using ::__gnu_cxx::div;
5929   using ::__gnu_cxx::lldiv;
5930
5931   using ::__gnu_cxx::atoll;
5932   using ::__gnu_cxx::strtof;
5933   using ::__gnu_cxx::strtoll;
5934   using ::__gnu_cxx::strtoull;
5935   using ::__gnu_cxx::strtold;
5936 }
5937
5938
5939
5940
5941
5942 #pragma GCC visibility pop
5943 # 68 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 2 3
5944
5945 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd" 1 3
5946 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd" 3
5947        
5948 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd" 3
5949 #pragma GCC visibility push(default)
5950
5951
5952 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 1 3
5953 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 3
5954        
5955 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 3
5956
5957
5958 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdio" 1 3
5959 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdio" 3
5960        
5961 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdio" 3
5962 #pragma GCC visibility push(default)
5963
5964
5965
5966
5967 # 1 "/usr/include/stdio.h" 1 3 4
5968 # 55 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdio" 2 3
5969 # 99 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdio" 3
5970 namespace std
5971 {
5972   using ::FILE;
5973   using ::fpos_t;
5974
5975   using ::clearerr;
5976   using ::fclose;
5977   using ::feof;
5978   using ::ferror;
5979   using ::fflush;
5980   using ::fgetc;
5981   using ::fgetpos;
5982   using ::fgets;
5983   using ::fopen;
5984   using ::fprintf;
5985   using ::fputc;
5986   using ::fputs;
5987   using ::fread;
5988   using ::freopen;
5989   using ::fscanf;
5990   using ::fseek;
5991   using ::fsetpos;
5992   using ::ftell;
5993   using ::fwrite;
5994   using ::getc;
5995   using ::getchar;
5996   using ::gets;
5997   using ::perror;
5998   using ::printf;
5999   using ::putc;
6000   using ::putchar;
6001   using ::puts;
6002   using ::remove;
6003   using ::rename;
6004   using ::rewind;
6005   using ::scanf;
6006   using ::setbuf;
6007   using ::setvbuf;
6008   using ::sprintf;
6009   using ::sscanf;
6010   using ::tmpfile;
6011   using ::tmpnam;
6012   using ::ungetc;
6013   using ::vfprintf;
6014   using ::vprintf;
6015   using ::vsprintf;
6016 }
6017 # 155 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdio" 3
6018 namespace __gnu_cxx
6019 {
6020 # 170 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdio" 3
6021   using ::snprintf;
6022   using ::vfscanf;
6023   using ::vscanf;
6024   using ::vsnprintf;
6025   using ::vsscanf;
6026
6027 }
6028
6029 namespace std
6030 {
6031   using __gnu_cxx::snprintf;
6032   using __gnu_cxx::vfscanf;
6033   using __gnu_cxx::vscanf;
6034   using __gnu_cxx::vsnprintf;
6035   using __gnu_cxx::vsscanf;
6036 }
6037
6038
6039 #pragma GCC visibility pop
6040 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 2 3
6041 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/clocale" 1 3
6042 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/clocale" 3
6043        
6044 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/clocale" 3
6045 #pragma GCC visibility push(default)
6046
6047 # 1 "/usr/include/locale.h" 1 3 4
6048
6049
6050
6051
6052
6053
6054
6055 # 1 "/usr/include/gentoo-multilib/amd64/locale.h" 1 3 4
6056 # 26 "/usr/include/gentoo-multilib/amd64/locale.h" 3 4
6057 # 1 "/usr/include/features.h" 1 3 4
6058 # 27 "/usr/include/gentoo-multilib/amd64/locale.h" 2 3 4
6059
6060
6061 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
6062 # 30 "/usr/include/gentoo-multilib/amd64/locale.h" 2 3 4
6063 # 1 "/usr/include/bits/locale.h" 1 3 4
6064
6065
6066
6067
6068
6069
6070
6071 # 1 "/usr/include/gentoo-multilib/amd64/bits/locale.h" 1 3 4
6072 # 27 "/usr/include/gentoo-multilib/amd64/bits/locale.h" 3 4
6073 enum
6074 {
6075   __LC_CTYPE = 0,
6076   __LC_NUMERIC = 1,
6077   __LC_TIME = 2,
6078   __LC_COLLATE = 3,
6079   __LC_MONETARY = 4,
6080   __LC_MESSAGES = 5,
6081   __LC_ALL = 6,
6082   __LC_PAPER = 7,
6083   __LC_NAME = 8,
6084   __LC_ADDRESS = 9,
6085   __LC_TELEPHONE = 10,
6086   __LC_MEASUREMENT = 11,
6087   __LC_IDENTIFICATION = 12
6088 };
6089 # 9 "/usr/include/bits/locale.h" 2 3 4
6090 # 31 "/usr/include/gentoo-multilib/amd64/locale.h" 2 3 4
6091
6092 extern "C" {
6093 # 52 "/usr/include/gentoo-multilib/amd64/locale.h" 3 4
6094 struct lconv
6095 {
6096
6097
6098   char *decimal_point;
6099   char *thousands_sep;
6100
6101
6102
6103
6104
6105   char *grouping;
6106
6107
6108
6109
6110
6111   char *int_curr_symbol;
6112   char *currency_symbol;
6113   char *mon_decimal_point;
6114   char *mon_thousands_sep;
6115   char *mon_grouping;
6116   char *positive_sign;
6117   char *negative_sign;
6118   char int_frac_digits;
6119   char frac_digits;
6120
6121   char p_cs_precedes;
6122
6123   char p_sep_by_space;
6124
6125   char n_cs_precedes;
6126
6127   char n_sep_by_space;
6128
6129
6130
6131
6132
6133
6134   char p_sign_posn;
6135   char n_sign_posn;
6136
6137
6138   char int_p_cs_precedes;
6139
6140   char int_p_sep_by_space;
6141
6142   char int_n_cs_precedes;
6143
6144   char int_n_sep_by_space;
6145
6146
6147
6148
6149
6150
6151   char int_p_sign_posn;
6152   char int_n_sign_posn;
6153 # 119 "/usr/include/gentoo-multilib/amd64/locale.h" 3 4
6154 };
6155
6156
6157
6158
6159
6160 extern char *setlocale (int __category, __const char *__locale) throw ();
6161
6162
6163 extern struct lconv *localeconv (void) throw ();
6164
6165
6166 # 146 "/usr/include/gentoo-multilib/amd64/locale.h" 3 4
6167 # 1 "/usr/include/xlocale.h" 1 3 4
6168 # 147 "/usr/include/gentoo-multilib/amd64/locale.h" 2 3 4
6169
6170 typedef __locale_t locale_t;
6171
6172
6173
6174
6175
6176 extern __locale_t newlocale (int __category_mask, __const char *__locale,
6177         __locale_t __base) throw ();
6178 # 189 "/usr/include/gentoo-multilib/amd64/locale.h" 3 4
6179 extern __locale_t duplocale (__locale_t __dataset) throw ();
6180
6181
6182
6183 extern void freelocale (__locale_t __dataset) throw ();
6184
6185
6186
6187
6188
6189
6190 extern __locale_t uselocale (__locale_t __dataset) throw ();
6191
6192
6193
6194
6195
6196
6197
6198 }
6199 # 9 "/usr/include/locale.h" 2 3 4
6200 # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/clocale" 2 3
6201
6202
6203
6204
6205
6206 namespace std
6207 {
6208   using ::lconv;
6209   using ::setlocale;
6210   using ::localeconv;
6211 }
6212
6213 #pragma GCC visibility pop
6214 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 2 3
6215 # 1 "/usr/include/langinfo.h" 1 3 4
6216
6217
6218
6219
6220
6221
6222
6223 # 1 "/usr/include/gentoo-multilib/amd64/langinfo.h" 1 3 4
6224 # 24 "/usr/include/gentoo-multilib/amd64/langinfo.h" 3 4
6225 # 1 "/usr/include/nl_types.h" 1 3 4
6226
6227
6228
6229
6230
6231
6232
6233 # 1 "/usr/include/gentoo-multilib/amd64/nl_types.h" 1 3 4
6234 # 22 "/usr/include/gentoo-multilib/amd64/nl_types.h" 3 4
6235 # 1 "/usr/include/features.h" 1 3 4
6236 # 23 "/usr/include/gentoo-multilib/amd64/nl_types.h" 2 3 4
6237 # 31 "/usr/include/gentoo-multilib/amd64/nl_types.h" 3 4
6238 extern "C" {
6239
6240
6241 typedef void *nl_catd;
6242
6243
6244 typedef int nl_item;
6245
6246
6247
6248
6249
6250 extern nl_catd catopen (__const char *__cat_name, int __flag) __attribute__ ((__nonnull__ (1)));
6251
6252
6253
6254 extern char *catgets (nl_catd __catalog, int __set, int __number,
6255         __const char *__string) throw () __attribute__ ((__nonnull__ (1)));
6256
6257
6258 extern int catclose (nl_catd __catalog) throw () __attribute__ ((__nonnull__ (1)));
6259
6260 }
6261 # 9 "/usr/include/nl_types.h" 2 3 4
6262 # 25 "/usr/include/gentoo-multilib/amd64/langinfo.h" 2 3 4
6263
6264 # 1 "/usr/include/bits/locale.h" 1 3 4
6265
6266
6267
6268
6269
6270
6271
6272 # 1 "/usr/include/gentoo-multilib/amd64/bits/locale.h" 1 3 4
6273 # 9 "/usr/include/bits/locale.h" 2 3 4
6274 # 27 "/usr/include/gentoo-multilib/amd64/langinfo.h" 2 3 4
6275
6276
6277 extern "C" {
6278 # 42 "/usr/include/gentoo-multilib/amd64/langinfo.h" 3 4
6279 enum
6280 {
6281
6282
6283
6284   ABDAY_1 = (((__LC_TIME) << 16) | (0)),
6285
6286   ABDAY_2,
6287
6288   ABDAY_3,
6289
6290   ABDAY_4,
6291
6292   ABDAY_5,
6293
6294   ABDAY_6,
6295
6296   ABDAY_7,
6297
6298
6299
6300   DAY_1,
6301
6302   DAY_2,
6303
6304   DAY_3,
6305
6306   DAY_4,
6307
6308   DAY_5,
6309
6310   DAY_6,
6311
6312   DAY_7,
6313
6314
6315
6316   ABMON_1,
6317
6318   ABMON_2,
6319
6320   ABMON_3,
6321
6322   ABMON_4,
6323
6324   ABMON_5,
6325
6326   ABMON_6,
6327
6328   ABMON_7,
6329
6330   ABMON_8,
6331
6332   ABMON_9,
6333
6334   ABMON_10,
6335
6336   ABMON_11,
6337
6338   ABMON_12,
6339
6340
6341
6342   MON_1,
6343
6344   MON_2,
6345
6346   MON_3,
6347
6348   MON_4,
6349
6350   MON_5,
6351
6352   MON_6,
6353
6354   MON_7,
6355
6356   MON_8,
6357
6358   MON_9,
6359
6360   MON_10,
6361
6362   MON_11,
6363
6364   MON_12,
6365
6366
6367   AM_STR,
6368
6369   PM_STR,
6370
6371
6372   D_T_FMT,
6373
6374   D_FMT,
6375
6376   T_FMT,
6377
6378   T_FMT_AMPM,
6379
6380
6381   ERA,
6382
6383   __ERA_YEAR,
6384
6385
6386
6387   ERA_D_FMT,
6388
6389   ALT_DIGITS,
6390
6391   ERA_D_T_FMT,
6392
6393   ERA_T_FMT,
6394
6395
6396   _NL_TIME_ERA_NUM_ENTRIES,
6397   _NL_TIME_ERA_ENTRIES,
6398
6399   _NL_WABDAY_1,
6400   _NL_WABDAY_2,
6401   _NL_WABDAY_3,
6402   _NL_WABDAY_4,
6403   _NL_WABDAY_5,
6404   _NL_WABDAY_6,
6405   _NL_WABDAY_7,
6406
6407
6408   _NL_WDAY_1,
6409   _NL_WDAY_2,
6410   _NL_WDAY_3,
6411   _NL_WDAY_4,
6412   _NL_WDAY_5,
6413   _NL_WDAY_6,
6414   _NL_WDAY_7,
6415
6416
6417   _NL_WABMON_1,
6418   _NL_WABMON_2,
6419   _NL_WABMON_3,
6420   _NL_WABMON_4,
6421   _NL_WABMON_5,
6422   _NL_WABMON_6,
6423   _NL_WABMON_7,
6424   _NL_WABMON_8,
6425   _NL_WABMON_9,
6426   _NL_WABMON_10,
6427   _NL_WABMON_11,
6428   _NL_WABMON_12,
6429
6430
6431   _NL_WMON_1,
6432   _NL_WMON_2,
6433   _NL_WMON_3,
6434   _NL_WMON_4,
6435   _NL_WMON_5,
6436   _NL_WMON_6,
6437   _NL_WMON_7,
6438   _NL_WMON_8,
6439   _NL_WMON_9,
6440   _NL_WMON_10,
6441   _NL_WMON_11,
6442   _NL_WMON_12,
6443
6444   _NL_WAM_STR,
6445   _NL_WPM_STR,
6446
6447   _NL_WD_T_FMT,
6448   _NL_WD_FMT,
6449   _NL_WT_FMT,
6450   _NL_WT_FMT_AMPM,
6451
6452   _NL_WERA_YEAR,
6453   _NL_WERA_D_FMT,
6454   _NL_WALT_DIGITS,
6455   _NL_WERA_D_T_FMT,
6456   _NL_WERA_T_FMT,
6457
6458   _NL_TIME_WEEK_NDAYS,
6459   _NL_TIME_WEEK_1STDAY,
6460   _NL_TIME_WEEK_1STWEEK,
6461   _NL_TIME_FIRST_WEEKDAY,
6462   _NL_TIME_FIRST_WORKDAY,
6463   _NL_TIME_CAL_DIRECTION,
6464   _NL_TIME_TIMEZONE,
6465
6466   _DATE_FMT,
6467
6468   _NL_W_DATE_FMT,
6469
6470   _NL_TIME_CODESET,
6471
6472   _NL_NUM_LC_TIME,
6473
6474
6475
6476
6477   _NL_COLLATE_NRULES = (((__LC_COLLATE) << 16) | (0)),
6478   _NL_COLLATE_RULESETS,
6479   _NL_COLLATE_TABLEMB,
6480   _NL_COLLATE_WEIGHTMB,
6481   _NL_COLLATE_EXTRAMB,
6482   _NL_COLLATE_INDIRECTMB,
6483   _NL_COLLATE_GAP1,
6484   _NL_COLLATE_GAP2,
6485   _NL_COLLATE_GAP3,
6486   _NL_COLLATE_TABLEWC,
6487   _NL_COLLATE_WEIGHTWC,
6488   _NL_COLLATE_EXTRAWC,
6489   _NL_COLLATE_INDIRECTWC,
6490   _NL_COLLATE_SYMB_HASH_SIZEMB,
6491   _NL_COLLATE_SYMB_TABLEMB,
6492   _NL_COLLATE_SYMB_EXTRAMB,
6493   _NL_COLLATE_COLLSEQMB,
6494   _NL_COLLATE_COLLSEQWC,
6495   _NL_COLLATE_CODESET,
6496   _NL_NUM_LC_COLLATE,
6497
6498
6499
6500
6501   _NL_CTYPE_CLASS = (((__LC_CTYPE) << 16) | (0)),
6502   _NL_CTYPE_TOUPPER,
6503   _NL_CTYPE_GAP1,
6504   _NL_CTYPE_TOLOWER,
6505   _NL_CTYPE_GAP2,
6506   _NL_CTYPE_CLASS32,
6507   _NL_CTYPE_GAP3,
6508   _NL_CTYPE_GAP4,
6509   _NL_CTYPE_GAP5,
6510   _NL_CTYPE_GAP6,
6511   _NL_CTYPE_CLASS_NAMES,
6512   _NL_CTYPE_MAP_NAMES,
6513   _NL_CTYPE_WIDTH,
6514   _NL_CTYPE_MB_CUR_MAX,
6515   _NL_CTYPE_CODESET_NAME,
6516   CODESET = _NL_CTYPE_CODESET_NAME,
6517
6518   _NL_CTYPE_TOUPPER32,
6519   _NL_CTYPE_TOLOWER32,
6520   _NL_CTYPE_CLASS_OFFSET,
6521   _NL_CTYPE_MAP_OFFSET,
6522   _NL_CTYPE_INDIGITS_MB_LEN,
6523   _NL_CTYPE_INDIGITS0_MB,
6524   _NL_CTYPE_INDIGITS1_MB,
6525   _NL_CTYPE_INDIGITS2_MB,
6526   _NL_CTYPE_INDIGITS3_MB,
6527   _NL_CTYPE_INDIGITS4_MB,
6528   _NL_CTYPE_INDIGITS5_MB,
6529   _NL_CTYPE_INDIGITS6_MB,
6530   _NL_CTYPE_INDIGITS7_MB,
6531   _NL_CTYPE_INDIGITS8_MB,
6532   _NL_CTYPE_INDIGITS9_MB,
6533   _NL_CTYPE_INDIGITS_WC_LEN,
6534   _NL_CTYPE_INDIGITS0_WC,
6535   _NL_CTYPE_INDIGITS1_WC,
6536   _NL_CTYPE_INDIGITS2_WC,
6537   _NL_CTYPE_INDIGITS3_WC,
6538   _NL_CTYPE_INDIGITS4_WC,
6539   _NL_CTYPE_INDIGITS5_WC,
6540   _NL_CTYPE_INDIGITS6_WC,
6541   _NL_CTYPE_INDIGITS7_WC,
6542   _NL_CTYPE_INDIGITS8_WC,
6543   _NL_CTYPE_INDIGITS9_WC,
6544   _NL_CTYPE_OUTDIGIT0_MB,
6545   _NL_CTYPE_OUTDIGIT1_MB,
6546   _NL_CTYPE_OUTDIGIT2_MB,
6547   _NL_CTYPE_OUTDIGIT3_MB,
6548   _NL_CTYPE_OUTDIGIT4_MB,
6549   _NL_CTYPE_OUTDIGIT5_MB,
6550   _NL_CTYPE_OUTDIGIT6_MB,
6551   _NL_CTYPE_OUTDIGIT7_MB,
6552   _NL_CTYPE_OUTDIGIT8_MB,
6553   _NL_CTYPE_OUTDIGIT9_MB,
6554   _NL_CTYPE_OUTDIGIT0_WC,
6555   _NL_CTYPE_OUTDIGIT1_WC,
6556   _NL_CTYPE_OUTDIGIT2_WC,
6557   _NL_CTYPE_OUTDIGIT3_WC,
6558   _NL_CTYPE_OUTDIGIT4_WC,
6559   _NL_CTYPE_OUTDIGIT5_WC,
6560   _NL_CTYPE_OUTDIGIT6_WC,
6561   _NL_CTYPE_OUTDIGIT7_WC,
6562   _NL_CTYPE_OUTDIGIT8_WC,
6563   _NL_CTYPE_OUTDIGIT9_WC,
6564   _NL_CTYPE_TRANSLIT_TAB_SIZE,
6565   _NL_CTYPE_TRANSLIT_FROM_IDX,
6566   _NL_CTYPE_TRANSLIT_FROM_TBL,
6567   _NL_CTYPE_TRANSLIT_TO_IDX,
6568   _NL_CTYPE_TRANSLIT_TO_TBL,
6569   _NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN,
6570   _NL_CTYPE_TRANSLIT_DEFAULT_MISSING,
6571   _NL_CTYPE_TRANSLIT_IGNORE_LEN,
6572   _NL_CTYPE_TRANSLIT_IGNORE,
6573   _NL_CTYPE_MAP_TO_NONASCII,
6574   _NL_CTYPE_EXTRA_MAP_1,
6575   _NL_CTYPE_EXTRA_MAP_2,
6576   _NL_CTYPE_EXTRA_MAP_3,
6577   _NL_CTYPE_EXTRA_MAP_4,
6578   _NL_CTYPE_EXTRA_MAP_5,
6579   _NL_CTYPE_EXTRA_MAP_6,
6580   _NL_CTYPE_EXTRA_MAP_7,
6581   _NL_CTYPE_EXTRA_MAP_8,
6582   _NL_CTYPE_EXTRA_MAP_9,
6583   _NL_CTYPE_EXTRA_MAP_10,
6584   _NL_CTYPE_EXTRA_MAP_11,
6585   _NL_CTYPE_EXTRA_MAP_12,
6586   _NL_CTYPE_EXTRA_MAP_13,
6587   _NL_CTYPE_EXTRA_MAP_14,
6588   _NL_NUM_LC_CTYPE,
6589
6590
6591
6592
6593   __INT_CURR_SYMBOL = (((__LC_MONETARY) << 16) | (0)),
6594
6595
6596
6597   __CURRENCY_SYMBOL,
6598
6599
6600
6601   __MON_DECIMAL_POINT,
6602
6603
6604
6605   __MON_THOUSANDS_SEP,
6606
6607
6608
6609   __MON_GROUPING,
6610
6611
6612
6613   __POSITIVE_SIGN,
6614
6615
6616
6617   __NEGATIVE_SIGN,
6618
6619
6620
6621   __INT_FRAC_DIGITS,
6622
6623
6624
6625   __FRAC_DIGITS,
6626
6627
6628
6629   __P_CS_PRECEDES,
6630
6631
6632
6633   __P_SEP_BY_SPACE,
6634
6635
6636
6637   __N_CS_PRECEDES,
6638
6639
6640
6641   __N_SEP_BY_SPACE,
6642
6643
6644
6645   __P_SIGN_POSN,
6646
6647
6648
6649   __N_SIGN_POSN,
6650
6651
6652
6653   _NL_MONETARY_CRNCYSTR,
6654
6655   __INT_P_CS_PRECEDES,
6656
6657
6658
6659   __INT_P_SEP_BY_SPACE,
6660
6661
6662
6663   __INT_N_CS_PRECEDES,
6664
6665
6666
6667   __INT_N_SEP_BY_SPACE,
6668
6669
6670
6671   __INT_P_SIGN_POSN,
6672
6673
6674
6675   __INT_N_SIGN_POSN,
6676
6677
6678
6679   _NL_MONETARY_DUO_INT_CURR_SYMBOL,
6680   _NL_MONETARY_DUO_CURRENCY_SYMBOL,
6681   _NL_MONETARY_DUO_INT_FRAC_DIGITS,
6682   _NL_MONETARY_DUO_FRAC_DIGITS,
6683   _NL_MONETARY_DUO_P_CS_PRECEDES,
6684   _NL_MONETARY_DUO_P_SEP_BY_SPACE,
6685   _NL_MONETARY_DUO_N_CS_PRECEDES,
6686   _NL_MONETARY_DUO_N_SEP_BY_SPACE,
6687   _NL_MONETARY_DUO_INT_P_CS_PRECEDES,
6688   _NL_MONETARY_DUO_INT_P_SEP_BY_SPACE,
6689   _NL_MONETARY_DUO_INT_N_CS_PRECEDES,
6690   _NL_MONETARY_DUO_INT_N_SEP_BY_SPACE,
6691   _NL_MONETARY_DUO_P_SIGN_POSN,
6692   _NL_MONETARY_DUO_N_SIGN_POSN,
6693   _NL_MONETARY_DUO_INT_P_SIGN_POSN,
6694   _NL_MONETARY_DUO_INT_N_SIGN_POSN,
6695   _NL_MONETARY_UNO_VALID_FROM,
6696   _NL_MONETARY_UNO_VALID_TO,
6697   _NL_MONETARY_DUO_VALID_FROM,
6698   _NL_MONETARY_DUO_VALID_TO,
6699   _NL_MONETARY_CONVERSION_RATE,
6700   _NL_MONETARY_DECIMAL_POINT_WC,
6701   _NL_MONETARY_THOUSANDS_SEP_WC,
6702   _NL_MONETARY_CODESET,
6703   _NL_NUM_LC_MONETARY,
6704
6705
6706
6707   __DECIMAL_POINT = (((__LC_NUMERIC) << 16) | (0)),
6708
6709
6710
6711   RADIXCHAR = __DECIMAL_POINT,
6712
6713   __THOUSANDS_SEP,
6714
6715
6716
6717   THOUSEP = __THOUSANDS_SEP,
6718
6719   __GROUPING,
6720
6721
6722
6723   _NL_NUMERIC_DECIMAL_POINT_WC,
6724   _NL_NUMERIC_THOUSANDS_SEP_WC,
6725   _NL_NUMERIC_CODESET,
6726   _NL_NUM_LC_NUMERIC,
6727
6728   __YESEXPR = (((__LC_MESSAGES) << 16) | (0)),
6729
6730   __NOEXPR,
6731
6732   __YESSTR,
6733
6734
6735
6736   __NOSTR,
6737
6738
6739
6740   _NL_MESSAGES_CODESET,
6741   _NL_NUM_LC_MESSAGES,
6742
6743   _NL_PAPER_HEIGHT = (((__LC_PAPER) << 16) | (0)),
6744   _NL_PAPER_WIDTH,
6745   _NL_PAPER_CODESET,
6746   _NL_NUM_LC_PAPER,
6747
6748   _NL_NAME_NAME_FMT = (((__LC_NAME) << 16) | (0)),
6749   _NL_NAME_NAME_GEN,
6750   _NL_NAME_NAME_MR,
6751   _NL_NAME_NAME_MRS,
6752   _NL_NAME_NAME_MISS,
6753   _NL_NAME_NAME_MS,
6754   _NL_NAME_CODESET,
6755   _NL_NUM_LC_NAME,
6756
6757   _NL_ADDRESS_POSTAL_FMT = (((__LC_ADDRESS) << 16) | (0)),
6758   _NL_ADDRESS_COUNTRY_NAME,
6759   _NL_ADDRESS_COUNTRY_POST,
6760   _NL_ADDRESS_COUNTRY_AB2,
6761   _NL_ADDRESS_COUNTRY_AB3,
6762   _NL_ADDRESS_COUNTRY_CAR,
6763   _NL_ADDRESS_COUNTRY_NUM,
6764   _NL_ADDRESS_COUNTRY_ISBN,
6765   _NL_ADDRESS_LANG_NAME,
6766   _NL_ADDRESS_LANG_AB,
6767   _NL_ADDRESS_LANG_TERM,
6768   _NL_ADDRESS_LANG_LIB,
6769   _NL_ADDRESS_CODESET,
6770   _NL_NUM_LC_ADDRESS,
6771
6772   _NL_TELEPHONE_TEL_INT_FMT = (((__LC_TELEPHONE) << 16) | (0)),
6773   _NL_TELEPHONE_TEL_DOM_FMT,
6774   _NL_TELEPHONE_INT_SELECT,
6775   _NL_TELEPHONE_INT_PREFIX,
6776   _NL_TELEPHONE_CODESET,
6777   _NL_NUM_LC_TELEPHONE,
6778
6779   _NL_MEASUREMENT_MEASUREMENT = (((__LC_MEASUREMENT) << 16) | (0)),
6780   _NL_MEASUREMENT_CODESET,
6781   _NL_NUM_LC_MEASUREMENT,
6782
6783   _NL_IDENTIFICATION_TITLE = (((__LC_IDENTIFICATION) << 16) | (0)),
6784   _NL_IDENTIFICATION_SOURCE,
6785   _NL_IDENTIFICATION_ADDRESS,
6786   _NL_IDENTIFICATION_CONTACT,
6787   _NL_IDENTIFICATION_EMAIL,
6788   _NL_IDENTIFICATION_TEL,
6789   _NL_IDENTIFICATION_FAX,
6790   _NL_IDENTIFICATION_LANGUAGE,
6791   _NL_IDENTIFICATION_TERRITORY,
6792   _NL_IDENTIFICATION_AUDIENCE,
6793   _NL_IDENTIFICATION_APPLICATION,
6794   _NL_IDENTIFICATION_ABBREVIATION,
6795   _NL_IDENTIFICATION_REVISION,
6796   _NL_IDENTIFICATION_DATE,
6797   _NL_IDENTIFICATION_CATEGORY,
6798   _NL_IDENTIFICATION_CODESET,
6799   _NL_NUM_LC_IDENTIFICATION,
6800
6801
6802   _NL_NUM
6803 };
6804 # 582 "/usr/include/gentoo-multilib/amd64/langinfo.h" 3 4
6805 extern char *nl_langinfo (nl_item __item) throw ();
6806
6807
6808
6809
6810
6811
6812
6813 # 1 "/usr/include/xlocale.h" 1 3 4
6814 # 591 "/usr/include/gentoo-multilib/amd64/langinfo.h" 2 3 4
6815
6816
6817 extern char *nl_langinfo_l (nl_item __item, __locale_t l);
6818
6819
6820 }
6821 # 9 "/usr/include/langinfo.h" 2 3 4
6822 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 2 3
6823 # 1 "/usr/include/iconv.h" 1 3 4
6824
6825
6826
6827
6828
6829
6830
6831 # 1 "/usr/include/gentoo-multilib/amd64/iconv.h" 1 3 4
6832 # 22 "/usr/include/gentoo-multilib/amd64/iconv.h" 3 4
6833 # 1 "/usr/include/features.h" 1 3 4
6834 # 23 "/usr/include/gentoo-multilib/amd64/iconv.h" 2 3 4
6835
6836 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
6837 # 25 "/usr/include/gentoo-multilib/amd64/iconv.h" 2 3 4
6838
6839
6840 extern "C" {
6841
6842
6843 typedef void *iconv_t;
6844
6845
6846
6847
6848
6849
6850
6851 extern iconv_t iconv_open (__const char *__tocode, __const char *__fromcode);
6852
6853
6854
6855
6856 extern size_t iconv (iconv_t __cd, char **__restrict __inbuf,
6857        size_t *__restrict __inbytesleft,
6858        char **__restrict __outbuf,
6859        size_t *__restrict __outbytesleft);
6860
6861
6862
6863
6864
6865 extern int iconv_close (iconv_t __cd);
6866
6867 }
6868 # 9 "/usr/include/iconv.h" 2 3 4
6869 # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 2 3
6870 # 1 "/usr/include/libintl.h" 1 3 4
6871
6872
6873
6874
6875
6876
6877
6878 # 1 "/usr/include/gentoo-multilib/amd64/libintl.h" 1 3 4
6879 # 24 "/usr/include/gentoo-multilib/amd64/libintl.h" 3 4
6880 # 1 "/usr/include/features.h" 1 3 4
6881 # 25 "/usr/include/gentoo-multilib/amd64/libintl.h" 2 3 4
6882 # 35 "/usr/include/gentoo-multilib/amd64/libintl.h" 3 4
6883 extern "C" {
6884
6885
6886
6887
6888 extern char *gettext (__const char *__msgid)
6889      throw () __attribute__ ((__format_arg__ (1)));
6890
6891
6892
6893 extern char *dgettext (__const char *__domainname, __const char *__msgid)
6894      throw () __attribute__ ((__format_arg__ (2)));
6895 extern char *__dgettext (__const char *__domainname, __const char *__msgid)
6896      throw () __attribute__ ((__format_arg__ (2)));
6897
6898
6899
6900 extern char *dcgettext (__const char *__domainname,
6901    __const char *__msgid, int __category)
6902      throw () __attribute__ ((__format_arg__ (2)));
6903 extern char *__dcgettext (__const char *__domainname,
6904      __const char *__msgid, int __category)
6905      throw () __attribute__ ((__format_arg__ (2)));
6906
6907
6908
6909
6910 extern char *ngettext (__const char *__msgid1, __const char *__msgid2,
6911          unsigned long int __n)
6912      throw () __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2)));
6913
6914
6915
6916 extern char *dngettext (__const char *__domainname, __const char *__msgid1,
6917    __const char *__msgid2, unsigned long int __n)
6918      throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
6919
6920
6921
6922 extern char *dcngettext (__const char *__domainname, __const char *__msgid1,
6923     __const char *__msgid2, unsigned long int __n,
6924     int __category)
6925      throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
6926
6927
6928
6929
6930
6931 extern char *textdomain (__const char *__domainname) throw ();
6932
6933
6934
6935 extern char *bindtextdomain (__const char *__domainname,
6936         __const char *__dirname) throw ();
6937
6938
6939
6940 extern char *bind_textdomain_codeset (__const char *__domainname,
6941           __const char *__codeset) throw ();
6942 # 122 "/usr/include/gentoo-multilib/amd64/libintl.h" 3 4
6943 }
6944 # 9 "/usr/include/libintl.h" 2 3 4
6945 # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 2 3
6946
6947
6948
6949
6950
6951
6952 namespace __gnu_cxx
6953 {
6954   extern "C" __typeof(uselocale) __uselocale;
6955 }
6956
6957
6958 namespace std
6959 {
6960   typedef __locale_t __c_locale;
6961
6962
6963
6964
6965
6966   template<typename _Tv>
6967     int
6968     __convert_from_v(char* __out,
6969        const int __size __attribute__ ((__unused__)),
6970        const char* __fmt,
6971
6972        _Tv __v, const __c_locale& __cloc, int __prec)
6973     {
6974       __c_locale __old = __gnu_cxx::__uselocale(__cloc);
6975 # 86 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 3
6976       const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
6977
6978
6979
6980
6981
6982       __gnu_cxx::__uselocale(__old);
6983
6984
6985
6986
6987       return __ret;
6988     }
6989 }
6990 # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd" 2 3
6991 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++io.h" 1 3
6992 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++io.h" 3
6993 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h" 1 3
6994 # 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h" 3
6995 #pragma GCC visibility push(default)
6996 # 114 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h" 3
6997 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 1 3
6998 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3
6999 # 1 "/usr/include/pthread.h" 1 3 4
7000
7001
7002
7003
7004
7005
7006
7007 # 1 "/usr/include/gentoo-multilib/amd64/pthread.h" 1 3 4
7008 # 22 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
7009 # 1 "/usr/include/features.h" 1 3 4
7010 # 23 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4
7011 # 1 "/usr/include/sched.h" 1 3 4
7012
7013
7014
7015
7016
7017
7018
7019 # 1 "/usr/include/gentoo-multilib/amd64/sched.h" 1 3 4
7020 # 23 "/usr/include/gentoo-multilib/amd64/sched.h" 3 4
7021 # 1 "/usr/include/features.h" 1 3 4
7022 # 24 "/usr/include/gentoo-multilib/amd64/sched.h" 2 3 4
7023
7024
7025 # 1 "/usr/include/bits/types.h" 1 3 4
7026 # 27 "/usr/include/gentoo-multilib/amd64/sched.h" 2 3 4
7027
7028
7029 # 1 "/usr/include/time.h" 1 3 4
7030
7031
7032
7033
7034
7035
7036
7037 # 1 "/usr/include/gentoo-multilib/amd64/time.h" 1 3 4
7038 # 9 "/usr/include/time.h" 2 3 4
7039 # 30 "/usr/include/gentoo-multilib/amd64/sched.h" 2 3 4
7040
7041
7042 # 1 "/usr/include/bits/sched.h" 1 3 4
7043
7044
7045
7046
7047
7048
7049
7050 # 1 "/usr/include/gentoo-multilib/amd64/bits/sched.h" 1 3 4
7051 # 65 "/usr/include/gentoo-multilib/amd64/bits/sched.h" 3 4
7052 struct sched_param
7053   {
7054     int __sched_priority;
7055   };
7056
7057 extern "C" {
7058
7059
7060
7061 extern int clone (int (*__fn) (void *__arg), void *__child_stack,
7062     int __flags, void *__arg, ...) throw ();
7063
7064
7065 extern int unshare (int __flags) throw ();
7066
7067
7068 }
7069
7070
7071
7072
7073
7074
7075
7076 struct __sched_param
7077   {
7078     int __sched_priority;
7079   };
7080 # 104 "/usr/include/gentoo-multilib/amd64/bits/sched.h" 3 4
7081 typedef unsigned long int __cpu_mask;
7082
7083
7084
7085
7086
7087
7088 typedef struct
7089 {
7090   __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
7091 } cpu_set_t;
7092 # 9 "/usr/include/bits/sched.h" 2 3 4
7093 # 33 "/usr/include/gentoo-multilib/amd64/sched.h" 2 3 4
7094
7095
7096
7097
7098 extern "C" {
7099
7100
7101 extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param)
7102      throw ();
7103
7104
7105 extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw ();
7106
7107
7108 extern int sched_setscheduler (__pid_t __pid, int __policy,
7109           __const struct sched_param *__param) throw ();
7110
7111
7112 extern int sched_getscheduler (__pid_t __pid) throw ();
7113
7114
7115 extern int sched_yield (void) throw ();
7116
7117
7118 extern int sched_get_priority_max (int __algorithm) throw ();
7119
7120
7121 extern int sched_get_priority_min (int __algorithm) throw ();
7122
7123
7124 extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw ();
7125 # 76 "/usr/include/gentoo-multilib/amd64/sched.h" 3 4
7126 extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
7127          __const cpu_set_t *__cpuset) throw ();
7128
7129
7130 extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,
7131          cpu_set_t *__cpuset) throw ();
7132
7133
7134 }
7135 # 9 "/usr/include/sched.h" 2 3 4
7136 # 24 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4
7137 # 1 "/usr/include/time.h" 1 3 4
7138
7139
7140
7141
7142
7143
7144
7145 # 1 "/usr/include/gentoo-multilib/amd64/time.h" 1 3 4
7146 # 29 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
7147 # 1 "/usr/include/features.h" 1 3 4
7148 # 30 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
7149
7150 extern "C" {
7151
7152
7153
7154
7155
7156
7157
7158 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
7159 # 40 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
7160
7161
7162
7163 # 1 "/usr/include/bits/time.h" 1 3 4
7164
7165
7166
7167
7168
7169
7170
7171 # 1 "/usr/include/gentoo-multilib/amd64/bits/time.h" 1 3 4
7172 # 9 "/usr/include/bits/time.h" 2 3 4
7173 # 44 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
7174 # 132 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
7175
7176
7177 struct tm
7178 {
7179   int tm_sec;
7180   int tm_min;
7181   int tm_hour;
7182   int tm_mday;
7183   int tm_mon;
7184   int tm_year;
7185   int tm_wday;
7186   int tm_yday;
7187   int tm_isdst;
7188
7189
7190   long int tm_gmtoff;
7191   __const char *tm_zone;
7192
7193
7194
7195
7196 };
7197
7198
7199
7200
7201
7202
7203
7204
7205 struct itimerspec
7206   {
7207     struct timespec it_interval;
7208     struct timespec it_value;
7209   };
7210
7211
7212 struct sigevent;
7213 # 181 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
7214
7215
7216
7217 extern clock_t clock (void) throw ();
7218
7219
7220 extern time_t time (time_t *__timer) throw ();
7221
7222
7223 extern double difftime (time_t __time1, time_t __time0)
7224      throw () __attribute__ ((__const__));
7225
7226
7227 extern time_t mktime (struct tm *__tp) throw ();
7228
7229
7230
7231
7232
7233 extern size_t strftime (char *__restrict __s, size_t __maxsize,
7234    __const char *__restrict __format,
7235    __const struct tm *__restrict __tp) throw ();
7236
7237
7238
7239
7240
7241 extern char *strptime (__const char *__restrict __s,
7242          __const char *__restrict __fmt, struct tm *__tp)
7243      throw ();
7244
7245
7246
7247
7248
7249 # 1 "/usr/include/xlocale.h" 1 3 4
7250 # 217 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
7251
7252 extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
7253      __const char *__restrict __format,
7254      __const struct tm *__restrict __tp,
7255      __locale_t __loc) throw ();
7256
7257 extern char *strptime_l (__const char *__restrict __s,
7258     __const char *__restrict __fmt, struct tm *__tp,
7259     __locale_t __loc) throw ();
7260
7261
7262
7263
7264
7265
7266 extern struct tm *gmtime (__const time_t *__timer) throw ();
7267
7268
7269
7270 extern struct tm *localtime (__const time_t *__timer) throw ();
7271
7272
7273
7274
7275
7276 extern struct tm *gmtime_r (__const time_t *__restrict __timer,
7277        struct tm *__restrict __tp) throw ();
7278
7279
7280
7281 extern struct tm *localtime_r (__const time_t *__restrict __timer,
7282           struct tm *__restrict __tp) throw ();
7283
7284
7285
7286
7287
7288 extern char *asctime (__const struct tm *__tp) throw ();
7289
7290
7291 extern char *ctime (__const time_t *__timer) throw ();
7292
7293
7294
7295
7296
7297
7298
7299 extern char *asctime_r (__const struct tm *__restrict __tp,
7300    char *__restrict __buf) throw ();
7301
7302
7303 extern char *ctime_r (__const time_t *__restrict __timer,
7304         char *__restrict __buf) throw ();
7305
7306
7307
7308
7309 extern char *__tzname[2];
7310 extern int __daylight;
7311 extern long int __timezone;
7312
7313
7314
7315
7316 extern char *tzname[2];
7317
7318
7319
7320 extern void tzset (void) throw ();
7321
7322
7323
7324 extern int daylight;
7325 extern long int timezone;
7326
7327
7328
7329
7330
7331 extern int stime (__const time_t *__when) throw ();
7332 # 312 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
7333 extern time_t timegm (struct tm *__tp) throw ();
7334
7335
7336 extern time_t timelocal (struct tm *__tp) throw ();
7337
7338
7339 extern int dysize (int __year) throw () __attribute__ ((__const__));
7340 # 327 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
7341 extern int nanosleep (__const struct timespec *__requested_time,
7342         struct timespec *__remaining);
7343
7344
7345
7346 extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw ();
7347
7348
7349 extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw ();
7350
7351
7352 extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
7353      throw ();
7354
7355
7356
7357
7358
7359
7360 extern int clock_nanosleep (clockid_t __clock_id, int __flags,
7361        __const struct timespec *__req,
7362        struct timespec *__rem);
7363
7364
7365 extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) throw ();
7366
7367
7368
7369
7370 extern int timer_create (clockid_t __clock_id,
7371     struct sigevent *__restrict __evp,
7372     timer_t *__restrict __timerid) throw ();
7373
7374
7375 extern int timer_delete (timer_t __timerid) throw ();
7376
7377
7378 extern int timer_settime (timer_t __timerid, int __flags,
7379      __const struct itimerspec *__restrict __value,
7380      struct itimerspec *__restrict __ovalue) throw ();
7381
7382
7383 extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
7384      throw ();
7385
7386
7387 extern int timer_getoverrun (timer_t __timerid) throw ();
7388 # 389 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
7389 extern int getdate_err;
7390 # 398 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
7391 extern struct tm *getdate (__const char *__string);
7392 # 412 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
7393 extern int getdate_r (__const char *__restrict __string,
7394         struct tm *__restrict __resbufp);
7395
7396
7397 }
7398 # 9 "/usr/include/time.h" 2 3 4
7399 # 25 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4
7400
7401
7402 # 1 "/usr/include/signal.h" 1 3 4
7403
7404
7405
7406
7407
7408
7409
7410 # 1 "/usr/include/gentoo-multilib/amd64/signal.h" 1 3 4
7411 # 29 "/usr/include/gentoo-multilib/amd64/signal.h" 3 4
7412 # 1 "/usr/include/features.h" 1 3 4
7413 # 30 "/usr/include/gentoo-multilib/amd64/signal.h" 2 3 4
7414
7415 extern "C" {
7416
7417 # 1 "/usr/include/bits/sigset.h" 1 3 4
7418
7419
7420
7421
7422
7423
7424
7425 # 1 "/usr/include/gentoo-multilib/amd64/bits/sigset.h" 1 3 4
7426 # 9 "/usr/include/bits/sigset.h" 2 3 4
7427 # 34 "/usr/include/gentoo-multilib/amd64/signal.h" 2 3 4
7428 # 400 "/usr/include/gentoo-multilib/amd64/signal.h" 3 4
7429 }
7430 # 9 "/usr/include/signal.h" 2 3 4
7431 # 28 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4
7432 # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
7433 # 29 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4
7434 # 1 "/usr/include/bits/setjmp.h" 1 3 4
7435
7436
7437
7438
7439
7440
7441
7442 # 1 "/usr/include/gentoo-multilib/amd64/bits/setjmp.h" 1 3 4
7443 # 27 "/usr/include/gentoo-multilib/amd64/bits/setjmp.h" 3 4
7444 # 1 "/usr/include/bits/wordsize.h" 1 3 4
7445
7446
7447
7448
7449
7450
7451
7452 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
7453 # 9 "/usr/include/bits/wordsize.h" 2 3 4
7454 # 28 "/usr/include/gentoo-multilib/amd64/bits/setjmp.h" 2 3 4
7455
7456
7457
7458
7459 typedef long int __jmp_buf[8];
7460 # 9 "/usr/include/bits/setjmp.h" 2 3 4
7461 # 30 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4
7462 # 1 "/usr/include/bits/wordsize.h" 1 3 4
7463
7464
7465
7466
7467
7468
7469
7470 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
7471 # 9 "/usr/include/bits/wordsize.h" 2 3 4
7472 # 31 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4
7473
7474
7475
7476 enum
7477 {
7478   PTHREAD_CREATE_JOINABLE,
7479
7480   PTHREAD_CREATE_DETACHED
7481
7482 };
7483
7484
7485
7486 enum
7487 {
7488   PTHREAD_MUTEX_TIMED_NP,
7489   PTHREAD_MUTEX_RECURSIVE_NP,
7490   PTHREAD_MUTEX_ERRORCHECK_NP,
7491   PTHREAD_MUTEX_ADAPTIVE_NP
7492
7493   ,
7494   PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
7495   PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
7496   PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
7497   PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
7498
7499
7500
7501   , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP
7502
7503 };
7504
7505
7506
7507
7508 enum
7509 {
7510   PTHREAD_MUTEX_STALLED_NP,
7511   PTHREAD_MUTEX_ROBUST_NP
7512 };
7513
7514
7515
7516
7517
7518 enum
7519 {
7520   PTHREAD_PRIO_NONE,
7521   PTHREAD_PRIO_INHERIT,
7522   PTHREAD_PRIO_PROTECT
7523 };
7524 # 113 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
7525 enum
7526 {
7527   PTHREAD_RWLOCK_PREFER_READER_NP,
7528   PTHREAD_RWLOCK_PREFER_WRITER_NP,
7529   PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
7530   PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
7531 };
7532 # 143 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
7533 enum
7534 {
7535   PTHREAD_INHERIT_SCHED,
7536
7537   PTHREAD_EXPLICIT_SCHED
7538
7539 };
7540
7541
7542
7543 enum
7544 {
7545   PTHREAD_SCOPE_SYSTEM,
7546
7547   PTHREAD_SCOPE_PROCESS
7548
7549 };
7550
7551
7552
7553 enum
7554 {
7555   PTHREAD_PROCESS_PRIVATE,
7556
7557   PTHREAD_PROCESS_SHARED
7558
7559 };
7560 # 178 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
7561 struct _pthread_cleanup_buffer
7562 {
7563   void (*__routine) (void *);
7564   void *__arg;
7565   int __canceltype;
7566   struct _pthread_cleanup_buffer *__prev;
7567 };
7568
7569
7570 enum
7571 {
7572   PTHREAD_CANCEL_ENABLE,
7573
7574   PTHREAD_CANCEL_DISABLE
7575
7576 };
7577 enum
7578 {
7579   PTHREAD_CANCEL_DEFERRED,
7580
7581   PTHREAD_CANCEL_ASYNCHRONOUS
7582
7583 };
7584 # 216 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
7585 extern "C" {
7586
7587
7588
7589
7590 extern int pthread_create (pthread_t *__restrict __newthread,
7591       __const pthread_attr_t *__restrict __attr,
7592       void *(*__start_routine) (void *),
7593       void *__restrict __arg) throw () __attribute__ ((__nonnull__ (1, 3)));
7594
7595
7596
7597
7598
7599 extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
7600
7601
7602
7603
7604
7605
7606
7607 extern int pthread_join (pthread_t __th, void **__thread_return);
7608
7609
7610
7611
7612 extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) throw ();
7613
7614
7615
7616
7617
7618
7619
7620 extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
7621      __const struct timespec *__abstime);
7622
7623
7624
7625
7626
7627
7628 extern int pthread_detach (pthread_t __th) throw ();
7629
7630
7631
7632 extern pthread_t pthread_self (void) throw () __attribute__ ((__const__));
7633
7634
7635 extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) throw ();
7636
7637
7638
7639
7640
7641
7642
7643 extern int pthread_attr_init (pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (1)));
7644
7645
7646 extern int pthread_attr_destroy (pthread_attr_t *__attr)
7647      throw () __attribute__ ((__nonnull__ (1)));
7648
7649
7650 extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr,
7651      int *__detachstate)
7652      throw () __attribute__ ((__nonnull__ (1, 2)));
7653
7654
7655 extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
7656      int __detachstate)
7657      throw () __attribute__ ((__nonnull__ (1)));
7658
7659
7660
7661 extern int pthread_attr_getguardsize (__const pthread_attr_t *__attr,
7662           size_t *__guardsize)
7663      throw () __attribute__ ((__nonnull__ (1, 2)));
7664
7665
7666 extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
7667           size_t __guardsize)
7668      throw () __attribute__ ((__nonnull__ (1)));
7669
7670
7671
7672 extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict
7673            __attr,
7674            struct sched_param *__restrict __param)
7675      throw () __attribute__ ((__nonnull__ (1, 2)));
7676
7677
7678 extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
7679            __const struct sched_param *__restrict
7680            __param) throw () __attribute__ ((__nonnull__ (1, 2)));
7681
7682
7683 extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict
7684      __attr, int *__restrict __policy)
7685      throw () __attribute__ ((__nonnull__ (1, 2)));
7686
7687
7688 extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
7689      throw () __attribute__ ((__nonnull__ (1)));
7690
7691
7692 extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict
7693       __attr, int *__restrict __inherit)
7694      throw () __attribute__ ((__nonnull__ (1, 2)));
7695
7696
7697 extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
7698       int __inherit)
7699      throw () __attribute__ ((__nonnull__ (1)));
7700
7701
7702
7703 extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr,
7704       int *__restrict __scope)
7705      throw () __attribute__ ((__nonnull__ (1, 2)));
7706
7707
7708 extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
7709      throw () __attribute__ ((__nonnull__ (1)));
7710
7711
7712 extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict
7713           __attr, void **__restrict __stackaddr)
7714      throw () __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__));
7715
7716
7717
7718
7719
7720 extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
7721           void *__stackaddr)
7722      throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__));
7723
7724
7725 extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict
7726           __attr, size_t *__restrict __stacksize)
7727      throw () __attribute__ ((__nonnull__ (1, 2)));
7728
7729
7730
7731
7732 extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
7733           size_t __stacksize)
7734      throw () __attribute__ ((__nonnull__ (1)));
7735
7736
7737
7738 extern int pthread_attr_getstack (__const pthread_attr_t *__restrict __attr,
7739       void **__restrict __stackaddr,
7740       size_t *__restrict __stacksize)
7741      throw () __attribute__ ((__nonnull__ (1, 2, 3)));
7742
7743
7744
7745
7746 extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
7747       size_t __stacksize) throw () __attribute__ ((__nonnull__ (1)));
7748
7749
7750
7751
7752
7753 extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
7754      size_t __cpusetsize,
7755      __const cpu_set_t *__cpuset)
7756      throw () __attribute__ ((__nonnull__ (1, 3)));
7757
7758
7759
7760 extern int pthread_attr_getaffinity_np (__const pthread_attr_t *__attr,
7761      size_t __cpusetsize,
7762      cpu_set_t *__cpuset)
7763      throw () __attribute__ ((__nonnull__ (1, 3)));
7764
7765
7766
7767
7768
7769 extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr)
7770      throw () __attribute__ ((__nonnull__ (2)));
7771
7772
7773
7774
7775
7776
7777
7778 extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
7779       __const struct sched_param *__param)
7780      throw () __attribute__ ((__nonnull__ (3)));
7781
7782
7783 extern int pthread_getschedparam (pthread_t __target_thread,
7784       int *__restrict __policy,
7785       struct sched_param *__restrict __param)
7786      throw () __attribute__ ((__nonnull__ (2, 3)));
7787
7788
7789 extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
7790      throw ();
7791
7792
7793
7794
7795 extern int pthread_getconcurrency (void) throw ();
7796
7797
7798 extern int pthread_setconcurrency (int __level) throw ();
7799
7800
7801
7802
7803
7804
7805
7806 extern int pthread_yield (void) throw ();
7807
7808
7809
7810
7811 extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize,
7812        __const cpu_set_t *__cpuset)
7813      throw () __attribute__ ((__nonnull__ (3)));
7814
7815
7816 extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize,
7817        cpu_set_t *__cpuset)
7818      throw () __attribute__ ((__nonnull__ (3)));
7819 # 462 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
7820 extern int pthread_once (pthread_once_t *__once_control,
7821     void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2)));
7822 # 474 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
7823 extern int pthread_setcancelstate (int __state, int *__oldstate);
7824
7825
7826
7827 extern int pthread_setcanceltype (int __type, int *__oldtype);
7828
7829
7830 extern int pthread_cancel (pthread_t __th);
7831
7832
7833
7834
7835 extern void pthread_testcancel (void);
7836
7837
7838
7839
7840 typedef struct
7841 {
7842   struct
7843   {
7844     __jmp_buf __cancel_jmp_buf;
7845     int __mask_was_saved;
7846   } __cancel_jmp_buf[1];
7847   void *__pad[4];
7848 } __pthread_unwind_buf_t __attribute__ ((__aligned__));
7849 # 508 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
7850 struct __pthread_cleanup_frame
7851 {
7852   void (*__cancel_routine) (void *);
7853   void *__cancel_arg;
7854   int __do_it;
7855   int __cancel_type;
7856 };
7857
7858
7859
7860
7861 class __pthread_cleanup_class
7862 {
7863   void (*__cancel_routine) (void *);
7864   void *__cancel_arg;
7865   int __do_it;
7866   int __cancel_type;
7867
7868  public:
7869   __pthread_cleanup_class (void (*__fct) (void *), void *__arg)
7870     : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { }
7871   ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); }
7872   void __setdoit (int __newval) { __do_it = __newval; }
7873   void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED,
7874         &__cancel_type); }
7875   void __restore () const { pthread_setcanceltype (__cancel_type, 0); }
7876 };
7877 # 708 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
7878 struct __jmp_buf_tag;
7879 extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) throw ();
7880
7881
7882
7883
7884
7885 extern int pthread_mutex_init (pthread_mutex_t *__mutex,
7886           __const pthread_mutexattr_t *__mutexattr)
7887      throw () __attribute__ ((__nonnull__ (1)));
7888
7889
7890 extern int pthread_mutex_destroy (pthread_mutex_t *__mutex)
7891      throw () __attribute__ ((__nonnull__ (1)));
7892
7893
7894 extern int pthread_mutex_trylock (pthread_mutex_t *__mutex)
7895      throw () __attribute__ ((__nonnull__ (1)));
7896
7897
7898 extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
7899      throw () __attribute__ ((__nonnull__ (1)));
7900
7901
7902
7903 extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
7904                                     __const struct timespec *__restrict
7905                                     __abstime) throw () __attribute__ ((__nonnull__ (1, 2)));
7906
7907
7908
7909 extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
7910      throw () __attribute__ ((__nonnull__ (1)));
7911
7912
7913
7914
7915 extern int pthread_mutex_getprioceiling (__const pthread_mutex_t *
7916       __restrict __mutex,
7917       int *__restrict __prioceiling)
7918      throw () __attribute__ ((__nonnull__ (1, 2)));
7919
7920
7921
7922 extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
7923       int __prioceiling,
7924       int *__restrict __old_ceiling)
7925      throw () __attribute__ ((__nonnull__ (1, 3)));
7926
7927
7928
7929
7930
7931 extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex)
7932      throw () __attribute__ ((__nonnull__ (1)));
7933
7934
7935
7936
7937
7938
7939
7940 extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr)
7941      throw () __attribute__ ((__nonnull__ (1)));
7942
7943
7944 extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
7945      throw () __attribute__ ((__nonnull__ (1)));
7946
7947
7948 extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t *
7949       __restrict __attr,
7950       int *__restrict __pshared)
7951      throw () __attribute__ ((__nonnull__ (1, 2)));
7952
7953
7954 extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
7955       int __pshared)
7956      throw () __attribute__ ((__nonnull__ (1)));
7957
7958
7959
7960 extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__restrict
7961           __attr, int *__restrict __kind)
7962      throw () __attribute__ ((__nonnull__ (1, 2)));
7963
7964
7965
7966
7967 extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
7968      throw () __attribute__ ((__nonnull__ (1)));
7969
7970
7971 extern int pthread_mutexattr_getprotocol (__const pthread_mutexattr_t *
7972        __restrict __attr,
7973        int *__restrict __protocol)
7974      throw () __attribute__ ((__nonnull__ (1, 2)));
7975
7976
7977
7978 extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
7979        int __protocol)
7980      throw () __attribute__ ((__nonnull__ (1)));
7981
7982
7983 extern int pthread_mutexattr_getprioceiling (__const pthread_mutexattr_t *
7984           __restrict __attr,
7985           int *__restrict __prioceiling)
7986      throw () __attribute__ ((__nonnull__ (1, 2)));
7987
7988
7989 extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
7990           int __prioceiling)
7991      throw () __attribute__ ((__nonnull__ (1)));
7992
7993
7994
7995
7996 extern int pthread_mutexattr_getrobust_np (__const pthread_mutexattr_t *__attr,
7997         int *__robustness)
7998      throw () __attribute__ ((__nonnull__ (1, 2)));
7999
8000
8001 extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr,
8002         int __robustness)
8003      throw () __attribute__ ((__nonnull__ (1)));
8004 # 842 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
8005 extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
8006     __const pthread_rwlockattr_t *__restrict
8007     __attr) throw () __attribute__ ((__nonnull__ (1)));
8008
8009
8010 extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
8011      throw () __attribute__ ((__nonnull__ (1)));
8012
8013
8014 extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock)
8015      throw () __attribute__ ((__nonnull__ (1)));
8016
8017
8018 extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
8019   throw () __attribute__ ((__nonnull__ (1)));
8020
8021
8022
8023 extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
8024            __const struct timespec *__restrict
8025            __abstime) throw () __attribute__ ((__nonnull__ (1, 2)));
8026
8027
8028
8029 extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
8030      throw () __attribute__ ((__nonnull__ (1)));
8031
8032
8033 extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
8034      throw () __attribute__ ((__nonnull__ (1)));
8035
8036
8037
8038 extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
8039            __const struct timespec *__restrict
8040            __abstime) throw () __attribute__ ((__nonnull__ (1, 2)));
8041
8042
8043
8044 extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
8045      throw () __attribute__ ((__nonnull__ (1)));
8046
8047
8048
8049
8050
8051 extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr)
8052      throw () __attribute__ ((__nonnull__ (1)));
8053
8054
8055 extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
8056      throw () __attribute__ ((__nonnull__ (1)));
8057
8058
8059 extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t *
8060        __restrict __attr,
8061        int *__restrict __pshared)
8062      throw () __attribute__ ((__nonnull__ (1, 2)));
8063
8064
8065 extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
8066        int __pshared)
8067      throw () __attribute__ ((__nonnull__ (1)));
8068
8069
8070 extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t *
8071        __restrict __attr,
8072        int *__restrict __pref)
8073      throw () __attribute__ ((__nonnull__ (1, 2)));
8074
8075
8076 extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
8077        int __pref) throw () __attribute__ ((__nonnull__ (1)));
8078
8079
8080
8081
8082
8083
8084
8085 extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
8086          __const pthread_condattr_t *__restrict
8087          __cond_attr) throw () __attribute__ ((__nonnull__ (1)));
8088
8089
8090 extern int pthread_cond_destroy (pthread_cond_t *__cond)
8091      throw () __attribute__ ((__nonnull__ (1)));
8092
8093
8094 extern int pthread_cond_signal (pthread_cond_t *__cond)
8095      throw () __attribute__ ((__nonnull__ (1)));
8096
8097
8098 extern int pthread_cond_broadcast (pthread_cond_t *__cond)
8099      throw () __attribute__ ((__nonnull__ (1)));
8100
8101
8102
8103
8104
8105
8106 extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
8107          pthread_mutex_t *__restrict __mutex)
8108      __attribute__ ((__nonnull__ (1, 2)));
8109 # 954 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
8110 extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
8111        pthread_mutex_t *__restrict __mutex,
8112        __const struct timespec *__restrict
8113        __abstime) __attribute__ ((__nonnull__ (1, 2, 3)));
8114
8115
8116
8117
8118 extern int pthread_condattr_init (pthread_condattr_t *__attr)
8119      throw () __attribute__ ((__nonnull__ (1)));
8120
8121
8122 extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
8123      throw () __attribute__ ((__nonnull__ (1)));
8124
8125
8126 extern int pthread_condattr_getpshared (__const pthread_condattr_t *
8127                                         __restrict __attr,
8128                                         int *__restrict __pshared)
8129      throw () __attribute__ ((__nonnull__ (1, 2)));
8130
8131
8132 extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
8133                                         int __pshared) throw () __attribute__ ((__nonnull__ (1)));
8134
8135
8136
8137 extern int pthread_condattr_getclock (__const pthread_condattr_t *
8138           __restrict __attr,
8139           __clockid_t *__restrict __clock_id)
8140      throw () __attribute__ ((__nonnull__ (1, 2)));
8141
8142
8143 extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
8144           __clockid_t __clock_id)
8145      throw () __attribute__ ((__nonnull__ (1)));
8146 # 998 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
8147 extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
8148      throw () __attribute__ ((__nonnull__ (1)));
8149
8150
8151 extern int pthread_spin_destroy (pthread_spinlock_t *__lock)
8152      throw () __attribute__ ((__nonnull__ (1)));
8153
8154
8155 extern int pthread_spin_lock (pthread_spinlock_t *__lock)
8156      throw () __attribute__ ((__nonnull__ (1)));
8157
8158
8159 extern int pthread_spin_trylock (pthread_spinlock_t *__lock)
8160      throw () __attribute__ ((__nonnull__ (1)));
8161
8162
8163 extern int pthread_spin_unlock (pthread_spinlock_t *__lock)
8164      throw () __attribute__ ((__nonnull__ (1)));
8165
8166
8167
8168
8169
8170
8171 extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
8172      __const pthread_barrierattr_t *__restrict
8173      __attr, unsigned int __count)
8174      throw () __attribute__ ((__nonnull__ (1)));
8175
8176
8177 extern int pthread_barrier_destroy (pthread_barrier_t *__barrier)
8178      throw () __attribute__ ((__nonnull__ (1)));
8179
8180
8181 extern int pthread_barrier_wait (pthread_barrier_t *__barrier)
8182      throw () __attribute__ ((__nonnull__ (1)));
8183
8184
8185
8186 extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr)
8187      throw () __attribute__ ((__nonnull__ (1)));
8188
8189
8190 extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
8191      throw () __attribute__ ((__nonnull__ (1)));
8192
8193
8194 extern int pthread_barrierattr_getpshared (__const pthread_barrierattr_t *
8195         __restrict __attr,
8196         int *__restrict __pshared)
8197      throw () __attribute__ ((__nonnull__ (1, 2)));
8198
8199
8200 extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
8201                                            int __pshared)
8202      throw () __attribute__ ((__nonnull__ (1)));
8203 # 1065 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
8204 extern int pthread_key_create (pthread_key_t *__key,
8205           void (*__destr_function) (void *))
8206      throw () __attribute__ ((__nonnull__ (1)));
8207
8208
8209 extern int pthread_key_delete (pthread_key_t __key) throw ();
8210
8211
8212 extern void *pthread_getspecific (pthread_key_t __key) throw ();
8213
8214
8215 extern int pthread_setspecific (pthread_key_t __key,
8216     __const void *__pointer) throw () ;
8217
8218
8219
8220
8221 extern int pthread_getcpuclockid (pthread_t __thread_id,
8222       __clockid_t *__clock_id)
8223      throw () __attribute__ ((__nonnull__ (2)));
8224 # 1099 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
8225 extern int pthread_atfork (void (*__prepare) (void),
8226       void (*__parent) (void),
8227       void (*__child) (void)) throw ();
8228
8229
8230
8231
8232 extern __inline int
8233 pthread_equal (pthread_t __thread1, pthread_t __thread2) throw ()
8234 {
8235   return __thread1 == __thread2;
8236 }
8237
8238
8239 }
8240 # 9 "/usr/include/pthread.h" 2 3 4
8241 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 2 3
8242 # 1 "/usr/include/unistd.h" 1 3 4
8243
8244
8245
8246
8247
8248
8249
8250 # 1 "/usr/include/gentoo-multilib/amd64/unistd.h" 1 3 4
8251 # 26 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
8252 # 1 "/usr/include/features.h" 1 3 4
8253 # 27 "/usr/include/gentoo-multilib/amd64/unistd.h" 2 3 4
8254
8255 extern "C" {
8256 # 171 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
8257 # 1 "/usr/include/bits/posix_opt.h" 1 3 4
8258
8259
8260
8261
8262
8263
8264
8265 # 1 "/usr/include/gentoo-multilib/amd64/bits/posix_opt.h" 1 3 4
8266 # 9 "/usr/include/bits/posix_opt.h" 2 3 4
8267 # 172 "/usr/include/gentoo-multilib/amd64/unistd.h" 2 3 4
8268
8269
8270
8271 # 1 "/usr/include/bits/environments.h" 1 3 4
8272
8273
8274
8275
8276
8277
8278
8279 # 1 "/usr/include/gentoo-multilib/amd64/bits/environments.h" 1 3 4
8280 # 23 "/usr/include/gentoo-multilib/amd64/bits/environments.h" 3 4
8281 # 1 "/usr/include/bits/wordsize.h" 1 3 4
8282
8283
8284
8285
8286
8287
8288
8289 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
8290 # 9 "/usr/include/bits/wordsize.h" 2 3 4
8291 # 24 "/usr/include/gentoo-multilib/amd64/bits/environments.h" 2 3 4
8292 # 9 "/usr/include/bits/environments.h" 2 3 4
8293 # 176 "/usr/include/gentoo-multilib/amd64/unistd.h" 2 3 4
8294 # 186 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
8295 # 1 "/usr/include/bits/types.h" 1 3 4
8296 # 187 "/usr/include/gentoo-multilib/amd64/unistd.h" 2 3 4
8297 # 195 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
8298 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
8299 # 196 "/usr/include/gentoo-multilib/amd64/unistd.h" 2 3 4
8300 # 236 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
8301 typedef __intptr_t intptr_t;
8302
8303
8304
8305
8306
8307
8308 typedef __socklen_t socklen_t;
8309 # 256 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
8310 extern int access (__const char *__name, int __type) throw () __attribute__ ((__nonnull__ (1)));
8311
8312
8313
8314
8315 extern int euidaccess (__const char *__name, int __type)
8316      throw () __attribute__ ((__nonnull__ (1)));
8317
8318
8319 extern int eaccess (__const char *__name, int __type)
8320      throw () __attribute__ ((__nonnull__ (1)));
8321
8322
8323
8324
8325
8326
8327 extern int faccessat (int __fd, __const char *__file, int __type, int __flag)
8328      throw () __attribute__ ((__nonnull__ (2))) ;
8329 # 302 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
8330 extern __off64_t lseek (int __fd, __off64_t __offset, int __whence) throw () __asm__ ("" "lseek64");
8331
8332
8333
8334
8335
8336
8337
8338 extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence)
8339      throw ();
8340
8341
8342
8343
8344
8345
8346 extern int close (int __fd);
8347
8348
8349
8350
8351
8352
8353 extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ;
8354
8355
8356
8357
8358
8359 extern ssize_t write (int __fd, __const void *__buf, size_t __n) ;
8360 # 353 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
8361 extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pread64") ;
8362
8363
8364 extern ssize_t pwrite (int __fd, __const void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pwrite64") ;
8365 # 369 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
8366 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes,
8367    __off64_t __offset) ;
8368
8369
8370 extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n,
8371     __off64_t __offset) ;
8372
8373
8374
8375
8376
8377
8378
8379 extern int pipe (int __pipedes[2]) throw () ;
8380 # 391 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
8381 extern unsigned int alarm (unsigned int __seconds) throw ();
8382 # 403 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
8383 extern unsigned int sleep (unsigned int __seconds);
8384
8385
8386
8387
8388
8389
8390 extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval)
8391      throw ();
8392
8393
8394
8395
8396
8397
8398 extern int usleep (__useconds_t __useconds);
8399 # 427 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
8400 extern int pause (void);
8401
8402
8403
8404 extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
8405      throw () __attribute__ ((__nonnull__ (1))) ;
8406
8407
8408
8409 extern int fchown (int __fd, __uid_t __owner, __gid_t __group) throw () ;
8410
8411
8412
8413
8414 extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group)
8415      throw () __attribute__ ((__nonnull__ (1))) ;
8416
8417
8418
8419
8420
8421
8422 extern int fchownat (int __fd, __const char *__file, __uid_t __owner,
8423        __gid_t __group, int __flag)
8424      throw () __attribute__ ((__nonnull__ (2))) ;
8425
8426
8427
8428 extern int chdir (__const char *__path) throw () __attribute__ ((__nonnull__ (1))) ;
8429
8430
8431
8432 extern int fchdir (int __fd) throw () ;
8433 # 469 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
8434 extern char *getcwd (char *__buf, size_t __size) throw () ;
8435
8436
8437
8438
8439
8440 extern char *get_current_dir_name (void) throw ();
8441
8442
8443
8444
8445
8446
8447 extern char *getwd (char *__buf)
8448      throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) ;
8449
8450
8451
8452
8453 extern int dup (int __fd) throw () ;
8454
8455
8456 extern int dup2 (int __fd, int __fd2) throw ();
8457
8458
8459 extern char **__environ;
8460
8461 extern char **environ;
8462
8463
8464
8465
8466
8467 extern int execve (__const char *__path, char *__const __argv[],
8468      char *__const __envp[]) throw () __attribute__ ((__nonnull__ (1)));
8469
8470
8471
8472
8473 extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[])
8474      throw ();
8475
8476
8477
8478
8479 extern int execv (__const char *__path, char *__const __argv[])
8480      throw () __attribute__ ((__nonnull__ (1)));
8481
8482
8483
8484 extern int execle (__const char *__path, __const char *__arg, ...)
8485      throw () __attribute__ ((__nonnull__ (1)));
8486
8487
8488
8489 extern int execl (__const char *__path, __const char *__arg, ...)
8490      throw () __attribute__ ((__nonnull__ (1)));
8491
8492
8493
8494 extern int execvp (__const char *__file, char *__const __argv[])
8495      throw () __attribute__ ((__nonnull__ (1)));
8496
8497
8498
8499
8500 extern int execlp (__const char *__file, __const char *__arg, ...)
8501      throw () __attribute__ ((__nonnull__ (1)));
8502
8503
8504
8505
8506 extern int nice (int __inc) throw () ;
8507
8508
8509
8510
8511 extern void _exit (int __status) __attribute__ ((__noreturn__));
8512
8513
8514
8515
8516
8517 # 1 "/usr/include/bits/confname.h" 1 3 4
8518
8519
8520
8521
8522
8523
8524
8525 # 1 "/usr/include/gentoo-multilib/amd64/bits/confname.h" 1 3 4
8526 # 26 "/usr/include/gentoo-multilib/amd64/bits/confname.h" 3 4
8527 enum
8528   {
8529     _PC_LINK_MAX,
8530
8531     _PC_MAX_CANON,
8532
8533     _PC_MAX_INPUT,
8534
8535     _PC_NAME_MAX,
8536
8537     _PC_PATH_MAX,
8538
8539     _PC_PIPE_BUF,
8540
8541     _PC_CHOWN_RESTRICTED,
8542
8543     _PC_NO_TRUNC,
8544
8545     _PC_VDISABLE,
8546
8547     _PC_SYNC_IO,
8548
8549     _PC_ASYNC_IO,
8550
8551     _PC_PRIO_IO,
8552
8553     _PC_SOCK_MAXBUF,
8554
8555     _PC_FILESIZEBITS,
8556
8557     _PC_REC_INCR_XFER_SIZE,
8558
8559     _PC_REC_MAX_XFER_SIZE,
8560
8561     _PC_REC_MIN_XFER_SIZE,
8562
8563     _PC_REC_XFER_ALIGN,
8564
8565     _PC_ALLOC_SIZE_MIN,
8566
8567     _PC_SYMLINK_MAX,
8568
8569     _PC_2_SYMLINKS
8570
8571   };
8572
8573
8574 enum
8575   {
8576     _SC_ARG_MAX,
8577
8578     _SC_CHILD_MAX,
8579
8580     _SC_CLK_TCK,
8581
8582     _SC_NGROUPS_MAX,
8583
8584     _SC_OPEN_MAX,
8585
8586     _SC_STREAM_MAX,
8587
8588     _SC_TZNAME_MAX,
8589
8590     _SC_JOB_CONTROL,
8591
8592     _SC_SAVED_IDS,
8593
8594     _SC_REALTIME_SIGNALS,
8595
8596     _SC_PRIORITY_SCHEDULING,
8597
8598     _SC_TIMERS,
8599
8600     _SC_ASYNCHRONOUS_IO,
8601
8602     _SC_PRIORITIZED_IO,
8603
8604     _SC_SYNCHRONIZED_IO,
8605
8606     _SC_FSYNC,
8607
8608     _SC_MAPPED_FILES,
8609
8610     _SC_MEMLOCK,
8611
8612     _SC_MEMLOCK_RANGE,
8613
8614     _SC_MEMORY_PROTECTION,
8615
8616     _SC_MESSAGE_PASSING,
8617
8618     _SC_SEMAPHORES,
8619
8620     _SC_SHARED_MEMORY_OBJECTS,
8621
8622     _SC_AIO_LISTIO_MAX,
8623
8624     _SC_AIO_MAX,
8625
8626     _SC_AIO_PRIO_DELTA_MAX,
8627
8628     _SC_DELAYTIMER_MAX,
8629
8630     _SC_MQ_OPEN_MAX,
8631
8632     _SC_MQ_PRIO_MAX,
8633
8634     _SC_VERSION,
8635
8636     _SC_PAGESIZE,
8637
8638
8639     _SC_RTSIG_MAX,
8640
8641     _SC_SEM_NSEMS_MAX,
8642
8643     _SC_SEM_VALUE_MAX,
8644
8645     _SC_SIGQUEUE_MAX,
8646
8647     _SC_TIMER_MAX,
8648
8649
8650
8651
8652     _SC_BC_BASE_MAX,
8653
8654     _SC_BC_DIM_MAX,
8655
8656     _SC_BC_SCALE_MAX,
8657
8658     _SC_BC_STRING_MAX,
8659
8660     _SC_COLL_WEIGHTS_MAX,
8661
8662     _SC_EQUIV_CLASS_MAX,
8663
8664     _SC_EXPR_NEST_MAX,
8665
8666     _SC_LINE_MAX,
8667
8668     _SC_RE_DUP_MAX,
8669
8670     _SC_CHARCLASS_NAME_MAX,
8671
8672
8673     _SC_2_VERSION,
8674
8675     _SC_2_C_BIND,
8676
8677     _SC_2_C_DEV,
8678
8679     _SC_2_FORT_DEV,
8680
8681     _SC_2_FORT_RUN,
8682
8683     _SC_2_SW_DEV,
8684
8685     _SC_2_LOCALEDEF,
8686
8687
8688     _SC_PII,
8689
8690     _SC_PII_XTI,
8691
8692     _SC_PII_SOCKET,
8693
8694     _SC_PII_INTERNET,
8695
8696     _SC_PII_OSI,
8697
8698     _SC_POLL,
8699
8700     _SC_SELECT,
8701
8702     _SC_UIO_MAXIOV,
8703
8704     _SC_IOV_MAX = _SC_UIO_MAXIOV,
8705
8706     _SC_PII_INTERNET_STREAM,
8707
8708     _SC_PII_INTERNET_DGRAM,
8709
8710     _SC_PII_OSI_COTS,
8711
8712     _SC_PII_OSI_CLTS,
8713
8714     _SC_PII_OSI_M,
8715
8716     _SC_T_IOV_MAX,
8717
8718
8719
8720     _SC_THREADS,
8721
8722     _SC_THREAD_SAFE_FUNCTIONS,
8723
8724     _SC_GETGR_R_SIZE_MAX,
8725
8726     _SC_GETPW_R_SIZE_MAX,
8727
8728     _SC_LOGIN_NAME_MAX,
8729
8730     _SC_TTY_NAME_MAX,
8731
8732     _SC_THREAD_DESTRUCTOR_ITERATIONS,
8733
8734     _SC_THREAD_KEYS_MAX,
8735
8736     _SC_THREAD_STACK_MIN,
8737
8738     _SC_THREAD_THREADS_MAX,
8739
8740     _SC_THREAD_ATTR_STACKADDR,
8741
8742     _SC_THREAD_ATTR_STACKSIZE,
8743
8744     _SC_THREAD_PRIORITY_SCHEDULING,
8745
8746     _SC_THREAD_PRIO_INHERIT,
8747
8748     _SC_THREAD_PRIO_PROTECT,
8749
8750     _SC_THREAD_PROCESS_SHARED,
8751
8752
8753     _SC_NPROCESSORS_CONF,
8754
8755     _SC_NPROCESSORS_ONLN,
8756
8757     _SC_PHYS_PAGES,
8758
8759     _SC_AVPHYS_PAGES,
8760
8761     _SC_ATEXIT_MAX,
8762
8763     _SC_PASS_MAX,
8764
8765
8766     _SC_XOPEN_VERSION,
8767
8768     _SC_XOPEN_XCU_VERSION,
8769
8770     _SC_XOPEN_UNIX,
8771
8772     _SC_XOPEN_CRYPT,
8773
8774     _SC_XOPEN_ENH_I18N,
8775
8776     _SC_XOPEN_SHM,
8777
8778
8779     _SC_2_CHAR_TERM,
8780
8781     _SC_2_C_VERSION,
8782
8783     _SC_2_UPE,
8784
8785
8786     _SC_XOPEN_XPG2,
8787
8788     _SC_XOPEN_XPG3,
8789
8790     _SC_XOPEN_XPG4,
8791
8792
8793     _SC_CHAR_BIT,
8794
8795     _SC_CHAR_MAX,
8796
8797     _SC_CHAR_MIN,
8798
8799     _SC_INT_MAX,
8800
8801     _SC_INT_MIN,
8802
8803     _SC_LONG_BIT,
8804
8805     _SC_WORD_BIT,
8806
8807     _SC_MB_LEN_MAX,
8808
8809     _SC_NZERO,
8810
8811     _SC_SSIZE_MAX,
8812
8813     _SC_SCHAR_MAX,
8814
8815     _SC_SCHAR_MIN,
8816
8817     _SC_SHRT_MAX,
8818
8819     _SC_SHRT_MIN,
8820
8821     _SC_UCHAR_MAX,
8822
8823     _SC_UINT_MAX,
8824
8825     _SC_ULONG_MAX,
8826
8827     _SC_USHRT_MAX,
8828
8829
8830     _SC_NL_ARGMAX,
8831
8832     _SC_NL_LANGMAX,
8833
8834     _SC_NL_MSGMAX,
8835
8836     _SC_NL_NMAX,
8837
8838     _SC_NL_SETMAX,
8839
8840     _SC_NL_TEXTMAX,
8841
8842
8843     _SC_XBS5_ILP32_OFF32,
8844
8845     _SC_XBS5_ILP32_OFFBIG,
8846
8847     _SC_XBS5_LP64_OFF64,
8848
8849     _SC_XBS5_LPBIG_OFFBIG,
8850
8851
8852     _SC_XOPEN_LEGACY,
8853
8854     _SC_XOPEN_REALTIME,
8855
8856     _SC_XOPEN_REALTIME_THREADS,
8857
8858
8859     _SC_ADVISORY_INFO,
8860
8861     _SC_BARRIERS,
8862
8863     _SC_BASE,
8864
8865     _SC_C_LANG_SUPPORT,
8866
8867     _SC_C_LANG_SUPPORT_R,
8868
8869     _SC_CLOCK_SELECTION,
8870
8871     _SC_CPUTIME,
8872
8873     _SC_THREAD_CPUTIME,
8874
8875     _SC_DEVICE_IO,
8876
8877     _SC_DEVICE_SPECIFIC,
8878
8879     _SC_DEVICE_SPECIFIC_R,
8880
8881     _SC_FD_MGMT,
8882
8883     _SC_FIFO,
8884
8885     _SC_PIPE,
8886
8887     _SC_FILE_ATTRIBUTES,
8888
8889     _SC_FILE_LOCKING,
8890
8891     _SC_FILE_SYSTEM,
8892
8893     _SC_MONOTONIC_CLOCK,
8894
8895     _SC_MULTI_PROCESS,
8896
8897     _SC_SINGLE_PROCESS,
8898
8899     _SC_NETWORKING,
8900
8901     _SC_READER_WRITER_LOCKS,
8902
8903     _SC_SPIN_LOCKS,
8904
8905     _SC_REGEXP,
8906
8907     _SC_REGEX_VERSION,
8908
8909     _SC_SHELL,
8910
8911     _SC_SIGNALS,
8912
8913     _SC_SPAWN,
8914
8915     _SC_SPORADIC_SERVER,
8916
8917     _SC_THREAD_SPORADIC_SERVER,
8918
8919     _SC_SYSTEM_DATABASE,
8920
8921     _SC_SYSTEM_DATABASE_R,
8922
8923     _SC_TIMEOUTS,
8924
8925     _SC_TYPED_MEMORY_OBJECTS,
8926
8927     _SC_USER_GROUPS,
8928
8929     _SC_USER_GROUPS_R,
8930
8931     _SC_2_PBS,
8932
8933     _SC_2_PBS_ACCOUNTING,
8934
8935     _SC_2_PBS_LOCATE,
8936
8937     _SC_2_PBS_MESSAGE,
8938
8939     _SC_2_PBS_TRACK,
8940
8941     _SC_SYMLOOP_MAX,
8942
8943     _SC_STREAMS,
8944
8945     _SC_2_PBS_CHECKPOINT,
8946
8947
8948     _SC_V6_ILP32_OFF32,
8949
8950     _SC_V6_ILP32_OFFBIG,
8951
8952     _SC_V6_LP64_OFF64,
8953
8954     _SC_V6_LPBIG_OFFBIG,
8955
8956
8957     _SC_HOST_NAME_MAX,
8958
8959     _SC_TRACE,
8960
8961     _SC_TRACE_EVENT_FILTER,
8962
8963     _SC_TRACE_INHERIT,
8964
8965     _SC_TRACE_LOG,
8966
8967
8968     _SC_LEVEL1_ICACHE_SIZE,
8969
8970     _SC_LEVEL1_ICACHE_ASSOC,
8971
8972     _SC_LEVEL1_ICACHE_LINESIZE,
8973
8974     _SC_LEVEL1_DCACHE_SIZE,
8975
8976     _SC_LEVEL1_DCACHE_ASSOC,
8977
8978     _SC_LEVEL1_DCACHE_LINESIZE,
8979
8980     _SC_LEVEL2_CACHE_SIZE,
8981
8982     _SC_LEVEL2_CACHE_ASSOC,
8983
8984     _SC_LEVEL2_CACHE_LINESIZE,
8985
8986     _SC_LEVEL3_CACHE_SIZE,
8987
8988     _SC_LEVEL3_CACHE_ASSOC,
8989
8990     _SC_LEVEL3_CACHE_LINESIZE,
8991
8992     _SC_LEVEL4_CACHE_SIZE,
8993
8994     _SC_LEVEL4_CACHE_ASSOC,
8995
8996     _SC_LEVEL4_CACHE_LINESIZE,
8997
8998
8999
9000     _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
9001
9002     _SC_RAW_SOCKETS
9003
9004   };
9005
9006
9007 enum
9008   {
9009     _CS_PATH,
9010
9011
9012     _CS_V6_WIDTH_RESTRICTED_ENVS,
9013
9014
9015     _CS_GNU_LIBC_VERSION,
9016
9017     _CS_GNU_LIBPTHREAD_VERSION,
9018
9019
9020     _CS_LFS_CFLAGS = 1000,
9021
9022     _CS_LFS_LDFLAGS,
9023
9024     _CS_LFS_LIBS,
9025
9026     _CS_LFS_LINTFLAGS,
9027
9028     _CS_LFS64_CFLAGS,
9029
9030     _CS_LFS64_LDFLAGS,
9031
9032     _CS_LFS64_LIBS,
9033
9034     _CS_LFS64_LINTFLAGS,
9035
9036
9037     _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
9038
9039     _CS_XBS5_ILP32_OFF32_LDFLAGS,
9040
9041     _CS_XBS5_ILP32_OFF32_LIBS,
9042
9043     _CS_XBS5_ILP32_OFF32_LINTFLAGS,
9044
9045     _CS_XBS5_ILP32_OFFBIG_CFLAGS,
9046
9047     _CS_XBS5_ILP32_OFFBIG_LDFLAGS,
9048
9049     _CS_XBS5_ILP32_OFFBIG_LIBS,
9050
9051     _CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
9052
9053     _CS_XBS5_LP64_OFF64_CFLAGS,
9054
9055     _CS_XBS5_LP64_OFF64_LDFLAGS,
9056
9057     _CS_XBS5_LP64_OFF64_LIBS,
9058
9059     _CS_XBS5_LP64_OFF64_LINTFLAGS,
9060
9061     _CS_XBS5_LPBIG_OFFBIG_CFLAGS,
9062
9063     _CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
9064
9065     _CS_XBS5_LPBIG_OFFBIG_LIBS,
9066
9067     _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
9068
9069
9070     _CS_POSIX_V6_ILP32_OFF32_CFLAGS,
9071
9072     _CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
9073
9074     _CS_POSIX_V6_ILP32_OFF32_LIBS,
9075
9076     _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
9077
9078     _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
9079
9080     _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
9081
9082     _CS_POSIX_V6_ILP32_OFFBIG_LIBS,
9083
9084     _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
9085
9086     _CS_POSIX_V6_LP64_OFF64_CFLAGS,
9087
9088     _CS_POSIX_V6_LP64_OFF64_LDFLAGS,
9089
9090     _CS_POSIX_V6_LP64_OFF64_LIBS,
9091
9092     _CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
9093
9094     _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
9095
9096     _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
9097
9098     _CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
9099
9100     _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
9101
9102   };
9103 # 9 "/usr/include/bits/confname.h" 2 3 4
9104 # 553 "/usr/include/gentoo-multilib/amd64/unistd.h" 2 3 4
9105
9106
9107 extern long int pathconf (__const char *__path, int __name)
9108      throw () __attribute__ ((__nonnull__ (1)));
9109
9110
9111 extern long int fpathconf (int __fd, int __name) throw ();
9112
9113
9114 extern long int sysconf (int __name) throw () __attribute__ ((__const__));
9115
9116
9117
9118 extern size_t confstr (int __name, char *__buf, size_t __len) throw ();
9119
9120
9121
9122
9123 extern __pid_t getpid (void) throw ();
9124
9125
9126 extern __pid_t getppid (void) throw ();
9127
9128
9129
9130
9131 extern __pid_t getpgrp (void) throw ();
9132 # 589 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
9133 extern __pid_t __getpgid (__pid_t __pid) throw ();
9134
9135 extern __pid_t getpgid (__pid_t __pid) throw ();
9136
9137
9138
9139
9140
9141
9142 extern int setpgid (__pid_t __pid, __pid_t __pgid) throw ();
9143 # 615 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
9144 extern int setpgrp (void) throw ();
9145 # 632 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
9146 extern __pid_t setsid (void) throw ();
9147
9148
9149
9150 extern __pid_t getsid (__pid_t __pid) throw ();
9151
9152
9153
9154 extern __uid_t getuid (void) throw ();
9155
9156
9157 extern __uid_t geteuid (void) throw ();
9158
9159
9160 extern __gid_t getgid (void) throw ();
9161
9162
9163 extern __gid_t getegid (void) throw ();
9164
9165
9166
9167
9168 extern int getgroups (int __size, __gid_t __list[]) throw () ;
9169
9170
9171
9172 extern int group_member (__gid_t __gid) throw ();
9173
9174
9175
9176
9177
9178
9179 extern int setuid (__uid_t __uid) throw ();
9180
9181
9182
9183
9184 extern int setreuid (__uid_t __ruid, __uid_t __euid) throw ();
9185
9186
9187
9188
9189 extern int seteuid (__uid_t __uid) throw ();
9190
9191
9192
9193
9194
9195
9196 extern int setgid (__gid_t __gid) throw ();
9197
9198
9199
9200
9201 extern int setregid (__gid_t __rgid, __gid_t __egid) throw ();
9202
9203
9204
9205
9206 extern int setegid (__gid_t __gid) throw ();
9207
9208
9209
9210
9211
9212 extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid)
9213      throw ();
9214
9215
9216
9217 extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid)
9218      throw ();
9219
9220
9221
9222 extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid)
9223      throw ();
9224
9225
9226
9227 extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid)
9228      throw ();
9229
9230
9231
9232
9233
9234
9235 extern __pid_t fork (void) throw ();
9236
9237
9238
9239
9240
9241
9242 extern __pid_t vfork (void) throw ();
9243
9244
9245
9246
9247
9248 extern char *ttyname (int __fd) throw ();
9249
9250
9251
9252 extern int ttyname_r (int __fd, char *__buf, size_t __buflen)
9253      throw () __attribute__ ((__nonnull__ (2))) ;
9254
9255
9256
9257 extern int isatty (int __fd) throw ();
9258
9259
9260
9261
9262
9263 extern int ttyslot (void) throw ();
9264
9265
9266
9267
9268 extern int link (__const char *__from, __const char *__to)
9269      throw () __attribute__ ((__nonnull__ (1, 2))) ;
9270
9271
9272
9273
9274 extern int linkat (int __fromfd, __const char *__from, int __tofd,
9275      __const char *__to, int __flags)
9276      throw () __attribute__ ((__nonnull__ (2, 4))) ;
9277
9278
9279
9280
9281 extern int symlink (__const char *__from, __const char *__to)
9282      throw () __attribute__ ((__nonnull__ (1, 2))) ;
9283
9284
9285
9286
9287 extern ssize_t readlink (__const char *__restrict __path,
9288     char *__restrict __buf, size_t __len)
9289      throw () __attribute__ ((__nonnull__ (1, 2))) ;
9290
9291
9292
9293
9294 extern int symlinkat (__const char *__from, int __tofd,
9295         __const char *__to) throw () __attribute__ ((__nonnull__ (1, 3))) ;
9296
9297
9298 extern ssize_t readlinkat (int __fd, __const char *__restrict __path,
9299       char *__restrict __buf, size_t __len)
9300      throw () __attribute__ ((__nonnull__ (2, 3))) ;
9301
9302
9303
9304 extern int unlink (__const char *__name) throw () __attribute__ ((__nonnull__ (1)));
9305
9306
9307
9308 extern int unlinkat (int __fd, __const char *__name, int __flag)
9309      throw () __attribute__ ((__nonnull__ (2)));
9310
9311
9312
9313 extern int rmdir (__const char *__path) throw () __attribute__ ((__nonnull__ (1)));
9314
9315
9316
9317 extern __pid_t tcgetpgrp (int __fd) throw ();
9318
9319
9320 extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) throw ();
9321
9322
9323
9324
9325
9326
9327 extern char *getlogin (void);
9328
9329
9330
9331
9332
9333
9334
9335 extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1)));
9336
9337
9338
9339
9340 extern int setlogin (__const char *__name) throw () __attribute__ ((__nonnull__ (1)));
9341 # 835 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
9342 # 1 "/usr/include/getopt.h" 1 3 4
9343
9344
9345
9346
9347
9348
9349
9350 # 1 "/usr/include/gentoo-multilib/amd64/getopt.h" 1 3 4
9351 # 50 "/usr/include/gentoo-multilib/amd64/getopt.h" 3 4
9352 extern "C" {
9353 # 59 "/usr/include/gentoo-multilib/amd64/getopt.h" 3 4
9354 extern char *optarg;
9355 # 73 "/usr/include/gentoo-multilib/amd64/getopt.h" 3 4
9356 extern int optind;
9357
9358
9359
9360
9361 extern int opterr;
9362
9363
9364
9365 extern int optopt;
9366 # 152 "/usr/include/gentoo-multilib/amd64/getopt.h" 3 4
9367 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
9368        throw ();
9369 # 171 "/usr/include/gentoo-multilib/amd64/getopt.h" 3 4
9370 }
9371 # 9 "/usr/include/getopt.h" 2 3 4
9372 # 836 "/usr/include/gentoo-multilib/amd64/unistd.h" 2 3 4
9373
9374
9375
9376
9377
9378
9379
9380 extern int gethostname (char *__name, size_t __len) throw () __attribute__ ((__nonnull__ (1)));
9381
9382
9383
9384
9385
9386
9387 extern int sethostname (__const char *__name, size_t __len)
9388      throw () __attribute__ ((__nonnull__ (1))) ;
9389
9390
9391
9392 extern int sethostid (long int __id) throw () ;
9393
9394
9395
9396
9397
9398 extern int getdomainname (char *__name, size_t __len)
9399      throw () __attribute__ ((__nonnull__ (1))) ;
9400 extern int setdomainname (__const char *__name, size_t __len)
9401      throw () __attribute__ ((__nonnull__ (1))) ;
9402
9403
9404
9405
9406
9407 extern int vhangup (void) throw ();
9408
9409
9410 extern int revoke (__const char *__file) throw () __attribute__ ((__nonnull__ (1))) ;
9411
9412
9413
9414
9415
9416
9417
9418 extern int profil (unsigned short int *__sample_buffer, size_t __size,
9419      size_t __offset, unsigned int __scale)
9420      throw () __attribute__ ((__nonnull__ (1)));
9421
9422
9423
9424
9425
9426 extern int acct (__const char *__name) throw ();
9427
9428
9429
9430 extern char *getusershell (void) throw ();
9431 extern void endusershell (void) throw ();
9432 extern void setusershell (void) throw ();
9433
9434
9435
9436
9437
9438 extern int daemon (int __nochdir, int __noclose) throw () ;
9439
9440
9441
9442
9443
9444
9445 extern int chroot (__const char *__path) throw () __attribute__ ((__nonnull__ (1))) ;
9446
9447
9448
9449 extern char *getpass (__const char *__prompt) __attribute__ ((__nonnull__ (1)));
9450 # 921 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
9451 extern int fsync (int __fd);
9452
9453
9454
9455
9456
9457
9458 extern long int gethostid (void);
9459
9460
9461 extern void sync (void) throw ();
9462
9463
9464
9465
9466 extern int getpagesize (void) throw () __attribute__ ((__const__));
9467
9468
9469
9470
9471 extern int getdtablesize (void) throw ();
9472 # 950 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
9473 extern int truncate (__const char *__file, __off64_t __length) throw () __asm__ ("" "truncate64") __attribute__ ((__nonnull__ (1))) ;
9474
9475
9476
9477
9478
9479
9480
9481 extern int truncate64 (__const char *__file, __off64_t __length)
9482      throw () __attribute__ ((__nonnull__ (1))) ;
9483 # 971 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
9484 extern int ftruncate (int __fd, __off64_t __length) throw () __asm__ ("" "ftruncate64") ;
9485
9486
9487
9488
9489
9490
9491 extern int ftruncate64 (int __fd, __off64_t __length) throw () ;
9492 # 988 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
9493 extern int brk (void *__addr) throw () ;
9494
9495
9496
9497
9498
9499 extern void *sbrk (intptr_t __delta) throw ();
9500 # 1009 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
9501 extern long int syscall (long int __sysno, ...) throw ();
9502 # 1035 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
9503 extern int lockf (int __fd, int __cmd, __off64_t __len) __asm__ ("" "lockf64") ;
9504
9505
9506
9507
9508
9509
9510 extern int lockf64 (int __fd, int __cmd, __off64_t __len) ;
9511 # 1063 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
9512 extern int fdatasync (int __fildes) throw ();
9513
9514
9515
9516
9517
9518
9519
9520 extern char *crypt (__const char *__key, __const char *__salt)
9521      throw () __attribute__ ((__nonnull__ (1, 2)));
9522
9523
9524
9525 extern void encrypt (char *__block, int __edflag) throw () __attribute__ ((__nonnull__ (1)));
9526
9527
9528
9529
9530
9531
9532 extern void swab (__const void *__restrict __from, void *__restrict __to,
9533     ssize_t __n) throw () __attribute__ ((__nonnull__ (1, 2)));
9534
9535
9536
9537
9538
9539
9540
9541 extern char *ctermid (char *__s) throw ();
9542 # 1101 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
9543 }
9544 # 9 "/usr/include/unistd.h" 2 3 4
9545 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 2 3
9546
9547 typedef pthread_key_t __gthread_key_t;
9548 typedef pthread_once_t __gthread_once_t;
9549 typedef pthread_mutex_t __gthread_mutex_t;
9550 typedef pthread_mutex_t __gthread_recursive_mutex_t;
9551 # 88 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3
9552 extern __typeof(pthread_once) __gthrw_pthread_once __attribute__ ((__weakref__("pthread_once")));
9553 extern __typeof(pthread_getspecific) __gthrw_pthread_getspecific __attribute__ ((__weakref__("pthread_getspecific")));
9554 extern __typeof(pthread_setspecific) __gthrw_pthread_setspecific __attribute__ ((__weakref__("pthread_setspecific")));
9555 extern __typeof(pthread_create) __gthrw_pthread_create __attribute__ ((__weakref__("pthread_create")));
9556 extern __typeof(pthread_cancel) __gthrw_pthread_cancel __attribute__ ((__weakref__("pthread_cancel")));
9557 extern __typeof(pthread_mutex_lock) __gthrw_pthread_mutex_lock __attribute__ ((__weakref__("pthread_mutex_lock")));
9558 extern __typeof(pthread_mutex_trylock) __gthrw_pthread_mutex_trylock __attribute__ ((__weakref__("pthread_mutex_trylock")));
9559 extern __typeof(pthread_mutex_unlock) __gthrw_pthread_mutex_unlock __attribute__ ((__weakref__("pthread_mutex_unlock")));
9560 extern __typeof(pthread_mutex_init) __gthrw_pthread_mutex_init __attribute__ ((__weakref__("pthread_mutex_init")));
9561
9562
9563 extern __typeof(pthread_key_create) __gthrw_pthread_key_create __attribute__ ((__weakref__("pthread_key_create")));
9564 extern __typeof(pthread_key_delete) __gthrw_pthread_key_delete __attribute__ ((__weakref__("pthread_key_delete")));
9565 extern __typeof(pthread_mutexattr_init) __gthrw_pthread_mutexattr_init __attribute__ ((__weakref__("pthread_mutexattr_init")));
9566 extern __typeof(pthread_mutexattr_settype) __gthrw_pthread_mutexattr_settype __attribute__ ((__weakref__("pthread_mutexattr_settype")));
9567 extern __typeof(pthread_mutexattr_destroy) __gthrw_pthread_mutexattr_destroy __attribute__ ((__weakref__("pthread_mutexattr_destroy")));
9568 # 145 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3
9569 static inline int
9570 __gthread_active_p (void)
9571 {
9572   static void *const __gthread_active_ptr
9573     = __extension__ (void *) &__gthrw_pthread_cancel;
9574   return __gthread_active_ptr != 0;
9575 }
9576 # 512 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3
9577 static inline int
9578 __gthread_once (__gthread_once_t *once, void (*func) (void))
9579 {
9580   if (__gthread_active_p ())
9581     return __gthrw_pthread_once (once, func);
9582   else
9583     return -1;
9584 }
9585
9586 static inline int
9587 __gthread_key_create (__gthread_key_t *key, void (*dtor) (void *))
9588 {
9589   return __gthrw_pthread_key_create (key, dtor);
9590 }
9591
9592 static inline int
9593 __gthread_key_delete (__gthread_key_t key)
9594 {
9595   return __gthrw_pthread_key_delete (key);
9596 }
9597
9598 static inline void *
9599 __gthread_getspecific (__gthread_key_t key)
9600 {
9601   return __gthrw_pthread_getspecific (key);
9602 }
9603
9604 static inline int
9605 __gthread_setspecific (__gthread_key_t key, const void *ptr)
9606 {
9607   return __gthrw_pthread_setspecific (key, ptr);
9608 }
9609
9610 static inline int
9611 __gthread_mutex_lock (__gthread_mutex_t *mutex)
9612 {
9613   if (__gthread_active_p ())
9614     return __gthrw_pthread_mutex_lock (mutex);
9615   else
9616     return 0;
9617 }
9618
9619 static inline int
9620 __gthread_mutex_trylock (__gthread_mutex_t *mutex)
9621 {
9622   if (__gthread_active_p ())
9623     return __gthrw_pthread_mutex_trylock (mutex);
9624   else
9625     return 0;
9626 }
9627
9628 static inline int
9629 __gthread_mutex_unlock (__gthread_mutex_t *mutex)
9630 {
9631   if (__gthread_active_p ())
9632     return __gthrw_pthread_mutex_unlock (mutex);
9633   else
9634     return 0;
9635 }
9636 # 594 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3
9637 static inline int
9638 __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex)
9639 {
9640   return __gthread_mutex_lock (mutex);
9641 }
9642
9643 static inline int
9644 __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex)
9645 {
9646   return __gthread_mutex_trylock (mutex);
9647 }
9648
9649 static inline int
9650 __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex)
9651 {
9652   return __gthread_mutex_unlock (mutex);
9653 }
9654 # 115 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h" 2 3
9655
9656
9657
9658
9659
9660
9661
9662 #pragma GCC visibility pop
9663 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++io.h" 2 3
9664
9665 namespace std
9666 {
9667   typedef __gthread_mutex_t __c_lock;
9668
9669
9670   typedef FILE __c_file;
9671 }
9672 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd" 2 3
9673 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cctype" 1 3
9674 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cctype" 3
9675        
9676 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cctype" 3
9677 #pragma GCC visibility push(default)
9678
9679
9680 # 1 "/usr/include/ctype.h" 1 3 4
9681 # 53 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cctype" 2 3
9682 # 69 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cctype" 3
9683 namespace std
9684 {
9685   using ::isalnum;
9686   using ::isalpha;
9687   using ::iscntrl;
9688   using ::isdigit;
9689   using ::isgraph;
9690   using ::islower;
9691   using ::isprint;
9692   using ::ispunct;
9693   using ::isspace;
9694   using ::isupper;
9695   using ::isxdigit;
9696   using ::tolower;
9697   using ::toupper;
9698 }
9699
9700 #pragma GCC visibility pop
9701 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd" 2 3
9702
9703 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h" 1 3
9704 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h" 3
9705        
9706 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h" 3
9707
9708 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwchar" 1 3
9709 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwchar" 3
9710        
9711 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwchar" 3
9712 #pragma GCC visibility push(default)
9713
9714
9715
9716 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ctime" 1 3
9717 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ctime" 3
9718        
9719 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ctime" 3
9720 #pragma GCC visibility push(default)
9721
9722
9723
9724 # 1 "/usr/include/time.h" 1 3 4
9725 # 54 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ctime" 2 3
9726 # 66 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ctime" 3
9727 namespace std
9728 {
9729   using ::clock_t;
9730   using ::time_t;
9731   using ::tm;
9732
9733   using ::clock;
9734   using ::difftime;
9735   using ::mktime;
9736   using ::time;
9737   using ::asctime;
9738   using ::ctime;
9739   using ::gmtime;
9740   using ::localtime;
9741   using ::strftime;
9742 }
9743
9744 #pragma GCC visibility pop
9745 # 54 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwchar" 2 3
9746
9747
9748 # 1 "/usr/include/wchar.h" 1 3 4
9749 # 57 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwchar" 2 3
9750 # 71 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwchar" 3
9751 namespace std
9752 {
9753   using ::mbstate_t;
9754 }
9755 # 143 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwchar" 3
9756 namespace std
9757 {
9758   using ::wint_t;
9759
9760   using ::btowc;
9761   using ::fgetwc;
9762   using ::fgetws;
9763   using ::fputwc;
9764   using ::fputws;
9765   using ::fwide;
9766   using ::fwprintf;
9767   using ::fwscanf;
9768   using ::getwc;
9769   using ::getwchar;
9770   using ::mbrlen;
9771   using ::mbrtowc;
9772   using ::mbsinit;
9773   using ::mbsrtowcs;
9774   using ::putwc;
9775   using ::putwchar;
9776   using ::swprintf;
9777   using ::swscanf;
9778   using ::ungetwc;
9779   using ::vfwprintf;
9780
9781   using ::vfwscanf;
9782
9783   using ::vswprintf;
9784
9785   using ::vswscanf;
9786
9787   using ::vwprintf;
9788
9789   using ::vwscanf;
9790
9791   using ::wcrtomb;
9792   using ::wcscat;
9793   using ::wcscmp;
9794   using ::wcscoll;
9795   using ::wcscpy;
9796   using ::wcscspn;
9797
9798
9799
9800   using ::wcslen;
9801   using ::wcsncat;
9802   using ::wcsncmp;
9803   using ::wcsncpy;
9804   using ::wcsrtombs;
9805   using ::wcsspn;
9806   using ::wcstod;
9807
9808   using ::wcstof;
9809
9810   using ::wcstok;
9811   using ::wcstol;
9812   using ::wcstoul;
9813   using ::wcsxfrm;
9814   using ::wctob;
9815   using ::wmemcmp;
9816   using ::wmemcpy;
9817   using ::wmemmove;
9818   using ::wmemset;
9819   using ::wprintf;
9820   using ::wscanf;
9821
9822   using ::wcschr;
9823
9824   inline wchar_t*
9825   wcschr(wchar_t* __p, wchar_t __c)
9826   { return wcschr(const_cast<const wchar_t*>(__p), __c); }
9827
9828   using ::wcspbrk;
9829
9830   inline wchar_t*
9831   wcspbrk(wchar_t* __s1, const wchar_t* __s2)
9832   { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
9833
9834   using ::wcsrchr;
9835
9836   inline wchar_t*
9837   wcsrchr(wchar_t* __p, wchar_t __c)
9838   { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
9839
9840   using ::wcsstr;
9841
9842   inline wchar_t*
9843   wcsstr(wchar_t* __s1, const wchar_t* __s2)
9844   { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
9845
9846   using ::wmemchr;
9847
9848   inline wchar_t*
9849   wmemchr(wchar_t* __p, wchar_t __c, size_t __n)
9850   { return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
9851 }
9852
9853
9854
9855
9856
9857
9858
9859 namespace __gnu_cxx
9860 {
9861
9862
9863
9864
9865
9866   using ::wcstold;
9867 # 262 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwchar" 3
9868   using ::wcstoll;
9869   using ::wcstoull;
9870
9871 }
9872
9873 namespace std
9874 {
9875   using __gnu_cxx::wcstold;
9876   using __gnu_cxx::wcstoll;
9877   using __gnu_cxx::wcstoull;
9878 }
9879
9880
9881
9882
9883 #pragma GCC visibility pop
9884 # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h" 2 3
9885
9886
9887 # 1 "/usr/include/stdint.h" 1 3 4
9888
9889
9890
9891
9892
9893
9894
9895 # 1 "/usr/include/gentoo-multilib/amd64/stdint.h" 1 3 4
9896 # 26 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4
9897 # 1 "/usr/include/features.h" 1 3 4
9898 # 27 "/usr/include/gentoo-multilib/amd64/stdint.h" 2 3 4
9899 # 1 "/usr/include/bits/wchar.h" 1 3 4
9900 # 28 "/usr/include/gentoo-multilib/amd64/stdint.h" 2 3 4
9901 # 1 "/usr/include/bits/wordsize.h" 1 3 4
9902
9903
9904
9905
9906
9907
9908
9909 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
9910 # 9 "/usr/include/bits/wordsize.h" 2 3 4
9911 # 29 "/usr/include/gentoo-multilib/amd64/stdint.h" 2 3 4
9912 # 49 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4
9913 typedef unsigned char uint8_t;
9914 typedef unsigned short int uint16_t;
9915
9916 typedef unsigned int uint32_t;
9917
9918
9919
9920 typedef unsigned long int uint64_t;
9921 # 66 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4
9922 typedef signed char int_least8_t;
9923 typedef short int int_least16_t;
9924 typedef int int_least32_t;
9925
9926 typedef long int int_least64_t;
9927
9928
9929
9930
9931
9932
9933 typedef unsigned char uint_least8_t;
9934 typedef unsigned short int uint_least16_t;
9935 typedef unsigned int uint_least32_t;
9936
9937 typedef unsigned long int uint_least64_t;
9938 # 91 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4
9939 typedef signed char int_fast8_t;
9940
9941 typedef long int int_fast16_t;
9942 typedef long int int_fast32_t;
9943 typedef long int int_fast64_t;
9944 # 104 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4
9945 typedef unsigned char uint_fast8_t;
9946
9947 typedef unsigned long int uint_fast16_t;
9948 typedef unsigned long int uint_fast32_t;
9949 typedef unsigned long int uint_fast64_t;
9950 # 123 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4
9951 typedef unsigned long int uintptr_t;
9952 # 135 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4
9953 typedef long int intmax_t;
9954 typedef unsigned long int uintmax_t;
9955 # 9 "/usr/include/stdint.h" 2 3 4
9956 # 50 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h" 2 3
9957
9958
9959 namespace std
9960 {
9961 # 72 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h" 3
9962   typedef int64_t streamoff;
9963
9964
9965
9966
9967
9968   typedef ptrdiff_t streamsize;
9969
9970   template<typename _StateT>
9971     class fpos;
9972 # 94 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h" 3
9973   template<typename _StateT>
9974     class fpos
9975     {
9976     private:
9977       streamoff _M_off;
9978       _StateT _M_state;
9979
9980     public:
9981
9982
9983
9984
9985       fpos()
9986       : _M_off(0), _M_state() { }
9987 # 116 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h" 3
9988       fpos(streamoff __off)
9989       : _M_off(__off), _M_state() { }
9990
9991
9992       operator streamoff() const { return _M_off; }
9993
9994
9995       void
9996       state(_StateT __st)
9997       { _M_state = __st; }
9998
9999
10000       _StateT
10001       state() const
10002       { return _M_state; }
10003
10004
10005
10006
10007
10008
10009       bool
10010       operator==(const fpos& __other) const
10011       { return _M_off == __other._M_off; }
10012
10013
10014       bool
10015       operator!=(const fpos& __other) const
10016       { return _M_off != __other._M_off; }
10017
10018
10019
10020
10021
10022       fpos&
10023       operator+=(streamoff __off)
10024       {
10025  _M_off += __off;
10026  return *this;
10027       }
10028
10029
10030
10031
10032
10033       fpos&
10034       operator-=(streamoff __off)
10035       {
10036  _M_off -= __off;
10037  return *this;
10038       }
10039
10040
10041
10042
10043
10044
10045
10046       fpos
10047       operator+(streamoff __off) const
10048       {
10049  fpos __pos(*this);
10050  __pos += __off;
10051  return __pos;
10052       }
10053
10054
10055
10056
10057
10058
10059
10060       fpos
10061       operator-(streamoff __off) const
10062       {
10063  fpos __pos(*this);
10064  __pos -= __off;
10065  return __pos;
10066       }
10067
10068
10069
10070
10071
10072
10073       streamoff
10074       operator-(const fpos& __other) const
10075       { return _M_off - __other._M_off; }
10076     };
10077
10078
10079
10080
10081
10082   typedef fpos<mbstate_t> streampos;
10083
10084   typedef fpos<mbstate_t> wstreampos;
10085 }
10086 # 51 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd" 2 3
10087 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/functexcept.h" 1 3
10088 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/functexcept.h" 3
10089 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/exception_defines.h" 1 3
10090 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/functexcept.h" 2 3
10091
10092 namespace std
10093 {
10094
10095   void
10096   __throw_bad_exception(void) __attribute__((__noreturn__));
10097
10098
10099   void
10100   __throw_bad_alloc(void) __attribute__((__noreturn__));
10101
10102
10103   void
10104   __throw_bad_cast(void) __attribute__((__noreturn__));
10105
10106   void
10107   __throw_bad_typeid(void) __attribute__((__noreturn__));
10108
10109
10110   void
10111   __throw_logic_error(const char*) __attribute__((__noreturn__));
10112
10113   void
10114   __throw_domain_error(const char*) __attribute__((__noreturn__));
10115
10116   void
10117   __throw_invalid_argument(const char*) __attribute__((__noreturn__));
10118
10119   void
10120   __throw_length_error(const char*) __attribute__((__noreturn__));
10121
10122   void
10123   __throw_out_of_range(const char*) __attribute__((__noreturn__));
10124
10125   void
10126   __throw_runtime_error(const char*) __attribute__((__noreturn__));
10127
10128   void
10129   __throw_range_error(const char*) __attribute__((__noreturn__));
10130
10131   void
10132   __throw_overflow_error(const char*) __attribute__((__noreturn__));
10133
10134   void
10135   __throw_underflow_error(const char*) __attribute__((__noreturn__));
10136
10137
10138   void
10139   __throw_ios_failure(const char*) __attribute__((__noreturn__));
10140 }
10141 # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd" 2 3
10142
10143 namespace std
10144 {
10145   template<typename _CharT, typename _Traits = char_traits<_CharT> >
10146     class basic_ios;
10147
10148   template<typename _CharT, typename _Traits = char_traits<_CharT> >
10149     class basic_streambuf;
10150
10151   template<typename _CharT, typename _Traits = char_traits<_CharT> >
10152     class basic_istream;
10153
10154   template<typename _CharT, typename _Traits = char_traits<_CharT> >
10155     class basic_ostream;
10156
10157   template<typename _CharT, typename _Traits = char_traits<_CharT> >
10158     class basic_iostream;
10159
10160   template<typename _CharT, typename _Traits = char_traits<_CharT>,
10161      typename _Alloc = allocator<_CharT> >
10162     class basic_stringbuf;
10163
10164   template<typename _CharT, typename _Traits = char_traits<_CharT>,
10165     typename _Alloc = allocator<_CharT> >
10166     class basic_istringstream;
10167
10168   template<typename _CharT, typename _Traits = char_traits<_CharT>,
10169     typename _Alloc = allocator<_CharT> >
10170     class basic_ostringstream;
10171
10172   template<typename _CharT, typename _Traits = char_traits<_CharT>,
10173     typename _Alloc = allocator<_CharT> >
10174     class basic_stringstream;
10175
10176   template<typename _CharT, typename _Traits = char_traits<_CharT> >
10177     class basic_filebuf;
10178
10179   template<typename _CharT, typename _Traits = char_traits<_CharT> >
10180     class basic_ifstream;
10181
10182   template<typename _CharT, typename _Traits = char_traits<_CharT> >
10183     class basic_ofstream;
10184
10185   template<typename _CharT, typename _Traits = char_traits<_CharT> >
10186     class basic_fstream;
10187
10188   template<typename _CharT, typename _Traits = char_traits<_CharT> >
10189     class istreambuf_iterator;
10190
10191   template<typename _CharT, typename _Traits = char_traits<_CharT> >
10192     class ostreambuf_iterator;
10193
10194
10195
10196   class ios_base;
10197 # 136 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd" 3
10198   typedef basic_ios<char> ios;
10199   typedef basic_streambuf<char> streambuf;
10200   typedef basic_istream<char> istream;
10201   typedef basic_ostream<char> ostream;
10202   typedef basic_iostream<char> iostream;
10203   typedef basic_stringbuf<char> stringbuf;
10204   typedef basic_istringstream<char> istringstream;
10205   typedef basic_ostringstream<char> ostringstream;
10206   typedef basic_stringstream<char> stringstream;
10207   typedef basic_filebuf<char> filebuf;
10208   typedef basic_ifstream<char> ifstream;
10209   typedef basic_ofstream<char> ofstream;
10210   typedef basic_fstream<char> fstream;
10211
10212
10213   typedef basic_ios<wchar_t> wios;
10214   typedef basic_streambuf<wchar_t> wstreambuf;
10215   typedef basic_istream<wchar_t> wistream;
10216   typedef basic_ostream<wchar_t> wostream;
10217   typedef basic_iostream<wchar_t> wiostream;
10218   typedef basic_stringbuf<wchar_t> wstringbuf;
10219   typedef basic_istringstream<wchar_t> wistringstream;
10220   typedef basic_ostringstream<wchar_t> wostringstream;
10221   typedef basic_stringstream<wchar_t> wstringstream;
10222   typedef basic_filebuf<wchar_t> wfilebuf;
10223   typedef basic_ifstream<wchar_t> wifstream;
10224   typedef basic_ofstream<wchar_t> wofstream;
10225   typedef basic_fstream<wchar_t> wfstream;
10226
10227
10228 }
10229
10230 #pragma GCC visibility pop
10231 # 70 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 2 3
10232 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_pair.h" 1 3
10233 # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_pair.h" 3
10234 namespace std
10235 {
10236
10237   template<class _T1, class _T2>
10238     struct pair
10239     {
10240       typedef _T1 first_type;
10241       typedef _T2 second_type;
10242
10243       _T1 first;
10244       _T2 second;
10245
10246
10247
10248
10249
10250       pair()
10251       : first(), second() { }
10252
10253
10254       pair(const _T1& __a, const _T2& __b)
10255       : first(__a), second(__b) { }
10256
10257
10258       template<class _U1, class _U2>
10259         pair(const pair<_U1, _U2>& __p)
10260  : first(__p.first), second(__p.second) { }
10261     };
10262
10263
10264   template<class _T1, class _T2>
10265     inline bool
10266     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
10267     { return __x.first == __y.first && __x.second == __y.second; }
10268
10269
10270   template<class _T1, class _T2>
10271     inline bool
10272     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
10273     { return __x.first < __y.first
10274       || (!(__y.first < __x.first) && __x.second < __y.second); }
10275
10276
10277   template<class _T1, class _T2>
10278     inline bool
10279     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
10280     { return !(__x == __y); }
10281
10282
10283   template<class _T1, class _T2>
10284     inline bool
10285     operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
10286     { return __y < __x; }
10287
10288
10289   template<class _T1, class _T2>
10290     inline bool
10291     operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
10292     { return !(__y < __x); }
10293
10294
10295   template<class _T1, class _T2>
10296     inline bool
10297     operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
10298     { return !(__x < __y); }
10299 # 142 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_pair.h" 3
10300   template<class _T1, class _T2>
10301     inline pair<_T1, _T2>
10302     make_pair(_T1 __x, _T2 __y)
10303     { return pair<_T1, _T2>(__x, __y); }
10304 }
10305 # 71 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 2 3
10306 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/cpp_type_traits.h" 1 3
10307 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/cpp_type_traits.h" 3
10308        
10309 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/cpp_type_traits.h" 3
10310 # 75 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/cpp_type_traits.h" 3
10311 namespace __gnu_internal
10312 {
10313   typedef char __one;
10314   typedef char __two[2];
10315
10316   template<typename _Tp>
10317   __one __test_type(int _Tp::*);
10318   template<typename _Tp>
10319   __two& __test_type(...);
10320 }
10321
10322
10323 namespace __gnu_cxx
10324 {
10325   template<typename _Iterator, typename _Container>
10326     class __normal_iterator;
10327 }
10328
10329 struct __true_type { };
10330 struct __false_type { };
10331
10332 namespace std
10333 {
10334   template<bool>
10335     struct __truth_type
10336     { typedef __false_type __type; };
10337
10338   template<>
10339     struct __truth_type<true>
10340     { typedef __true_type __type; };
10341
10342
10343
10344   template<class _Sp, class _Tp>
10345     struct __traitor
10346     {
10347       enum { __value = bool(_Sp::__value) || bool(_Tp::__value) };
10348       typedef typename __truth_type<__value>::__type __type;
10349     };
10350
10351
10352   template<typename, typename>
10353     struct __are_same
10354     {
10355       enum { __value = 0 };
10356       typedef __false_type __type;
10357     };
10358
10359   template<typename _Tp>
10360     struct __are_same<_Tp, _Tp>
10361     {
10362       enum { __value = 1 };
10363       typedef __true_type __type;
10364     };
10365
10366
10367   template<typename, bool>
10368     struct __enable_if
10369     {
10370     };
10371
10372   template<typename _Tp>
10373     struct __enable_if<_Tp, true>
10374     {
10375       typedef _Tp __type;
10376     };
10377
10378
10379   template<typename _Tp>
10380     struct __is_void
10381     {
10382       enum { __value = 0 };
10383       typedef __false_type __type;
10384     };
10385
10386   template<>
10387     struct __is_void<void>
10388     {
10389       enum { __value = 1 };
10390       typedef __true_type __type;
10391     };
10392
10393
10394
10395
10396   template<typename _Tp>
10397     struct __is_integer
10398     {
10399       enum { __value = 0 };
10400       typedef __false_type __type;
10401     };
10402
10403
10404
10405
10406   template<>
10407     struct __is_integer<bool>
10408     {
10409       enum { __value = 1 };
10410       typedef __true_type __type;
10411     };
10412
10413   template<>
10414     struct __is_integer<char>
10415     {
10416       enum { __value = 1 };
10417       typedef __true_type __type;
10418     };
10419
10420   template<>
10421     struct __is_integer<signed char>
10422     {
10423       enum { __value = 1 };
10424       typedef __true_type __type;
10425     };
10426
10427   template<>
10428     struct __is_integer<unsigned char>
10429     {
10430       enum { __value = 1 };
10431       typedef __true_type __type;
10432     };
10433
10434
10435   template<>
10436     struct __is_integer<wchar_t>
10437     {
10438       enum { __value = 1 };
10439       typedef __true_type __type;
10440     };
10441
10442
10443   template<>
10444     struct __is_integer<short>
10445     {
10446       enum { __value = 1 };
10447       typedef __true_type __type;
10448     };
10449
10450   template<>
10451     struct __is_integer<unsigned short>
10452     {
10453       enum { __value = 1 };
10454       typedef __true_type __type;
10455     };
10456
10457   template<>
10458     struct __is_integer<int>
10459     {
10460       enum { __value = 1 };
10461       typedef __true_type __type;
10462     };
10463
10464   template<>
10465     struct __is_integer<unsigned int>
10466     {
10467       enum { __value = 1 };
10468       typedef __true_type __type;
10469     };
10470
10471   template<>
10472     struct __is_integer<long>
10473     {
10474       enum { __value = 1 };
10475       typedef __true_type __type;
10476     };
10477
10478   template<>
10479     struct __is_integer<unsigned long>
10480     {
10481       enum { __value = 1 };
10482       typedef __true_type __type;
10483     };
10484
10485   template<>
10486     struct __is_integer<long long>
10487     {
10488       enum { __value = 1 };
10489       typedef __true_type __type;
10490     };
10491
10492   template<>
10493     struct __is_integer<unsigned long long>
10494     {
10495       enum { __value = 1 };
10496       typedef __true_type __type;
10497     };
10498
10499
10500
10501
10502   template<typename _Tp>
10503     struct __is_floating
10504     {
10505       enum { __value = 0 };
10506       typedef __false_type __type;
10507     };
10508
10509
10510   template<>
10511     struct __is_floating<float>
10512     {
10513       enum { __value = 1 };
10514       typedef __true_type __type;
10515     };
10516
10517   template<>
10518     struct __is_floating<double>
10519     {
10520       enum { __value = 1 };
10521       typedef __true_type __type;
10522     };
10523
10524   template<>
10525     struct __is_floating<long double>
10526     {
10527       enum { __value = 1 };
10528       typedef __true_type __type;
10529     };
10530
10531
10532
10533
10534   template<typename _Tp>
10535     struct __is_pointer
10536     {
10537       enum { __value = 0 };
10538       typedef __false_type __type;
10539     };
10540
10541   template<typename _Tp>
10542     struct __is_pointer<_Tp*>
10543     {
10544       enum { __value = 1 };
10545       typedef __true_type __type;
10546     };
10547
10548
10549
10550
10551   template<typename _Tp>
10552     struct __is_normal_iterator
10553     {
10554       enum { __value = 0 };
10555       typedef __false_type __type;
10556     };
10557
10558   template<typename _Iterator, typename _Container>
10559     struct __is_normal_iterator< __gnu_cxx::__normal_iterator<_Iterator,
10560              _Container> >
10561     {
10562       enum { __value = 1 };
10563       typedef __true_type __type;
10564     };
10565
10566
10567
10568
10569   template<typename _Tp>
10570     struct __is_arithmetic
10571     : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
10572     { };
10573
10574
10575
10576
10577   template<typename _Tp>
10578     struct __is_fundamental
10579     : public __traitor<__is_void<_Tp>, __is_arithmetic<_Tp> >
10580     { };
10581
10582
10583
10584
10585   template<typename _Tp>
10586     struct __is_scalar
10587     : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> >
10588     { };
10589
10590
10591
10592
10593   template<typename _Tp>
10594     struct __is_pod
10595     {
10596       enum
10597  {
10598    __value = (sizeof(__gnu_internal::__test_type<_Tp>(0))
10599        != sizeof(__gnu_internal::__one))
10600  };
10601     };
10602
10603
10604
10605
10606   template<typename _Tp>
10607     struct __is_empty
10608     {
10609     private:
10610       template<typename>
10611         struct __first { };
10612       template<typename _Up>
10613         struct __second
10614         : public _Up { };
10615
10616     public:
10617       enum
10618  {
10619    __value = sizeof(__first<_Tp>) == sizeof(__second<_Tp>)
10620  };
10621     };
10622
10623 }
10624 # 72 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 2 3
10625 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_types.h" 1 3
10626 # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_types.h" 3
10627        
10628 # 68 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_types.h" 3
10629
10630 namespace std
10631 {
10632 # 80 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_types.h" 3
10633   struct input_iterator_tag {};
10634
10635   struct output_iterator_tag {};
10636
10637   struct forward_iterator_tag : public input_iterator_tag {};
10638
10639
10640   struct bidirectional_iterator_tag : public forward_iterator_tag {};
10641
10642
10643   struct random_access_iterator_tag : public bidirectional_iterator_tag {};
10644 # 104 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_types.h" 3
10645   template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
10646            typename _Pointer = _Tp*, typename _Reference = _Tp&>
10647     struct iterator
10648     {
10649
10650       typedef _Category iterator_category;
10651
10652       typedef _Tp value_type;
10653
10654       typedef _Distance difference_type;
10655
10656       typedef _Pointer pointer;
10657
10658       typedef _Reference reference;
10659     };
10660
10661
10662
10663
10664
10665
10666
10667   template<typename _Iterator>
10668     struct iterator_traits
10669     {
10670       typedef typename _Iterator::iterator_category iterator_category;
10671       typedef typename _Iterator::value_type value_type;
10672       typedef typename _Iterator::difference_type difference_type;
10673       typedef typename _Iterator::pointer pointer;
10674       typedef typename _Iterator::reference reference;
10675     };
10676
10677   template<typename _Tp>
10678     struct iterator_traits<_Tp*>
10679     {
10680       typedef random_access_iterator_tag iterator_category;
10681       typedef _Tp value_type;
10682       typedef ptrdiff_t difference_type;
10683       typedef _Tp* pointer;
10684       typedef _Tp& reference;
10685     };
10686
10687   template<typename _Tp>
10688     struct iterator_traits<const _Tp*>
10689     {
10690       typedef random_access_iterator_tag iterator_category;
10691       typedef _Tp value_type;
10692       typedef ptrdiff_t difference_type;
10693       typedef const _Tp* pointer;
10694       typedef const _Tp& reference;
10695     };
10696
10697
10698
10699
10700
10701
10702
10703   template<typename _Iter>
10704     inline typename iterator_traits<_Iter>::iterator_category
10705     __iterator_category(const _Iter&)
10706     { return typename iterator_traits<_Iter>::iterator_category(); }
10707
10708 }
10709 # 73 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 2 3
10710 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_funcs.h" 1 3
10711 # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_funcs.h" 3
10712        
10713 # 68 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_funcs.h" 3
10714 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/concept_check.h" 1 3
10715 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/concept_check.h" 3
10716        
10717 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/concept_check.h" 3
10718 # 69 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_funcs.h" 2 3
10719
10720 namespace std
10721 {
10722   template<typename _InputIterator>
10723     inline typename iterator_traits<_InputIterator>::difference_type
10724     __distance(_InputIterator __first, _InputIterator __last,
10725                input_iterator_tag)
10726     {
10727
10728      
10729
10730       typename iterator_traits<_InputIterator>::difference_type __n = 0;
10731       while (__first != __last)
10732  {
10733    ++__first;
10734    ++__n;
10735  }
10736       return __n;
10737     }
10738
10739   template<typename _RandomAccessIterator>
10740     inline typename iterator_traits<_RandomAccessIterator>::difference_type
10741     __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
10742                random_access_iterator_tag)
10743     {
10744
10745      
10746
10747       return __last - __first;
10748     }
10749 # 112 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_funcs.h" 3
10750   template<typename _InputIterator>
10751     inline typename iterator_traits<_InputIterator>::difference_type
10752     distance(_InputIterator __first, _InputIterator __last)
10753     {
10754
10755       return std::__distance(__first, __last,
10756         std::__iterator_category(__first));
10757     }
10758
10759   template<typename _InputIterator, typename _Distance>
10760     inline void
10761     __advance(_InputIterator& __i, _Distance __n, input_iterator_tag)
10762     {
10763
10764      
10765       while (__n--)
10766  ++__i;
10767     }
10768
10769   template<typename _BidirectionalIterator, typename _Distance>
10770     inline void
10771     __advance(_BidirectionalIterator& __i, _Distance __n,
10772               bidirectional_iterator_tag)
10773     {
10774
10775      
10776
10777       if (__n > 0)
10778         while (__n--)
10779    ++__i;
10780       else
10781         while (__n++)
10782    --__i;
10783     }
10784
10785   template<typename _RandomAccessIterator, typename _Distance>
10786     inline void
10787     __advance(_RandomAccessIterator& __i, _Distance __n,
10788               random_access_iterator_tag)
10789     {
10790
10791      
10792
10793       __i += __n;
10794     }
10795 # 170 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_funcs.h" 3
10796   template<typename _InputIterator, typename _Distance>
10797     inline void
10798     advance(_InputIterator& __i, _Distance __n)
10799     {
10800
10801       std::__advance(__i, __n, std::__iterator_category(__i));
10802     }
10803 }
10804 # 74 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 2 3
10805 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 1 3
10806 # 70 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
10807 namespace std
10808 {
10809 # 91 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
10810   template<typename _Iterator>
10811     class reverse_iterator
10812     : public iterator<typename iterator_traits<_Iterator>::iterator_category,
10813         typename iterator_traits<_Iterator>::value_type,
10814         typename iterator_traits<_Iterator>::difference_type,
10815         typename iterator_traits<_Iterator>::pointer,
10816                       typename iterator_traits<_Iterator>::reference>
10817     {
10818     protected:
10819       _Iterator current;
10820
10821     public:
10822       typedef _Iterator iterator_type;
10823       typedef typename iterator_traits<_Iterator>::difference_type
10824               difference_type;
10825       typedef typename iterator_traits<_Iterator>::reference reference;
10826       typedef typename iterator_traits<_Iterator>::pointer pointer;
10827
10828     public:
10829
10830
10831
10832
10833
10834
10835       reverse_iterator() : current() { }
10836
10837
10838
10839
10840       explicit
10841       reverse_iterator(iterator_type __x) : current(__x) { }
10842
10843
10844
10845
10846       reverse_iterator(const reverse_iterator& __x)
10847       : current(__x.current) { }
10848
10849
10850
10851
10852
10853       template<typename _Iter>
10854         reverse_iterator(const reverse_iterator<_Iter>& __x)
10855  : current(__x.base()) { }
10856
10857
10858
10859
10860       iterator_type
10861       base() const
10862       { return current; }
10863
10864
10865
10866
10867
10868
10869       reference
10870       operator*() const
10871       {
10872  _Iterator __tmp = current;
10873  return *--__tmp;
10874       }
10875
10876
10877
10878
10879
10880
10881       pointer
10882       operator->() const
10883       { return &(operator*()); }
10884
10885
10886
10887
10888
10889
10890       reverse_iterator&
10891       operator++()
10892       {
10893  --current;
10894  return *this;
10895       }
10896
10897
10898
10899
10900
10901
10902       reverse_iterator
10903       operator++(int)
10904       {
10905  reverse_iterator __tmp = *this;
10906  --current;
10907  return __tmp;
10908       }
10909
10910
10911
10912
10913
10914
10915       reverse_iterator&
10916       operator--()
10917       {
10918  ++current;
10919  return *this;
10920       }
10921
10922
10923
10924
10925
10926
10927       reverse_iterator
10928       operator--(int)
10929       {
10930  reverse_iterator __tmp = *this;
10931  ++current;
10932  return __tmp;
10933       }
10934
10935
10936
10937
10938
10939
10940       reverse_iterator
10941       operator+(difference_type __n) const
10942       { return reverse_iterator(current - __n); }
10943
10944
10945
10946
10947
10948
10949       reverse_iterator&
10950       operator+=(difference_type __n)
10951       {
10952  current -= __n;
10953  return *this;
10954       }
10955
10956
10957
10958
10959
10960
10961       reverse_iterator
10962       operator-(difference_type __n) const
10963       { return reverse_iterator(current + __n); }
10964
10965
10966
10967
10968
10969
10970       reverse_iterator&
10971       operator-=(difference_type __n)
10972       {
10973  current += __n;
10974  return *this;
10975       }
10976
10977
10978
10979
10980
10981
10982       reference
10983       operator[](difference_type __n) const
10984       { return *(*this + __n); }
10985     };
10986 # 278 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
10987   template<typename _Iterator>
10988     inline bool
10989     operator==(const reverse_iterator<_Iterator>& __x,
10990         const reverse_iterator<_Iterator>& __y)
10991     { return __x.base() == __y.base(); }
10992
10993   template<typename _Iterator>
10994     inline bool
10995     operator<(const reverse_iterator<_Iterator>& __x,
10996        const reverse_iterator<_Iterator>& __y)
10997     { return __y.base() < __x.base(); }
10998
10999   template<typename _Iterator>
11000     inline bool
11001     operator!=(const reverse_iterator<_Iterator>& __x,
11002         const reverse_iterator<_Iterator>& __y)
11003     { return !(__x == __y); }
11004
11005   template<typename _Iterator>
11006     inline bool
11007     operator>(const reverse_iterator<_Iterator>& __x,
11008        const reverse_iterator<_Iterator>& __y)
11009     { return __y < __x; }
11010
11011   template<typename _Iterator>
11012     inline bool
11013     operator<=(const reverse_iterator<_Iterator>& __x,
11014         const reverse_iterator<_Iterator>& __y)
11015     { return !(__y < __x); }
11016
11017   template<typename _Iterator>
11018     inline bool
11019     operator>=(const reverse_iterator<_Iterator>& __x,
11020         const reverse_iterator<_Iterator>& __y)
11021     { return !(__x < __y); }
11022
11023   template<typename _Iterator>
11024     inline typename reverse_iterator<_Iterator>::difference_type
11025     operator-(const reverse_iterator<_Iterator>& __x,
11026        const reverse_iterator<_Iterator>& __y)
11027     { return __y.base() - __x.base(); }
11028
11029   template<typename _Iterator>
11030     inline reverse_iterator<_Iterator>
11031     operator+(typename reverse_iterator<_Iterator>::difference_type __n,
11032        const reverse_iterator<_Iterator>& __x)
11033     { return reverse_iterator<_Iterator>(__x.base() - __n); }
11034
11035
11036
11037   template<typename _IteratorL, typename _IteratorR>
11038     inline bool
11039     operator==(const reverse_iterator<_IteratorL>& __x,
11040         const reverse_iterator<_IteratorR>& __y)
11041     { return __x.base() == __y.base(); }
11042
11043   template<typename _IteratorL, typename _IteratorR>
11044     inline bool
11045     operator<(const reverse_iterator<_IteratorL>& __x,
11046        const reverse_iterator<_IteratorR>& __y)
11047     { return __y.base() < __x.base(); }
11048
11049   template<typename _IteratorL, typename _IteratorR>
11050     inline bool
11051     operator!=(const reverse_iterator<_IteratorL>& __x,
11052         const reverse_iterator<_IteratorR>& __y)
11053     { return !(__x == __y); }
11054
11055   template<typename _IteratorL, typename _IteratorR>
11056     inline bool
11057     operator>(const reverse_iterator<_IteratorL>& __x,
11058        const reverse_iterator<_IteratorR>& __y)
11059     { return __y < __x; }
11060
11061   template<typename _IteratorL, typename _IteratorR>
11062     inline bool
11063     operator<=(const reverse_iterator<_IteratorL>& __x,
11064         const reverse_iterator<_IteratorR>& __y)
11065     { return !(__y < __x); }
11066
11067   template<typename _IteratorL, typename _IteratorR>
11068     inline bool
11069     operator>=(const reverse_iterator<_IteratorL>& __x,
11070         const reverse_iterator<_IteratorR>& __y)
11071     { return !(__x < __y); }
11072
11073   template<typename _IteratorL, typename _IteratorR>
11074     inline typename reverse_iterator<_IteratorL>::difference_type
11075     operator-(const reverse_iterator<_IteratorL>& __x,
11076        const reverse_iterator<_IteratorR>& __y)
11077     { return __y.base() - __x.base(); }
11078 # 382 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
11079   template<typename _Container>
11080     class back_insert_iterator
11081     : public iterator<output_iterator_tag, void, void, void, void>
11082     {
11083     protected:
11084       _Container* container;
11085
11086     public:
11087
11088       typedef _Container container_type;
11089
11090
11091       explicit
11092       back_insert_iterator(_Container& __x) : container(&__x) { }
11093 # 408 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
11094       back_insert_iterator&
11095       operator=(typename _Container::const_reference __value)
11096       {
11097  container->push_back(__value);
11098  return *this;
11099       }
11100
11101
11102       back_insert_iterator&
11103       operator*()
11104       { return *this; }
11105
11106
11107       back_insert_iterator&
11108       operator++()
11109       { return *this; }
11110
11111
11112       back_insert_iterator
11113       operator++(int)
11114       { return *this; }
11115     };
11116 # 442 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
11117   template<typename _Container>
11118     inline back_insert_iterator<_Container>
11119     back_inserter(_Container& __x)
11120     { return back_insert_iterator<_Container>(__x); }
11121 # 457 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
11122   template<typename _Container>
11123     class front_insert_iterator
11124     : public iterator<output_iterator_tag, void, void, void, void>
11125     {
11126     protected:
11127       _Container* container;
11128
11129     public:
11130
11131       typedef _Container container_type;
11132
11133
11134       explicit front_insert_iterator(_Container& __x) : container(&__x) { }
11135 # 482 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
11136       front_insert_iterator&
11137       operator=(typename _Container::const_reference __value)
11138       {
11139  container->push_front(__value);
11140  return *this;
11141       }
11142
11143
11144       front_insert_iterator&
11145       operator*()
11146       { return *this; }
11147
11148
11149       front_insert_iterator&
11150       operator++()
11151       { return *this; }
11152
11153
11154       front_insert_iterator
11155       operator++(int)
11156       { return *this; }
11157     };
11158 # 516 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
11159   template<typename _Container>
11160     inline front_insert_iterator<_Container>
11161     front_inserter(_Container& __x)
11162     { return front_insert_iterator<_Container>(__x); }
11163 # 535 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
11164   template<typename _Container>
11165     class insert_iterator
11166     : public iterator<output_iterator_tag, void, void, void, void>
11167     {
11168     protected:
11169       _Container* container;
11170       typename _Container::iterator iter;
11171
11172     public:
11173
11174       typedef _Container container_type;
11175
11176
11177
11178
11179
11180       insert_iterator(_Container& __x, typename _Container::iterator __i)
11181       : container(&__x), iter(__i) {}
11182 # 577 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
11183       insert_iterator&
11184       operator=(const typename _Container::const_reference __value)
11185       {
11186  iter = container->insert(iter, __value);
11187  ++iter;
11188  return *this;
11189       }
11190
11191
11192       insert_iterator&
11193       operator*()
11194       { return *this; }
11195
11196
11197       insert_iterator&
11198       operator++()
11199       { return *this; }
11200
11201
11202       insert_iterator&
11203       operator++(int)
11204       { return *this; }
11205     };
11206 # 612 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
11207   template<typename _Container, typename _Iterator>
11208     inline insert_iterator<_Container>
11209     inserter(_Container& __x, _Iterator __i)
11210     {
11211       return insert_iterator<_Container>(__x,
11212       typename _Container::iterator(__i));
11213     }
11214 }
11215
11216 namespace __gnu_cxx
11217 {
11218
11219
11220
11221
11222
11223
11224
11225   using std::iterator_traits;
11226   using std::iterator;
11227   template<typename _Iterator, typename _Container>
11228     class __normal_iterator
11229     {
11230     protected:
11231       _Iterator _M_current;
11232
11233     public:
11234       typedef typename iterator_traits<_Iterator>::iterator_category
11235                                                              iterator_category;
11236       typedef typename iterator_traits<_Iterator>::value_type value_type;
11237       typedef typename iterator_traits<_Iterator>::difference_type
11238                                                              difference_type;
11239       typedef typename iterator_traits<_Iterator>::reference reference;
11240       typedef typename iterator_traits<_Iterator>::pointer pointer;
11241
11242       __normal_iterator() : _M_current(_Iterator()) { }
11243
11244       explicit
11245       __normal_iterator(const _Iterator& __i) : _M_current(__i) { }
11246
11247
11248       template<typename _Iter>
11249         __normal_iterator(const __normal_iterator<_Iter,
11250      typename std::__enable_if<_Container,
11251      (std::__are_same<_Iter,
11252       typename _Container::pointer>::__value)
11253      >::__type>& __i)
11254         : _M_current(__i.base()) { }
11255
11256
11257       reference
11258       operator*() const
11259       { return *_M_current; }
11260
11261       pointer
11262       operator->() const
11263       { return _M_current; }
11264
11265       __normal_iterator&
11266       operator++()
11267       {
11268  ++_M_current;
11269  return *this;
11270       }
11271
11272       __normal_iterator
11273       operator++(int)
11274       { return __normal_iterator(_M_current++); }
11275
11276
11277       __normal_iterator&
11278       operator--()
11279       {
11280  --_M_current;
11281  return *this;
11282       }
11283
11284       __normal_iterator
11285       operator--(int)
11286       { return __normal_iterator(_M_current--); }
11287
11288
11289       reference
11290       operator[](const difference_type& __n) const
11291       { return _M_current[__n]; }
11292
11293       __normal_iterator&
11294       operator+=(const difference_type& __n)
11295       { _M_current += __n; return *this; }
11296
11297       __normal_iterator
11298       operator+(const difference_type& __n) const
11299       { return __normal_iterator(_M_current + __n); }
11300
11301       __normal_iterator&
11302       operator-=(const difference_type& __n)
11303       { _M_current -= __n; return *this; }
11304
11305       __normal_iterator
11306       operator-(const difference_type& __n) const
11307       { return __normal_iterator(_M_current - __n); }
11308
11309       const _Iterator&
11310       base() const
11311       { return _M_current; }
11312     };
11313 # 728 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h" 3
11314   template<typename _IteratorL, typename _IteratorR, typename _Container>
11315     inline bool
11316     operator==(const __normal_iterator<_IteratorL, _Container>& __lhs,
11317         const __normal_iterator<_IteratorR, _Container>& __rhs)
11318     { return __lhs.base() == __rhs.base(); }
11319
11320   template<typename _Iterator, typename _Container>
11321     inline bool
11322     operator==(const __normal_iterator<_Iterator, _Container>& __lhs,
11323         const __normal_iterator<_Iterator, _Container>& __rhs)
11324     { return __lhs.base() == __rhs.base(); }
11325
11326   template<typename _IteratorL, typename _IteratorR, typename _Container>
11327     inline bool
11328     operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
11329         const __normal_iterator<_IteratorR, _Container>& __rhs)
11330     { return __lhs.base() != __rhs.base(); }
11331
11332   template<typename _Iterator, typename _Container>
11333     inline bool
11334     operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
11335         const __normal_iterator<_Iterator, _Container>& __rhs)
11336     { return __lhs.base() != __rhs.base(); }
11337
11338
11339   template<typename _IteratorL, typename _IteratorR, typename _Container>
11340     inline bool
11341     operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
11342        const __normal_iterator<_IteratorR, _Container>& __rhs)
11343     { return __lhs.base() < __rhs.base(); }
11344
11345   template<typename _Iterator, typename _Container>
11346     inline bool
11347     operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
11348        const __normal_iterator<_Iterator, _Container>& __rhs)
11349     { return __lhs.base() < __rhs.base(); }
11350
11351   template<typename _IteratorL, typename _IteratorR, typename _Container>
11352     inline bool
11353     operator>(const __normal_iterator<_IteratorL, _Container>& __lhs,
11354        const __normal_iterator<_IteratorR, _Container>& __rhs)
11355     { return __lhs.base() > __rhs.base(); }
11356
11357   template<typename _Iterator, typename _Container>
11358     inline bool
11359     operator>(const __normal_iterator<_Iterator, _Container>& __lhs,
11360        const __normal_iterator<_Iterator, _Container>& __rhs)
11361     { return __lhs.base() > __rhs.base(); }
11362
11363   template<typename _IteratorL, typename _IteratorR, typename _Container>
11364     inline bool
11365     operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs,
11366         const __normal_iterator<_IteratorR, _Container>& __rhs)
11367     { return __lhs.base() <= __rhs.base(); }
11368
11369   template<typename _Iterator, typename _Container>
11370     inline bool
11371     operator<=(const __normal_iterator<_Iterator, _Container>& __lhs,
11372         const __normal_iterator<_Iterator, _Container>& __rhs)
11373     { return __lhs.base() <= __rhs.base(); }
11374
11375   template<typename _IteratorL, typename _IteratorR, typename _Container>
11376     inline bool
11377     operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs,
11378         const __normal_iterator<_IteratorR, _Container>& __rhs)
11379     { return __lhs.base() >= __rhs.base(); }
11380
11381   template<typename _Iterator, typename _Container>
11382     inline bool
11383     operator>=(const __normal_iterator<_Iterator, _Container>& __lhs,
11384         const __normal_iterator<_Iterator, _Container>& __rhs)
11385     { return __lhs.base() >= __rhs.base(); }
11386
11387
11388
11389
11390
11391   template<typename _IteratorL, typename _IteratorR, typename _Container>
11392     inline typename __normal_iterator<_IteratorL, _Container>::difference_type
11393     operator-(const __normal_iterator<_IteratorL, _Container>& __lhs,
11394        const __normal_iterator<_IteratorR, _Container>& __rhs)
11395     { return __lhs.base() - __rhs.base(); }
11396
11397   template<typename _Iterator, typename _Container>
11398     inline __normal_iterator<_Iterator, _Container>
11399     operator+(typename __normal_iterator<_Iterator, _Container>::difference_type
11400        __n, const __normal_iterator<_Iterator, _Container>& __i)
11401     { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); }
11402 }
11403 # 75 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 2 3
11404
11405 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/debug/debug.h" 1 3
11406 # 77 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 2 3
11407
11408 namespace std
11409 {
11410 # 90 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
11411   template<typename _Tp>
11412     inline void
11413     swap(_Tp& __a, _Tp& __b)
11414     {
11415
11416      
11417
11418       _Tp __tmp = __a;
11419       __a = __b;
11420       __b = __tmp;
11421     }
11422
11423
11424
11425
11426   template<bool _BoolType>
11427     struct __iter_swap
11428     {
11429       template<typename _ForwardIterator1, typename _ForwardIterator2>
11430         static void
11431         iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
11432         {
11433           typedef typename iterator_traits<_ForwardIterator1>::value_type
11434             _ValueType1;
11435           _ValueType1 __tmp = *__a;
11436           *__a = *__b;
11437           *__b = __tmp;
11438  }
11439     };
11440
11441   template<>
11442     struct __iter_swap<true>
11443     {
11444       template<typename _ForwardIterator1, typename _ForwardIterator2>
11445         static void
11446         iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
11447         {
11448           swap(*__a, *__b);
11449         }
11450     };
11451 # 140 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
11452   template<typename _ForwardIterator1, typename _ForwardIterator2>
11453     inline void
11454     iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
11455     {
11456       typedef typename iterator_traits<_ForwardIterator1>::value_type
11457  _ValueType1;
11458       typedef typename iterator_traits<_ForwardIterator2>::value_type
11459  _ValueType2;
11460
11461
11462      
11463
11464      
11465
11466      
11467
11468      
11469
11470
11471       typedef typename iterator_traits<_ForwardIterator1>::reference
11472  _ReferenceType1;
11473       typedef typename iterator_traits<_ForwardIterator2>::reference
11474  _ReferenceType2;
11475       std::__iter_swap<__are_same<_ValueType1, _ValueType2>::__value &&
11476  __are_same<_ValueType1 &, _ReferenceType1>::__value &&
11477  __are_same<_ValueType2 &, _ReferenceType2>::__value>::
11478  iter_swap(__a, __b);
11479     }
11480 # 182 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
11481   template<typename _Tp>
11482     inline const _Tp&
11483     min(const _Tp& __a, const _Tp& __b)
11484     {
11485
11486      
11487
11488       if (__b < __a)
11489  return __b;
11490       return __a;
11491     }
11492 # 204 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
11493   template<typename _Tp>
11494     inline const _Tp&
11495     max(const _Tp& __a, const _Tp& __b)
11496     {
11497
11498      
11499
11500       if (__a < __b)
11501  return __b;
11502       return __a;
11503     }
11504 # 226 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
11505   template<typename _Tp, typename _Compare>
11506     inline const _Tp&
11507     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
11508     {
11509
11510       if (__comp(__b, __a))
11511  return __b;
11512       return __a;
11513     }
11514 # 246 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
11515   template<typename _Tp, typename _Compare>
11516     inline const _Tp&
11517     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
11518     {
11519
11520       if (__comp(__a, __b))
11521  return __b;
11522       return __a;
11523     }
11524
11525
11526
11527
11528
11529
11530
11531   template<bool, typename>
11532     struct __copy
11533     {
11534       template<typename _II, typename _OI>
11535         static _OI
11536         copy(_II __first, _II __last, _OI __result)
11537         {
11538    for (; __first != __last; ++__result, ++__first)
11539      *__result = *__first;
11540    return __result;
11541  }
11542     };
11543
11544   template<bool _BoolType>
11545     struct __copy<_BoolType, random_access_iterator_tag>
11546     {
11547       template<typename _II, typename _OI>
11548         static _OI
11549         copy(_II __first, _II __last, _OI __result)
11550         {
11551    typedef typename iterator_traits<_II>::difference_type _Distance;
11552    for(_Distance __n = __last - __first; __n > 0; --__n)
11553      {
11554        *__result = *__first;
11555        ++__first;
11556        ++__result;
11557      }
11558    return __result;
11559  }
11560     };
11561
11562   template<>
11563     struct __copy<true, random_access_iterator_tag>
11564     {
11565       template<typename _Tp>
11566         static _Tp*
11567         copy(const _Tp* __first, const _Tp* __last, _Tp* __result)
11568         {
11569    std::memmove(__result, __first, sizeof(_Tp) * (__last - __first));
11570    return __result + (__last - __first);
11571  }
11572     };
11573
11574   template<typename _II, typename _OI>
11575     inline _OI
11576     __copy_aux(_II __first, _II __last, _OI __result)
11577     {
11578       typedef typename iterator_traits<_II>::value_type _ValueTypeI;
11579       typedef typename iterator_traits<_OI>::value_type _ValueTypeO;
11580       typedef typename iterator_traits<_II>::iterator_category _Category;
11581       const bool __simple = (__is_scalar<_ValueTypeI>::__value
11582                       && __is_pointer<_II>::__value
11583                       && __is_pointer<_OI>::__value
11584         && __are_same<_ValueTypeI, _ValueTypeO>::__value);
11585
11586       return std::__copy<__simple, _Category>::copy(__first, __last, __result);
11587     }
11588
11589   template<bool, bool>
11590     struct __copy_normal
11591     {
11592       template<typename _II, typename _OI>
11593         static _OI
11594         copy_n(_II __first, _II __last, _OI __result)
11595         { return std::__copy_aux(__first, __last, __result); }
11596     };
11597
11598   template<>
11599     struct __copy_normal<true, false>
11600     {
11601       template<typename _II, typename _OI>
11602         static _OI
11603         copy_n(_II __first, _II __last, _OI __result)
11604         { return std::__copy_aux(__first.base(), __last.base(), __result); }
11605     };
11606
11607   template<>
11608     struct __copy_normal<false, true>
11609     {
11610       template<typename _II, typename _OI>
11611         static _OI
11612         copy_n(_II __first, _II __last, _OI __result)
11613         { return _OI(std::__copy_aux(__first, __last, __result.base())); }
11614     };
11615
11616   template<>
11617     struct __copy_normal<true, true>
11618     {
11619       template<typename _II, typename _OI>
11620         static _OI
11621         copy_n(_II __first, _II __last, _OI __result)
11622         { return _OI(std::__copy_aux(__first.base(), __last.base(),
11623          __result.base())); }
11624     };
11625 # 373 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
11626   template<typename _InputIterator, typename _OutputIterator>
11627     inline _OutputIterator
11628     copy(_InputIterator __first, _InputIterator __last,
11629   _OutputIterator __result)
11630     {
11631
11632      
11633      
11634
11635       ;
11636
11637        const bool __in = __is_normal_iterator<_InputIterator>::__value;
11638        const bool __out = __is_normal_iterator<_OutputIterator>::__value;
11639        return std::__copy_normal<__in, __out>::copy_n(__first, __last,
11640             __result);
11641     }
11642
11643   template<bool, typename>
11644     struct __copy_backward
11645     {
11646       template<typename _BI1, typename _BI2>
11647         static _BI2
11648         copy_b(_BI1 __first, _BI1 __last, _BI2 __result)
11649         {
11650    while (__first != __last)
11651      *--__result = *--__last;
11652    return __result;
11653  }
11654     };
11655
11656   template<bool _BoolType>
11657     struct __copy_backward<_BoolType, random_access_iterator_tag>
11658     {
11659       template<typename _BI1, typename _BI2>
11660         static _BI2
11661         copy_b(_BI1 __first, _BI1 __last, _BI2 __result)
11662         {
11663    typename iterator_traits<_BI1>::difference_type __n;
11664    for (__n = __last - __first; __n > 0; --__n)
11665      *--__result = *--__last;
11666    return __result;
11667  }
11668     };
11669
11670   template<>
11671     struct __copy_backward<true, random_access_iterator_tag>
11672     {
11673       template<typename _Tp>
11674         static _Tp*
11675         copy_b(const _Tp* __first, const _Tp* __last, _Tp* __result)
11676         {
11677    const ptrdiff_t _Num = __last - __first;
11678    std::memmove(__result - _Num, __first, sizeof(_Tp) * _Num);
11679    return __result - _Num;
11680  }
11681     };
11682
11683   template<typename _BI1, typename _BI2>
11684     inline _BI2
11685     __copy_backward_aux(_BI1 __first, _BI1 __last, _BI2 __result)
11686     {
11687       typedef typename iterator_traits<_BI1>::value_type _ValueType1;
11688       typedef typename iterator_traits<_BI2>::value_type _ValueType2;
11689       typedef typename iterator_traits<_BI1>::iterator_category _Category;
11690       const bool __simple = (__is_scalar<_ValueType1>::__value
11691                       && __is_pointer<_BI1>::__value
11692                       && __is_pointer<_BI2>::__value
11693         && __are_same<_ValueType1, _ValueType2>::__value);
11694
11695       return std::__copy_backward<__simple, _Category>::copy_b(__first, __last,
11696               __result);
11697     }
11698
11699   template<bool, bool>
11700     struct __copy_backward_normal
11701     {
11702       template<typename _BI1, typename _BI2>
11703         static _BI2
11704         copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result)
11705         { return std::__copy_backward_aux(__first, __last, __result); }
11706     };
11707
11708   template<>
11709     struct __copy_backward_normal<true, false>
11710     {
11711       template<typename _BI1, typename _BI2>
11712         static _BI2
11713         copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result)
11714         { return std::__copy_backward_aux(__first.base(), __last.base(),
11715        __result); }
11716     };
11717
11718   template<>
11719     struct __copy_backward_normal<false, true>
11720     {
11721       template<typename _BI1, typename _BI2>
11722         static _BI2
11723         copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result)
11724         { return _BI2(std::__copy_backward_aux(__first, __last,
11725             __result.base())); }
11726     };
11727
11728   template<>
11729     struct __copy_backward_normal<true, true>
11730     {
11731       template<typename _BI1, typename _BI2>
11732         static _BI2
11733         copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result)
11734         { return _BI2(std::__copy_backward_aux(__first.base(), __last.base(),
11735             __result.base())); }
11736     };
11737 # 502 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
11738   template <typename _BI1, typename _BI2>
11739     inline _BI2
11740     copy_backward(_BI1 __first, _BI1 __last, _BI2 __result)
11741     {
11742
11743      
11744      
11745      
11746
11747
11748       ;
11749
11750       const bool __bi1 = __is_normal_iterator<_BI1>::__value;
11751       const bool __bi2 = __is_normal_iterator<_BI2>::__value;
11752       return std::__copy_backward_normal<__bi1, __bi2>::copy_b_n(__first, __last,
11753          __result);
11754     }
11755
11756   template<bool>
11757     struct __fill
11758     {
11759       template<typename _ForwardIterator, typename _Tp>
11760         static void
11761         fill(_ForwardIterator __first, _ForwardIterator __last,
11762       const _Tp& __value)
11763         {
11764    for (; __first != __last; ++__first)
11765      *__first = __value;
11766  }
11767     };
11768
11769   template<>
11770     struct __fill<true>
11771     {
11772       template<typename _ForwardIterator, typename _Tp>
11773         static void
11774         fill(_ForwardIterator __first, _ForwardIterator __last,
11775       const _Tp& __value)
11776         {
11777    const _Tp __tmp = __value;
11778    for (; __first != __last; ++__first)
11779      *__first = __tmp;
11780  }
11781     };
11782 # 558 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
11783   template<typename _ForwardIterator, typename _Tp>
11784     void
11785     fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value)
11786     {
11787
11788      
11789
11790       ;
11791
11792       const bool __scalar = __is_scalar<_Tp>::__value;
11793       std::__fill<__scalar>::fill(__first, __last, __value);
11794     }
11795
11796
11797   inline void
11798   fill(unsigned char* __first, unsigned char* __last, const unsigned char& __c)
11799   {
11800     ;
11801     const unsigned char __tmp = __c;
11802     std::memset(__first, __tmp, __last - __first);
11803   }
11804
11805   inline void
11806   fill(signed char* __first, signed char* __last, const signed char& __c)
11807   {
11808     ;
11809     const signed char __tmp = __c;
11810     std::memset(__first, static_cast<unsigned char>(__tmp), __last - __first);
11811   }
11812
11813   inline void
11814   fill(char* __first, char* __last, const char& __c)
11815   {
11816     ;
11817     const char __tmp = __c;
11818     std::memset(__first, static_cast<unsigned char>(__tmp), __last - __first);
11819   }
11820
11821   template<bool>
11822     struct __fill_n
11823     {
11824       template<typename _OutputIterator, typename _Size, typename _Tp>
11825         static _OutputIterator
11826         fill_n(_OutputIterator __first, _Size __n, const _Tp& __value)
11827         {
11828    for (; __n > 0; --__n, ++__first)
11829      *__first = __value;
11830    return __first;
11831  }
11832     };
11833
11834   template<>
11835     struct __fill_n<true>
11836     {
11837       template<typename _OutputIterator, typename _Size, typename _Tp>
11838         static _OutputIterator
11839         fill_n(_OutputIterator __first, _Size __n, const _Tp& __value)
11840         {
11841    const _Tp __tmp = __value;
11842    for (; __n > 0; --__n, ++__first)
11843      *__first = __tmp;
11844    return __first;
11845  }
11846     };
11847 # 634 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
11848   template<typename _OutputIterator, typename _Size, typename _Tp>
11849     _OutputIterator
11850     fill_n(_OutputIterator __first, _Size __n, const _Tp& __value)
11851     {
11852
11853      
11854
11855       const bool __scalar = __is_scalar<_Tp>::__value;
11856       return std::__fill_n<__scalar>::fill_n(__first, __n, __value);
11857     }
11858
11859   template<typename _Size>
11860     inline unsigned char*
11861     fill_n(unsigned char* __first, _Size __n, const unsigned char& __c)
11862     {
11863       std::fill(__first, __first + __n, __c);
11864       return __first + __n;
11865     }
11866
11867   template<typename _Size>
11868     inline signed char*
11869     fill_n(char* __first, _Size __n, const signed char& __c)
11870     {
11871       std::fill(__first, __first + __n, __c);
11872       return __first + __n;
11873     }
11874
11875   template<typename _Size>
11876     inline char*
11877     fill_n(char* __first, _Size __n, const char& __c)
11878     {
11879       std::fill(__first, __first + __n, __c);
11880       return __first + __n;
11881     }
11882 # 681 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
11883   template<typename _InputIterator1, typename _InputIterator2>
11884     pair<_InputIterator1, _InputIterator2>
11885     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
11886       _InputIterator2 __first2)
11887     {
11888
11889      
11890      
11891      
11892
11893
11894       ;
11895
11896       while (__first1 != __last1 && *__first1 == *__first2)
11897         {
11898    ++__first1;
11899    ++__first2;
11900         }
11901       return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
11902     }
11903 # 716 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
11904   template<typename _InputIterator1, typename _InputIterator2,
11905     typename _BinaryPredicate>
11906     pair<_InputIterator1, _InputIterator2>
11907     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
11908       _InputIterator2 __first2, _BinaryPredicate __binary_pred)
11909     {
11910
11911      
11912      
11913       ;
11914
11915       while (__first1 != __last1 && __binary_pred(*__first1, *__first2))
11916         {
11917    ++__first1;
11918    ++__first2;
11919         }
11920       return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
11921     }
11922 # 746 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
11923   template<typename _InputIterator1, typename _InputIterator2>
11924     inline bool
11925     equal(_InputIterator1 __first1, _InputIterator1 __last1,
11926    _InputIterator2 __first2)
11927     {
11928
11929      
11930      
11931      
11932
11933
11934       ;
11935
11936       for (; __first1 != __last1; ++__first1, ++__first2)
11937  if (!(*__first1 == *__first2))
11938    return false;
11939       return true;
11940     }
11941 # 778 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
11942   template<typename _InputIterator1, typename _InputIterator2,
11943     typename _BinaryPredicate>
11944     inline bool
11945     equal(_InputIterator1 __first1, _InputIterator1 __last1,
11946    _InputIterator2 __first2,
11947    _BinaryPredicate __binary_pred)
11948     {
11949
11950      
11951      
11952       ;
11953
11954       for (; __first1 != __last1; ++__first1, ++__first2)
11955  if (!__binary_pred(*__first1, *__first2))
11956    return false;
11957       return true;
11958     }
11959 # 810 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
11960   template<typename _InputIterator1, typename _InputIterator2>
11961     bool
11962     lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
11963        _InputIterator2 __first2, _InputIterator2 __last2)
11964     {
11965
11966      
11967      
11968      
11969
11970
11971      
11972
11973
11974       ;
11975       ;
11976
11977       for (; __first1 != __last1 && __first2 != __last2;
11978     ++__first1, ++__first2)
11979  {
11980    if (*__first1 < *__first2)
11981      return true;
11982    if (*__first2 < *__first1)
11983      return false;
11984  }
11985       return __first1 == __last1 && __first2 != __last2;
11986     }
11987 # 850 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h" 3
11988   template<typename _InputIterator1, typename _InputIterator2,
11989     typename _Compare>
11990     bool
11991     lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
11992        _InputIterator2 __first2, _InputIterator2 __last2,
11993        _Compare __comp)
11994     {
11995
11996      
11997      
11998       ;
11999       ;
12000
12001       for (; __first1 != __last1 && __first2 != __last2;
12002     ++__first1, ++__first2)
12003  {
12004    if (__comp(*__first1, *__first2))
12005      return true;
12006    if (__comp(*__first2, *__first1))
12007      return false;
12008  }
12009       return __first1 == __last1 && __first2 != __last2;
12010     }
12011
12012   inline bool
12013   lexicographical_compare(const unsigned char* __first1,
12014      const unsigned char* __last1,
12015      const unsigned char* __first2,
12016      const unsigned char* __last2)
12017   {
12018     ;
12019     ;
12020
12021     const size_t __len1 = __last1 - __first1;
12022     const size_t __len2 = __last2 - __first2;
12023     const int __result = std::memcmp(__first1, __first2,
12024          std::min(__len1, __len2));
12025     return __result != 0 ? __result < 0 : __len1 < __len2;
12026   }
12027
12028   inline bool
12029   lexicographical_compare(const char* __first1, const char* __last1,
12030      const char* __first2, const char* __last2)
12031   {
12032     ;
12033     ;
12034
12035
12036     return std::lexicographical_compare((const signed char*) __first1,
12037      (const signed char*) __last1,
12038      (const signed char*) __first2,
12039      (const signed char*) __last2);
12040
12041
12042
12043
12044
12045
12046   }
12047
12048 }
12049 # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h" 2 3
12050
12051
12052 namespace __gnu_cxx
12053 {
12054 # 61 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h" 3
12055   template <class _CharT>
12056     struct _Char_types
12057     {
12058       typedef unsigned long int_type;
12059       typedef std::streampos pos_type;
12060       typedef std::streamoff off_type;
12061       typedef std::mbstate_t state_type;
12062     };
12063 # 86 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h" 3
12064   template<typename _CharT>
12065     struct char_traits
12066     {
12067       typedef _CharT char_type;
12068       typedef typename _Char_types<_CharT>::int_type int_type;
12069       typedef typename _Char_types<_CharT>::pos_type pos_type;
12070       typedef typename _Char_types<_CharT>::off_type off_type;
12071       typedef typename _Char_types<_CharT>::state_type state_type;
12072
12073       static void
12074       assign(char_type& __c1, const char_type& __c2)
12075       { __c1 = __c2; }
12076
12077       static bool
12078       eq(const char_type& __c1, const char_type& __c2)
12079       { return __c1 == __c2; }
12080
12081       static bool
12082       lt(const char_type& __c1, const char_type& __c2)
12083       { return __c1 < __c2; }
12084
12085       static int
12086       compare(const char_type* __s1, const char_type* __s2, std::size_t __n);
12087
12088       static std::size_t
12089       length(const char_type* __s);
12090
12091       static const char_type*
12092       find(const char_type* __s, std::size_t __n, const char_type& __a);
12093
12094       static char_type*
12095       move(char_type* __s1, const char_type* __s2, std::size_t __n);
12096
12097       static char_type*
12098       copy(char_type* __s1, const char_type* __s2, std::size_t __n);
12099
12100       static char_type*
12101       assign(char_type* __s, std::size_t __n, char_type __a);
12102
12103       static char_type
12104       to_char_type(const int_type& __c)
12105       { return static_cast<char_type>(__c); }
12106
12107       static int_type
12108       to_int_type(const char_type& __c)
12109       { return static_cast<int_type>(__c); }
12110
12111       static bool
12112       eq_int_type(const int_type& __c1, const int_type& __c2)
12113       { return __c1 == __c2; }
12114
12115       static int_type
12116       eof()
12117       { return static_cast<int_type>((-1)); }
12118
12119       static int_type
12120       not_eof(const int_type& __c)
12121       { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); }
12122     };
12123
12124   template<typename _CharT>
12125     int
12126     char_traits<_CharT>::
12127     compare(const char_type* __s1, const char_type* __s2, std::size_t __n)
12128     {
12129       for (size_t __i = 0; __i < __n; ++__i)
12130  if (lt(__s1[__i], __s2[__i]))
12131    return -1;
12132  else if (lt(__s2[__i], __s1[__i]))
12133    return 1;
12134       return 0;
12135     }
12136
12137   template<typename _CharT>
12138     std::size_t
12139     char_traits<_CharT>::
12140     length(const char_type* __p)
12141     {
12142       std::size_t __i = 0;
12143       while (!eq(__p[__i], char_type()))
12144         ++__i;
12145       return __i;
12146     }
12147
12148   template<typename _CharT>
12149     const typename char_traits<_CharT>::char_type*
12150     char_traits<_CharT>::
12151     find(const char_type* __s, std::size_t __n, const char_type& __a)
12152     {
12153       for (std::size_t __i = 0; __i < __n; ++__i)
12154         if (eq(__s[__i], __a))
12155           return __s + __i;
12156       return 0;
12157     }
12158
12159   template<typename _CharT>
12160     typename char_traits<_CharT>::char_type*
12161     char_traits<_CharT>::
12162     move(char_type* __s1, const char_type* __s2, std::size_t __n)
12163     {
12164       return static_cast<_CharT*>(std::memmove(__s1, __s2,
12165             __n * sizeof(char_type)));
12166     }
12167
12168   template<typename _CharT>
12169     typename char_traits<_CharT>::char_type*
12170     char_traits<_CharT>::
12171     copy(char_type* __s1, const char_type* __s2, std::size_t __n)
12172     {
12173       std::copy(__s2, __s2 + __n, __s1);
12174       return __s1;
12175     }
12176
12177   template<typename _CharT>
12178     typename char_traits<_CharT>::char_type*
12179     char_traits<_CharT>::
12180     assign(char_type* __s, std::size_t __n, char_type __a)
12181     {
12182       std::fill_n(__s, __n, __a);
12183       return __s;
12184     }
12185 }
12186
12187 namespace std
12188 {
12189 # 224 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h" 3
12190   template<class _CharT>
12191     struct char_traits : public __gnu_cxx::char_traits<_CharT>
12192     { };
12193
12194
12195
12196   template<>
12197     struct char_traits<char>
12198     {
12199       typedef char char_type;
12200       typedef int int_type;
12201       typedef streampos pos_type;
12202       typedef streamoff off_type;
12203       typedef mbstate_t state_type;
12204
12205       static void
12206       assign(char_type& __c1, const char_type& __c2)
12207       { __c1 = __c2; }
12208
12209       static bool
12210       eq(const char_type& __c1, const char_type& __c2)
12211       { return __c1 == __c2; }
12212
12213       static bool
12214       lt(const char_type& __c1, const char_type& __c2)
12215       { return __c1 < __c2; }
12216
12217       static int
12218       compare(const char_type* __s1, const char_type* __s2, size_t __n)
12219       { return memcmp(__s1, __s2, __n); }
12220
12221       static size_t
12222       length(const char_type* __s)
12223       { return strlen(__s); }
12224
12225       static const char_type*
12226       find(const char_type* __s, size_t __n, const char_type& __a)
12227       { return static_cast<const char_type*>(memchr(__s, __a, __n)); }
12228
12229       static char_type*
12230       move(char_type* __s1, const char_type* __s2, size_t __n)
12231       { return static_cast<char_type*>(memmove(__s1, __s2, __n)); }
12232
12233       static char_type*
12234       copy(char_type* __s1, const char_type* __s2, size_t __n)
12235       { return static_cast<char_type*>(memcpy(__s1, __s2, __n)); }
12236
12237       static char_type*
12238       assign(char_type* __s, size_t __n, char_type __a)
12239       { return static_cast<char_type*>(memset(__s, __a, __n)); }
12240
12241       static char_type
12242       to_char_type(const int_type& __c)
12243       { return static_cast<char_type>(__c); }
12244
12245
12246
12247       static int_type
12248       to_int_type(const char_type& __c)
12249       { return static_cast<int_type>(static_cast<unsigned char>(__c)); }
12250
12251       static bool
12252       eq_int_type(const int_type& __c1, const int_type& __c2)
12253       { return __c1 == __c2; }
12254
12255       static int_type
12256       eof() { return static_cast<int_type>((-1)); }
12257
12258       static int_type
12259       not_eof(const int_type& __c)
12260       { return (__c == eof()) ? 0 : __c; }
12261   };
12262
12263
12264
12265
12266   template<>
12267     struct char_traits<wchar_t>
12268     {
12269       typedef wchar_t char_type;
12270       typedef wint_t int_type;
12271       typedef streamoff off_type;
12272       typedef wstreampos pos_type;
12273       typedef mbstate_t state_type;
12274
12275       static void
12276       assign(char_type& __c1, const char_type& __c2)
12277       { __c1 = __c2; }
12278
12279       static bool
12280       eq(const char_type& __c1, const char_type& __c2)
12281       { return __c1 == __c2; }
12282
12283       static bool
12284       lt(const char_type& __c1, const char_type& __c2)
12285       { return __c1 < __c2; }
12286
12287       static int
12288       compare(const char_type* __s1, const char_type* __s2, size_t __n)
12289       { return wmemcmp(__s1, __s2, __n); }
12290
12291       static size_t
12292       length(const char_type* __s)
12293       { return wcslen(__s); }
12294
12295       static const char_type*
12296       find(const char_type* __s, size_t __n, const char_type& __a)
12297       { return wmemchr(__s, __a, __n); }
12298
12299       static char_type*
12300       move(char_type* __s1, const char_type* __s2, size_t __n)
12301       { return wmemmove(__s1, __s2, __n); }
12302
12303       static char_type*
12304       copy(char_type* __s1, const char_type* __s2, size_t __n)
12305       { return wmemcpy(__s1, __s2, __n); }
12306
12307       static char_type*
12308       assign(char_type* __s, size_t __n, char_type __a)
12309       { return wmemset(__s, __a, __n); }
12310
12311       static char_type
12312       to_char_type(const int_type& __c) { return char_type(__c); }
12313
12314       static int_type
12315       to_int_type(const char_type& __c) { return int_type(__c); }
12316
12317       static bool
12318       eq_int_type(const int_type& __c1, const int_type& __c2)
12319       { return __c1 == __c2; }
12320
12321       static int_type
12322       eof() { return static_cast<int_type>((0xffffffffu)); }
12323
12324       static int_type
12325       not_eof(const int_type& __c)
12326       { return eq_int_type(__c, eof()) ? 0 : __c; }
12327   };
12328
12329
12330 }
12331 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/string" 2 3
12332 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 1 3
12333 # 51 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
12334        
12335 # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
12336 #pragma GCC visibility push(default)
12337
12338
12339 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/allocator.h" 1 3
12340 # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/allocator.h" 3
12341 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++allocator.h" 1 3
12342 # 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++allocator.h" 3
12343 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ext/new_allocator.h" 1 3
12344 # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ext/new_allocator.h" 3
12345 #pragma GCC visibility push(default)
12346
12347 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/new" 1 3
12348 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/new" 3
12349 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/exception" 1 3
12350 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/exception" 3
12351 #pragma GCC visibility push(default)
12352
12353 extern "C++" {
12354
12355 namespace std
12356 {
12357 # 54 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/exception" 3
12358   class exception
12359   {
12360   public:
12361     exception() throw() { }
12362     virtual ~exception() throw();
12363
12364
12365     virtual const char* what() const throw();
12366   };
12367
12368
12369
12370   class bad_exception : public exception
12371   {
12372   public:
12373     bad_exception() throw() { }
12374
12375
12376     virtual ~bad_exception() throw();
12377   };
12378
12379
12380   typedef void (*terminate_handler) ();
12381
12382   typedef void (*unexpected_handler) ();
12383
12384
12385   terminate_handler set_terminate(terminate_handler) throw();
12386
12387
12388   void terminate() __attribute__ ((__noreturn__));
12389
12390
12391   unexpected_handler set_unexpected(unexpected_handler) throw();
12392
12393
12394   void unexpected() __attribute__ ((__noreturn__));
12395 # 102 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/exception" 3
12396   bool uncaught_exception() throw();
12397 }
12398
12399 namespace __gnu_cxx
12400 {
12401 # 117 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/exception" 3
12402   void __verbose_terminate_handler ();
12403 }
12404
12405 }
12406
12407 #pragma GCC visibility pop
12408 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/new" 2 3
12409
12410 #pragma GCC visibility push(default)
12411
12412 extern "C++" {
12413
12414 namespace std
12415 {
12416
12417
12418
12419
12420
12421   class bad_alloc : public exception
12422   {
12423   public:
12424     bad_alloc() throw() { }
12425
12426
12427     virtual ~bad_alloc() throw();
12428   };
12429
12430   struct nothrow_t { };
12431   extern const nothrow_t nothrow;
12432
12433
12434   typedef void (*new_handler)();
12435
12436   new_handler set_new_handler(new_handler) throw();
12437 }
12438 # 84 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/new" 3
12439 void* operator new(std::size_t) throw (std::bad_alloc);
12440 void* operator new[](std::size_t) throw (std::bad_alloc);
12441 void operator delete(void*) throw();
12442 void operator delete[](void*) throw();
12443 void* operator new(std::size_t, const std::nothrow_t&) throw();
12444 void* operator new[](std::size_t, const std::nothrow_t&) throw();
12445 void operator delete(void*, const std::nothrow_t&) throw();
12446 void operator delete[](void*, const std::nothrow_t&) throw();
12447
12448
12449 inline void* operator new(std::size_t, void* __p) throw() { return __p; }
12450 inline void* operator new[](std::size_t, void* __p) throw() { return __p; }
12451
12452
12453 inline void operator delete (void*, void*) throw() { }
12454 inline void operator delete[](void*, void*) throw() { }
12455
12456 }
12457
12458 #pragma GCC visibility pop
12459 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ext/new_allocator.h" 2 3
12460
12461
12462 namespace __gnu_cxx
12463 {
12464
12465
12466
12467
12468
12469
12470
12471   template<typename _Tp>
12472     class new_allocator
12473     {
12474     public:
12475       typedef size_t size_type;
12476       typedef ptrdiff_t difference_type;
12477       typedef _Tp* pointer;
12478       typedef const _Tp* const_pointer;
12479       typedef _Tp& reference;
12480       typedef const _Tp& const_reference;
12481       typedef _Tp value_type;
12482
12483       template<typename _Tp1>
12484         struct rebind
12485         { typedef new_allocator<_Tp1> other; };
12486
12487       new_allocator() throw() { }
12488
12489       new_allocator(const new_allocator&) throw() { }
12490
12491       template<typename _Tp1>
12492         new_allocator(const new_allocator<_Tp1>&) throw() { }
12493
12494       ~new_allocator() throw() { }
12495
12496       pointer
12497       address(reference __x) const { return &__x; }
12498
12499       const_pointer
12500       address(const_reference __x) const { return &__x; }
12501
12502
12503
12504       pointer
12505       allocate(size_type __n, const void* = 0)
12506       {
12507  if (__builtin_expect(__n > this->max_size(), false))
12508    std::__throw_bad_alloc();
12509
12510  return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
12511       }
12512
12513
12514       void
12515       deallocate(pointer __p, size_type)
12516       { ::operator delete(__p); }
12517
12518       size_type
12519       max_size() const throw()
12520       { return size_t(-1) / sizeof(_Tp); }
12521
12522
12523
12524       void
12525       construct(pointer __p, const _Tp& __val)
12526       { ::new(__p) _Tp(__val); }
12527
12528       void
12529       destroy(pointer __p) { __p->~_Tp(); }
12530     };
12531
12532   template<typename _Tp>
12533     inline bool
12534     operator==(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
12535     { return true; }
12536
12537   template<typename _Tp>
12538     inline bool
12539     operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
12540     { return false; }
12541 }
12542
12543 #pragma GCC visibility pop
12544 # 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++allocator.h" 2 3
12545 # 53 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/allocator.h" 2 3
12546
12547 namespace std
12548 {
12549   template<typename _Tp>
12550     class allocator;
12551
12552
12553   template<>
12554     class allocator<void>
12555     {
12556     public:
12557       typedef size_t size_type;
12558       typedef ptrdiff_t difference_type;
12559       typedef void* pointer;
12560       typedef const void* const_pointer;
12561       typedef void value_type;
12562
12563       template<typename _Tp1>
12564         struct rebind
12565         { typedef allocator<_Tp1> other; };
12566     };
12567
12568
12569
12570
12571
12572
12573
12574   template<typename _Tp>
12575     class allocator: public __gnu_cxx::new_allocator<_Tp>
12576     {
12577    public:
12578       typedef size_t size_type;
12579       typedef ptrdiff_t difference_type;
12580       typedef _Tp* pointer;
12581       typedef const _Tp* const_pointer;
12582       typedef _Tp& reference;
12583       typedef const _Tp& const_reference;
12584       typedef _Tp value_type;
12585
12586       template<typename _Tp1>
12587         struct rebind
12588         { typedef allocator<_Tp1> other; };
12589
12590       allocator() throw() { }
12591
12592       allocator(const allocator& __a) throw()
12593       : __gnu_cxx::new_allocator<_Tp>(__a) { }
12594
12595       template<typename _Tp1>
12596         allocator(const allocator<_Tp1>&) throw() { }
12597
12598       ~allocator() throw() { }
12599
12600
12601     };
12602
12603   template<typename _T1, typename _T2>
12604     inline bool
12605     operator==(const allocator<_T1>&, const allocator<_T2>&)
12606     { return true; }
12607
12608   template<typename _T1, typename _T2>
12609     inline bool
12610     operator!=(const allocator<_T1>&, const allocator<_T2>&)
12611     { return false; }
12612
12613
12614
12615
12616
12617   extern template class allocator<char>;
12618   extern template class allocator<wchar_t>;
12619
12620
12621
12622
12623 }
12624 # 56 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 2 3
12625 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_construct.h" 1 3
12626 # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_construct.h" 3
12627 namespace std
12628 {
12629
12630
12631
12632
12633
12634
12635   template<typename _T1, typename _T2>
12636     inline void
12637     _Construct(_T1* __p, const _T2& __value)
12638     {
12639
12640
12641       ::new(static_cast<void*>(__p)) _T1(__value);
12642     }
12643
12644
12645
12646
12647
12648
12649
12650   template<typename _T1>
12651     inline void
12652     _Construct(_T1* __p)
12653     {
12654
12655
12656       ::new(static_cast<void*>(__p)) _T1();
12657     }
12658
12659
12660
12661
12662
12663
12664   template<typename _Tp>
12665     inline void
12666     _Destroy(_Tp* __pointer)
12667     { __pointer->~_Tp(); }
12668 # 116 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_construct.h" 3
12669   template<typename _ForwardIterator>
12670     inline void
12671     __destroy_aux(_ForwardIterator __first, _ForwardIterator __last,
12672     __false_type)
12673     {
12674       for (; __first != __last; ++__first)
12675  std::_Destroy(&*__first);
12676     }
12677 # 134 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_construct.h" 3
12678   template<typename _ForwardIterator>
12679     inline void
12680     __destroy_aux(_ForwardIterator, _ForwardIterator, __true_type)
12681     { }
12682 # 146 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_construct.h" 3
12683   template<typename _ForwardIterator>
12684     inline void
12685     _Destroy(_ForwardIterator __first, _ForwardIterator __last)
12686     {
12687       typedef typename iterator_traits<_ForwardIterator>::value_type
12688                        _Value_type;
12689       typedef typename std::__is_scalar<_Value_type>::__type
12690                 _Has_trivial_destructor;
12691
12692       std::__destroy_aux(__first, __last, _Has_trivial_destructor());
12693     }
12694 # 166 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_construct.h" 3
12695   template <typename _Tp> class allocator;
12696
12697   template<typename _ForwardIterator, typename _Allocator>
12698     void
12699     _Destroy(_ForwardIterator __first, _ForwardIterator __last,
12700       _Allocator __alloc)
12701     {
12702       for (; __first != __last; ++__first)
12703  __alloc.destroy(&*__first);
12704     }
12705
12706   template<typename _ForwardIterator, typename _Tp>
12707     inline void
12708     _Destroy(_ForwardIterator __first, _ForwardIterator __last,
12709       allocator<_Tp>)
12710     {
12711       _Destroy(__first, __last);
12712     }
12713
12714
12715 }
12716 # 57 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 2 3
12717
12718 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_uninitialized.h" 1 3
12719 # 66 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_uninitialized.h" 3
12720 namespace std
12721 {
12722
12723   template<typename _InputIterator, typename _ForwardIterator>
12724     inline _ForwardIterator
12725     __uninitialized_copy_aux(_InputIterator __first, _InputIterator __last,
12726         _ForwardIterator __result,
12727         __true_type)
12728     { return std::copy(__first, __last, __result); }
12729
12730   template<typename _InputIterator, typename _ForwardIterator>
12731     inline _ForwardIterator
12732     __uninitialized_copy_aux(_InputIterator __first, _InputIterator __last,
12733         _ForwardIterator __result,
12734         __false_type)
12735     {
12736       _ForwardIterator __cur = __result;
12737       try
12738  {
12739    for (; __first != __last; ++__first, ++__cur)
12740      std::_Construct(&*__cur, *__first);
12741    return __cur;
12742  }
12743       catch(...)
12744  {
12745    std::_Destroy(__result, __cur);
12746    throw;
12747  }
12748     }
12749 # 105 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_uninitialized.h" 3
12750   template<typename _InputIterator, typename _ForwardIterator>
12751     inline _ForwardIterator
12752     uninitialized_copy(_InputIterator __first, _InputIterator __last,
12753          _ForwardIterator __result)
12754     {
12755       typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType;
12756       typedef typename std::__is_scalar<_ValueType>::__type _Is_POD;
12757       return std::__uninitialized_copy_aux(__first, __last, __result,
12758         _Is_POD());
12759     }
12760
12761   inline char*
12762   uninitialized_copy(const char* __first, const char* __last, char* __result)
12763   {
12764     std::memmove(__result, __first, __last - __first);
12765     return __result + (__last - __first);
12766   }
12767
12768   inline wchar_t*
12769   uninitialized_copy(const wchar_t* __first, const wchar_t* __last,
12770        wchar_t* __result)
12771   {
12772     std::memmove(__result, __first, sizeof(wchar_t) * (__last - __first));
12773     return __result + (__last - __first);
12774   }
12775
12776
12777
12778   template<typename _ForwardIterator, typename _Tp>
12779     inline void
12780     __uninitialized_fill_aux(_ForwardIterator __first,
12781         _ForwardIterator __last,
12782         const _Tp& __x, __true_type)
12783     { std::fill(__first, __last, __x); }
12784
12785   template<typename _ForwardIterator, typename _Tp>
12786     void
12787     __uninitialized_fill_aux(_ForwardIterator __first, _ForwardIterator __last,
12788         const _Tp& __x, __false_type)
12789     {
12790       _ForwardIterator __cur = __first;
12791       try
12792  {
12793    for (; __cur != __last; ++__cur)
12794      std::_Construct(&*__cur, __x);
12795  }
12796       catch(...)
12797  {
12798    std::_Destroy(__first, __cur);
12799    throw;
12800  }
12801     }
12802 # 167 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_uninitialized.h" 3
12803   template<typename _ForwardIterator, typename _Tp>
12804     inline void
12805     uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last,
12806          const _Tp& __x)
12807     {
12808       typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType;
12809       typedef typename std::__is_scalar<_ValueType>::__type _Is_POD;
12810       std::__uninitialized_fill_aux(__first, __last, __x, _Is_POD());
12811     }
12812
12813
12814
12815   template<typename _ForwardIterator, typename _Size, typename _Tp>
12816     inline void
12817     __uninitialized_fill_n_aux(_ForwardIterator __first, _Size __n,
12818           const _Tp& __x, __true_type)
12819     { std::fill_n(__first, __n, __x); }
12820
12821   template<typename _ForwardIterator, typename _Size, typename _Tp>
12822     void
12823     __uninitialized_fill_n_aux(_ForwardIterator __first, _Size __n,
12824           const _Tp& __x, __false_type)
12825     {
12826       _ForwardIterator __cur = __first;
12827       try
12828  {
12829    for (; __n > 0; --__n, ++__cur)
12830      std::_Construct(&*__cur, __x);
12831  }
12832       catch(...)
12833  {
12834    std::_Destroy(__first, __cur);
12835    throw;
12836  }
12837     }
12838 # 212 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_uninitialized.h" 3
12839   template<typename _ForwardIterator, typename _Size, typename _Tp>
12840     inline void
12841     uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x)
12842     {
12843       typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType;
12844       typedef typename std::__is_scalar<_ValueType>::__type _Is_POD;
12845       std::__uninitialized_fill_n_aux(__first, __n, __x, _Is_POD());
12846     }
12847
12848
12849
12850
12851
12852
12853
12854   template<typename _InputIterator, typename _ForwardIterator,
12855     typename _Allocator>
12856     _ForwardIterator
12857     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
12858       _ForwardIterator __result,
12859       _Allocator __alloc)
12860     {
12861       _ForwardIterator __cur = __result;
12862       try
12863  {
12864    for (; __first != __last; ++__first, ++__cur)
12865      __alloc.construct(&*__cur, *__first);
12866    return __cur;
12867  }
12868       catch(...)
12869  {
12870    std::_Destroy(__result, __cur, __alloc);
12871    throw;
12872  }
12873     }
12874
12875   template<typename _InputIterator, typename _ForwardIterator, typename _Tp>
12876     inline _ForwardIterator
12877     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
12878       _ForwardIterator __result,
12879       allocator<_Tp>)
12880     {
12881       return std::uninitialized_copy(__first, __last, __result);
12882     }
12883
12884   template<typename _ForwardIterator, typename _Tp, typename _Allocator>
12885     void
12886     __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
12887       const _Tp& __x, _Allocator __alloc)
12888     {
12889       _ForwardIterator __cur = __first;
12890       try
12891  {
12892    for (; __cur != __last; ++__cur)
12893      __alloc.construct(&*__cur, __x);
12894  }
12895       catch(...)
12896  {
12897    std::_Destroy(__first, __cur, __alloc);
12898    throw;
12899  }
12900     }
12901
12902   template<typename _ForwardIterator, typename _Tp, typename _Tp2>
12903     inline void
12904     __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
12905       const _Tp& __x, allocator<_Tp2>)
12906     {
12907       std::uninitialized_fill(__first, __last, __x);
12908     }
12909
12910   template<typename _ForwardIterator, typename _Size, typename _Tp,
12911     typename _Allocator>
12912     void
12913     __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
12914         const _Tp& __x,
12915         _Allocator __alloc)
12916     {
12917       _ForwardIterator __cur = __first;
12918       try
12919  {
12920    for (; __n > 0; --__n, ++__cur)
12921      __alloc.construct(&*__cur, __x);
12922  }
12923       catch(...)
12924  {
12925    std::_Destroy(__first, __cur, __alloc);
12926    throw;
12927  }
12928     }
12929
12930   template<typename _ForwardIterator, typename _Size, typename _Tp,
12931     typename _Tp2>
12932     void
12933     __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
12934         const _Tp& __x,
12935         allocator<_Tp2>)
12936     {
12937       std::uninitialized_fill_n(__first, __n, __x);
12938     }
12939 # 323 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_uninitialized.h" 3
12940   template<typename _InputIterator1, typename _InputIterator2,
12941     typename _ForwardIterator, typename _Allocator>
12942     inline _ForwardIterator
12943     __uninitialized_copy_copy(_InputIterator1 __first1,
12944          _InputIterator1 __last1,
12945          _InputIterator2 __first2,
12946          _InputIterator2 __last2,
12947          _ForwardIterator __result,
12948          _Allocator __alloc)
12949     {
12950       _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1,
12951           __result,
12952           __alloc);
12953       try
12954  {
12955    return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc);
12956  }
12957       catch(...)
12958  {
12959    std::_Destroy(__result, __mid, __alloc);
12960    throw;
12961  }
12962     }
12963
12964
12965
12966
12967   template<typename _ForwardIterator, typename _Tp, typename _InputIterator,
12968     typename _Allocator>
12969     inline _ForwardIterator
12970     __uninitialized_fill_copy(_ForwardIterator __result, _ForwardIterator __mid,
12971          const _Tp& __x, _InputIterator __first,
12972          _InputIterator __last,
12973          _Allocator __alloc)
12974     {
12975       std::__uninitialized_fill_a(__result, __mid, __x, __alloc);
12976       try
12977  {
12978    return std::__uninitialized_copy_a(__first, __last, __mid, __alloc);
12979  }
12980       catch(...)
12981  {
12982    std::_Destroy(__result, __mid, __alloc);
12983    throw;
12984  }
12985     }
12986
12987
12988
12989
12990   template<typename _InputIterator, typename _ForwardIterator, typename _Tp,
12991     typename _Allocator>
12992     inline void
12993     __uninitialized_copy_fill(_InputIterator __first1, _InputIterator __last1,
12994          _ForwardIterator __first2,
12995          _ForwardIterator __last2, const _Tp& __x,
12996          _Allocator __alloc)
12997     {
12998       _ForwardIterator __mid2 = std::__uninitialized_copy_a(__first1, __last1,
12999            __first2,
13000            __alloc);
13001       try
13002  {
13003    std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc);
13004  }
13005       catch(...)
13006  {
13007    std::_Destroy(__first2, __mid2, __alloc);
13008    throw;
13009  }
13010     }
13011
13012 }
13013 # 59 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 2 3
13014 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_raw_storage_iter.h" 1 3
13015 # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_raw_storage_iter.h" 3
13016 namespace std
13017 {
13018
13019
13020
13021
13022   template <class _ForwardIterator, class _Tp>
13023     class raw_storage_iterator
13024     : public iterator<output_iterator_tag, void, void, void, void>
13025     {
13026     protected:
13027       _ForwardIterator _M_iter;
13028
13029     public:
13030       explicit
13031       raw_storage_iterator(_ForwardIterator __x)
13032       : _M_iter(__x) {}
13033
13034       raw_storage_iterator&
13035       operator*() { return *this; }
13036
13037       raw_storage_iterator&
13038       operator=(const _Tp& __element)
13039       {
13040  std::_Construct(&*_M_iter, __element);
13041  return *this;
13042       }
13043
13044       raw_storage_iterator<_ForwardIterator, _Tp>&
13045       operator++()
13046       {
13047  ++_M_iter;
13048  return *this;
13049       }
13050
13051       raw_storage_iterator<_ForwardIterator, _Tp>
13052       operator++(int)
13053       {
13054  raw_storage_iterator<_ForwardIterator, _Tp> __tmp = *this;
13055  ++_M_iter;
13056  return __tmp;
13057       }
13058     };
13059 }
13060 # 60 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 2 3
13061
13062 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/limits" 1 3
13063 # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/limits" 3
13064        
13065 # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/limits" 3
13066 #pragma GCC visibility push(default)
13067 # 151 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/limits" 3
13068 namespace std
13069 {
13070
13071
13072
13073
13074
13075   enum float_round_style
13076   {
13077     round_indeterminate = -1,
13078     round_toward_zero = 0,
13079     round_to_nearest = 1,
13080     round_toward_infinity = 2,
13081     round_toward_neg_infinity = 3
13082   };
13083
13084
13085
13086
13087
13088
13089
13090   enum float_denorm_style
13091   {
13092
13093     denorm_indeterminate = -1,
13094
13095     denorm_absent = 0,
13096
13097     denorm_present = 1
13098   };
13099 # 193 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/limits" 3
13100   struct __numeric_limits_base
13101   {
13102
13103
13104     static const bool is_specialized = false;
13105
13106
13107
13108
13109     static const int digits = 0;
13110
13111     static const int digits10 = 0;
13112
13113     static const bool is_signed = false;
13114
13115
13116
13117
13118
13119     static const bool is_integer = false;
13120
13121
13122
13123
13124     static const bool is_exact = false;
13125
13126
13127     static const int radix = 0;
13128
13129
13130
13131     static const int min_exponent = 0;
13132
13133
13134     static const int min_exponent10 = 0;
13135
13136
13137
13138     static const int max_exponent = 0;
13139
13140
13141     static const int max_exponent10 = 0;
13142
13143
13144     static const bool has_infinity = false;
13145
13146
13147     static const bool has_quiet_NaN = false;
13148
13149
13150     static const bool has_signaling_NaN = false;
13151
13152     static const float_denorm_style has_denorm = denorm_absent;
13153
13154
13155     static const bool has_denorm_loss = false;
13156
13157
13158
13159     static const bool is_iec559 = false;
13160
13161
13162
13163     static const bool is_bounded = false;
13164
13165
13166
13167
13168     static const bool is_modulo = false;
13169
13170
13171     static const bool traps = false;
13172
13173     static const bool tinyness_before = false;
13174
13175
13176
13177     static const float_round_style round_style = round_toward_zero;
13178   };
13179 # 286 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/limits" 3
13180   template<typename _Tp>
13181     struct numeric_limits : public __numeric_limits_base
13182     {
13183
13184
13185       static _Tp min() throw() { return static_cast<_Tp>(0); }
13186
13187       static _Tp max() throw() { return static_cast<_Tp>(0); }
13188
13189
13190       static _Tp epsilon() throw() { return static_cast<_Tp>(0); }
13191
13192       static _Tp round_error() throw() { return static_cast<_Tp>(0); }
13193
13194       static _Tp infinity() throw() { return static_cast<_Tp>(0); }
13195
13196       static _Tp quiet_NaN() throw() { return static_cast<_Tp>(0); }
13197
13198
13199       static _Tp signaling_NaN() throw() { return static_cast<_Tp>(0); }
13200
13201
13202
13203       static _Tp denorm_min() throw() { return static_cast<_Tp>(0); }
13204     };
13205
13206
13207
13208
13209
13210   template<>
13211     struct numeric_limits<bool>
13212     {
13213       static const bool is_specialized = true;
13214
13215       static bool min() throw()
13216       { return false; }
13217       static bool max() throw()
13218       { return true; }
13219
13220       static const int digits = 1;
13221       static const int digits10 = 0;
13222       static const bool is_signed = false;
13223       static const bool is_integer = true;
13224       static const bool is_exact = true;
13225       static const int radix = 2;
13226       static bool epsilon() throw()
13227       { return false; }
13228       static bool round_error() throw()
13229       { return false; }
13230
13231       static const int min_exponent = 0;
13232       static const int min_exponent10 = 0;
13233       static const int max_exponent = 0;
13234       static const int max_exponent10 = 0;
13235
13236       static const bool has_infinity = false;
13237       static const bool has_quiet_NaN = false;
13238       static const bool has_signaling_NaN = false;
13239       static const float_denorm_style has_denorm = denorm_absent;
13240       static const bool has_denorm_loss = false;
13241
13242       static bool infinity() throw()
13243       { return false; }
13244       static bool quiet_NaN() throw()
13245       { return false; }
13246       static bool signaling_NaN() throw()
13247       { return false; }
13248       static bool denorm_min() throw()
13249       { return false; }
13250
13251       static const bool is_iec559 = false;
13252       static const bool is_bounded = true;
13253       static const bool is_modulo = false;
13254
13255
13256
13257
13258       static const bool traps = true;
13259       static const bool tinyness_before = false;
13260       static const float_round_style round_style = round_toward_zero;
13261     };
13262
13263
13264   template<>
13265     struct numeric_limits<char>
13266     {
13267       static const bool is_specialized = true;
13268
13269       static char min() throw()
13270       { return (((char)(-1) < 0) ? (char)1 << (sizeof(char) * 8 - ((char)(-1) < 0)) : (char)0); }
13271       static char max() throw()
13272       { return (((char)(-1) < 0) ? ((char)1 << (sizeof(char) * 8 - ((char)(-1) < 0))) - 1 : ~(char)0); }
13273
13274       static const int digits = (sizeof(char) * 8 - ((char)(-1) < 0));
13275       static const int digits10 = ((sizeof(char) * 8 - ((char)(-1) < 0)) * 643 / 2136);
13276       static const bool is_signed = ((char)(-1) < 0);
13277       static const bool is_integer = true;
13278       static const bool is_exact = true;
13279       static const int radix = 2;
13280       static char epsilon() throw()
13281       { return 0; }
13282       static char round_error() throw()
13283       { return 0; }
13284
13285       static const int min_exponent = 0;
13286       static const int min_exponent10 = 0;
13287       static const int max_exponent = 0;
13288       static const int max_exponent10 = 0;
13289
13290       static const bool has_infinity = false;
13291       static const bool has_quiet_NaN = false;
13292       static const bool has_signaling_NaN = false;
13293       static const float_denorm_style has_denorm = denorm_absent;
13294       static const bool has_denorm_loss = false;
13295
13296       static char infinity() throw()
13297       { return char(); }
13298       static char quiet_NaN() throw()
13299       { return char(); }
13300       static char signaling_NaN() throw()
13301       { return char(); }
13302       static char denorm_min() throw()
13303       { return static_cast<char>(0); }
13304
13305       static const bool is_iec559 = false;
13306       static const bool is_bounded = true;
13307       static const bool is_modulo = true;
13308
13309       static const bool traps = true;
13310       static const bool tinyness_before = false;
13311       static const float_round_style round_style = round_toward_zero;
13312     };
13313
13314
13315   template<>
13316     struct numeric_limits<signed char>
13317     {
13318       static const bool is_specialized = true;
13319
13320       static signed char min() throw()
13321       { return -127 - 1; }
13322       static signed char max() throw()
13323       { return 127; }
13324
13325       static const int digits = (sizeof(signed char) * 8 - ((signed char)(-1) < 0));
13326       static const int digits10 = ((sizeof(signed char) * 8 - ((signed char)(-1) < 0)) * 643 / 2136);
13327       static const bool is_signed = true;
13328       static const bool is_integer = true;
13329       static const bool is_exact = true;
13330       static const int radix = 2;
13331       static signed char epsilon() throw()
13332       { return 0; }
13333       static signed char round_error() throw()
13334       { return 0; }
13335
13336       static const int min_exponent = 0;
13337       static const int min_exponent10 = 0;
13338       static const int max_exponent = 0;
13339       static const int max_exponent10 = 0;
13340
13341       static const bool has_infinity = false;
13342       static const bool has_quiet_NaN = false;
13343       static const bool has_signaling_NaN = false;
13344       static const float_denorm_style has_denorm = denorm_absent;
13345       static const bool has_denorm_loss = false;
13346
13347       static signed char infinity() throw()
13348       { return static_cast<signed char>(0); }
13349       static signed char quiet_NaN() throw()
13350       { return static_cast<signed char>(0); }
13351       static signed char signaling_NaN() throw()
13352       { return static_cast<signed char>(0); }
13353       static signed char denorm_min() throw()
13354       { return static_cast<signed char>(0); }
13355
13356       static const bool is_iec559 = false;
13357       static const bool is_bounded = true;
13358       static const bool is_modulo = true;
13359
13360       static const bool traps = true;
13361       static const bool tinyness_before = false;
13362       static const float_round_style round_style = round_toward_zero;
13363     };
13364
13365
13366   template<>
13367     struct numeric_limits<unsigned char>
13368     {
13369       static const bool is_specialized = true;
13370
13371       static unsigned char min() throw()
13372       { return 0; }
13373       static unsigned char max() throw()
13374       { return 127 * 2U + 1; }
13375
13376       static const int digits = (sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0));
13377       static const int digits10 = ((sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)) * 643 / 2136);
13378       static const bool is_signed = false;
13379       static const bool is_integer = true;
13380       static const bool is_exact = true;
13381       static const int radix = 2;
13382       static unsigned char epsilon() throw()
13383       { return 0; }
13384       static unsigned char round_error() throw()
13385       { return 0; }
13386
13387       static const int min_exponent = 0;
13388       static const int min_exponent10 = 0;
13389       static const int max_exponent = 0;
13390       static const int max_exponent10 = 0;
13391
13392       static const bool has_infinity = false;
13393       static const bool has_quiet_NaN = false;
13394       static const bool has_signaling_NaN = false;
13395       static const float_denorm_style has_denorm = denorm_absent;
13396       static const bool has_denorm_loss = false;
13397
13398       static unsigned char infinity() throw()
13399       { return static_cast<unsigned char>(0); }
13400       static unsigned char quiet_NaN() throw()
13401       { return static_cast<unsigned char>(0); }
13402       static unsigned char signaling_NaN() throw()
13403       { return static_cast<unsigned char>(0); }
13404       static unsigned char denorm_min() throw()
13405       { return static_cast<unsigned char>(0); }
13406
13407       static const bool is_iec559 = false;
13408       static const bool is_bounded = true;
13409       static const bool is_modulo = true;
13410
13411       static const bool traps = true;
13412       static const bool tinyness_before = false;
13413       static const float_round_style round_style = round_toward_zero;
13414     };
13415
13416
13417   template<>
13418     struct numeric_limits<wchar_t>
13419     {
13420       static const bool is_specialized = true;
13421
13422       static wchar_t min() throw()
13423       { return (((wchar_t)(-1) < 0) ? (wchar_t)1 << (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) : (wchar_t)0); }
13424       static wchar_t max() throw()
13425       { return (((wchar_t)(-1) < 0) ? ((wchar_t)1 << (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0))) - 1 : ~(wchar_t)0); }
13426
13427       static const int digits = (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0));
13428       static const int digits10 = ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) * 643 / 2136);
13429       static const bool is_signed = ((wchar_t)(-1) < 0);
13430       static const bool is_integer = true;
13431       static const bool is_exact = true;
13432       static const int radix = 2;
13433       static wchar_t epsilon() throw()
13434       { return 0; }
13435       static wchar_t round_error() throw()
13436       { return 0; }
13437
13438       static const int min_exponent = 0;
13439       static const int min_exponent10 = 0;
13440       static const int max_exponent = 0;
13441       static const int max_exponent10 = 0;
13442
13443       static const bool has_infinity = false;
13444       static const bool has_quiet_NaN = false;
13445       static const bool has_signaling_NaN = false;
13446       static const float_denorm_style has_denorm = denorm_absent;
13447       static const bool has_denorm_loss = false;
13448
13449       static wchar_t infinity() throw()
13450       { return wchar_t(); }
13451       static wchar_t quiet_NaN() throw()
13452       { return wchar_t(); }
13453       static wchar_t signaling_NaN() throw()
13454       { return wchar_t(); }
13455       static wchar_t denorm_min() throw()
13456       { return wchar_t(); }
13457
13458       static const bool is_iec559 = false;
13459       static const bool is_bounded = true;
13460       static const bool is_modulo = true;
13461
13462       static const bool traps = true;
13463       static const bool tinyness_before = false;
13464       static const float_round_style round_style = round_toward_zero;
13465     };
13466
13467
13468   template<>
13469     struct numeric_limits<short>
13470     {
13471       static const bool is_specialized = true;
13472
13473       static short min() throw()
13474       { return -32767 - 1; }
13475       static short max() throw()
13476       { return 32767; }
13477
13478       static const int digits = (sizeof(short) * 8 - ((short)(-1) < 0));
13479       static const int digits10 = ((sizeof(short) * 8 - ((short)(-1) < 0)) * 643 / 2136);
13480       static const bool is_signed = true;
13481       static const bool is_integer = true;
13482       static const bool is_exact = true;
13483       static const int radix = 2;
13484       static short epsilon() throw()
13485       { return 0; }
13486       static short round_error() throw()
13487       { return 0; }
13488
13489       static const int min_exponent = 0;
13490       static const int min_exponent10 = 0;
13491       static const int max_exponent = 0;
13492       static const int max_exponent10 = 0;
13493
13494       static const bool has_infinity = false;
13495       static const bool has_quiet_NaN = false;
13496       static const bool has_signaling_NaN = false;
13497       static const float_denorm_style has_denorm = denorm_absent;
13498       static const bool has_denorm_loss = false;
13499
13500       static short infinity() throw()
13501       { return short(); }
13502       static short quiet_NaN() throw()
13503       { return short(); }
13504       static short signaling_NaN() throw()
13505       { return short(); }
13506       static short denorm_min() throw()
13507       { return short(); }
13508
13509       static const bool is_iec559 = false;
13510       static const bool is_bounded = true;
13511       static const bool is_modulo = true;
13512
13513       static const bool traps = true;
13514       static const bool tinyness_before = false;
13515       static const float_round_style round_style = round_toward_zero;
13516     };
13517
13518
13519   template<>
13520     struct numeric_limits<unsigned short>
13521     {
13522       static const bool is_specialized = true;
13523
13524       static unsigned short min() throw()
13525       { return 0; }
13526       static unsigned short max() throw()
13527       { return 32767 * 2U + 1; }
13528
13529       static const int digits = (sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0));
13530       static const int digits10 = ((sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)) * 643 / 2136);
13531       static const bool is_signed = false;
13532       static const bool is_integer = true;
13533       static const bool is_exact = true;
13534       static const int radix = 2;
13535       static unsigned short epsilon() throw()
13536       { return 0; }
13537       static unsigned short round_error() throw()
13538       { return 0; }
13539
13540       static const int min_exponent = 0;
13541       static const int min_exponent10 = 0;
13542       static const int max_exponent = 0;
13543       static const int max_exponent10 = 0;
13544
13545       static const bool has_infinity = false;
13546       static const bool has_quiet_NaN = false;
13547       static const bool has_signaling_NaN = false;
13548       static const float_denorm_style has_denorm = denorm_absent;
13549       static const bool has_denorm_loss = false;
13550
13551       static unsigned short infinity() throw()
13552       { return static_cast<unsigned short>(0); }
13553       static unsigned short quiet_NaN() throw()
13554       { return static_cast<unsigned short>(0); }
13555       static unsigned short signaling_NaN() throw()
13556       { return static_cast<unsigned short>(0); }
13557       static unsigned short denorm_min() throw()
13558       { return static_cast<unsigned short>(0); }
13559
13560       static const bool is_iec559 = false;
13561       static const bool is_bounded = true;
13562       static const bool is_modulo = true;
13563
13564       static const bool traps = true;
13565       static const bool tinyness_before = false;
13566       static const float_round_style round_style = round_toward_zero;
13567     };
13568
13569
13570   template<>
13571     struct numeric_limits<int>
13572     {
13573       static const bool is_specialized = true;
13574
13575       static int min() throw()
13576       { return -2147483647 - 1; }
13577       static int max() throw()
13578       { return 2147483647; }
13579
13580       static const int digits = (sizeof(int) * 8 - ((int)(-1) < 0));
13581       static const int digits10 = ((sizeof(int) * 8 - ((int)(-1) < 0)) * 643 / 2136);
13582       static const bool is_signed = true;
13583       static const bool is_integer = true;
13584       static const bool is_exact = true;
13585       static const int radix = 2;
13586       static int epsilon() throw()
13587       { return 0; }
13588       static int round_error() throw()
13589       { return 0; }
13590
13591       static const int min_exponent = 0;
13592       static const int min_exponent10 = 0;
13593       static const int max_exponent = 0;
13594       static const int max_exponent10 = 0;
13595
13596       static const bool has_infinity = false;
13597       static const bool has_quiet_NaN = false;
13598       static const bool has_signaling_NaN = false;
13599       static const float_denorm_style has_denorm = denorm_absent;
13600       static const bool has_denorm_loss = false;
13601
13602       static int infinity() throw()
13603       { return static_cast<int>(0); }
13604       static int quiet_NaN() throw()
13605       { return static_cast<int>(0); }
13606       static int signaling_NaN() throw()
13607       { return static_cast<int>(0); }
13608       static int denorm_min() throw()
13609       { return static_cast<int>(0); }
13610
13611       static const bool is_iec559 = false;
13612       static const bool is_bounded = true;
13613       static const bool is_modulo = true;
13614
13615       static const bool traps = true;
13616       static const bool tinyness_before = false;
13617       static const float_round_style round_style = round_toward_zero;
13618     };
13619
13620
13621   template<>
13622     struct numeric_limits<unsigned int>
13623     {
13624       static const bool is_specialized = true;
13625
13626       static unsigned int min() throw()
13627       { return 0; }
13628       static unsigned int max() throw()
13629       { return 2147483647 * 2U + 1; }
13630
13631       static const int digits = (sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0));
13632       static const int digits10 = ((sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)) * 643 / 2136);
13633       static const bool is_signed = false;
13634       static const bool is_integer = true;
13635       static const bool is_exact = true;
13636       static const int radix = 2;
13637       static unsigned int epsilon() throw()
13638       { return 0; }
13639       static unsigned int round_error() throw()
13640       { return 0; }
13641
13642       static const int min_exponent = 0;
13643       static const int min_exponent10 = 0;
13644       static const int max_exponent = 0;
13645       static const int max_exponent10 = 0;
13646
13647       static const bool has_infinity = false;
13648       static const bool has_quiet_NaN = false;
13649       static const bool has_signaling_NaN = false;
13650       static const float_denorm_style has_denorm = denorm_absent;
13651       static const bool has_denorm_loss = false;
13652
13653       static unsigned int infinity() throw()
13654       { return static_cast<unsigned int>(0); }
13655       static unsigned int quiet_NaN() throw()
13656       { return static_cast<unsigned int>(0); }
13657       static unsigned int signaling_NaN() throw()
13658       { return static_cast<unsigned int>(0); }
13659       static unsigned int denorm_min() throw()
13660       { return static_cast<unsigned int>(0); }
13661
13662       static const bool is_iec559 = false;
13663       static const bool is_bounded = true;
13664       static const bool is_modulo = true;
13665
13666       static const bool traps = true;
13667       static const bool tinyness_before = false;
13668       static const float_round_style round_style = round_toward_zero;
13669     };
13670
13671
13672   template<>
13673     struct numeric_limits<long>
13674     {
13675       static const bool is_specialized = true;
13676
13677       static long min() throw()
13678       { return -9223372036854775807L - 1; }
13679       static long max() throw()
13680       { return 9223372036854775807L; }
13681
13682       static const int digits = (sizeof(long) * 8 - ((long)(-1) < 0));
13683       static const int digits10 = ((sizeof(long) * 8 - ((long)(-1) < 0)) * 643 / 2136);
13684       static const bool is_signed = true;
13685       static const bool is_integer = true;
13686       static const bool is_exact = true;
13687       static const int radix = 2;
13688       static long epsilon() throw()
13689       { return 0; }
13690       static long round_error() throw()
13691       { return 0; }
13692
13693       static const int min_exponent = 0;
13694       static const int min_exponent10 = 0;
13695       static const int max_exponent = 0;
13696       static const int max_exponent10 = 0;
13697
13698       static const bool has_infinity = false;
13699       static const bool has_quiet_NaN = false;
13700       static const bool has_signaling_NaN = false;
13701       static const float_denorm_style has_denorm = denorm_absent;
13702       static const bool has_denorm_loss = false;
13703
13704       static long infinity() throw()
13705       { return static_cast<long>(0); }
13706       static long quiet_NaN() throw()
13707       { return static_cast<long>(0); }
13708       static long signaling_NaN() throw()
13709       { return static_cast<long>(0); }
13710       static long denorm_min() throw()
13711       { return static_cast<long>(0); }
13712
13713       static const bool is_iec559 = false;
13714       static const bool is_bounded = true;
13715       static const bool is_modulo = true;
13716
13717       static const bool traps = true;
13718       static const bool tinyness_before = false;
13719       static const float_round_style round_style = round_toward_zero;
13720     };
13721
13722
13723   template<>
13724     struct numeric_limits<unsigned long>
13725     {
13726       static const bool is_specialized = true;
13727
13728       static unsigned long min() throw()
13729       { return 0; }
13730       static unsigned long max() throw()
13731       { return 9223372036854775807L * 2UL + 1; }
13732
13733       static const int digits = (sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0));
13734       static const int digits10 = ((sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)) * 643 / 2136);
13735       static const bool is_signed = false;
13736       static const bool is_integer = true;
13737       static const bool is_exact = true;
13738       static const int radix = 2;
13739       static unsigned long epsilon() throw()
13740       { return 0; }
13741       static unsigned long round_error() throw()
13742       { return 0; }
13743
13744       static const int min_exponent = 0;
13745       static const int min_exponent10 = 0;
13746       static const int max_exponent = 0;
13747       static const int max_exponent10 = 0;
13748
13749       static const bool has_infinity = false;
13750       static const bool has_quiet_NaN = false;
13751       static const bool has_signaling_NaN = false;
13752       static const float_denorm_style has_denorm = denorm_absent;
13753       static const bool has_denorm_loss = false;
13754
13755       static unsigned long infinity() throw()
13756       { return static_cast<unsigned long>(0); }
13757       static unsigned long quiet_NaN() throw()
13758       { return static_cast<unsigned long>(0); }
13759       static unsigned long signaling_NaN() throw()
13760       { return static_cast<unsigned long>(0); }
13761       static unsigned long denorm_min() throw()
13762       { return static_cast<unsigned long>(0); }
13763
13764       static const bool is_iec559 = false;
13765       static const bool is_bounded = true;
13766       static const bool is_modulo = true;
13767
13768       static const bool traps = true;
13769       static const bool tinyness_before = false;
13770       static const float_round_style round_style = round_toward_zero;
13771     };
13772
13773
13774   template<>
13775     struct numeric_limits<long long>
13776     {
13777       static const bool is_specialized = true;
13778
13779       static long long min() throw()
13780       { return -9223372036854775807LL - 1; }
13781       static long long max() throw()
13782       { return 9223372036854775807LL; }
13783
13784       static const int digits = (sizeof(long long) * 8 - ((long long)(-1) < 0));
13785       static const int digits10 = ((sizeof(long long) * 8 - ((long long)(-1) < 0)) * 643 / 2136);
13786       static const bool is_signed = true;
13787       static const bool is_integer = true;
13788       static const bool is_exact = true;
13789       static const int radix = 2;
13790       static long long epsilon() throw()
13791       { return 0; }
13792       static long long round_error() throw()
13793       { return 0; }
13794
13795       static const int min_exponent = 0;
13796       static const int min_exponent10 = 0;
13797       static const int max_exponent = 0;
13798       static const int max_exponent10 = 0;
13799
13800       static const bool has_infinity = false;
13801       static const bool has_quiet_NaN = false;
13802       static const bool has_signaling_NaN = false;
13803       static const float_denorm_style has_denorm = denorm_absent;
13804       static const bool has_denorm_loss = false;
13805
13806       static long long infinity() throw()
13807       { return static_cast<long long>(0); }
13808       static long long quiet_NaN() throw()
13809       { return static_cast<long long>(0); }
13810       static long long signaling_NaN() throw()
13811       { return static_cast<long long>(0); }
13812       static long long denorm_min() throw()
13813       { return static_cast<long long>(0); }
13814
13815       static const bool is_iec559 = false;
13816       static const bool is_bounded = true;
13817       static const bool is_modulo = true;
13818
13819       static const bool traps = true;
13820       static const bool tinyness_before = false;
13821       static const float_round_style round_style = round_toward_zero;
13822     };
13823
13824
13825   template<>
13826     struct numeric_limits<unsigned long long>
13827     {
13828       static const bool is_specialized = true;
13829
13830       static unsigned long long min() throw()
13831       { return 0; }
13832       static unsigned long long max() throw()
13833       { return 9223372036854775807LL * 2ULL + 1; }
13834
13835       static const int digits = (sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0));
13836       static const int digits10 = ((sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)) * 643 / 2136);
13837       static const bool is_signed = false;
13838       static const bool is_integer = true;
13839       static const bool is_exact = true;
13840       static const int radix = 2;
13841       static unsigned long long epsilon() throw()
13842       { return 0; }
13843       static unsigned long long round_error() throw()
13844       { return 0; }
13845
13846       static const int min_exponent = 0;
13847       static const int min_exponent10 = 0;
13848       static const int max_exponent = 0;
13849       static const int max_exponent10 = 0;
13850
13851       static const bool has_infinity = false;
13852       static const bool has_quiet_NaN = false;
13853       static const bool has_signaling_NaN = false;
13854       static const float_denorm_style has_denorm = denorm_absent;
13855       static const bool has_denorm_loss = false;
13856
13857       static unsigned long long infinity() throw()
13858       { return static_cast<unsigned long long>(0); }
13859       static unsigned long long quiet_NaN() throw()
13860       { return static_cast<unsigned long long>(0); }
13861       static unsigned long long signaling_NaN() throw()
13862       { return static_cast<unsigned long long>(0); }
13863       static unsigned long long denorm_min() throw()
13864       { return static_cast<unsigned long long>(0); }
13865
13866       static const bool is_iec559 = false;
13867       static const bool is_bounded = true;
13868       static const bool is_modulo = true;
13869
13870       static const bool traps = true;
13871       static const bool tinyness_before = false;
13872       static const float_round_style round_style = round_toward_zero;
13873     };
13874
13875
13876   template<>
13877     struct numeric_limits<float>
13878     {
13879       static const bool is_specialized = true;
13880
13881       static float min() throw()
13882       { return 1.17549435e-38F; }
13883       static float max() throw()
13884       { return 3.40282347e+38F; }
13885
13886       static const int digits = 24;
13887       static const int digits10 = 6;
13888       static const bool is_signed = true;
13889       static const bool is_integer = false;
13890       static const bool is_exact = false;
13891       static const int radix = 2;
13892       static float epsilon() throw()
13893       { return 1.19209290e-7F; }
13894       static float round_error() throw()
13895       { return 0.5F; }
13896
13897       static const int min_exponent = (-125);
13898       static const int min_exponent10 = (-37);
13899       static const int max_exponent = 128;
13900       static const int max_exponent10 = 38;
13901
13902       static const bool has_infinity = 1;
13903       static const bool has_quiet_NaN = 1;
13904       static const bool has_signaling_NaN = has_quiet_NaN;
13905       static const float_denorm_style has_denorm
13906  = bool(1.40129846e-45F) ? denorm_present : denorm_absent;
13907       static const bool has_denorm_loss = false;
13908
13909       static float infinity() throw()
13910       { return __builtin_huge_valf (); }
13911       static float quiet_NaN() throw()
13912       { return __builtin_nanf (""); }
13913       static float signaling_NaN() throw()
13914       { return __builtin_nansf (""); }
13915       static float denorm_min() throw()
13916       { return 1.40129846e-45F; }
13917
13918       static const bool is_iec559
13919  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
13920       static const bool is_bounded = true;
13921       static const bool is_modulo = false;
13922
13923       static const bool traps = false;
13924       static const bool tinyness_before = false;
13925       static const float_round_style round_style = round_to_nearest;
13926     };
13927
13928
13929
13930
13931
13932
13933   template<>
13934     struct numeric_limits<double>
13935     {
13936       static const bool is_specialized = true;
13937
13938       static double min() throw()
13939       { return 2.2250738585072014e-308; }
13940       static double max() throw()
13941       { return 1.7976931348623157e+308; }
13942
13943       static const int digits = 53;
13944       static const int digits10 = 15;
13945       static const bool is_signed = true;
13946       static const bool is_integer = false;
13947       static const bool is_exact = false;
13948       static const int radix = 2;
13949       static double epsilon() throw()
13950       { return 2.2204460492503131e-16; }
13951       static double round_error() throw()
13952       { return 0.5; }
13953
13954       static const int min_exponent = (-1021);
13955       static const int min_exponent10 = (-307);
13956       static const int max_exponent = 1024;
13957       static const int max_exponent10 = 308;
13958
13959       static const bool has_infinity = 1;
13960       static const bool has_quiet_NaN = 1;
13961       static const bool has_signaling_NaN = has_quiet_NaN;
13962       static const float_denorm_style has_denorm
13963  = bool(4.9406564584124654e-324) ? denorm_present : denorm_absent;
13964       static const bool has_denorm_loss = false;
13965
13966       static double infinity() throw()
13967       { return __builtin_huge_val(); }
13968       static double quiet_NaN() throw()
13969       { return __builtin_nan (""); }
13970       static double signaling_NaN() throw()
13971       { return __builtin_nans (""); }
13972       static double denorm_min() throw()
13973       { return 4.9406564584124654e-324; }
13974
13975       static const bool is_iec559
13976  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
13977       static const bool is_bounded = true;
13978       static const bool is_modulo = false;
13979
13980       static const bool traps = false;
13981       static const bool tinyness_before = false;
13982       static const float_round_style round_style = round_to_nearest;
13983     };
13984
13985
13986
13987
13988
13989
13990   template<>
13991     struct numeric_limits<long double>
13992     {
13993       static const bool is_specialized = true;
13994
13995       static long double min() throw()
13996       { return 3.36210314311209350626e-4932L; }
13997       static long double max() throw()
13998       { return 1.18973149535723176502e+4932L; }
13999
14000       static const int digits = 64;
14001       static const int digits10 = 18;
14002       static const bool is_signed = true;
14003       static const bool is_integer = false;
14004       static const bool is_exact = false;
14005       static const int radix = 2;
14006       static long double epsilon() throw()
14007       { return 1.08420217248550443401e-19L; }
14008       static long double round_error() throw()
14009       { return 0.5L; }
14010
14011       static const int min_exponent = (-16381);
14012       static const int min_exponent10 = (-4931);
14013       static const int max_exponent = 16384;
14014       static const int max_exponent10 = 4932;
14015
14016       static const bool has_infinity = 1;
14017       static const bool has_quiet_NaN = 1;
14018       static const bool has_signaling_NaN = has_quiet_NaN;
14019       static const float_denorm_style has_denorm
14020  = bool(3.64519953188247460253e-4951L) ? denorm_present : denorm_absent;
14021       static const bool has_denorm_loss
14022  = false;
14023
14024       static long double infinity() throw()
14025       { return __builtin_huge_vall (); }
14026       static long double quiet_NaN() throw()
14027       { return __builtin_nanl (""); }
14028       static long double signaling_NaN() throw()
14029       { return __builtin_nansl (""); }
14030       static long double denorm_min() throw()
14031       { return 3.64519953188247460253e-4951L; }
14032
14033       static const bool is_iec559
14034  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
14035       static const bool is_bounded = true;
14036       static const bool is_modulo = false;
14037
14038       static const bool traps = false;
14039       static const bool tinyness_before = false;
14040       static const float_round_style round_style = round_to_nearest;
14041     };
14042
14043
14044
14045
14046
14047 }
14048
14049
14050
14051
14052
14053
14054
14055 #pragma GCC visibility pop
14056 # 62 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 2 3
14057
14058 namespace std
14059 {
14060 # 73 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
14061   template<typename _Tp>
14062     pair<_Tp*, ptrdiff_t>
14063     __get_temporary_buffer(ptrdiff_t __len, _Tp*)
14064     {
14065       const ptrdiff_t __max = numeric_limits<ptrdiff_t>::max() / sizeof(_Tp);
14066       if (__len > __max)
14067  __len = __max;
14068
14069       while (__len > 0)
14070  {
14071    _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp),
14072        nothrow));
14073    if (__tmp != 0)
14074      return pair<_Tp*, ptrdiff_t>(__tmp, __len);
14075    __len /= 2;
14076  }
14077       return pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0);
14078     }
14079 # 109 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
14080   template<typename _Tp>
14081     inline pair<_Tp*, ptrdiff_t>
14082     get_temporary_buffer(ptrdiff_t __len)
14083     { return std::__get_temporary_buffer(__len, static_cast<_Tp*>(0)); }
14084 # 121 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
14085   template<typename _Tp>
14086     void
14087     return_temporary_buffer(_Tp* __p)
14088     { ::operator delete(__p, nothrow); }
14089 # 133 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
14090   template<typename _Tp1>
14091     struct auto_ptr_ref
14092     {
14093       _Tp1* _M_ptr;
14094
14095       explicit
14096       auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { }
14097     };
14098 # 174 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
14099   template<typename _Tp>
14100     class auto_ptr
14101     {
14102     private:
14103       _Tp* _M_ptr;
14104
14105     public:
14106
14107       typedef _Tp element_type;
14108
14109
14110
14111
14112
14113
14114
14115       explicit
14116       auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { }
14117 # 200 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
14118       auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { }
14119 # 212 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
14120       template<typename _Tp1>
14121         auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { }
14122 # 223 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
14123       auto_ptr&
14124       operator=(auto_ptr& __a) throw()
14125       {
14126  reset(__a.release());
14127  return *this;
14128       }
14129 # 240 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
14130       template<typename _Tp1>
14131         auto_ptr&
14132         operator=(auto_ptr<_Tp1>& __a) throw()
14133         {
14134    reset(__a.release());
14135    return *this;
14136  }
14137 # 260 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
14138       ~auto_ptr() { delete _M_ptr; }
14139 # 270 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
14140       element_type&
14141       operator*() const throw()
14142       {
14143  ;
14144  return *_M_ptr;
14145       }
14146
14147
14148
14149
14150
14151
14152
14153       element_type*
14154       operator->() const throw()
14155       {
14156  ;
14157  return _M_ptr;
14158       }
14159 # 300 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
14160       element_type*
14161       get() const throw() { return _M_ptr; }
14162 # 314 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
14163       element_type*
14164       release() throw()
14165       {
14166  element_type* __tmp = _M_ptr;
14167  _M_ptr = 0;
14168  return __tmp;
14169       }
14170 # 329 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
14171       void
14172       reset(element_type* __p = 0) throw()
14173       {
14174  if (__p != _M_ptr)
14175    {
14176      delete _M_ptr;
14177      _M_ptr = __p;
14178    }
14179       }
14180 # 350 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory" 3
14181       auto_ptr(auto_ptr_ref<element_type> __ref) throw()
14182       : _M_ptr(__ref._M_ptr) { }
14183
14184       auto_ptr&
14185       operator=(auto_ptr_ref<element_type> __ref) throw()
14186       {
14187  if (__ref._M_ptr != this->get())
14188    {
14189      delete _M_ptr;
14190      _M_ptr = __ref._M_ptr;
14191    }
14192  return *this;
14193       }
14194
14195       template<typename _Tp1>
14196         operator auto_ptr_ref<_Tp1>() throw()
14197         { return auto_ptr_ref<_Tp1>(this->release()); }
14198
14199       template<typename _Tp1>
14200         operator auto_ptr<_Tp1>() throw()
14201         { return auto_ptr<_Tp1>(this->release()); }
14202   };
14203 }
14204
14205 #pragma GCC visibility pop
14206 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/string" 2 3
14207
14208
14209
14210 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 1 3
14211 # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 3
14212 namespace std
14213 {
14214 # 101 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 3
14215   template <class _Arg, class _Result>
14216     struct unary_function
14217     {
14218       typedef _Arg argument_type;
14219
14220
14221       typedef _Result result_type;
14222     };
14223
14224
14225
14226
14227   template <class _Arg1, class _Arg2, class _Result>
14228     struct binary_function
14229     {
14230       typedef _Arg1 first_argument_type;
14231
14232
14233       typedef _Arg2 second_argument_type;
14234       typedef _Result result_type;
14235     };
14236 # 133 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 3
14237   template <class _Tp>
14238     struct plus : public binary_function<_Tp, _Tp, _Tp>
14239     {
14240       _Tp
14241       operator()(const _Tp& __x, const _Tp& __y) const
14242       { return __x + __y; }
14243     };
14244
14245
14246   template <class _Tp>
14247     struct minus : public binary_function<_Tp, _Tp, _Tp>
14248     {
14249       _Tp
14250       operator()(const _Tp& __x, const _Tp& __y) const
14251       { return __x - __y; }
14252     };
14253
14254
14255   template <class _Tp>
14256     struct multiplies : public binary_function<_Tp, _Tp, _Tp>
14257     {
14258       _Tp
14259       operator()(const _Tp& __x, const _Tp& __y) const
14260       { return __x * __y; }
14261     };
14262
14263
14264   template <class _Tp>
14265     struct divides : public binary_function<_Tp, _Tp, _Tp>
14266     {
14267       _Tp
14268       operator()(const _Tp& __x, const _Tp& __y) const
14269       { return __x / __y; }
14270     };
14271
14272
14273   template <class _Tp>
14274     struct modulus : public binary_function<_Tp, _Tp, _Tp>
14275     {
14276       _Tp
14277       operator()(const _Tp& __x, const _Tp& __y) const
14278       { return __x % __y; }
14279     };
14280
14281
14282   template <class _Tp>
14283     struct negate : public unary_function<_Tp, _Tp>
14284     {
14285       _Tp
14286       operator()(const _Tp& __x) const
14287       { return -__x; }
14288     };
14289 # 195 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 3
14290   template <class _Tp>
14291     struct equal_to : public binary_function<_Tp, _Tp, bool>
14292     {
14293       bool
14294       operator()(const _Tp& __x, const _Tp& __y) const
14295       { return __x == __y; }
14296     };
14297
14298
14299   template <class _Tp>
14300     struct not_equal_to : public binary_function<_Tp, _Tp, bool>
14301     {
14302       bool
14303       operator()(const _Tp& __x, const _Tp& __y) const
14304       { return __x != __y; }
14305     };
14306
14307
14308   template <class _Tp>
14309     struct greater : public binary_function<_Tp, _Tp, bool>
14310     {
14311       bool
14312       operator()(const _Tp& __x, const _Tp& __y) const
14313       { return __x > __y; }
14314     };
14315
14316
14317   template <class _Tp>
14318     struct less : public binary_function<_Tp, _Tp, bool>
14319     {
14320       bool
14321       operator()(const _Tp& __x, const _Tp& __y) const
14322       { return __x < __y; }
14323     };
14324
14325
14326   template <class _Tp>
14327     struct greater_equal : public binary_function<_Tp, _Tp, bool>
14328     {
14329       bool
14330       operator()(const _Tp& __x, const _Tp& __y) const
14331       { return __x >= __y; }
14332     };
14333
14334
14335   template <class _Tp>
14336     struct less_equal : public binary_function<_Tp, _Tp, bool>
14337     {
14338       bool
14339       operator()(const _Tp& __x, const _Tp& __y) const
14340       { return __x <= __y; }
14341     };
14342 # 256 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 3
14343   template <class _Tp>
14344     struct logical_and : public binary_function<_Tp, _Tp, bool>
14345     {
14346       bool
14347       operator()(const _Tp& __x, const _Tp& __y) const
14348       { return __x && __y; }
14349     };
14350
14351
14352   template <class _Tp>
14353     struct logical_or : public binary_function<_Tp, _Tp, bool>
14354     {
14355       bool
14356       operator()(const _Tp& __x, const _Tp& __y) const
14357       { return __x || __y; }
14358     };
14359
14360
14361   template <class _Tp>
14362     struct logical_not : public unary_function<_Tp, bool>
14363     {
14364       bool
14365       operator()(const _Tp& __x) const
14366       { return !__x; }
14367     };
14368 # 311 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 3
14369   template <class _Predicate>
14370     class unary_negate
14371     : public unary_function<typename _Predicate::argument_type, bool>
14372     {
14373     protected:
14374       _Predicate _M_pred;
14375     public:
14376       explicit
14377       unary_negate(const _Predicate& __x) : _M_pred(__x) {}
14378
14379       bool
14380       operator()(const typename _Predicate::argument_type& __x) const
14381       { return !_M_pred(__x); }
14382     };
14383
14384
14385   template <class _Predicate>
14386     inline unary_negate<_Predicate>
14387     not1(const _Predicate& __pred)
14388     { return unary_negate<_Predicate>(__pred); }
14389
14390
14391   template <class _Predicate>
14392     class binary_negate
14393     : public binary_function<typename _Predicate::first_argument_type,
14394         typename _Predicate::second_argument_type,
14395         bool>
14396     {
14397     protected:
14398       _Predicate _M_pred;
14399     public:
14400       explicit
14401       binary_negate(const _Predicate& __x)
14402       : _M_pred(__x) { }
14403
14404       bool
14405       operator()(const typename _Predicate::first_argument_type& __x,
14406    const typename _Predicate::second_argument_type& __y) const
14407       { return !_M_pred(__x, __y); }
14408     };
14409
14410
14411   template <class _Predicate>
14412     inline binary_negate<_Predicate>
14413     not2(const _Predicate& __pred)
14414     { return binary_negate<_Predicate>(__pred); }
14415 # 391 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 3
14416   template <class _Operation>
14417     class binder1st
14418     : public unary_function<typename _Operation::second_argument_type,
14419        typename _Operation::result_type>
14420     {
14421     protected:
14422       _Operation op;
14423       typename _Operation::first_argument_type value;
14424     public:
14425       binder1st(const _Operation& __x,
14426   const typename _Operation::first_argument_type& __y)
14427       : op(__x), value(__y) {}
14428
14429       typename _Operation::result_type
14430       operator()(const typename _Operation::second_argument_type& __x) const
14431       { return op(value, __x); }
14432
14433
14434
14435       typename _Operation::result_type
14436       operator()(typename _Operation::second_argument_type& __x) const
14437       { return op(value, __x); }
14438     };
14439
14440
14441   template <class _Operation, class _Tp>
14442     inline binder1st<_Operation>
14443     bind1st(const _Operation& __fn, const _Tp& __x)
14444     {
14445       typedef typename _Operation::first_argument_type _Arg1_type;
14446       return binder1st<_Operation>(__fn, _Arg1_type(__x));
14447     }
14448
14449
14450   template <class _Operation>
14451     class binder2nd
14452     : public unary_function<typename _Operation::first_argument_type,
14453        typename _Operation::result_type>
14454     {
14455     protected:
14456       _Operation op;
14457       typename _Operation::second_argument_type value;
14458     public:
14459       binder2nd(const _Operation& __x,
14460   const typename _Operation::second_argument_type& __y)
14461       : op(__x), value(__y) {}
14462
14463       typename _Operation::result_type
14464       operator()(const typename _Operation::first_argument_type& __x) const
14465       { return op(__x, value); }
14466
14467
14468
14469       typename _Operation::result_type
14470       operator()(typename _Operation::first_argument_type& __x) const
14471       { return op(__x, value); }
14472     };
14473
14474
14475   template <class _Operation, class _Tp>
14476     inline binder2nd<_Operation>
14477     bind2nd(const _Operation& __fn, const _Tp& __x)
14478     {
14479       typedef typename _Operation::second_argument_type _Arg2_type;
14480       return binder2nd<_Operation>(__fn, _Arg2_type(__x));
14481     }
14482 # 480 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 3
14483   template <class _Arg, class _Result>
14484     class pointer_to_unary_function : public unary_function<_Arg, _Result>
14485     {
14486     protected:
14487       _Result (*_M_ptr)(_Arg);
14488     public:
14489       pointer_to_unary_function() {}
14490
14491       explicit
14492       pointer_to_unary_function(_Result (*__x)(_Arg))
14493       : _M_ptr(__x) {}
14494
14495       _Result
14496       operator()(_Arg __x) const
14497       { return _M_ptr(__x); }
14498     };
14499
14500
14501   template <class _Arg, class _Result>
14502     inline pointer_to_unary_function<_Arg, _Result>
14503     ptr_fun(_Result (*__x)(_Arg))
14504     { return pointer_to_unary_function<_Arg, _Result>(__x); }
14505
14506
14507   template <class _Arg1, class _Arg2, class _Result>
14508     class pointer_to_binary_function
14509     : public binary_function<_Arg1, _Arg2, _Result>
14510     {
14511     protected:
14512       _Result (*_M_ptr)(_Arg1, _Arg2);
14513     public:
14514       pointer_to_binary_function() {}
14515
14516       explicit
14517       pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2))
14518       : _M_ptr(__x) {}
14519
14520       _Result
14521       operator()(_Arg1 __x, _Arg2 __y) const
14522       { return _M_ptr(__x, __y); }
14523     };
14524
14525
14526   template <class _Arg1, class _Arg2, class _Result>
14527     inline pointer_to_binary_function<_Arg1, _Arg2, _Result>
14528     ptr_fun(_Result (*__x)(_Arg1, _Arg2))
14529     { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); }
14530
14531
14532   template <class _Tp>
14533     struct _Identity : public unary_function<_Tp,_Tp>
14534     {
14535       _Tp&
14536       operator()(_Tp& __x) const
14537       { return __x; }
14538
14539       const _Tp&
14540       operator()(const _Tp& __x) const
14541       { return __x; }
14542     };
14543
14544   template <class _Pair>
14545     struct _Select1st : public unary_function<_Pair,
14546            typename _Pair::first_type>
14547     {
14548       typename _Pair::first_type&
14549       operator()(_Pair& __x) const
14550       { return __x.first; }
14551
14552       const typename _Pair::first_type&
14553       operator()(const _Pair& __x) const
14554       { return __x.first; }
14555     };
14556
14557   template <class _Pair>
14558     struct _Select2nd : public unary_function<_Pair,
14559            typename _Pair::second_type>
14560     {
14561       typename _Pair::second_type&
14562       operator()(_Pair& __x) const
14563       { return __x.second; }
14564
14565       const typename _Pair::second_type&
14566       operator()(const _Pair& __x) const
14567       { return __x.second; }
14568     };
14569 # 582 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h" 3
14570   template <class _Ret, class _Tp>
14571     class mem_fun_t : public unary_function<_Tp*, _Ret>
14572     {
14573     public:
14574       explicit
14575       mem_fun_t(_Ret (_Tp::*__pf)())
14576       : _M_f(__pf) {}
14577
14578       _Ret
14579       operator()(_Tp* __p) const
14580       { return (__p->*_M_f)(); }
14581     private:
14582       _Ret (_Tp::*_M_f)();
14583     };
14584
14585
14586   template <class _Ret, class _Tp>
14587     class const_mem_fun_t : public unary_function<const _Tp*, _Ret>
14588     {
14589     public:
14590       explicit
14591       const_mem_fun_t(_Ret (_Tp::*__pf)() const)
14592       : _M_f(__pf) {}
14593
14594       _Ret
14595       operator()(const _Tp* __p) const
14596       { return (__p->*_M_f)(); }
14597     private:
14598       _Ret (_Tp::*_M_f)() const;
14599     };
14600
14601
14602   template <class _Ret, class _Tp>
14603     class mem_fun_ref_t : public unary_function<_Tp, _Ret>
14604     {
14605     public:
14606       explicit
14607       mem_fun_ref_t(_Ret (_Tp::*__pf)())
14608       : _M_f(__pf) {}
14609
14610       _Ret
14611       operator()(_Tp& __r) const
14612       { return (__r.*_M_f)(); }
14613     private:
14614       _Ret (_Tp::*_M_f)();
14615   };
14616
14617
14618   template <class _Ret, class _Tp>
14619     class const_mem_fun_ref_t : public unary_function<_Tp, _Ret>
14620     {
14621     public:
14622       explicit
14623       const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const)
14624       : _M_f(__pf) {}
14625
14626       _Ret
14627       operator()(const _Tp& __r) const
14628       { return (__r.*_M_f)(); }
14629     private:
14630       _Ret (_Tp::*_M_f)() const;
14631     };
14632
14633
14634   template <class _Ret, class _Tp, class _Arg>
14635     class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret>
14636     {
14637     public:
14638       explicit
14639       mem_fun1_t(_Ret (_Tp::*__pf)(_Arg))
14640       : _M_f(__pf) {}
14641
14642       _Ret
14643       operator()(_Tp* __p, _Arg __x) const
14644       { return (__p->*_M_f)(__x); }
14645     private:
14646       _Ret (_Tp::*_M_f)(_Arg);
14647     };
14648
14649
14650   template <class _Ret, class _Tp, class _Arg>
14651     class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret>
14652     {
14653     public:
14654       explicit
14655       const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const)
14656       : _M_f(__pf) {}
14657
14658       _Ret
14659       operator()(const _Tp* __p, _Arg __x) const
14660       { return (__p->*_M_f)(__x); }
14661     private:
14662       _Ret (_Tp::*_M_f)(_Arg) const;
14663     };
14664
14665
14666   template <class _Ret, class _Tp, class _Arg>
14667     class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
14668     {
14669     public:
14670       explicit
14671       mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg))
14672       : _M_f(__pf) {}
14673
14674       _Ret
14675       operator()(_Tp& __r, _Arg __x) const
14676       { return (__r.*_M_f)(__x); }
14677     private:
14678       _Ret (_Tp::*_M_f)(_Arg);
14679     };
14680
14681
14682   template <class _Ret, class _Tp, class _Arg>
14683     class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
14684     {
14685     public:
14686       explicit
14687       const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const)
14688       : _M_f(__pf) {}
14689
14690       _Ret
14691       operator()(const _Tp& __r, _Arg __x) const
14692       { return (__r.*_M_f)(__x); }
14693     private:
14694       _Ret (_Tp::*_M_f)(_Arg) const;
14695     };
14696
14697
14698
14699   template <class _Ret, class _Tp>
14700     inline mem_fun_t<_Ret, _Tp>
14701     mem_fun(_Ret (_Tp::*__f)())
14702     { return mem_fun_t<_Ret, _Tp>(__f); }
14703
14704   template <class _Ret, class _Tp>
14705     inline const_mem_fun_t<_Ret, _Tp>
14706     mem_fun(_Ret (_Tp::*__f)() const)
14707     { return const_mem_fun_t<_Ret, _Tp>(__f); }
14708
14709   template <class _Ret, class _Tp>
14710     inline mem_fun_ref_t<_Ret, _Tp>
14711     mem_fun_ref(_Ret (_Tp::*__f)())
14712     { return mem_fun_ref_t<_Ret, _Tp>(__f); }
14713
14714   template <class _Ret, class _Tp>
14715     inline const_mem_fun_ref_t<_Ret, _Tp>
14716     mem_fun_ref(_Ret (_Tp::*__f)() const)
14717     { return const_mem_fun_ref_t<_Ret, _Tp>(__f); }
14718
14719   template <class _Ret, class _Tp, class _Arg>
14720     inline mem_fun1_t<_Ret, _Tp, _Arg>
14721     mem_fun(_Ret (_Tp::*__f)(_Arg))
14722     { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
14723
14724   template <class _Ret, class _Tp, class _Arg>
14725     inline const_mem_fun1_t<_Ret, _Tp, _Arg>
14726     mem_fun(_Ret (_Tp::*__f)(_Arg) const)
14727     { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
14728
14729   template <class _Ret, class _Tp, class _Arg>
14730     inline mem_fun1_ref_t<_Ret, _Tp, _Arg>
14731     mem_fun_ref(_Ret (_Tp::*__f)(_Arg))
14732     { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
14733
14734   template <class _Ret, class _Tp, class _Arg>
14735     inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg>
14736     mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const)
14737     { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
14738
14739
14740
14741 }
14742 # 53 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/string" 2 3
14743 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 1 3
14744 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
14745        
14746 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
14747
14748 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/atomicity.h" 1 3
14749 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/atomicity.h" 3
14750 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/atomic_word.h" 1 3
14751 # 33 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/atomic_word.h" 3
14752 typedef int _Atomic_word;
14753 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/atomicity.h" 2 3
14754
14755 namespace __gnu_cxx
14756 {
14757   _Atomic_word
14758   __attribute__ ((__unused__))
14759   __exchange_and_add(volatile _Atomic_word* __mem, int __val);
14760
14761   void
14762   __attribute__ ((__unused__))
14763   __atomic_add(volatile _Atomic_word* __mem, int __val);
14764 }
14765 # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 2 3
14766
14767
14768 namespace std
14769 {
14770 # 109 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
14771   template<typename _CharT, typename _Traits, typename _Alloc>
14772     class basic_string
14773     {
14774       typedef typename _Alloc::template rebind<_CharT>::other _CharT_alloc_type;
14775
14776
14777     public:
14778       typedef _Traits traits_type;
14779       typedef typename _Traits::char_type value_type;
14780       typedef _Alloc allocator_type;
14781       typedef typename _CharT_alloc_type::size_type size_type;
14782       typedef typename _CharT_alloc_type::difference_type difference_type;
14783       typedef typename _CharT_alloc_type::reference reference;
14784       typedef typename _CharT_alloc_type::const_reference const_reference;
14785       typedef typename _CharT_alloc_type::pointer pointer;
14786       typedef typename _CharT_alloc_type::const_pointer const_pointer;
14787       typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator;
14788       typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string>
14789                                                             const_iterator;
14790       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
14791       typedef std::reverse_iterator<iterator> reverse_iterator;
14792
14793     private:
14794 # 146 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
14795       struct _Rep_base
14796       {
14797  size_type _M_length;
14798  size_type _M_capacity;
14799  _Atomic_word _M_refcount;
14800       };
14801
14802       struct _Rep : _Rep_base
14803       {
14804
14805  typedef typename _Alloc::template rebind<char>::other _Raw_bytes_alloc;
14806 # 171 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
14807  static const size_type _S_max_size;
14808  static const _CharT _S_terminal;
14809
14810
14811
14812         static size_type _S_empty_rep_storage[];
14813
14814         static _Rep&
14815         _S_empty_rep()
14816         {
14817    void* __p = reinterpret_cast<void*>(&_S_empty_rep_storage);
14818    return *reinterpret_cast<_Rep*>(__p);
14819  }
14820
14821         bool
14822  _M_is_leaked() const
14823         { return this->_M_refcount < 0; }
14824
14825         bool
14826  _M_is_shared() const
14827         { return this->_M_refcount > 0; }
14828
14829         void
14830  _M_set_leaked()
14831         { this->_M_refcount = -1; }
14832
14833         void
14834  _M_set_sharable()
14835         { this->_M_refcount = 0; }
14836
14837  void
14838  _M_set_length_and_sharable(size_type __n)
14839  {
14840    this->_M_set_sharable();
14841    this->_M_length = __n;
14842    traits_type::assign(this->_M_refdata()[__n], _S_terminal);
14843
14844
14845  }
14846
14847  _CharT*
14848  _M_refdata() throw()
14849  { return reinterpret_cast<_CharT*>(this + 1); }
14850
14851  _CharT*
14852  _M_grab(const _Alloc& __alloc1, const _Alloc& __alloc2)
14853  {
14854    return (!_M_is_leaked() && __alloc1 == __alloc2)
14855            ? _M_refcopy() : _M_clone(__alloc1);
14856  }
14857
14858
14859  static _Rep*
14860  _S_create(size_type, size_type, const _Alloc&);
14861
14862  void
14863  _M_dispose(const _Alloc& __a)
14864  {
14865
14866    if (__builtin_expect(this != &_S_empty_rep(), false))
14867
14868      if (__gnu_cxx::__exchange_and_add(&this->_M_refcount, -1) <= 0)
14869        _M_destroy(__a);
14870  }
14871
14872  void
14873  _M_destroy(const _Alloc&) throw();
14874
14875  _CharT*
14876  _M_refcopy() throw()
14877  {
14878
14879    if (__builtin_expect(this != &_S_empty_rep(), false))
14880
14881             __gnu_cxx::__atomic_add(&this->_M_refcount, 1);
14882    return _M_refdata();
14883  }
14884
14885  _CharT*
14886  _M_clone(const _Alloc&, size_type __res = 0);
14887       };
14888
14889
14890       struct _Alloc_hider : _Alloc
14891       {
14892  _Alloc_hider(_CharT* __dat, const _Alloc& __a)
14893  : _Alloc(__a), _M_p(__dat) { }
14894
14895  _CharT* _M_p;
14896       };
14897
14898     public:
14899
14900
14901
14902
14903       static const size_type npos = static_cast<size_type>(-1);
14904
14905     private:
14906
14907       mutable _Alloc_hider _M_dataplus;
14908
14909       _CharT*
14910       _M_data() const
14911       { return _M_dataplus._M_p; }
14912
14913       _CharT*
14914       _M_data(_CharT* __p)
14915       { return (_M_dataplus._M_p = __p); }
14916
14917       _Rep*
14918       _M_rep() const
14919       { return &((reinterpret_cast<_Rep*> (_M_data()))[-1]); }
14920
14921
14922
14923       iterator
14924       _M_ibegin() const
14925       { return iterator(_M_data()); }
14926
14927       iterator
14928       _M_iend() const
14929       { return iterator(_M_data() + this->size()); }
14930
14931       void
14932       _M_leak()
14933       {
14934  if (!_M_rep()->_M_is_leaked())
14935    _M_leak_hard();
14936       }
14937
14938       size_type
14939       _M_check(size_type __pos, const char* __s) const
14940       {
14941  if (__pos > this->size())
14942    __throw_out_of_range((__s));
14943  return __pos;
14944       }
14945
14946       void
14947       _M_check_length(size_type __n1, size_type __n2, const char* __s) const
14948       {
14949  if (this->max_size() - (this->size() - __n1) < __n2)
14950    __throw_length_error((__s));
14951       }
14952
14953
14954       size_type
14955       _M_limit(size_type __pos, size_type __off) const
14956       {
14957  const bool __testoff = __off < this->size() - __pos;
14958  return __testoff ? __off : this->size() - __pos;
14959       }
14960
14961
14962       bool
14963       _M_disjunct(const _CharT* __s) const
14964       {
14965  return (less<const _CharT*>()(__s, _M_data())
14966   || less<const _CharT*>()(_M_data() + this->size(), __s));
14967       }
14968
14969
14970
14971       static void
14972       _M_copy(_CharT* __d, const _CharT* __s, size_type __n)
14973       {
14974  if (__n == 1)
14975    traits_type::assign(*__d, *__s);
14976  else
14977    traits_type::copy(__d, __s, __n);
14978       }
14979
14980       static void
14981       _M_move(_CharT* __d, const _CharT* __s, size_type __n)
14982       {
14983  if (__n == 1)
14984    traits_type::assign(*__d, *__s);
14985  else
14986    traits_type::move(__d, __s, __n);
14987       }
14988
14989       static void
14990       _M_assign(_CharT* __d, size_type __n, _CharT __c)
14991       {
14992  if (__n == 1)
14993    traits_type::assign(*__d, __c);
14994  else
14995    traits_type::assign(__d, __n, __c);
14996       }
14997
14998
14999
15000       template<class _Iterator>
15001         static void
15002         _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2)
15003         {
15004    for (; __k1 != __k2; ++__k1, ++__p)
15005      traits_type::assign(*__p, *__k1);
15006  }
15007
15008       static void
15009       _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2)
15010       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
15011
15012       static void
15013       _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2)
15014       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
15015
15016       static void
15017       _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2)
15018       { _M_copy(__p, __k1, __k2 - __k1); }
15019
15020       static void
15021       _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2)
15022       { _M_copy(__p, __k1, __k2 - __k1); }
15023
15024       void
15025       _M_mutate(size_type __pos, size_type __len1, size_type __len2);
15026
15027       void
15028       _M_leak_hard();
15029
15030       static _Rep&
15031       _S_empty_rep()
15032       { return _Rep::_S_empty_rep(); }
15033
15034     public:
15035
15036
15037
15038
15039
15040
15041
15042       inline
15043       basic_string();
15044
15045
15046
15047
15048       explicit
15049       basic_string(const _Alloc& __a);
15050
15051
15052
15053
15054
15055
15056       basic_string(const basic_string& __str);
15057
15058
15059
15060
15061
15062
15063       basic_string(const basic_string& __str, size_type __pos,
15064      size_type __n = npos);
15065
15066
15067
15068
15069
15070
15071
15072       basic_string(const basic_string& __str, size_type __pos,
15073      size_type __n, const _Alloc& __a);
15074 # 448 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15075       basic_string(const _CharT* __s, size_type __n,
15076      const _Alloc& __a = _Alloc());
15077
15078
15079
15080
15081
15082       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc());
15083
15084
15085
15086
15087
15088
15089       basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc());
15090
15091
15092
15093
15094
15095
15096
15097       template<class _InputIterator>
15098         basic_string(_InputIterator __beg, _InputIterator __end,
15099        const _Alloc& __a = _Alloc());
15100
15101
15102
15103
15104       ~basic_string()
15105       { _M_rep()->_M_dispose(this->get_allocator()); }
15106
15107
15108
15109
15110
15111       basic_string&
15112       operator=(const basic_string& __str)
15113       { return this->assign(__str); }
15114
15115
15116
15117
15118
15119       basic_string&
15120       operator=(const _CharT* __s)
15121       { return this->assign(__s); }
15122 # 503 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15123       basic_string&
15124       operator=(_CharT __c)
15125       {
15126  this->assign(1, __c);
15127  return *this;
15128       }
15129
15130
15131
15132
15133
15134
15135       iterator
15136       begin()
15137       {
15138  _M_leak();
15139  return iterator(_M_data());
15140       }
15141
15142
15143
15144
15145
15146       const_iterator
15147       begin() const
15148       { return const_iterator(_M_data()); }
15149
15150
15151
15152
15153
15154       iterator
15155       end()
15156       {
15157  _M_leak();
15158  return iterator(_M_data() + this->size());
15159       }
15160
15161
15162
15163
15164
15165       const_iterator
15166       end() const
15167       { return const_iterator(_M_data() + this->size()); }
15168
15169
15170
15171
15172
15173
15174       reverse_iterator
15175       rbegin()
15176       { return reverse_iterator(this->end()); }
15177
15178
15179
15180
15181
15182
15183       const_reverse_iterator
15184       rbegin() const
15185       { return const_reverse_iterator(this->end()); }
15186
15187
15188
15189
15190
15191
15192       reverse_iterator
15193       rend()
15194       { return reverse_iterator(this->begin()); }
15195
15196
15197
15198
15199
15200
15201       const_reverse_iterator
15202       rend() const
15203       { return const_reverse_iterator(this->begin()); }
15204
15205     public:
15206
15207
15208
15209       size_type
15210       size() const
15211       { return _M_rep()->_M_length; }
15212
15213
15214
15215       size_type
15216       length() const
15217       { return _M_rep()->_M_length; }
15218
15219
15220       size_type
15221       max_size() const
15222       { return _Rep::_S_max_size; }
15223 # 614 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15224       void
15225       resize(size_type __n, _CharT __c);
15226 # 627 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15227       void
15228       resize(size_type __n)
15229       { this->resize(__n, _CharT()); }
15230
15231
15232
15233
15234
15235       size_type
15236       capacity() const
15237       { return _M_rep()->_M_capacity; }
15238 # 656 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15239       void
15240       reserve(size_type __res_arg = 0);
15241
15242
15243
15244
15245       void
15246       clear()
15247       { _M_mutate(0, this->size(), 0); }
15248
15249
15250
15251
15252       bool
15253       empty() const
15254       { return this->size() == 0; }
15255 # 684 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15256       const_reference
15257       operator[] (size_type __pos) const
15258       {
15259  ;
15260  return _M_data()[__pos];
15261       }
15262 # 701 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15263       reference
15264       operator[](size_type __pos)
15265       {
15266
15267  ;
15268
15269  ;
15270  _M_leak();
15271  return _M_data()[__pos];
15272       }
15273 # 722 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15274       const_reference
15275       at(size_type __n) const
15276       {
15277  if (__n >= this->size())
15278    __throw_out_of_range(("basic_string::at"));
15279  return _M_data()[__n];
15280       }
15281 # 741 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15282       reference
15283       at(size_type __n)
15284       {
15285  if (__n >= size())
15286    __throw_out_of_range(("basic_string::at"));
15287  _M_leak();
15288  return _M_data()[__n];
15289       }
15290
15291
15292
15293
15294
15295
15296
15297       basic_string&
15298       operator+=(const basic_string& __str)
15299       { return this->append(__str); }
15300
15301
15302
15303
15304
15305
15306       basic_string&
15307       operator+=(const _CharT* __s)
15308       { return this->append(__s); }
15309
15310
15311
15312
15313
15314
15315       basic_string&
15316       operator+=(_CharT __c)
15317       {
15318  this->push_back(__c);
15319  return *this;
15320       }
15321
15322
15323
15324
15325
15326
15327       basic_string&
15328       append(const basic_string& __str);
15329 # 801 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15330       basic_string&
15331       append(const basic_string& __str, size_type __pos, size_type __n);
15332
15333
15334
15335
15336
15337
15338
15339       basic_string&
15340       append(const _CharT* __s, size_type __n);
15341
15342
15343
15344
15345
15346
15347       basic_string&
15348       append(const _CharT* __s)
15349       {
15350  ;
15351  return this->append(__s, traits_type::length(__s));
15352       }
15353 # 833 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15354       basic_string&
15355       append(size_type __n, _CharT __c);
15356 # 844 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15357       template<class _InputIterator>
15358         basic_string&
15359         append(_InputIterator __first, _InputIterator __last)
15360         { return this->replace(_M_iend(), _M_iend(), __first, __last); }
15361
15362
15363
15364
15365
15366       void
15367       push_back(_CharT __c)
15368       {
15369  const size_type __len = 1 + this->size();
15370  if (__len > this->capacity() || _M_rep()->_M_is_shared())
15371    this->reserve(__len);
15372  traits_type::assign(_M_data()[this->size()], __c);
15373  _M_rep()->_M_set_length_and_sharable(__len);
15374       }
15375
15376
15377
15378
15379
15380
15381       basic_string&
15382       assign(const basic_string& __str);
15383 # 883 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15384       basic_string&
15385       assign(const basic_string& __str, size_type __pos, size_type __n)
15386       { return this->assign(__str._M_data()
15387        + __str._M_check(__pos, "basic_string::assign"),
15388        __str._M_limit(__pos, __n)); }
15389 # 899 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15390       basic_string&
15391       assign(const _CharT* __s, size_type __n);
15392 # 911 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15393       basic_string&
15394       assign(const _CharT* __s)
15395       {
15396  ;
15397  return this->assign(__s, traits_type::length(__s));
15398       }
15399 # 927 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15400       basic_string&
15401       assign(size_type __n, _CharT __c)
15402       { return _M_replace_aux(size_type(0), this->size(), __n, __c); }
15403 # 939 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15404       template<class _InputIterator>
15405         basic_string&
15406         assign(_InputIterator __first, _InputIterator __last)
15407         { return this->replace(_M_ibegin(), _M_iend(), __first, __last); }
15408 # 956 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15409       void
15410       insert(iterator __p, size_type __n, _CharT __c)
15411       { this->replace(__p, __p, __n, __c); }
15412 # 971 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15413       template<class _InputIterator>
15414         void
15415         insert(iterator __p, _InputIterator __beg, _InputIterator __end)
15416         { this->replace(__p, __p, __beg, __end); }
15417 # 987 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15418       basic_string&
15419       insert(size_type __pos1, const basic_string& __str)
15420       { return this->insert(__pos1, __str, size_type(0), __str.size()); }
15421 # 1009 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15422       basic_string&
15423       insert(size_type __pos1, const basic_string& __str,
15424       size_type __pos2, size_type __n)
15425       { return this->insert(__pos1, __str._M_data()
15426        + __str._M_check(__pos2, "basic_string::insert"),
15427        __str._M_limit(__pos2, __n)); }
15428 # 1032 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15429       basic_string&
15430       insert(size_type __pos, const _CharT* __s, size_type __n);
15431 # 1050 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15432       basic_string&
15433       insert(size_type __pos, const _CharT* __s)
15434       {
15435  ;
15436  return this->insert(__pos, __s, traits_type::length(__s));
15437       }
15438 # 1073 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15439       basic_string&
15440       insert(size_type __pos, size_type __n, _CharT __c)
15441       { return _M_replace_aux(_M_check(__pos, "basic_string::insert"),
15442          size_type(0), __n, __c); }
15443 # 1090 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15444       iterator
15445       insert(iterator __p, _CharT __c)
15446       {
15447  ;
15448  const size_type __pos = __p - _M_ibegin();
15449  _M_replace_aux(__pos, size_type(0), size_type(1), __c);
15450  _M_rep()->_M_set_leaked();
15451  return this->_M_ibegin() + __pos;
15452       }
15453 # 1114 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15454       basic_string&
15455       erase(size_type __pos = 0, size_type __n = npos)
15456       {
15457  _M_mutate(_M_check(__pos, "basic_string::erase"),
15458     _M_limit(__pos, __n), size_type(0));
15459  return *this;
15460       }
15461 # 1130 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15462       iterator
15463       erase(iterator __position)
15464       {
15465  ;
15466
15467  const size_type __pos = __position - _M_ibegin();
15468  _M_mutate(__pos, size_type(1), size_type(0));
15469  _M_rep()->_M_set_leaked();
15470  return _M_ibegin() + __pos;
15471       }
15472 # 1150 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15473       iterator
15474       erase(iterator __first, iterator __last)
15475       {
15476  ;
15477
15478         const size_type __pos = __first - _M_ibegin();
15479  _M_mutate(__pos, __last - __first, size_type(0));
15480  _M_rep()->_M_set_leaked();
15481  return _M_ibegin() + __pos;
15482       }
15483 # 1177 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15484       basic_string&
15485       replace(size_type __pos, size_type __n, const basic_string& __str)
15486       { return this->replace(__pos, __n, __str._M_data(), __str.size()); }
15487 # 1199 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15488       basic_string&
15489       replace(size_type __pos1, size_type __n1, const basic_string& __str,
15490        size_type __pos2, size_type __n2)
15491       { return this->replace(__pos1, __n1, __str._M_data()
15492         + __str._M_check(__pos2, "basic_string::replace"),
15493         __str._M_limit(__pos2, __n2)); }
15494 # 1223 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15495       basic_string&
15496       replace(size_type __pos, size_type __n1, const _CharT* __s,
15497        size_type __n2);
15498 # 1242 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15499       basic_string&
15500       replace(size_type __pos, size_type __n1, const _CharT* __s)
15501       {
15502  ;
15503  return this->replace(__pos, __n1, __s, traits_type::length(__s));
15504       }
15505 # 1265 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15506       basic_string&
15507       replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
15508       { return _M_replace_aux(_M_check(__pos, "basic_string::replace"),
15509          _M_limit(__pos, __n1), __n2, __c); }
15510 # 1283 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15511       basic_string&
15512       replace(iterator __i1, iterator __i2, const basic_string& __str)
15513       { return this->replace(__i1, __i2, __str._M_data(), __str.size()); }
15514 # 1301 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15515       basic_string&
15516       replace(iterator __i1, iterator __i2, const _CharT* __s, size_type __n)
15517       {
15518  ;
15519
15520  return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __s, __n);
15521       }
15522 # 1322 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15523       basic_string&
15524       replace(iterator __i1, iterator __i2, const _CharT* __s)
15525       {
15526  ;
15527  return this->replace(__i1, __i2, __s, traits_type::length(__s));
15528       }
15529 # 1343 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15530       basic_string&
15531       replace(iterator __i1, iterator __i2, size_type __n, _CharT __c)
15532       {
15533  ;
15534
15535  return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __c);
15536       }
15537 # 1365 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15538       template<class _InputIterator>
15539         basic_string&
15540         replace(iterator __i1, iterator __i2,
15541   _InputIterator __k1, _InputIterator __k2)
15542         {
15543    ;
15544
15545    ;
15546    typedef typename std::__is_integer<_InputIterator>::__type _Integral;
15547    return _M_replace_dispatch(__i1, __i2, __k1, __k2, _Integral());
15548  }
15549
15550
15551
15552       basic_string&
15553       replace(iterator __i1, iterator __i2, _CharT* __k1, _CharT* __k2)
15554       {
15555  ;
15556
15557  ;
15558  return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
15559         __k1, __k2 - __k1);
15560       }
15561
15562       basic_string&
15563       replace(iterator __i1, iterator __i2,
15564        const _CharT* __k1, const _CharT* __k2)
15565       {
15566  ;
15567
15568  ;
15569  return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
15570         __k1, __k2 - __k1);
15571       }
15572
15573       basic_string&
15574       replace(iterator __i1, iterator __i2, iterator __k1, iterator __k2)
15575       {
15576  ;
15577
15578  ;
15579  return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
15580         __k1.base(), __k2 - __k1);
15581       }
15582
15583       basic_string&
15584       replace(iterator __i1, iterator __i2,
15585        const_iterator __k1, const_iterator __k2)
15586       {
15587  ;
15588
15589  ;
15590  return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
15591         __k1.base(), __k2 - __k1);
15592       }
15593
15594     private:
15595       template<class _Integer>
15596  basic_string&
15597  _M_replace_dispatch(iterator __i1, iterator __i2, _Integer __n,
15598        _Integer __val, __true_type)
15599         { return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __val); }
15600
15601       template<class _InputIterator>
15602  basic_string&
15603  _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1,
15604        _InputIterator __k2, __false_type);
15605
15606       basic_string&
15607       _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
15608        _CharT __c);
15609
15610       basic_string&
15611       _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s,
15612         size_type __n2);
15613
15614
15615
15616       template<class _InIterator>
15617         static _CharT*
15618         _S_construct_aux(_InIterator __beg, _InIterator __end,
15619     const _Alloc& __a, __false_type)
15620  {
15621           typedef typename iterator_traits<_InIterator>::iterator_category _Tag;
15622           return _S_construct(__beg, __end, __a, _Tag());
15623  }
15624
15625       template<class _InIterator>
15626         static _CharT*
15627         _S_construct_aux(_InIterator __beg, _InIterator __end,
15628     const _Alloc& __a, __true_type)
15629  { return _S_construct(static_cast<size_type>(__beg),
15630          static_cast<value_type>(__end), __a); }
15631
15632       template<class _InIterator>
15633         static _CharT*
15634         _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a)
15635  {
15636    typedef typename std::__is_integer<_InIterator>::__type _Integral;
15637    return _S_construct_aux(__beg, __end, __a, _Integral());
15638         }
15639
15640
15641       template<class _InIterator>
15642         static _CharT*
15643          _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a,
15644         input_iterator_tag);
15645
15646
15647
15648       template<class _FwdIterator>
15649         static _CharT*
15650         _S_construct(_FwdIterator __beg, _FwdIterator __end, const _Alloc& __a,
15651        forward_iterator_tag);
15652
15653       static _CharT*
15654       _S_construct(size_type __req, _CharT __c, const _Alloc& __a);
15655
15656     public:
15657 # 1496 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15658       size_type
15659       copy(_CharT* __s, size_type __n, size_type __pos = 0) const;
15660 # 1506 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15661       void
15662       swap(basic_string& __s);
15663 # 1516 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15664       const _CharT*
15665       c_str() const
15666       { return _M_data(); }
15667
15668
15669
15670
15671
15672
15673
15674       const _CharT*
15675       data() const
15676       { return _M_data(); }
15677
15678
15679
15680
15681       allocator_type
15682       get_allocator() const
15683       { return _M_dataplus; }
15684 # 1548 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15685       size_type
15686       find(const _CharT* __s, size_type __pos, size_type __n) const;
15687 # 1561 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15688       size_type
15689       find(const basic_string& __str, size_type __pos = 0) const
15690       { return this->find(__str.data(), __pos, __str.size()); }
15691 # 1575 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15692       size_type
15693       find(const _CharT* __s, size_type __pos = 0) const
15694       {
15695  ;
15696  return this->find(__s, __pos, traits_type::length(__s));
15697       }
15698 # 1592 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15699       size_type
15700       find(_CharT __c, size_type __pos = 0) const;
15701 # 1605 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15702       size_type
15703       rfind(const basic_string& __str, size_type __pos = npos) const
15704       { return this->rfind(__str.data(), __pos, __str.size()); }
15705 # 1620 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15706       size_type
15707       rfind(const _CharT* __s, size_type __pos, size_type __n) const;
15708 # 1633 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15709       size_type
15710       rfind(const _CharT* __s, size_type __pos = npos) const
15711       {
15712  ;
15713  return this->rfind(__s, __pos, traits_type::length(__s));
15714       }
15715 # 1650 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15716       size_type
15717       rfind(_CharT __c, size_type __pos = npos) const;
15718 # 1663 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15719       size_type
15720       find_first_of(const basic_string& __str, size_type __pos = 0) const
15721       { return this->find_first_of(__str.data(), __pos, __str.size()); }
15722 # 1678 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15723       size_type
15724       find_first_of(const _CharT* __s, size_type __pos, size_type __n) const;
15725 # 1691 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15726       size_type
15727       find_first_of(const _CharT* __s, size_type __pos = 0) const
15728       {
15729  ;
15730  return this->find_first_of(__s, __pos, traits_type::length(__s));
15731       }
15732 # 1710 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15733       size_type
15734       find_first_of(_CharT __c, size_type __pos = 0) const
15735       { return this->find(__c, __pos); }
15736 # 1724 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15737       size_type
15738       find_last_of(const basic_string& __str, size_type __pos = npos) const
15739       { return this->find_last_of(__str.data(), __pos, __str.size()); }
15740 # 1739 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15741       size_type
15742       find_last_of(const _CharT* __s, size_type __pos, size_type __n) const;
15743 # 1752 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15744       size_type
15745       find_last_of(const _CharT* __s, size_type __pos = npos) const
15746       {
15747  ;
15748  return this->find_last_of(__s, __pos, traits_type::length(__s));
15749       }
15750 # 1771 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15751       size_type
15752       find_last_of(_CharT __c, size_type __pos = npos) const
15753       { return this->rfind(__c, __pos); }
15754 # 1785 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15755       size_type
15756       find_first_not_of(const basic_string& __str, size_type __pos = 0) const
15757       { return this->find_first_not_of(__str.data(), __pos, __str.size()); }
15758 # 1800 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15759       size_type
15760       find_first_not_of(const _CharT* __s, size_type __pos,
15761    size_type __n) const;
15762 # 1814 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15763       size_type
15764       find_first_not_of(const _CharT* __s, size_type __pos = 0) const
15765       {
15766  ;
15767  return this->find_first_not_of(__s, __pos, traits_type::length(__s));
15768       }
15769 # 1831 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15770       size_type
15771       find_first_not_of(_CharT __c, size_type __pos = 0) const;
15772 # 1844 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15773       size_type
15774       find_last_not_of(const basic_string& __str, size_type __pos = npos) const
15775       { return this->find_last_not_of(__str.data(), __pos, __str.size()); }
15776 # 1860 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15777       size_type
15778       find_last_not_of(const _CharT* __s, size_type __pos,
15779          size_type __n) const;
15780 # 1873 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15781       size_type
15782       find_last_not_of(const _CharT* __s, size_type __pos = npos) const
15783       {
15784  ;
15785  return this->find_last_not_of(__s, __pos, traits_type::length(__s));
15786       }
15787 # 1890 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15788       size_type
15789       find_last_not_of(_CharT __c, size_type __pos = npos) const;
15790 # 1905 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15791       basic_string
15792       substr(size_type __pos = 0, size_type __n = npos) const
15793       { return basic_string(*this,
15794        _M_check(__pos, "basic_string::substr"), __n); }
15795 # 1923 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15796       int
15797       compare(const basic_string& __str) const
15798       {
15799  const size_type __size = this->size();
15800  const size_type __osize = __str.size();
15801  const size_type __len = std::min(__size, __osize);
15802
15803  int __r = traits_type::compare(_M_data(), __str.data(), __len);
15804  if (!__r)
15805    __r = __size - __osize;
15806  return __r;
15807       }
15808 # 1953 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15809       int
15810       compare(size_type __pos, size_type __n, const basic_string& __str) const;
15811 # 1977 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15812       int
15813       compare(size_type __pos1, size_type __n1, const basic_string& __str,
15814        size_type __pos2, size_type __n2) const;
15815 # 1995 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15816       int
15817       compare(const _CharT* __s) const;
15818 # 2018 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15819       int
15820       compare(size_type __pos, size_type __n1, const _CharT* __s) const;
15821 # 2043 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15822       int
15823       compare(size_type __pos, size_type __n1, const _CharT* __s,
15824        size_type __n2) const;
15825   };
15826
15827   template<typename _CharT, typename _Traits, typename _Alloc>
15828     inline basic_string<_CharT, _Traits, _Alloc>::
15829     basic_string()
15830
15831     : _M_dataplus(_S_empty_rep()._M_refdata(), _Alloc()) { }
15832 # 2064 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15833   template<typename _CharT, typename _Traits, typename _Alloc>
15834     basic_string<_CharT, _Traits, _Alloc>
15835     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
15836        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
15837     {
15838       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
15839       __str.append(__rhs);
15840       return __str;
15841     }
15842
15843
15844
15845
15846
15847
15848
15849   template<typename _CharT, typename _Traits, typename _Alloc>
15850     basic_string<_CharT,_Traits,_Alloc>
15851     operator+(const _CharT* __lhs,
15852        const basic_string<_CharT,_Traits,_Alloc>& __rhs);
15853
15854
15855
15856
15857
15858
15859
15860   template<typename _CharT, typename _Traits, typename _Alloc>
15861     basic_string<_CharT,_Traits,_Alloc>
15862     operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs);
15863
15864
15865
15866
15867
15868
15869
15870   template<typename _CharT, typename _Traits, typename _Alloc>
15871     inline basic_string<_CharT, _Traits, _Alloc>
15872     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
15873       const _CharT* __rhs)
15874     {
15875       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
15876       __str.append(__rhs);
15877       return __str;
15878     }
15879
15880
15881
15882
15883
15884
15885
15886   template<typename _CharT, typename _Traits, typename _Alloc>
15887     inline basic_string<_CharT, _Traits, _Alloc>
15888     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs)
15889     {
15890       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
15891       typedef typename __string_type::size_type __size_type;
15892       __string_type __str(__lhs);
15893       __str.append(__size_type(1), __rhs);
15894       return __str;
15895     }
15896 # 2135 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15897   template<typename _CharT, typename _Traits, typename _Alloc>
15898     inline bool
15899     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
15900         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
15901     { return __lhs.compare(__rhs) == 0; }
15902
15903
15904
15905
15906
15907
15908
15909   template<typename _CharT, typename _Traits, typename _Alloc>
15910     inline bool
15911     operator==(const _CharT* __lhs,
15912         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
15913     { return __rhs.compare(__lhs) == 0; }
15914
15915
15916
15917
15918
15919
15920
15921   template<typename _CharT, typename _Traits, typename _Alloc>
15922     inline bool
15923     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
15924         const _CharT* __rhs)
15925     { return __lhs.compare(__rhs) == 0; }
15926 # 2172 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15927   template<typename _CharT, typename _Traits, typename _Alloc>
15928     inline bool
15929     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
15930         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
15931     { return __rhs.compare(__lhs) != 0; }
15932
15933
15934
15935
15936
15937
15938
15939   template<typename _CharT, typename _Traits, typename _Alloc>
15940     inline bool
15941     operator!=(const _CharT* __lhs,
15942         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
15943     { return __rhs.compare(__lhs) != 0; }
15944
15945
15946
15947
15948
15949
15950
15951   template<typename _CharT, typename _Traits, typename _Alloc>
15952     inline bool
15953     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
15954         const _CharT* __rhs)
15955     { return __lhs.compare(__rhs) != 0; }
15956 # 2209 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15957   template<typename _CharT, typename _Traits, typename _Alloc>
15958     inline bool
15959     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
15960        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
15961     { return __lhs.compare(__rhs) < 0; }
15962
15963
15964
15965
15966
15967
15968
15969   template<typename _CharT, typename _Traits, typename _Alloc>
15970     inline bool
15971     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
15972        const _CharT* __rhs)
15973     { return __lhs.compare(__rhs) < 0; }
15974
15975
15976
15977
15978
15979
15980
15981   template<typename _CharT, typename _Traits, typename _Alloc>
15982     inline bool
15983     operator<(const _CharT* __lhs,
15984        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
15985     { return __rhs.compare(__lhs) > 0; }
15986 # 2246 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
15987   template<typename _CharT, typename _Traits, typename _Alloc>
15988     inline bool
15989     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
15990        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
15991     { return __lhs.compare(__rhs) > 0; }
15992
15993
15994
15995
15996
15997
15998
15999   template<typename _CharT, typename _Traits, typename _Alloc>
16000     inline bool
16001     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
16002        const _CharT* __rhs)
16003     { return __lhs.compare(__rhs) > 0; }
16004
16005
16006
16007
16008
16009
16010
16011   template<typename _CharT, typename _Traits, typename _Alloc>
16012     inline bool
16013     operator>(const _CharT* __lhs,
16014        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
16015     { return __rhs.compare(__lhs) < 0; }
16016 # 2283 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16017   template<typename _CharT, typename _Traits, typename _Alloc>
16018     inline bool
16019     operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
16020         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
16021     { return __lhs.compare(__rhs) <= 0; }
16022
16023
16024
16025
16026
16027
16028
16029   template<typename _CharT, typename _Traits, typename _Alloc>
16030     inline bool
16031     operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
16032         const _CharT* __rhs)
16033     { return __lhs.compare(__rhs) <= 0; }
16034
16035
16036
16037
16038
16039
16040
16041   template<typename _CharT, typename _Traits, typename _Alloc>
16042     inline bool
16043     operator<=(const _CharT* __lhs,
16044         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
16045     { return __rhs.compare(__lhs) >= 0; }
16046 # 2320 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16047   template<typename _CharT, typename _Traits, typename _Alloc>
16048     inline bool
16049     operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
16050         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
16051     { return __lhs.compare(__rhs) >= 0; }
16052
16053
16054
16055
16056
16057
16058
16059   template<typename _CharT, typename _Traits, typename _Alloc>
16060     inline bool
16061     operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
16062         const _CharT* __rhs)
16063     { return __lhs.compare(__rhs) >= 0; }
16064
16065
16066
16067
16068
16069
16070
16071   template<typename _CharT, typename _Traits, typename _Alloc>
16072     inline bool
16073     operator>=(const _CharT* __lhs,
16074       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
16075     { return __rhs.compare(__lhs) <= 0; }
16076 # 2357 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16077   template<typename _CharT, typename _Traits, typename _Alloc>
16078     inline void
16079     swap(basic_string<_CharT, _Traits, _Alloc>& __lhs,
16080   basic_string<_CharT, _Traits, _Alloc>& __rhs)
16081     { __lhs.swap(__rhs); }
16082 # 2374 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16083   template<typename _CharT, typename _Traits, typename _Alloc>
16084     basic_istream<_CharT, _Traits>&
16085     operator>>(basic_istream<_CharT, _Traits>& __is,
16086         basic_string<_CharT, _Traits, _Alloc>& __str);
16087
16088   template<>
16089     basic_istream<char>&
16090     operator>>(basic_istream<char>& __is, basic_string<char>& __str);
16091 # 2392 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16092   template<typename _CharT, typename _Traits, typename _Alloc>
16093     basic_ostream<_CharT, _Traits>&
16094     operator<<(basic_ostream<_CharT, _Traits>& __os,
16095         const basic_string<_CharT, _Traits, _Alloc>& __str);
16096 # 2410 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16097   template<typename _CharT, typename _Traits, typename _Alloc>
16098     basic_istream<_CharT, _Traits>&
16099     getline(basic_istream<_CharT, _Traits>& __is,
16100      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim);
16101 # 2427 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h" 3
16102   template<typename _CharT, typename _Traits, typename _Alloc>
16103     inline basic_istream<_CharT, _Traits>&
16104     getline(basic_istream<_CharT, _Traits>& __is,
16105      basic_string<_CharT, _Traits, _Alloc>& __str);
16106
16107   template<>
16108     basic_istream<char>&
16109     getline(basic_istream<char>& __in, basic_string<char>& __str,
16110      char __delim);
16111
16112
16113   template<>
16114     basic_istream<wchar_t>&
16115     getline(basic_istream<wchar_t>& __in, basic_string<wchar_t>& __str,
16116      wchar_t __delim);
16117
16118 }
16119 # 54 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/string" 2 3
16120
16121
16122 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/algorithm" 1 3
16123 # 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/algorithm" 3
16124        
16125 # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/algorithm" 3
16126 #pragma GCC visibility push(default)
16127
16128
16129
16130
16131 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 1 3
16132 # 65 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
16133 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 1 3
16134 # 65 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 3
16135 namespace std
16136 {
16137
16138
16139
16140   template<typename _RandomAccessIterator, typename _Distance>
16141     bool
16142     __is_heap(_RandomAccessIterator __first, _Distance __n)
16143     {
16144       _Distance __parent = 0;
16145       for (_Distance __child = 1; __child < __n; ++__child)
16146  {
16147    if (__first[__parent] < __first[__child])
16148      return false;
16149    if ((__child & 1) == 0)
16150      ++__parent;
16151  }
16152       return true;
16153     }
16154
16155   template<typename _RandomAccessIterator, typename _Distance,
16156            typename _StrictWeakOrdering>
16157     bool
16158     __is_heap(_RandomAccessIterator __first, _StrictWeakOrdering __comp,
16159        _Distance __n)
16160     {
16161       _Distance __parent = 0;
16162       for (_Distance __child = 1; __child < __n; ++__child)
16163  {
16164    if (__comp(__first[__parent], __first[__child]))
16165      return false;
16166    if ((__child & 1) == 0)
16167      ++__parent;
16168  }
16169       return true;
16170     }
16171
16172   template<typename _RandomAccessIterator>
16173     bool
16174     __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
16175     { return std::__is_heap(__first, std::distance(__first, __last)); }
16176
16177   template<typename _RandomAccessIterator, typename _StrictWeakOrdering>
16178     bool
16179     __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
16180      _StrictWeakOrdering __comp)
16181     { return std::__is_heap(__first, __comp, std::distance(__first, __last)); }
16182
16183
16184
16185   template<typename _RandomAccessIterator, typename _Distance, typename _Tp>
16186     void
16187     __push_heap(_RandomAccessIterator __first,
16188   _Distance __holeIndex, _Distance __topIndex, _Tp __value)
16189     {
16190       _Distance __parent = (__holeIndex - 1) / 2;
16191       while (__holeIndex > __topIndex && *(__first + __parent) < __value)
16192  {
16193    *(__first + __holeIndex) = *(__first + __parent);
16194    __holeIndex = __parent;
16195    __parent = (__holeIndex - 1) / 2;
16196  }
16197       *(__first + __holeIndex) = __value;
16198     }
16199 # 139 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 3
16200   template<typename _RandomAccessIterator>
16201     inline void
16202     push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
16203     {
16204       typedef typename iterator_traits<_RandomAccessIterator>::value_type
16205    _ValueType;
16206       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
16207    _DistanceType;
16208
16209
16210      
16211
16212      
16213       ;
16214
16215
16216       std::__push_heap(__first, _DistanceType((__last - __first) - 1),
16217          _DistanceType(0), _ValueType(*(__last - 1)));
16218     }
16219
16220   template<typename _RandomAccessIterator, typename _Distance, typename _Tp,
16221      typename _Compare>
16222     void
16223     __push_heap(_RandomAccessIterator __first, _Distance __holeIndex,
16224   _Distance __topIndex, _Tp __value, _Compare __comp)
16225     {
16226       _Distance __parent = (__holeIndex - 1) / 2;
16227       while (__holeIndex > __topIndex
16228       && __comp(*(__first + __parent), __value))
16229  {
16230    *(__first + __holeIndex) = *(__first + __parent);
16231    __holeIndex = __parent;
16232    __parent = (__holeIndex - 1) / 2;
16233  }
16234       *(__first + __holeIndex) = __value;
16235     }
16236 # 187 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 3
16237   template<typename _RandomAccessIterator, typename _Compare>
16238     inline void
16239     push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
16240        _Compare __comp)
16241     {
16242       typedef typename iterator_traits<_RandomAccessIterator>::value_type
16243    _ValueType;
16244       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
16245    _DistanceType;
16246
16247
16248      
16249
16250       ;
16251       ;
16252
16253       std::__push_heap(__first, _DistanceType((__last - __first) - 1),
16254          _DistanceType(0), _ValueType(*(__last - 1)), __comp);
16255     }
16256
16257   template<typename _RandomAccessIterator, typename _Distance, typename _Tp>
16258     void
16259     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
16260     _Distance __len, _Tp __value)
16261     {
16262       const _Distance __topIndex = __holeIndex;
16263       _Distance __secondChild = 2 * __holeIndex + 2;
16264       while (__secondChild < __len)
16265  {
16266    if (*(__first + __secondChild) < *(__first + (__secondChild - 1)))
16267      __secondChild--;
16268    *(__first + __holeIndex) = *(__first + __secondChild);
16269    __holeIndex = __secondChild;
16270    __secondChild = 2 * (__secondChild + 1);
16271  }
16272       if (__secondChild == __len)
16273  {
16274    *(__first + __holeIndex) = *(__first + (__secondChild - 1));
16275    __holeIndex = __secondChild - 1;
16276  }
16277       std::__push_heap(__first, __holeIndex, __topIndex, __value);
16278     }
16279
16280   template<typename _RandomAccessIterator, typename _Tp>
16281     inline void
16282     __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
16283         _RandomAccessIterator __result, _Tp __value)
16284     {
16285       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
16286  _Distance;
16287       *__result = *__first;
16288       std::__adjust_heap(__first, _Distance(0), _Distance(__last - __first),
16289     __value);
16290     }
16291 # 251 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 3
16292   template<typename _RandomAccessIterator>
16293     inline void
16294     pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
16295     {
16296       typedef typename iterator_traits<_RandomAccessIterator>::value_type
16297  _ValueType;
16298
16299
16300      
16301
16302      
16303       ;
16304       ;
16305
16306       std::__pop_heap(__first, __last - 1, __last - 1,
16307         _ValueType(*(__last - 1)));
16308     }
16309
16310   template<typename _RandomAccessIterator, typename _Distance,
16311     typename _Tp, typename _Compare>
16312     void
16313     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
16314     _Distance __len, _Tp __value, _Compare __comp)
16315     {
16316       const _Distance __topIndex = __holeIndex;
16317       _Distance __secondChild = 2 * __holeIndex + 2;
16318       while (__secondChild < __len)
16319  {
16320    if (__comp(*(__first + __secondChild),
16321        *(__first + (__secondChild - 1))))
16322      __secondChild--;
16323    *(__first + __holeIndex) = *(__first + __secondChild);
16324    __holeIndex = __secondChild;
16325    __secondChild = 2 * (__secondChild + 1);
16326  }
16327       if (__secondChild == __len)
16328  {
16329    *(__first + __holeIndex) = *(__first + (__secondChild - 1));
16330    __holeIndex = __secondChild - 1;
16331  }
16332       std::__push_heap(__first, __holeIndex, __topIndex, __value, __comp);
16333     }
16334
16335   template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
16336     inline void
16337     __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
16338         _RandomAccessIterator __result, _Tp __value, _Compare __comp)
16339     {
16340       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
16341  _Distance;
16342       *__result = *__first;
16343       std::__adjust_heap(__first, _Distance(0), _Distance(__last - __first),
16344     __value, __comp);
16345     }
16346 # 317 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 3
16347   template<typename _RandomAccessIterator, typename _Compare>
16348     inline void
16349     pop_heap(_RandomAccessIterator __first,
16350       _RandomAccessIterator __last, _Compare __comp)
16351     {
16352
16353      
16354
16355       ;
16356       ;
16357
16358       typedef typename iterator_traits<_RandomAccessIterator>::value_type
16359  _ValueType;
16360       std::__pop_heap(__first, __last - 1, __last - 1,
16361         _ValueType(*(__last - 1)), __comp);
16362     }
16363 # 342 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 3
16364   template<typename _RandomAccessIterator>
16365     void
16366     make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
16367     {
16368       typedef typename iterator_traits<_RandomAccessIterator>::value_type
16369    _ValueType;
16370       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
16371    _DistanceType;
16372
16373
16374      
16375
16376      
16377       ;
16378
16379       if (__last - __first < 2)
16380  return;
16381
16382       const _DistanceType __len = __last - __first;
16383       _DistanceType __parent = (__len - 2) / 2;
16384       while (true)
16385  {
16386    std::__adjust_heap(__first, __parent, __len,
16387         _ValueType(*(__first + __parent)));
16388    if (__parent == 0)
16389      return;
16390    __parent--;
16391  }
16392     }
16393 # 382 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 3
16394   template<typename _RandomAccessIterator, typename _Compare>
16395     inline void
16396     make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
16397        _Compare __comp)
16398     {
16399       typedef typename iterator_traits<_RandomAccessIterator>::value_type
16400    _ValueType;
16401       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
16402    _DistanceType;
16403
16404
16405      
16406
16407       ;
16408
16409       if (__last - __first < 2)
16410  return;
16411
16412       const _DistanceType __len = __last - __first;
16413       _DistanceType __parent = (__len - 2) / 2;
16414       while (true)
16415  {
16416    std::__adjust_heap(__first, __parent, __len,
16417         _ValueType(*(__first + __parent)), __comp);
16418    if (__parent == 0)
16419      return;
16420    __parent--;
16421  }
16422     }
16423 # 420 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 3
16424   template<typename _RandomAccessIterator>
16425     void
16426     sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
16427     {
16428
16429      
16430
16431      
16432
16433       ;
16434
16435
16436       while (__last - __first > 1)
16437  std::pop_heap(__first, __last--);
16438     }
16439 # 446 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h" 3
16440   template<typename _RandomAccessIterator, typename _Compare>
16441     void
16442     sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
16443        _Compare __comp)
16444     {
16445
16446      
16447
16448       ;
16449       ;
16450
16451       while (__last - __first > 1)
16452  std::pop_heap(__first, __last--, __comp);
16453     }
16454
16455 }
16456 # 66 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 2 3
16457 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_tempbuf.h" 1 3
16458 # 66 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_tempbuf.h" 3
16459 namespace std
16460 {
16461
16462
16463
16464
16465
16466
16467
16468   template<typename _ForwardIterator, typename _Tp>
16469     class _Temporary_buffer
16470     {
16471
16472      
16473
16474  public:
16475       typedef _Tp value_type;
16476       typedef value_type* pointer;
16477       typedef pointer iterator;
16478       typedef ptrdiff_t size_type;
16479
16480     protected:
16481       size_type _M_original_len;
16482       size_type _M_len;
16483       pointer _M_buffer;
16484
16485       void
16486       _M_initialize_buffer(const _Tp&, __true_type) { }
16487
16488       void
16489       _M_initialize_buffer(const _Tp& val, __false_type)
16490       { std::uninitialized_fill_n(_M_buffer, _M_len, val); }
16491
16492     public:
16493
16494       size_type
16495       size() const
16496       { return _M_len; }
16497
16498
16499       size_type
16500       requested_size() const
16501       { return _M_original_len; }
16502
16503
16504       iterator
16505       begin()
16506       { return _M_buffer; }
16507
16508
16509       iterator
16510       end()
16511       { return _M_buffer + _M_len; }
16512
16513
16514
16515
16516
16517       _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last);
16518
16519       ~_Temporary_buffer()
16520       {
16521  std::_Destroy(_M_buffer, _M_buffer + _M_len);
16522  std::return_temporary_buffer(_M_buffer);
16523       }
16524
16525     private:
16526
16527       _Temporary_buffer(const _Temporary_buffer&);
16528
16529       void
16530       operator=(const _Temporary_buffer&);
16531     };
16532
16533
16534   template<typename _ForwardIterator, typename _Tp>
16535     _Temporary_buffer<_ForwardIterator, _Tp>::
16536     _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last)
16537     : _M_original_len(std::distance(__first, __last)),
16538       _M_len(0), _M_buffer(0)
16539     {
16540
16541       typedef typename std::__is_scalar<_Tp>::__type _Trivial;
16542
16543       try
16544  {
16545    pair<pointer, size_type> __p(get_temporary_buffer<
16546            value_type>(_M_original_len));
16547    _M_buffer = __p.first;
16548    _M_len = __p.second;
16549    if (_M_len > 0)
16550      _M_initialize_buffer(*__first, _Trivial());
16551  }
16552       catch(...)
16553  {
16554    std::return_temporary_buffer(_M_buffer);
16555    _M_buffer = 0;
16556    _M_len = 0;
16557    throw;
16558  }
16559     }
16560 }
16561 # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 2 3
16562
16563
16564
16565
16566 namespace std
16567 {
16568 # 85 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
16569   template<typename _Tp>
16570     inline const _Tp&
16571     __median(const _Tp& __a, const _Tp& __b, const _Tp& __c)
16572     {
16573
16574      
16575       if (__a < __b)
16576  if (__b < __c)
16577    return __b;
16578  else if (__a < __c)
16579    return __c;
16580  else
16581    return __a;
16582       else if (__a < __c)
16583  return __a;
16584       else if (__b < __c)
16585  return __c;
16586       else
16587  return __b;
16588     }
16589 # 119 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
16590   template<typename _Tp, typename _Compare>
16591     inline const _Tp&
16592     __median(const _Tp& __a, const _Tp& __b, const _Tp& __c, _Compare __comp)
16593     {
16594
16595      
16596       if (__comp(__a, __b))
16597  if (__comp(__b, __c))
16598    return __b;
16599  else if (__comp(__a, __c))
16600    return __c;
16601  else
16602    return __a;
16603       else if (__comp(__a, __c))
16604  return __a;
16605       else if (__comp(__b, __c))
16606  return __c;
16607       else
16608  return __b;
16609     }
16610 # 151 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
16611   template<typename _InputIterator, typename _Function>
16612     _Function
16613     for_each(_InputIterator __first, _InputIterator __last, _Function __f)
16614     {
16615
16616      
16617       ;
16618       for ( ; __first != __last; ++__first)
16619  __f(*__first);
16620       return __f;
16621     }
16622
16623
16624
16625
16626
16627
16628   template<typename _InputIterator, typename _Tp>
16629     inline _InputIterator
16630     __find(_InputIterator __first, _InputIterator __last,
16631     const _Tp& __val, input_iterator_tag)
16632     {
16633       while (__first != __last && !(*__first == __val))
16634  ++__first;
16635       return __first;
16636     }
16637
16638
16639
16640
16641
16642
16643   template<typename _InputIterator, typename _Predicate>
16644     inline _InputIterator
16645     __find_if(_InputIterator __first, _InputIterator __last,
16646        _Predicate __pred, input_iterator_tag)
16647     {
16648       while (__first != __last && !__pred(*__first))
16649  ++__first;
16650       return __first;
16651     }
16652
16653
16654
16655
16656
16657
16658   template<typename _RandomAccessIterator, typename _Tp>
16659     _RandomAccessIterator
16660     __find(_RandomAccessIterator __first, _RandomAccessIterator __last,
16661     const _Tp& __val, random_access_iterator_tag)
16662     {
16663       typename iterator_traits<_RandomAccessIterator>::difference_type
16664  __trip_count = (__last - __first) >> 2;
16665
16666       for ( ; __trip_count > 0 ; --__trip_count)
16667  {
16668    if (*__first == __val)
16669      return __first;
16670    ++__first;
16671
16672    if (*__first == __val)
16673      return __first;
16674    ++__first;
16675
16676    if (*__first == __val)
16677      return __first;
16678    ++__first;
16679
16680    if (*__first == __val)
16681      return __first;
16682    ++__first;
16683  }
16684
16685       switch (__last - __first)
16686  {
16687  case 3:
16688    if (*__first == __val)
16689      return __first;
16690    ++__first;
16691  case 2:
16692    if (*__first == __val)
16693      return __first;
16694    ++__first;
16695  case 1:
16696    if (*__first == __val)
16697      return __first;
16698    ++__first;
16699  case 0:
16700  default:
16701    return __last;
16702  }
16703     }
16704
16705
16706
16707
16708
16709
16710   template<typename _RandomAccessIterator, typename _Predicate>
16711     _RandomAccessIterator
16712     __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last,
16713        _Predicate __pred, random_access_iterator_tag)
16714     {
16715       typename iterator_traits<_RandomAccessIterator>::difference_type
16716  __trip_count = (__last - __first) >> 2;
16717
16718       for ( ; __trip_count > 0 ; --__trip_count)
16719  {
16720    if (__pred(*__first))
16721      return __first;
16722    ++__first;
16723
16724    if (__pred(*__first))
16725      return __first;
16726    ++__first;
16727
16728    if (__pred(*__first))
16729      return __first;
16730    ++__first;
16731
16732    if (__pred(*__first))
16733      return __first;
16734    ++__first;
16735  }
16736
16737       switch (__last - __first)
16738  {
16739  case 3:
16740    if (__pred(*__first))
16741      return __first;
16742    ++__first;
16743  case 2:
16744    if (__pred(*__first))
16745      return __first;
16746    ++__first;
16747  case 1:
16748    if (__pred(*__first))
16749      return __first;
16750    ++__first;
16751  case 0:
16752  default:
16753    return __last;
16754  }
16755     }
16756 # 305 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
16757   template<typename _InputIterator, typename _Tp>
16758     inline _InputIterator
16759     find(_InputIterator __first, _InputIterator __last,
16760   const _Tp& __val)
16761     {
16762
16763      
16764      
16765
16766       ;
16767       return std::__find(__first, __last, __val,
16768            std::__iterator_category(__first));
16769     }
16770 # 327 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
16771   template<typename _InputIterator, typename _Predicate>
16772     inline _InputIterator
16773     find_if(_InputIterator __first, _InputIterator __last,
16774      _Predicate __pred)
16775     {
16776
16777      
16778      
16779
16780       ;
16781       return std::__find_if(__first, __last, __pred,
16782        std::__iterator_category(__first));
16783     }
16784 # 349 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
16785   template<typename _ForwardIterator>
16786     _ForwardIterator
16787     adjacent_find(_ForwardIterator __first, _ForwardIterator __last)
16788     {
16789
16790      
16791      
16792
16793       ;
16794       if (__first == __last)
16795  return __last;
16796       _ForwardIterator __next = __first;
16797       while(++__next != __last)
16798  {
16799    if (*__first == *__next)
16800      return __first;
16801    __first = __next;
16802  }
16803       return __last;
16804     }
16805 # 380 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
16806   template<typename _ForwardIterator, typename _BinaryPredicate>
16807     _ForwardIterator
16808     adjacent_find(_ForwardIterator __first, _ForwardIterator __last,
16809     _BinaryPredicate __binary_pred)
16810     {
16811
16812      
16813      
16814
16815
16816       ;
16817       if (__first == __last)
16818  return __last;
16819       _ForwardIterator __next = __first;
16820       while(++__next != __last)
16821  {
16822    if (__binary_pred(*__first, *__next))
16823      return __first;
16824    __first = __next;
16825  }
16826       return __last;
16827     }
16828 # 411 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
16829   template<typename _InputIterator, typename _Tp>
16830     typename iterator_traits<_InputIterator>::difference_type
16831     count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
16832     {
16833
16834      
16835      
16836
16837       ;
16838       typename iterator_traits<_InputIterator>::difference_type __n = 0;
16839       for ( ; __first != __last; ++__first)
16840  if (*__first == __value)
16841    ++__n;
16842       return __n;
16843     }
16844 # 435 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
16845   template<typename _InputIterator, typename _Predicate>
16846     typename iterator_traits<_InputIterator>::difference_type
16847     count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
16848     {
16849
16850      
16851      
16852
16853       ;
16854       typename iterator_traits<_InputIterator>::difference_type __n = 0;
16855       for ( ; __first != __last; ++__first)
16856  if (__pred(*__first))
16857    ++__n;
16858       return __n;
16859     }
16860 # 474 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
16861   template<typename _ForwardIterator1, typename _ForwardIterator2>
16862     _ForwardIterator1
16863     search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
16864     _ForwardIterator2 __first2, _ForwardIterator2 __last2)
16865     {
16866
16867      
16868      
16869      
16870
16871
16872       ;
16873       ;
16874
16875       if (__first1 == __last1 || __first2 == __last2)
16876  return __first1;
16877
16878
16879       _ForwardIterator2 __tmp(__first2);
16880       ++__tmp;
16881       if (__tmp == __last2)
16882  return std::find(__first1, __last1, *__first2);
16883
16884
16885       _ForwardIterator2 __p1, __p;
16886       __p1 = __first2; ++__p1;
16887       _ForwardIterator1 __current = __first1;
16888
16889       while (__first1 != __last1)
16890  {
16891    __first1 = std::find(__first1, __last1, *__first2);
16892    if (__first1 == __last1)
16893      return __last1;
16894
16895    __p = __p1;
16896    __current = __first1;
16897    if (++__current == __last1)
16898      return __last1;
16899
16900    while (*__current == *__p)
16901      {
16902        if (++__p == __last2)
16903   return __first1;
16904        if (++__current == __last1)
16905   return __last1;
16906      }
16907    ++__first1;
16908  }
16909       return __first1;
16910     }
16911 # 545 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
16912   template<typename _ForwardIterator1, typename _ForwardIterator2,
16913     typename _BinaryPredicate>
16914     _ForwardIterator1
16915     search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
16916     _ForwardIterator2 __first2, _ForwardIterator2 __last2,
16917     _BinaryPredicate __predicate)
16918     {
16919
16920      
16921      
16922      
16923
16924
16925       ;
16926       ;
16927
16928
16929       if (__first1 == __last1 || __first2 == __last2)
16930  return __first1;
16931
16932
16933       _ForwardIterator2 __tmp(__first2);
16934       ++__tmp;
16935       if (__tmp == __last2)
16936  {
16937    while (__first1 != __last1 && !__predicate(*__first1, *__first2))
16938      ++__first1;
16939    return __first1;
16940  }
16941
16942
16943       _ForwardIterator2 __p1, __p;
16944       __p1 = __first2; ++__p1;
16945       _ForwardIterator1 __current = __first1;
16946
16947       while (__first1 != __last1)
16948  {
16949    while (__first1 != __last1)
16950      {
16951        if (__predicate(*__first1, *__first2))
16952   break;
16953        ++__first1;
16954      }
16955    while (__first1 != __last1 && !__predicate(*__first1, *__first2))
16956      ++__first1;
16957    if (__first1 == __last1)
16958      return __last1;
16959
16960    __p = __p1;
16961    __current = __first1;
16962    if (++__current == __last1)
16963      return __last1;
16964
16965    while (__predicate(*__current, *__p))
16966      {
16967        if (++__p == __last2)
16968   return __first1;
16969        if (++__current == __last1)
16970   return __last1;
16971      }
16972    ++__first1;
16973  }
16974       return __first1;
16975     }
16976 # 617 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
16977   template<typename _ForwardIterator, typename _Integer, typename _Tp>
16978     _ForwardIterator
16979     __search_n(_ForwardIterator __first, _ForwardIterator __last,
16980         _Integer __count, const _Tp& __val,
16981         std::forward_iterator_tag)
16982     {
16983       __first = std::find(__first, __last, __val);
16984       while (__first != __last)
16985  {
16986    typename iterator_traits<_ForwardIterator>::difference_type
16987      __n = __count;
16988    _ForwardIterator __i = __first;
16989    ++__i;
16990    while (__i != __last && __n != 1 && *__i == __val)
16991      {
16992        ++__i;
16993        --__n;
16994      }
16995    if (__n == 1)
16996      return __first;
16997    if (__i == __last)
16998      return __last;
16999    __first = std::find(++__i, __last, __val);
17000  }
17001       return __last;
17002     }
17003 # 651 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17004   template<typename _RandomAccessIter, typename _Integer, typename _Tp>
17005     _RandomAccessIter
17006     __search_n(_RandomAccessIter __first, _RandomAccessIter __last,
17007         _Integer __count, const _Tp& __val,
17008         std::random_access_iterator_tag)
17009     {
17010
17011       typedef typename std::iterator_traits<_RandomAccessIter>::difference_type
17012  _DistanceType;
17013
17014       _DistanceType __tailSize = __last - __first;
17015       const _DistanceType __pattSize = __count;
17016
17017       if (__tailSize < __pattSize)
17018         return __last;
17019
17020       const _DistanceType __skipOffset = __pattSize - 1;
17021       _RandomAccessIter __lookAhead = __first + __skipOffset;
17022       __tailSize -= __pattSize;
17023
17024       while (1)
17025  {
17026
17027
17028    while (!(*__lookAhead == __val))
17029      {
17030        if (__tailSize < __pattSize)
17031   return __last;
17032        __lookAhead += __pattSize;
17033        __tailSize -= __pattSize;
17034      }
17035    _DistanceType __remainder = __skipOffset;
17036    for (_RandomAccessIter __backTrack = __lookAhead - 1;
17037         *__backTrack == __val; --__backTrack)
17038      {
17039        if (--__remainder == 0)
17040   return (__lookAhead - __skipOffset);
17041      }
17042    if (__remainder > __tailSize)
17043      return __last;
17044    __lookAhead += __remainder;
17045    __tailSize -= __remainder;
17046  }
17047     }
17048 # 709 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17049   template<typename _ForwardIterator, typename _Integer, typename _Tp>
17050     _ForwardIterator
17051     search_n(_ForwardIterator __first, _ForwardIterator __last,
17052       _Integer __count, const _Tp& __val)
17053     {
17054
17055      
17056      
17057
17058       ;
17059
17060       if (__count <= 0)
17061  return __first;
17062       if (__count == 1)
17063  return std::find(__first, __last, __val);
17064       return std::__search_n(__first, __last, __count, __val,
17065         std::__iterator_category(__first));
17066     }
17067 # 736 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17068   template<typename _ForwardIterator, typename _Integer, typename _Tp,
17069            typename _BinaryPredicate>
17070     _ForwardIterator
17071     __search_n(_ForwardIterator __first, _ForwardIterator __last,
17072         _Integer __count, const _Tp& __val,
17073         _BinaryPredicate __binary_pred, std::forward_iterator_tag)
17074     {
17075       while (__first != __last && !__binary_pred(*__first, __val))
17076         ++__first;
17077
17078       while (__first != __last)
17079  {
17080    typename iterator_traits<_ForwardIterator>::difference_type
17081      __n = __count;
17082    _ForwardIterator __i = __first;
17083    ++__i;
17084    while (__i != __last && __n != 1 && __binary_pred(*__i, __val))
17085      {
17086        ++__i;
17087        --__n;
17088      }
17089    if (__n == 1)
17090      return __first;
17091    if (__i == __last)
17092      return __last;
17093    __first = ++__i;
17094    while (__first != __last && !__binary_pred(*__first, __val))
17095      ++__first;
17096  }
17097       return __last;
17098     }
17099 # 776 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17100   template<typename _RandomAccessIter, typename _Integer, typename _Tp,
17101     typename _BinaryPredicate>
17102     _RandomAccessIter
17103     __search_n(_RandomAccessIter __first, _RandomAccessIter __last,
17104         _Integer __count, const _Tp& __val,
17105         _BinaryPredicate __binary_pred, std::random_access_iterator_tag)
17106     {
17107
17108       typedef typename std::iterator_traits<_RandomAccessIter>::difference_type
17109  _DistanceType;
17110
17111       _DistanceType __tailSize = __last - __first;
17112       const _DistanceType __pattSize = __count;
17113
17114       if (__tailSize < __pattSize)
17115         return __last;
17116
17117       const _DistanceType __skipOffset = __pattSize - 1;
17118       _RandomAccessIter __lookAhead = __first + __skipOffset;
17119       __tailSize -= __pattSize;
17120
17121       while (1)
17122  {
17123
17124
17125    while (!__binary_pred(*__lookAhead, __val))
17126      {
17127        if (__tailSize < __pattSize)
17128   return __last;
17129        __lookAhead += __pattSize;
17130        __tailSize -= __pattSize;
17131      }
17132    _DistanceType __remainder = __skipOffset;
17133    for (_RandomAccessIter __backTrack = __lookAhead - 1;
17134         __binary_pred(*__backTrack, __val); --__backTrack)
17135      {
17136        if (--__remainder == 0)
17137   return (__lookAhead - __skipOffset);
17138      }
17139    if (__remainder > __tailSize)
17140      return __last;
17141    __lookAhead += __remainder;
17142    __tailSize -= __remainder;
17143  }
17144     }
17145 # 837 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17146   template<typename _ForwardIterator, typename _Integer, typename _Tp,
17147            typename _BinaryPredicate>
17148     _ForwardIterator
17149     search_n(_ForwardIterator __first, _ForwardIterator __last,
17150       _Integer __count, const _Tp& __val,
17151       _BinaryPredicate __binary_pred)
17152     {
17153
17154      
17155      
17156
17157       ;
17158
17159       if (__count <= 0)
17160  return __first;
17161       if (__count == 1)
17162  {
17163    while (__first != __last && !__binary_pred(*__first, __val))
17164      ++__first;
17165    return __first;
17166  }
17167       return std::__search_n(__first, __last, __count, __val, __binary_pred,
17168         std::__iterator_category(__first));
17169     }
17170 # 873 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17171   template<typename _ForwardIterator1, typename _ForwardIterator2>
17172     _ForwardIterator2
17173     swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
17174   _ForwardIterator2 __first2)
17175     {
17176
17177      
17178
17179      
17180
17181      
17182
17183
17184      
17185
17186
17187       ;
17188
17189       for ( ; __first1 != __last1; ++__first1, ++__first2)
17190  std::iter_swap(__first1, __first2);
17191       return __first2;
17192     }
17193 # 911 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17194   template<typename _InputIterator, typename _OutputIterator,
17195     typename _UnaryOperation>
17196     _OutputIterator
17197     transform(_InputIterator __first, _InputIterator __last,
17198        _OutputIterator __result, _UnaryOperation __unary_op)
17199     {
17200
17201      
17202      
17203
17204
17205       ;
17206
17207       for ( ; __first != __last; ++__first, ++__result)
17208  *__result = __unary_op(*__first);
17209       return __result;
17210     }
17211 # 946 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17212   template<typename _InputIterator1, typename _InputIterator2,
17213     typename _OutputIterator, typename _BinaryOperation>
17214     _OutputIterator
17215     transform(_InputIterator1 __first1, _InputIterator1 __last1,
17216        _InputIterator2 __first2, _OutputIterator __result,
17217        _BinaryOperation __binary_op)
17218     {
17219
17220      
17221      
17222      
17223
17224
17225       ;
17226
17227       for ( ; __first1 != __last1; ++__first1, ++__first2, ++__result)
17228  *__result = __binary_op(*__first1, *__first2);
17229       return __result;
17230     }
17231 # 978 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17232   template<typename _ForwardIterator, typename _Tp>
17233     void
17234     replace(_ForwardIterator __first, _ForwardIterator __last,
17235      const _Tp& __old_value, const _Tp& __new_value)
17236     {
17237
17238      
17239
17240      
17241
17242      
17243
17244       ;
17245
17246       for ( ; __first != __last; ++__first)
17247  if (*__first == __old_value)
17248    *__first = __new_value;
17249     }
17250 # 1009 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17251   template<typename _ForwardIterator, typename _Predicate, typename _Tp>
17252     void
17253     replace_if(_ForwardIterator __first, _ForwardIterator __last,
17254         _Predicate __pred, const _Tp& __new_value)
17255     {
17256
17257      
17258
17259      
17260
17261      
17262
17263       ;
17264
17265       for ( ; __first != __last; ++__first)
17266  if (__pred(*__first))
17267    *__first = __new_value;
17268     }
17269 # 1042 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17270   template<typename _InputIterator, typename _OutputIterator, typename _Tp>
17271     _OutputIterator
17272     replace_copy(_InputIterator __first, _InputIterator __last,
17273    _OutputIterator __result,
17274    const _Tp& __old_value, const _Tp& __new_value)
17275     {
17276
17277      
17278      
17279
17280      
17281
17282       ;
17283
17284       for ( ; __first != __last; ++__first, ++__result)
17285  if (*__first == __old_value)
17286    *__result = __new_value;
17287  else
17288    *__result = *__first;
17289       return __result;
17290     }
17291 # 1078 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17292   template<typename _InputIterator, typename _OutputIterator,
17293     typename _Predicate, typename _Tp>
17294     _OutputIterator
17295     replace_copy_if(_InputIterator __first, _InputIterator __last,
17296       _OutputIterator __result,
17297       _Predicate __pred, const _Tp& __new_value)
17298     {
17299
17300      
17301      
17302
17303      
17304
17305       ;
17306
17307       for ( ; __first != __last; ++__first, ++__result)
17308  if (__pred(*__first))
17309    *__result = __new_value;
17310  else
17311    *__result = *__first;
17312       return __result;
17313     }
17314 # 1112 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17315   template<typename _ForwardIterator, typename _Generator>
17316     void
17317     generate(_ForwardIterator __first, _ForwardIterator __last,
17318       _Generator __gen)
17319     {
17320
17321      
17322      
17323
17324       ;
17325
17326       for ( ; __first != __last; ++__first)
17327  *__first = __gen();
17328     }
17329 # 1138 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17330   template<typename _OutputIterator, typename _Size, typename _Generator>
17331     _OutputIterator
17332     generate_n(_OutputIterator __first, _Size __n, _Generator __gen)
17333     {
17334
17335      
17336
17337
17338
17339       for ( ; __n > 0; --__n, ++__first)
17340  *__first = __gen();
17341       return __first;
17342     }
17343 # 1165 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17344   template<typename _InputIterator, typename _OutputIterator, typename _Tp>
17345     _OutputIterator
17346     remove_copy(_InputIterator __first, _InputIterator __last,
17347   _OutputIterator __result, const _Tp& __value)
17348     {
17349
17350      
17351      
17352
17353      
17354
17355       ;
17356
17357       for ( ; __first != __last; ++__first)
17358  if (!(*__first == __value))
17359    {
17360      *__result = *__first;
17361      ++__result;
17362    }
17363       return __result;
17364     }
17365 # 1201 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17366   template<typename _InputIterator, typename _OutputIterator,
17367     typename _Predicate>
17368     _OutputIterator
17369     remove_copy_if(_InputIterator __first, _InputIterator __last,
17370      _OutputIterator __result, _Predicate __pred)
17371     {
17372
17373      
17374      
17375
17376      
17377
17378       ;
17379
17380       for ( ; __first != __last; ++__first)
17381  if (!__pred(*__first))
17382    {
17383      *__result = *__first;
17384      ++__result;
17385    }
17386       return __result;
17387     }
17388 # 1240 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17389   template<typename _ForwardIterator, typename _Tp>
17390     _ForwardIterator
17391     remove(_ForwardIterator __first, _ForwardIterator __last,
17392     const _Tp& __value)
17393     {
17394
17395      
17396
17397      
17398
17399       ;
17400
17401       __first = std::find(__first, __last, __value);
17402       _ForwardIterator __i = __first;
17403       return __first == __last ? __first
17404           : std::remove_copy(++__i, __last,
17405         __first, __value);
17406     }
17407 # 1275 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17408   template<typename _ForwardIterator, typename _Predicate>
17409     _ForwardIterator
17410     remove_if(_ForwardIterator __first, _ForwardIterator __last,
17411        _Predicate __pred)
17412     {
17413
17414      
17415
17416      
17417
17418       ;
17419
17420       __first = std::find_if(__first, __last, __pred);
17421       _ForwardIterator __i = __first;
17422       return __first == __last ? __first
17423           : std::remove_copy_if(++__i, __last,
17424            __first, __pred);
17425     }
17426 # 1301 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17427   template<typename _InputIterator, typename _OutputIterator>
17428     _OutputIterator
17429     __unique_copy(_InputIterator __first, _InputIterator __last,
17430     _OutputIterator __result,
17431     output_iterator_tag)
17432     {
17433
17434       typename iterator_traits<_InputIterator>::value_type __value = *__first;
17435       *__result = __value;
17436       while (++__first != __last)
17437  if (!(__value == *__first))
17438    {
17439      __value = *__first;
17440      *++__result = __value;
17441    }
17442       return ++__result;
17443     }
17444 # 1326 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17445   template<typename _InputIterator, typename _ForwardIterator>
17446     _ForwardIterator
17447     __unique_copy(_InputIterator __first, _InputIterator __last,
17448     _ForwardIterator __result,
17449     forward_iterator_tag)
17450     {
17451
17452       *__result = *__first;
17453       while (++__first != __last)
17454  if (!(*__result == *__first))
17455    *++__result = *__first;
17456       return ++__result;
17457     }
17458 # 1348 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17459   template<typename _InputIterator, typename _OutputIterator,
17460     typename _BinaryPredicate>
17461     _OutputIterator
17462     __unique_copy(_InputIterator __first, _InputIterator __last,
17463     _OutputIterator __result,
17464     _BinaryPredicate __binary_pred,
17465     output_iterator_tag)
17466     {
17467
17468      
17469
17470
17471
17472       typename iterator_traits<_InputIterator>::value_type __value = *__first;
17473       *__result = __value;
17474       while (++__first != __last)
17475  if (!__binary_pred(__value, *__first))
17476    {
17477      __value = *__first;
17478      *++__result = __value;
17479    }
17480       return ++__result;
17481     }
17482 # 1380 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17483   template<typename _InputIterator, typename _ForwardIterator,
17484     typename _BinaryPredicate>
17485     _ForwardIterator
17486     __unique_copy(_InputIterator __first, _InputIterator __last,
17487     _ForwardIterator __result,
17488     _BinaryPredicate __binary_pred,
17489     forward_iterator_tag)
17490     {
17491
17492      
17493
17494
17495
17496       *__result = *__first;
17497       while (++__first != __last)
17498  if (!__binary_pred(*__result, *__first)) *++__result = *__first;
17499       return ++__result;
17500     }
17501 # 1412 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17502   template<typename _InputIterator, typename _OutputIterator>
17503     inline _OutputIterator
17504     unique_copy(_InputIterator __first, _InputIterator __last,
17505   _OutputIterator __result)
17506     {
17507
17508      
17509      
17510
17511      
17512
17513       ;
17514
17515       typedef typename iterator_traits<_OutputIterator>::iterator_category
17516  _IterType;
17517
17518       if (__first == __last) return __result;
17519       return std::__unique_copy(__first, __last, __result, _IterType());
17520     }
17521 # 1447 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17522   template<typename _InputIterator, typename _OutputIterator,
17523     typename _BinaryPredicate>
17524     inline _OutputIterator
17525     unique_copy(_InputIterator __first, _InputIterator __last,
17526   _OutputIterator __result,
17527   _BinaryPredicate __binary_pred)
17528     {
17529
17530      
17531      
17532
17533       ;
17534
17535       typedef typename iterator_traits<_OutputIterator>::iterator_category
17536  _IterType;
17537
17538       if (__first == __last) return __result;
17539       return std::__unique_copy(__first, __last, __result,
17540     __binary_pred, _IterType());
17541     }
17542 # 1481 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17543   template<typename _ForwardIterator>
17544     _ForwardIterator
17545     unique(_ForwardIterator __first, _ForwardIterator __last)
17546     {
17547
17548      
17549
17550      
17551
17552       ;
17553
17554
17555       __first = std::adjacent_find(__first, __last);
17556       if (__first == __last)
17557  return __last;
17558
17559
17560       _ForwardIterator __dest = __first;
17561       ++__first;
17562       while (++__first != __last)
17563  if (!(*__dest == *__first))
17564    *++__dest = *__first;
17565       return ++__dest;
17566     }
17567 # 1520 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17568   template<typename _ForwardIterator, typename _BinaryPredicate>
17569     _ForwardIterator
17570     unique(_ForwardIterator __first, _ForwardIterator __last,
17571            _BinaryPredicate __binary_pred)
17572     {
17573
17574      
17575
17576      
17577
17578
17579       ;
17580
17581
17582       __first = std::adjacent_find(__first, __last, __binary_pred);
17583       if (__first == __last)
17584  return __last;
17585
17586
17587       _ForwardIterator __dest = __first;
17588       ++__first;
17589       while (++__first != __last)
17590  if (!__binary_pred(*__dest, *__first))
17591    *++__dest = *__first;
17592       return ++__dest;
17593     }
17594 # 1554 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17595   template<typename _BidirectionalIterator>
17596     void
17597     __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last,
17598        bidirectional_iterator_tag)
17599     {
17600       while (true)
17601  if (__first == __last || __first == --__last)
17602    return;
17603  else
17604    {
17605      std::iter_swap(__first, __last);
17606      ++__first;
17607    }
17608     }
17609 # 1576 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17610   template<typename _RandomAccessIterator>
17611     void
17612     __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last,
17613        random_access_iterator_tag)
17614     {
17615       if (__first == __last)
17616  return;
17617       --__last;
17618       while (__first < __last)
17619  {
17620    std::iter_swap(__first, __last);
17621    ++__first;
17622    --__last;
17623  }
17624     }
17625 # 1603 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17626   template<typename _BidirectionalIterator>
17627     inline void
17628     reverse(_BidirectionalIterator __first, _BidirectionalIterator __last)
17629     {
17630
17631      
17632
17633       ;
17634       std::__reverse(__first, __last, std::__iterator_category(__first));
17635     }
17636 # 1629 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17637   template<typename _BidirectionalIterator, typename _OutputIterator>
17638     _OutputIterator
17639     reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last,
17640         _OutputIterator __result)
17641     {
17642
17643      
17644
17645      
17646
17647       ;
17648
17649       while (__first != __last)
17650  {
17651    --__last;
17652    *__result = *__last;
17653    ++__result;
17654  }
17655       return __result;
17656     }
17657 # 1657 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17658   template<typename _EuclideanRingElement>
17659     _EuclideanRingElement
17660     __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n)
17661     {
17662       while (__n != 0)
17663  {
17664    _EuclideanRingElement __t = __m % __n;
17665    __m = __n;
17666    __n = __t;
17667  }
17668       return __m;
17669     }
17670
17671
17672
17673
17674
17675
17676   template<typename _ForwardIterator>
17677     void
17678     __rotate(_ForwardIterator __first,
17679       _ForwardIterator __middle,
17680       _ForwardIterator __last,
17681       forward_iterator_tag)
17682     {
17683       if (__first == __middle || __last == __middle)
17684  return;
17685
17686       _ForwardIterator __first2 = __middle;
17687       do
17688  {
17689    swap(*__first, *__first2);
17690    ++__first;
17691    ++__first2;
17692    if (__first == __middle)
17693      __middle = __first2;
17694  }
17695       while (__first2 != __last);
17696
17697       __first2 = __middle;
17698
17699       while (__first2 != __last)
17700  {
17701    swap(*__first, *__first2);
17702    ++__first;
17703    ++__first2;
17704    if (__first == __middle)
17705      __middle = __first2;
17706    else if (__first2 == __last)
17707      __first2 = __middle;
17708  }
17709     }
17710
17711
17712
17713
17714
17715
17716   template<typename _BidirectionalIterator>
17717     void
17718     __rotate(_BidirectionalIterator __first,
17719       _BidirectionalIterator __middle,
17720       _BidirectionalIterator __last,
17721        bidirectional_iterator_tag)
17722     {
17723
17724      
17725
17726
17727       if (__first == __middle || __last == __middle)
17728  return;
17729
17730       std::__reverse(__first, __middle, bidirectional_iterator_tag());
17731       std::__reverse(__middle, __last, bidirectional_iterator_tag());
17732
17733       while (__first != __middle && __middle != __last)
17734  {
17735    swap(*__first, *--__last);
17736    ++__first;
17737  }
17738
17739       if (__first == __middle)
17740  std::__reverse(__middle, __last, bidirectional_iterator_tag());
17741       else
17742  std::__reverse(__first, __middle, bidirectional_iterator_tag());
17743     }
17744
17745
17746
17747
17748
17749
17750   template<typename _RandomAccessIterator>
17751     void
17752     __rotate(_RandomAccessIterator __first,
17753       _RandomAccessIterator __middle,
17754       _RandomAccessIterator __last,
17755       random_access_iterator_tag)
17756     {
17757
17758      
17759
17760
17761       if (__first == __middle || __last == __middle)
17762  return;
17763
17764       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
17765  _Distance;
17766       typedef typename iterator_traits<_RandomAccessIterator>::value_type
17767  _ValueType;
17768
17769       const _Distance __n = __last - __first;
17770       const _Distance __k = __middle - __first;
17771       const _Distance __l = __n - __k;
17772
17773       if (__k == __l)
17774  {
17775    std::swap_ranges(__first, __middle, __middle);
17776    return;
17777  }
17778
17779       const _Distance __d = __gcd(__n, __k);
17780
17781       for (_Distance __i = 0; __i < __d; __i++)
17782  {
17783    _ValueType __tmp = *__first;
17784    _RandomAccessIterator __p = __first;
17785
17786    if (__k < __l)
17787      {
17788        for (_Distance __j = 0; __j < __l / __d; __j++)
17789   {
17790     if (__p > __first + __l)
17791       {
17792         *__p = *(__p - __l);
17793         __p -= __l;
17794       }
17795
17796     *__p = *(__p + __k);
17797     __p += __k;
17798   }
17799      }
17800    else
17801      {
17802        for (_Distance __j = 0; __j < __k / __d - 1; __j ++)
17803   {
17804     if (__p < __last - __k)
17805       {
17806         *__p = *(__p + __k);
17807         __p += __k;
17808       }
17809     *__p = * (__p - __l);
17810     __p -= __l;
17811   }
17812      }
17813
17814    *__p = __tmp;
17815    ++__first;
17816  }
17817     }
17818 # 1836 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17819   template<typename _ForwardIterator>
17820     inline void
17821     rotate(_ForwardIterator __first, _ForwardIterator __middle,
17822     _ForwardIterator __last)
17823     {
17824
17825      
17826
17827       ;
17828       ;
17829
17830       typedef typename iterator_traits<_ForwardIterator>::iterator_category
17831  _IterType;
17832       std::__rotate(__first, __middle, __last, _IterType());
17833     }
17834 # 1869 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17835   template<typename _ForwardIterator, typename _OutputIterator>
17836     _OutputIterator
17837     rotate_copy(_ForwardIterator __first, _ForwardIterator __middle,
17838                 _ForwardIterator __last, _OutputIterator __result)
17839     {
17840
17841      
17842      
17843
17844       ;
17845       ;
17846
17847       return std::copy(__first, __middle,
17848                        std::copy(__middle, __last, __result));
17849     }
17850 # 1895 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17851   template<typename _RandomAccessIterator>
17852     inline void
17853     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
17854     {
17855
17856      
17857
17858       ;
17859
17860       if (__first != __last)
17861  for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
17862    std::iter_swap(__i, __first + (std::rand() % ((__i - __first) + 1)));
17863     }
17864 # 1922 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17865   template<typename _RandomAccessIterator, typename _RandomNumberGenerator>
17866     void
17867     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
17868      _RandomNumberGenerator& __rand)
17869     {
17870
17871      
17872
17873       ;
17874
17875       if (__first == __last)
17876  return;
17877       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
17878  std::iter_swap(__i, __first + __rand((__i - __first) + 1));
17879     }
17880
17881
17882
17883
17884
17885
17886
17887   template<typename _ForwardIterator, typename _Predicate>
17888     _ForwardIterator
17889     __partition(_ForwardIterator __first, _ForwardIterator __last,
17890   _Predicate __pred,
17891   forward_iterator_tag)
17892     {
17893       if (__first == __last)
17894  return __first;
17895
17896       while (__pred(*__first))
17897  if (++__first == __last)
17898    return __first;
17899
17900       _ForwardIterator __next = __first;
17901
17902       while (++__next != __last)
17903  if (__pred(*__next))
17904    {
17905      swap(*__first, *__next);
17906      ++__first;
17907    }
17908
17909       return __first;
17910     }
17911
17912
17913
17914
17915
17916
17917   template<typename _BidirectionalIterator, typename _Predicate>
17918     _BidirectionalIterator
17919     __partition(_BidirectionalIterator __first, _BidirectionalIterator __last,
17920   _Predicate __pred,
17921   bidirectional_iterator_tag)
17922     {
17923       while (true)
17924  {
17925    while (true)
17926      if (__first == __last)
17927        return __first;
17928      else if (__pred(*__first))
17929        ++__first;
17930      else
17931        break;
17932    --__last;
17933    while (true)
17934      if (__first == __last)
17935        return __first;
17936      else if (!__pred(*__last))
17937        --__last;
17938      else
17939        break;
17940    std::iter_swap(__first, __last);
17941    ++__first;
17942  }
17943     }
17944 # 2016 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
17945   template<typename _ForwardIterator, typename _Predicate>
17946     inline _ForwardIterator
17947     partition(_ForwardIterator __first, _ForwardIterator __last,
17948        _Predicate __pred)
17949     {
17950
17951      
17952
17953      
17954
17955       ;
17956
17957       return std::__partition(__first, __last, __pred,
17958          std::__iterator_category(__first));
17959     }
17960
17961
17962
17963
17964
17965
17966
17967   template<typename _ForwardIterator, typename _Predicate, typename _Distance>
17968     _ForwardIterator
17969     __inplace_stable_partition(_ForwardIterator __first,
17970           _ForwardIterator __last,
17971           _Predicate __pred, _Distance __len)
17972     {
17973       if (__len == 1)
17974  return __pred(*__first) ? __last : __first;
17975       _ForwardIterator __middle = __first;
17976       std::advance(__middle, __len / 2);
17977       _ForwardIterator __begin = std::__inplace_stable_partition(__first,
17978          __middle,
17979          __pred,
17980          __len / 2);
17981       _ForwardIterator __end = std::__inplace_stable_partition(__middle, __last,
17982               __pred,
17983               __len
17984               - __len / 2);
17985       std::rotate(__begin, __middle, __end);
17986       std::advance(__begin, std::distance(__middle, __end));
17987       return __begin;
17988     }
17989
17990
17991
17992
17993
17994
17995   template<typename _ForwardIterator, typename _Pointer, typename _Predicate,
17996     typename _Distance>
17997     _ForwardIterator
17998     __stable_partition_adaptive(_ForwardIterator __first,
17999     _ForwardIterator __last,
18000     _Predicate __pred, _Distance __len,
18001     _Pointer __buffer,
18002     _Distance __buffer_size)
18003     {
18004       if (__len <= __buffer_size)
18005  {
18006    _ForwardIterator __result1 = __first;
18007    _Pointer __result2 = __buffer;
18008    for ( ; __first != __last ; ++__first)
18009      if (__pred(*__first))
18010        {
18011   *__result1 = *__first;
18012   ++__result1;
18013        }
18014      else
18015        {
18016   *__result2 = *__first;
18017   ++__result2;
18018        }
18019    std::copy(__buffer, __result2, __result1);
18020    return __result1;
18021  }
18022       else
18023  {
18024    _ForwardIterator __middle = __first;
18025    std::advance(__middle, __len / 2);
18026    _ForwardIterator __begin =
18027      std::__stable_partition_adaptive(__first, __middle, __pred,
18028           __len / 2, __buffer,
18029           __buffer_size);
18030    _ForwardIterator __end =
18031      std::__stable_partition_adaptive(__middle, __last, __pred,
18032           __len - __len / 2,
18033           __buffer, __buffer_size);
18034    std::rotate(__begin, __middle, __end);
18035    std::advance(__begin, std::distance(__middle, __end));
18036    return __begin;
18037  }
18038     }
18039 # 2127 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18040   template<typename _ForwardIterator, typename _Predicate>
18041     _ForwardIterator
18042     stable_partition(_ForwardIterator __first, _ForwardIterator __last,
18043        _Predicate __pred)
18044     {
18045
18046      
18047
18048      
18049
18050       ;
18051
18052       if (__first == __last)
18053  return __first;
18054       else
18055  {
18056    typedef typename iterator_traits<_ForwardIterator>::value_type
18057      _ValueType;
18058    typedef typename iterator_traits<_ForwardIterator>::difference_type
18059      _DistanceType;
18060
18061    _Temporary_buffer<_ForwardIterator, _ValueType> __buf(__first,
18062         __last);
18063  if (__buf.size() > 0)
18064    return
18065      std::__stable_partition_adaptive(__first, __last, __pred,
18066        _DistanceType(__buf.requested_size()),
18067        __buf.begin(), __buf.size());
18068  else
18069    return
18070      std::__inplace_stable_partition(__first, __last, __pred,
18071       _DistanceType(__buf.requested_size()));
18072  }
18073     }
18074
18075
18076
18077
18078
18079
18080   template<typename _RandomAccessIterator, typename _Tp>
18081     _RandomAccessIterator
18082     __unguarded_partition(_RandomAccessIterator __first,
18083      _RandomAccessIterator __last, _Tp __pivot)
18084     {
18085       while (true)
18086  {
18087    while (*__first < __pivot)
18088      ++__first;
18089    --__last;
18090    while (__pivot < *__last)
18091      --__last;
18092    if (!(__first < __last))
18093      return __first;
18094    std::iter_swap(__first, __last);
18095    ++__first;
18096  }
18097     }
18098
18099
18100
18101
18102
18103
18104   template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
18105     _RandomAccessIterator
18106     __unguarded_partition(_RandomAccessIterator __first,
18107      _RandomAccessIterator __last,
18108      _Tp __pivot, _Compare __comp)
18109     {
18110       while (true)
18111  {
18112    while (__comp(*__first, __pivot))
18113      ++__first;
18114    --__last;
18115    while (__comp(__pivot, *__last))
18116      --__last;
18117    if (!(__first < __last))
18118      return __first;
18119    std::iter_swap(__first, __last);
18120    ++__first;
18121  }
18122     }
18123
18124
18125
18126
18127
18128
18129
18130   enum { _S_threshold = 16 };
18131
18132
18133
18134
18135
18136
18137   template<typename _RandomAccessIterator, typename _Tp>
18138     void
18139     __unguarded_linear_insert(_RandomAccessIterator __last, _Tp __val)
18140     {
18141       _RandomAccessIterator __next = __last;
18142       --__next;
18143       while (__val < *__next)
18144  {
18145    *__last = *__next;
18146    __last = __next;
18147    --__next;
18148  }
18149       *__last = __val;
18150     }
18151
18152
18153
18154
18155
18156
18157   template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
18158     void
18159     __unguarded_linear_insert(_RandomAccessIterator __last, _Tp __val,
18160          _Compare __comp)
18161     {
18162       _RandomAccessIterator __next = __last;
18163       --__next;
18164       while (__comp(__val, *__next))
18165  {
18166    *__last = *__next;
18167    __last = __next;
18168    --__next;
18169  }
18170       *__last = __val;
18171     }
18172
18173
18174
18175
18176
18177
18178   template<typename _RandomAccessIterator>
18179     void
18180     __insertion_sort(_RandomAccessIterator __first,
18181        _RandomAccessIterator __last)
18182     {
18183       if (__first == __last)
18184  return;
18185
18186       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
18187  {
18188    typename iterator_traits<_RandomAccessIterator>::value_type
18189      __val = *__i;
18190    if (__val < *__first)
18191      {
18192        std::copy_backward(__first, __i, __i + 1);
18193        *__first = __val;
18194      }
18195    else
18196      std::__unguarded_linear_insert(__i, __val);
18197  }
18198     }
18199
18200
18201
18202
18203
18204
18205   template<typename _RandomAccessIterator, typename _Compare>
18206     void
18207     __insertion_sort(_RandomAccessIterator __first,
18208        _RandomAccessIterator __last, _Compare __comp)
18209     {
18210       if (__first == __last) return;
18211
18212       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
18213  {
18214    typename iterator_traits<_RandomAccessIterator>::value_type
18215      __val = *__i;
18216    if (__comp(__val, *__first))
18217      {
18218        std::copy_backward(__first, __i, __i + 1);
18219        *__first = __val;
18220      }
18221    else
18222      std::__unguarded_linear_insert(__i, __val, __comp);
18223  }
18224     }
18225
18226
18227
18228
18229
18230
18231   template<typename _RandomAccessIterator>
18232     inline void
18233     __unguarded_insertion_sort(_RandomAccessIterator __first,
18234           _RandomAccessIterator __last)
18235     {
18236       typedef typename iterator_traits<_RandomAccessIterator>::value_type
18237  _ValueType;
18238
18239       for (_RandomAccessIterator __i = __first; __i != __last; ++__i)
18240  std::__unguarded_linear_insert(__i, _ValueType(*__i));
18241     }
18242
18243
18244
18245
18246
18247
18248   template<typename _RandomAccessIterator, typename _Compare>
18249     inline void
18250     __unguarded_insertion_sort(_RandomAccessIterator __first,
18251           _RandomAccessIterator __last, _Compare __comp)
18252     {
18253       typedef typename iterator_traits<_RandomAccessIterator>::value_type
18254  _ValueType;
18255
18256       for (_RandomAccessIterator __i = __first; __i != __last; ++__i)
18257  std::__unguarded_linear_insert(__i, _ValueType(*__i), __comp);
18258     }
18259
18260
18261
18262
18263
18264
18265   template<typename _RandomAccessIterator>
18266     void
18267     __final_insertion_sort(_RandomAccessIterator __first,
18268       _RandomAccessIterator __last)
18269     {
18270       if (__last - __first > int(_S_threshold))
18271  {
18272    std::__insertion_sort(__first, __first + int(_S_threshold));
18273    std::__unguarded_insertion_sort(__first + int(_S_threshold), __last);
18274  }
18275       else
18276  std::__insertion_sort(__first, __last);
18277     }
18278
18279
18280
18281
18282
18283
18284   template<typename _RandomAccessIterator, typename _Compare>
18285     void
18286     __final_insertion_sort(_RandomAccessIterator __first,
18287       _RandomAccessIterator __last, _Compare __comp)
18288     {
18289       if (__last - __first > int(_S_threshold))
18290  {
18291    std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
18292    std::__unguarded_insertion_sort(__first + int(_S_threshold), __last,
18293        __comp);
18294  }
18295       else
18296  std::__insertion_sort(__first, __last, __comp);
18297     }
18298
18299
18300
18301
18302
18303
18304   template<typename _Size>
18305     inline _Size
18306     __lg(_Size __n)
18307     {
18308       _Size __k;
18309       for (__k = 0; __n != 1; __n >>= 1)
18310  ++__k;
18311       return __k;
18312     }
18313 # 2416 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18314   template<typename _RandomAccessIterator>
18315     void
18316     partial_sort(_RandomAccessIterator __first,
18317    _RandomAccessIterator __middle,
18318    _RandomAccessIterator __last)
18319     {
18320       typedef typename iterator_traits<_RandomAccessIterator>::value_type
18321  _ValueType;
18322
18323
18324      
18325
18326      
18327       ;
18328       ;
18329
18330       std::make_heap(__first, __middle);
18331       for (_RandomAccessIterator __i = __middle; __i < __last; ++__i)
18332  if (*__i < *__first)
18333    std::__pop_heap(__first, __middle, __i, _ValueType(*__i));
18334       std::sort_heap(__first, __middle);
18335     }
18336 # 2457 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18337   template<typename _RandomAccessIterator, typename _Compare>
18338     void
18339     partial_sort(_RandomAccessIterator __first,
18340    _RandomAccessIterator __middle,
18341    _RandomAccessIterator __last,
18342    _Compare __comp)
18343     {
18344       typedef typename iterator_traits<_RandomAccessIterator>::value_type
18345  _ValueType;
18346
18347
18348      
18349
18350      
18351
18352       ;
18353       ;
18354
18355       std::make_heap(__first, __middle, __comp);
18356       for (_RandomAccessIterator __i = __middle; __i < __last; ++__i)
18357  if (__comp(*__i, *__first))
18358    std::__pop_heap(__first, __middle, __i, _ValueType(*__i), __comp);
18359       std::sort_heap(__first, __middle, __comp);
18360     }
18361 # 2499 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18362   template<typename _InputIterator, typename _RandomAccessIterator>
18363     _RandomAccessIterator
18364     partial_sort_copy(_InputIterator __first, _InputIterator __last,
18365         _RandomAccessIterator __result_first,
18366         _RandomAccessIterator __result_last)
18367     {
18368       typedef typename iterator_traits<_InputIterator>::value_type
18369  _InputValueType;
18370       typedef typename iterator_traits<_RandomAccessIterator>::value_type
18371  _OutputValueType;
18372       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
18373  _DistanceType;
18374
18375
18376      
18377      
18378
18379      
18380      
18381       ;
18382       ;
18383
18384       if (__result_first == __result_last)
18385  return __result_last;
18386       _RandomAccessIterator __result_real_last = __result_first;
18387       while(__first != __last && __result_real_last != __result_last)
18388  {
18389    *__result_real_last = *__first;
18390    ++__result_real_last;
18391    ++__first;
18392  }
18393       std::make_heap(__result_first, __result_real_last);
18394       while (__first != __last)
18395  {
18396    if (*__first < *__result_first)
18397      std::__adjust_heap(__result_first, _DistanceType(0),
18398           _DistanceType(__result_real_last
18399           - __result_first),
18400           _InputValueType(*__first));
18401    ++__first;
18402  }
18403       std::sort_heap(__result_first, __result_real_last);
18404       return __result_real_last;
18405     }
18406 # 2563 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18407   template<typename _InputIterator, typename _RandomAccessIterator, typename _Compare>
18408     _RandomAccessIterator
18409     partial_sort_copy(_InputIterator __first, _InputIterator __last,
18410         _RandomAccessIterator __result_first,
18411         _RandomAccessIterator __result_last,
18412         _Compare __comp)
18413     {
18414       typedef typename iterator_traits<_InputIterator>::value_type
18415  _InputValueType;
18416       typedef typename iterator_traits<_RandomAccessIterator>::value_type
18417  _OutputValueType;
18418       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
18419  _DistanceType;
18420
18421
18422      
18423      
18424
18425      
18426
18427      
18428
18429       ;
18430       ;
18431
18432       if (__result_first == __result_last)
18433  return __result_last;
18434       _RandomAccessIterator __result_real_last = __result_first;
18435       while(__first != __last && __result_real_last != __result_last)
18436  {
18437    *__result_real_last = *__first;
18438    ++__result_real_last;
18439    ++__first;
18440  }
18441       std::make_heap(__result_first, __result_real_last, __comp);
18442       while (__first != __last)
18443  {
18444    if (__comp(*__first, *__result_first))
18445      std::__adjust_heap(__result_first, _DistanceType(0),
18446           _DistanceType(__result_real_last
18447           - __result_first),
18448           _InputValueType(*__first),
18449           __comp);
18450    ++__first;
18451  }
18452       std::sort_heap(__result_first, __result_real_last, __comp);
18453       return __result_real_last;
18454     }
18455
18456
18457
18458
18459
18460
18461   template<typename _RandomAccessIterator, typename _Size>
18462     void
18463     __introsort_loop(_RandomAccessIterator __first,
18464        _RandomAccessIterator __last,
18465        _Size __depth_limit)
18466     {
18467       typedef typename iterator_traits<_RandomAccessIterator>::value_type
18468  _ValueType;
18469
18470       while (__last - __first > int(_S_threshold))
18471  {
18472    if (__depth_limit == 0)
18473      {
18474        std::partial_sort(__first, __last, __last);
18475        return;
18476      }
18477    --__depth_limit;
18478    _RandomAccessIterator __cut =
18479      std::__unguarded_partition(__first, __last,
18480            _ValueType(std::__median(*__first,
18481         *(__first
18482           + (__last
18483              - __first)
18484           / 2),
18485         *(__last
18486           - 1))));
18487    std::__introsort_loop(__cut, __last, __depth_limit);
18488    __last = __cut;
18489  }
18490     }
18491
18492
18493
18494
18495
18496
18497   template<typename _RandomAccessIterator, typename _Size, typename _Compare>
18498     void
18499     __introsort_loop(_RandomAccessIterator __first,
18500        _RandomAccessIterator __last,
18501        _Size __depth_limit, _Compare __comp)
18502     {
18503       typedef typename iterator_traits<_RandomAccessIterator>::value_type
18504  _ValueType;
18505
18506       while (__last - __first > int(_S_threshold))
18507  {
18508    if (__depth_limit == 0)
18509      {
18510        std::partial_sort(__first, __last, __last, __comp);
18511        return;
18512      }
18513    --__depth_limit;
18514    _RandomAccessIterator __cut =
18515      std::__unguarded_partition(__first, __last,
18516            _ValueType(std::__median(*__first,
18517         *(__first
18518           + (__last
18519              - __first)
18520           / 2),
18521         *(__last - 1),
18522         __comp)),
18523            __comp);
18524    std::__introsort_loop(__cut, __last, __depth_limit, __comp);
18525    __last = __cut;
18526  }
18527     }
18528 # 2698 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18529   template<typename _RandomAccessIterator>
18530     inline void
18531     sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
18532     {
18533       typedef typename iterator_traits<_RandomAccessIterator>::value_type
18534  _ValueType;
18535
18536
18537      
18538
18539      
18540       ;
18541
18542       if (__first != __last)
18543  {
18544    std::__introsort_loop(__first, __last, __lg(__last - __first) * 2);
18545    std::__final_insertion_sort(__first, __last);
18546  }
18547     }
18548 # 2732 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18549   template<typename _RandomAccessIterator, typename _Compare>
18550     inline void
18551     sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
18552   _Compare __comp)
18553     {
18554       typedef typename iterator_traits<_RandomAccessIterator>::value_type
18555  _ValueType;
18556
18557
18558      
18559
18560      
18561
18562       ;
18563
18564       if (__first != __last)
18565  {
18566    std::__introsort_loop(__first, __last, __lg(__last - __first) * 2,
18567     __comp);
18568    std::__final_insertion_sort(__first, __last, __comp);
18569  }
18570     }
18571 # 2765 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18572   template<typename _ForwardIterator, typename _Tp>
18573     _ForwardIterator
18574     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
18575   const _Tp& __val)
18576     {
18577       typedef typename iterator_traits<_ForwardIterator>::value_type
18578  _ValueType;
18579       typedef typename iterator_traits<_ForwardIterator>::difference_type
18580  _DistanceType;
18581
18582
18583
18584
18585
18586
18587      
18588      
18589      
18590       ;
18591
18592       _DistanceType __len = std::distance(__first, __last);
18593       _DistanceType __half;
18594       _ForwardIterator __middle;
18595
18596       while (__len > 0)
18597  {
18598    __half = __len >> 1;
18599    __middle = __first;
18600    std::advance(__middle, __half);
18601    if (*__middle < __val)
18602      {
18603        __first = __middle;
18604        ++__first;
18605        __len = __len - __half - 1;
18606      }
18607    else
18608      __len = __half;
18609  }
18610       return __first;
18611     }
18612 # 2820 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18613   template<typename _ForwardIterator, typename _Tp, typename _Compare>
18614     _ForwardIterator
18615     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
18616   const _Tp& __val, _Compare __comp)
18617     {
18618       typedef typename iterator_traits<_ForwardIterator>::value_type
18619  _ValueType;
18620       typedef typename iterator_traits<_ForwardIterator>::difference_type
18621  _DistanceType;
18622
18623
18624      
18625      
18626
18627       ;
18628
18629       _DistanceType __len = std::distance(__first, __last);
18630       _DistanceType __half;
18631       _ForwardIterator __middle;
18632
18633       while (__len > 0)
18634  {
18635    __half = __len >> 1;
18636    __middle = __first;
18637    std::advance(__middle, __half);
18638    if (__comp(*__middle, __val))
18639      {
18640        __first = __middle;
18641        ++__first;
18642        __len = __len - __half - 1;
18643      }
18644    else
18645      __len = __half;
18646  }
18647       return __first;
18648     }
18649 # 2867 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18650   template<typename _ForwardIterator, typename _Tp>
18651     _ForwardIterator
18652     upper_bound(_ForwardIterator __first, _ForwardIterator __last,
18653   const _Tp& __val)
18654     {
18655       typedef typename iterator_traits<_ForwardIterator>::value_type
18656  _ValueType;
18657       typedef typename iterator_traits<_ForwardIterator>::difference_type
18658  _DistanceType;
18659
18660
18661
18662      
18663      
18664      
18665       ;
18666
18667       _DistanceType __len = std::distance(__first, __last);
18668       _DistanceType __half;
18669       _ForwardIterator __middle;
18670
18671       while (__len > 0)
18672  {
18673    __half = __len >> 1;
18674    __middle = __first;
18675    std::advance(__middle, __half);
18676    if (__val < *__middle)
18677      __len = __half;
18678    else
18679      {
18680        __first = __middle;
18681        ++__first;
18682        __len = __len - __half - 1;
18683      }
18684  }
18685       return __first;
18686     }
18687 # 2919 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18688   template<typename _ForwardIterator, typename _Tp, typename _Compare>
18689     _ForwardIterator
18690     upper_bound(_ForwardIterator __first, _ForwardIterator __last,
18691   const _Tp& __val, _Compare __comp)
18692     {
18693       typedef typename iterator_traits<_ForwardIterator>::value_type
18694  _ValueType;
18695       typedef typename iterator_traits<_ForwardIterator>::difference_type
18696  _DistanceType;
18697
18698
18699      
18700      
18701
18702       ;
18703
18704       _DistanceType __len = std::distance(__first, __last);
18705       _DistanceType __half;
18706       _ForwardIterator __middle;
18707
18708       while (__len > 0)
18709  {
18710    __half = __len >> 1;
18711    __middle = __first;
18712    std::advance(__middle, __half);
18713    if (__comp(__val, *__middle))
18714      __len = __half;
18715    else
18716      {
18717        __first = __middle;
18718        ++__first;
18719        __len = __len - __half - 1;
18720      }
18721  }
18722       return __first;
18723     }
18724
18725
18726
18727
18728
18729
18730   template<typename _BidirectionalIterator, typename _Distance>
18731     void
18732     __merge_without_buffer(_BidirectionalIterator __first,
18733       _BidirectionalIterator __middle,
18734       _BidirectionalIterator __last,
18735       _Distance __len1, _Distance __len2)
18736     {
18737       if (__len1 == 0 || __len2 == 0)
18738  return;
18739       if (__len1 + __len2 == 2)
18740  {
18741    if (*__middle < *__first)
18742      std::iter_swap(__first, __middle);
18743    return;
18744  }
18745       _BidirectionalIterator __first_cut = __first;
18746       _BidirectionalIterator __second_cut = __middle;
18747       _Distance __len11 = 0;
18748       _Distance __len22 = 0;
18749       if (__len1 > __len2)
18750  {
18751    __len11 = __len1 / 2;
18752    std::advance(__first_cut, __len11);
18753    __second_cut = std::lower_bound(__middle, __last, *__first_cut);
18754    __len22 = std::distance(__middle, __second_cut);
18755  }
18756       else
18757  {
18758    __len22 = __len2 / 2;
18759    std::advance(__second_cut, __len22);
18760    __first_cut = std::upper_bound(__first, __middle, *__second_cut);
18761    __len11 = std::distance(__first, __first_cut);
18762  }
18763       std::rotate(__first_cut, __middle, __second_cut);
18764       _BidirectionalIterator __new_middle = __first_cut;
18765       std::advance(__new_middle, std::distance(__middle, __second_cut));
18766       std::__merge_without_buffer(__first, __first_cut, __new_middle,
18767       __len11, __len22);
18768       std::__merge_without_buffer(__new_middle, __second_cut, __last,
18769       __len1 - __len11, __len2 - __len22);
18770     }
18771
18772
18773
18774
18775
18776
18777   template<typename _BidirectionalIterator, typename _Distance,
18778     typename _Compare>
18779     void
18780     __merge_without_buffer(_BidirectionalIterator __first,
18781                            _BidirectionalIterator __middle,
18782       _BidirectionalIterator __last,
18783       _Distance __len1, _Distance __len2,
18784       _Compare __comp)
18785     {
18786       if (__len1 == 0 || __len2 == 0)
18787  return;
18788       if (__len1 + __len2 == 2)
18789  {
18790    if (__comp(*__middle, *__first))
18791      std::iter_swap(__first, __middle);
18792    return;
18793  }
18794       _BidirectionalIterator __first_cut = __first;
18795       _BidirectionalIterator __second_cut = __middle;
18796       _Distance __len11 = 0;
18797       _Distance __len22 = 0;
18798       if (__len1 > __len2)
18799  {
18800    __len11 = __len1 / 2;
18801    std::advance(__first_cut, __len11);
18802    __second_cut = std::lower_bound(__middle, __last, *__first_cut,
18803        __comp);
18804    __len22 = std::distance(__middle, __second_cut);
18805  }
18806       else
18807  {
18808    __len22 = __len2 / 2;
18809    std::advance(__second_cut, __len22);
18810    __first_cut = std::upper_bound(__first, __middle, *__second_cut,
18811       __comp);
18812    __len11 = std::distance(__first, __first_cut);
18813  }
18814       std::rotate(__first_cut, __middle, __second_cut);
18815       _BidirectionalIterator __new_middle = __first_cut;
18816       std::advance(__new_middle, std::distance(__middle, __second_cut));
18817       std::__merge_without_buffer(__first, __first_cut, __new_middle,
18818       __len11, __len22, __comp);
18819       std::__merge_without_buffer(__new_middle, __second_cut, __last,
18820       __len1 - __len11, __len2 - __len22, __comp);
18821     }
18822
18823
18824
18825
18826
18827
18828   template<typename _RandomAccessIterator>
18829     void
18830     __inplace_stable_sort(_RandomAccessIterator __first,
18831      _RandomAccessIterator __last)
18832     {
18833       if (__last - __first < 15)
18834  {
18835    std::__insertion_sort(__first, __last);
18836    return;
18837  }
18838       _RandomAccessIterator __middle = __first + (__last - __first) / 2;
18839       std::__inplace_stable_sort(__first, __middle);
18840       std::__inplace_stable_sort(__middle, __last);
18841       std::__merge_without_buffer(__first, __middle, __last,
18842       __middle - __first,
18843       __last - __middle);
18844     }
18845
18846
18847
18848
18849
18850
18851   template<typename _RandomAccessIterator, typename _Compare>
18852     void
18853     __inplace_stable_sort(_RandomAccessIterator __first,
18854      _RandomAccessIterator __last, _Compare __comp)
18855     {
18856       if (__last - __first < 15)
18857  {
18858    std::__insertion_sort(__first, __last, __comp);
18859    return;
18860  }
18861       _RandomAccessIterator __middle = __first + (__last - __first) / 2;
18862       std::__inplace_stable_sort(__first, __middle, __comp);
18863       std::__inplace_stable_sort(__middle, __last, __comp);
18864       std::__merge_without_buffer(__first, __middle, __last,
18865       __middle - __first,
18866       __last - __middle,
18867       __comp);
18868     }
18869 # 3117 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18870   template<typename _InputIterator1, typename _InputIterator2,
18871     typename _OutputIterator>
18872     _OutputIterator
18873     merge(_InputIterator1 __first1, _InputIterator1 __last1,
18874    _InputIterator2 __first2, _InputIterator2 __last2,
18875    _OutputIterator __result)
18876     {
18877
18878      
18879      
18880      
18881
18882      
18883
18884
18885      
18886
18887       ;
18888       ;
18889
18890       while (__first1 != __last1 && __first2 != __last2)
18891  {
18892    if (*__first2 < *__first1)
18893      {
18894        *__result = *__first2;
18895        ++__first2;
18896      }
18897    else
18898      {
18899        *__result = *__first1;
18900        ++__first1;
18901      }
18902    ++__result;
18903  }
18904       return std::copy(__first2, __last2, std::copy(__first1, __last1,
18905           __result));
18906     }
18907 # 3175 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
18908   template<typename _InputIterator1, typename _InputIterator2,
18909     typename _OutputIterator, typename _Compare>
18910     _OutputIterator
18911     merge(_InputIterator1 __first1, _InputIterator1 __last1,
18912    _InputIterator2 __first2, _InputIterator2 __last2,
18913    _OutputIterator __result, _Compare __comp)
18914     {
18915
18916      
18917      
18918      
18919
18920
18921      
18922
18923      
18924
18925
18926       ;
18927       ;
18928
18929       while (__first1 != __last1 && __first2 != __last2)
18930  {
18931    if (__comp(*__first2, *__first1))
18932      {
18933        *__result = *__first2;
18934        ++__first2;
18935      }
18936    else
18937      {
18938        *__result = *__first1;
18939        ++__first1;
18940      }
18941    ++__result;
18942  }
18943       return std::copy(__first2, __last2, std::copy(__first1, __last1,
18944           __result));
18945     }
18946
18947   template<typename _RandomAccessIterator1, typename _RandomAccessIterator2,
18948     typename _Distance>
18949     void
18950     __merge_sort_loop(_RandomAccessIterator1 __first,
18951         _RandomAccessIterator1 __last,
18952         _RandomAccessIterator2 __result,
18953         _Distance __step_size)
18954     {
18955       const _Distance __two_step = 2 * __step_size;
18956
18957       while (__last - __first >= __two_step)
18958  {
18959    __result = std::merge(__first, __first + __step_size,
18960     __first + __step_size, __first + __two_step,
18961     __result);
18962    __first += __two_step;
18963  }
18964
18965       __step_size = std::min(_Distance(__last - __first), __step_size);
18966       std::merge(__first, __first + __step_size, __first + __step_size, __last,
18967    __result);
18968     }
18969
18970   template<typename _RandomAccessIterator1, typename _RandomAccessIterator2,
18971     typename _Distance, typename _Compare>
18972     void
18973     __merge_sort_loop(_RandomAccessIterator1 __first,
18974         _RandomAccessIterator1 __last,
18975         _RandomAccessIterator2 __result, _Distance __step_size,
18976         _Compare __comp)
18977     {
18978       const _Distance __two_step = 2 * __step_size;
18979
18980       while (__last - __first >= __two_step)
18981  {
18982    __result = std::merge(__first, __first + __step_size,
18983     __first + __step_size, __first + __two_step,
18984     __result,
18985     __comp);
18986    __first += __two_step;
18987  }
18988       __step_size = std::min(_Distance(__last - __first), __step_size);
18989
18990       std::merge(__first, __first + __step_size,
18991    __first + __step_size, __last,
18992    __result,
18993    __comp);
18994     }
18995
18996   enum { _S_chunk_size = 7 };
18997
18998   template<typename _RandomAccessIterator, typename _Distance>
18999     void
19000     __chunk_insertion_sort(_RandomAccessIterator __first,
19001       _RandomAccessIterator __last,
19002       _Distance __chunk_size)
19003     {
19004       while (__last - __first >= __chunk_size)
19005  {
19006    std::__insertion_sort(__first, __first + __chunk_size);
19007    __first += __chunk_size;
19008  }
19009       std::__insertion_sort(__first, __last);
19010     }
19011
19012   template<typename _RandomAccessIterator, typename _Distance, typename _Compare>
19013     void
19014     __chunk_insertion_sort(_RandomAccessIterator __first,
19015       _RandomAccessIterator __last,
19016       _Distance __chunk_size, _Compare __comp)
19017     {
19018       while (__last - __first >= __chunk_size)
19019  {
19020    std::__insertion_sort(__first, __first + __chunk_size, __comp);
19021    __first += __chunk_size;
19022  }
19023       std::__insertion_sort(__first, __last, __comp);
19024     }
19025
19026   template<typename _RandomAccessIterator, typename _Pointer>
19027     void
19028     __merge_sort_with_buffer(_RandomAccessIterator __first,
19029         _RandomAccessIterator __last,
19030                              _Pointer __buffer)
19031     {
19032       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
19033  _Distance;
19034
19035       const _Distance __len = __last - __first;
19036       const _Pointer __buffer_last = __buffer + __len;
19037
19038       _Distance __step_size = _S_chunk_size;
19039       std::__chunk_insertion_sort(__first, __last, __step_size);
19040
19041       while (__step_size < __len)
19042  {
19043    std::__merge_sort_loop(__first, __last, __buffer, __step_size);
19044    __step_size *= 2;
19045    std::__merge_sort_loop(__buffer, __buffer_last, __first, __step_size);
19046    __step_size *= 2;
19047  }
19048     }
19049
19050   template<typename _RandomAccessIterator, typename _Pointer, typename _Compare>
19051     void
19052     __merge_sort_with_buffer(_RandomAccessIterator __first,
19053         _RandomAccessIterator __last,
19054                              _Pointer __buffer, _Compare __comp)
19055     {
19056       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
19057  _Distance;
19058
19059       const _Distance __len = __last - __first;
19060       const _Pointer __buffer_last = __buffer + __len;
19061
19062       _Distance __step_size = _S_chunk_size;
19063       std::__chunk_insertion_sort(__first, __last, __step_size, __comp);
19064
19065       while (__step_size < __len)
19066  {
19067    std::__merge_sort_loop(__first, __last, __buffer,
19068      __step_size, __comp);
19069    __step_size *= 2;
19070    std::__merge_sort_loop(__buffer, __buffer_last, __first,
19071      __step_size, __comp);
19072    __step_size *= 2;
19073  }
19074     }
19075
19076
19077
19078
19079
19080
19081   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
19082     typename _BidirectionalIterator3>
19083     _BidirectionalIterator3
19084     __merge_backward(_BidirectionalIterator1 __first1,
19085        _BidirectionalIterator1 __last1,
19086        _BidirectionalIterator2 __first2,
19087        _BidirectionalIterator2 __last2,
19088        _BidirectionalIterator3 __result)
19089     {
19090       if (__first1 == __last1)
19091  return std::copy_backward(__first2, __last2, __result);
19092       if (__first2 == __last2)
19093  return std::copy_backward(__first1, __last1, __result);
19094       --__last1;
19095       --__last2;
19096       while (true)
19097  {
19098    if (*__last2 < *__last1)
19099      {
19100        *--__result = *__last1;
19101        if (__first1 == __last1)
19102   return std::copy_backward(__first2, ++__last2, __result);
19103        --__last1;
19104      }
19105    else
19106      {
19107        *--__result = *__last2;
19108        if (__first2 == __last2)
19109   return std::copy_backward(__first1, ++__last1, __result);
19110        --__last2;
19111      }
19112  }
19113     }
19114
19115
19116
19117
19118
19119
19120   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
19121     typename _BidirectionalIterator3, typename _Compare>
19122     _BidirectionalIterator3
19123     __merge_backward(_BidirectionalIterator1 __first1,
19124        _BidirectionalIterator1 __last1,
19125        _BidirectionalIterator2 __first2,
19126        _BidirectionalIterator2 __last2,
19127        _BidirectionalIterator3 __result,
19128        _Compare __comp)
19129     {
19130       if (__first1 == __last1)
19131  return std::copy_backward(__first2, __last2, __result);
19132       if (__first2 == __last2)
19133  return std::copy_backward(__first1, __last1, __result);
19134       --__last1;
19135       --__last2;
19136       while (true)
19137  {
19138    if (__comp(*__last2, *__last1))
19139      {
19140        *--__result = *__last1;
19141        if (__first1 == __last1)
19142   return std::copy_backward(__first2, ++__last2, __result);
19143        --__last1;
19144      }
19145    else
19146      {
19147        *--__result = *__last2;
19148        if (__first2 == __last2)
19149   return std::copy_backward(__first1, ++__last1, __result);
19150        --__last2;
19151      }
19152  }
19153     }
19154
19155
19156
19157
19158
19159
19160   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
19161     typename _Distance>
19162     _BidirectionalIterator1
19163     __rotate_adaptive(_BidirectionalIterator1 __first,
19164         _BidirectionalIterator1 __middle,
19165         _BidirectionalIterator1 __last,
19166         _Distance __len1, _Distance __len2,
19167         _BidirectionalIterator2 __buffer,
19168         _Distance __buffer_size)
19169     {
19170       _BidirectionalIterator2 __buffer_end;
19171       if (__len1 > __len2 && __len2 <= __buffer_size)
19172  {
19173    __buffer_end = std::copy(__middle, __last, __buffer);
19174    std::copy_backward(__first, __middle, __last);
19175    return std::copy(__buffer, __buffer_end, __first);
19176  }
19177       else if (__len1 <= __buffer_size)
19178  {
19179    __buffer_end = std::copy(__first, __middle, __buffer);
19180    std::copy(__middle, __last, __first);
19181    return std::copy_backward(__buffer, __buffer_end, __last);
19182  }
19183       else
19184  {
19185    std::rotate(__first, __middle, __last);
19186    std::advance(__first, std::distance(__middle, __last));
19187    return __first;
19188  }
19189     }
19190
19191
19192
19193
19194
19195
19196   template<typename _BidirectionalIterator, typename _Distance,
19197     typename _Pointer>
19198     void
19199     __merge_adaptive(_BidirectionalIterator __first,
19200                      _BidirectionalIterator __middle,
19201        _BidirectionalIterator __last,
19202        _Distance __len1, _Distance __len2,
19203        _Pointer __buffer, _Distance __buffer_size)
19204     {
19205       if (__len1 <= __len2 && __len1 <= __buffer_size)
19206  {
19207    _Pointer __buffer_end = std::copy(__first, __middle, __buffer);
19208    std::merge(__buffer, __buffer_end, __middle, __last, __first);
19209  }
19210       else if (__len2 <= __buffer_size)
19211  {
19212    _Pointer __buffer_end = std::copy(__middle, __last, __buffer);
19213    std::__merge_backward(__first, __middle, __buffer,
19214     __buffer_end, __last);
19215  }
19216       else
19217  {
19218    _BidirectionalIterator __first_cut = __first;
19219    _BidirectionalIterator __second_cut = __middle;
19220    _Distance __len11 = 0;
19221    _Distance __len22 = 0;
19222    if (__len1 > __len2)
19223      {
19224        __len11 = __len1 / 2;
19225        std::advance(__first_cut, __len11);
19226        __second_cut = std::lower_bound(__middle, __last,
19227            *__first_cut);
19228        __len22 = std::distance(__middle, __second_cut);
19229      }
19230    else
19231      {
19232        __len22 = __len2 / 2;
19233        std::advance(__second_cut, __len22);
19234        __first_cut = std::upper_bound(__first, __middle,
19235           *__second_cut);
19236        __len11 = std::distance(__first, __first_cut);
19237      }
19238    _BidirectionalIterator __new_middle =
19239      std::__rotate_adaptive(__first_cut, __middle, __second_cut,
19240        __len1 - __len11, __len22, __buffer,
19241        __buffer_size);
19242    std::__merge_adaptive(__first, __first_cut, __new_middle, __len11,
19243     __len22, __buffer, __buffer_size);
19244    std::__merge_adaptive(__new_middle, __second_cut, __last,
19245     __len1 - __len11,
19246     __len2 - __len22, __buffer, __buffer_size);
19247  }
19248     }
19249
19250
19251
19252
19253
19254
19255   template<typename _BidirectionalIterator, typename _Distance, typename _Pointer,
19256     typename _Compare>
19257     void
19258     __merge_adaptive(_BidirectionalIterator __first,
19259                      _BidirectionalIterator __middle,
19260        _BidirectionalIterator __last,
19261        _Distance __len1, _Distance __len2,
19262        _Pointer __buffer, _Distance __buffer_size,
19263        _Compare __comp)
19264     {
19265       if (__len1 <= __len2 && __len1 <= __buffer_size)
19266  {
19267    _Pointer __buffer_end = std::copy(__first, __middle, __buffer);
19268    std::merge(__buffer, __buffer_end, __middle, __last, __first, __comp);
19269  }
19270       else if (__len2 <= __buffer_size)
19271  {
19272    _Pointer __buffer_end = std::copy(__middle, __last, __buffer);
19273    std::__merge_backward(__first, __middle, __buffer, __buffer_end,
19274     __last, __comp);
19275  }
19276       else
19277  {
19278    _BidirectionalIterator __first_cut = __first;
19279    _BidirectionalIterator __second_cut = __middle;
19280    _Distance __len11 = 0;
19281    _Distance __len22 = 0;
19282    if (__len1 > __len2)
19283      {
19284        __len11 = __len1 / 2;
19285        std::advance(__first_cut, __len11);
19286        __second_cut = std::lower_bound(__middle, __last, *__first_cut,
19287            __comp);
19288        __len22 = std::distance(__middle, __second_cut);
19289      }
19290    else
19291      {
19292        __len22 = __len2 / 2;
19293        std::advance(__second_cut, __len22);
19294        __first_cut = std::upper_bound(__first, __middle, *__second_cut,
19295           __comp);
19296        __len11 = std::distance(__first, __first_cut);
19297      }
19298    _BidirectionalIterator __new_middle =
19299      std::__rotate_adaptive(__first_cut, __middle, __second_cut,
19300        __len1 - __len11, __len22, __buffer,
19301        __buffer_size);
19302    std::__merge_adaptive(__first, __first_cut, __new_middle, __len11,
19303     __len22, __buffer, __buffer_size, __comp);
19304    std::__merge_adaptive(__new_middle, __second_cut, __last,
19305     __len1 - __len11,
19306     __len2 - __len22, __buffer,
19307     __buffer_size, __comp);
19308  }
19309     }
19310 # 3595 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19311   template<typename _BidirectionalIterator>
19312     void
19313     inplace_merge(_BidirectionalIterator __first,
19314     _BidirectionalIterator __middle,
19315     _BidirectionalIterator __last)
19316     {
19317       typedef typename iterator_traits<_BidirectionalIterator>::value_type
19318           _ValueType;
19319       typedef typename iterator_traits<_BidirectionalIterator>::difference_type
19320           _DistanceType;
19321
19322
19323      
19324
19325      
19326       ;
19327       ;
19328
19329       if (__first == __middle || __middle == __last)
19330  return;
19331
19332       _DistanceType __len1 = std::distance(__first, __middle);
19333       _DistanceType __len2 = std::distance(__middle, __last);
19334
19335       _Temporary_buffer<_BidirectionalIterator, _ValueType> __buf(__first,
19336           __last);
19337       if (__buf.begin() == 0)
19338  std::__merge_without_buffer(__first, __middle, __last, __len1, __len2);
19339       else
19340  std::__merge_adaptive(__first, __middle, __last, __len1, __len2,
19341          __buf.begin(), _DistanceType(__buf.size()));
19342     }
19343 # 3649 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19344   template<typename _BidirectionalIterator, typename _Compare>
19345     void
19346     inplace_merge(_BidirectionalIterator __first,
19347     _BidirectionalIterator __middle,
19348     _BidirectionalIterator __last,
19349     _Compare __comp)
19350     {
19351       typedef typename iterator_traits<_BidirectionalIterator>::value_type
19352           _ValueType;
19353       typedef typename iterator_traits<_BidirectionalIterator>::difference_type
19354           _DistanceType;
19355
19356
19357      
19358
19359      
19360
19361       ;
19362       ;
19363
19364       if (__first == __middle || __middle == __last)
19365  return;
19366
19367       const _DistanceType __len1 = std::distance(__first, __middle);
19368       const _DistanceType __len2 = std::distance(__middle, __last);
19369
19370       _Temporary_buffer<_BidirectionalIterator, _ValueType> __buf(__first,
19371           __last);
19372       if (__buf.begin() == 0)
19373  std::__merge_without_buffer(__first, __middle, __last, __len1,
19374         __len2, __comp);
19375       else
19376  std::__merge_adaptive(__first, __middle, __last, __len1, __len2,
19377          __buf.begin(), _DistanceType(__buf.size()),
19378          __comp);
19379     }
19380
19381   template<typename _RandomAccessIterator, typename _Pointer,
19382     typename _Distance>
19383     void
19384     __stable_sort_adaptive(_RandomAccessIterator __first,
19385       _RandomAccessIterator __last,
19386                            _Pointer __buffer, _Distance __buffer_size)
19387     {
19388       const _Distance __len = (__last - __first + 1) / 2;
19389       const _RandomAccessIterator __middle = __first + __len;
19390       if (__len > __buffer_size)
19391  {
19392    std::__stable_sort_adaptive(__first, __middle,
19393           __buffer, __buffer_size);
19394    std::__stable_sort_adaptive(__middle, __last,
19395           __buffer, __buffer_size);
19396  }
19397       else
19398  {
19399    std::__merge_sort_with_buffer(__first, __middle, __buffer);
19400    std::__merge_sort_with_buffer(__middle, __last, __buffer);
19401  }
19402       std::__merge_adaptive(__first, __middle, __last,
19403        _Distance(__middle - __first),
19404        _Distance(__last - __middle),
19405        __buffer, __buffer_size);
19406     }
19407
19408   template<typename _RandomAccessIterator, typename _Pointer,
19409     typename _Distance, typename _Compare>
19410     void
19411     __stable_sort_adaptive(_RandomAccessIterator __first,
19412       _RandomAccessIterator __last,
19413                            _Pointer __buffer, _Distance __buffer_size,
19414                            _Compare __comp)
19415     {
19416       const _Distance __len = (__last - __first + 1) / 2;
19417       const _RandomAccessIterator __middle = __first + __len;
19418       if (__len > __buffer_size)
19419  {
19420    std::__stable_sort_adaptive(__first, __middle, __buffer,
19421           __buffer_size, __comp);
19422    std::__stable_sort_adaptive(__middle, __last, __buffer,
19423           __buffer_size, __comp);
19424  }
19425       else
19426  {
19427    std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp);
19428    std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp);
19429  }
19430       std::__merge_adaptive(__first, __middle, __last,
19431        _Distance(__middle - __first),
19432        _Distance(__last - __middle),
19433        __buffer, __buffer_size,
19434        __comp);
19435     }
19436 # 3758 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19437   template<typename _RandomAccessIterator>
19438     inline void
19439     stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
19440     {
19441       typedef typename iterator_traits<_RandomAccessIterator>::value_type
19442  _ValueType;
19443       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
19444  _DistanceType;
19445
19446
19447      
19448
19449      
19450       ;
19451
19452       _Temporary_buffer<_RandomAccessIterator, _ValueType>
19453  buf(__first, __last);
19454       if (buf.begin() == 0)
19455  std::__inplace_stable_sort(__first, __last);
19456       else
19457  std::__stable_sort_adaptive(__first, __last, buf.begin(),
19458         _DistanceType(buf.size()));
19459     }
19460 # 3799 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19461   template<typename _RandomAccessIterator, typename _Compare>
19462     inline void
19463     stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
19464   _Compare __comp)
19465     {
19466       typedef typename iterator_traits<_RandomAccessIterator>::value_type
19467  _ValueType;
19468       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
19469  _DistanceType;
19470
19471
19472      
19473
19474      
19475
19476
19477       ;
19478
19479       _Temporary_buffer<_RandomAccessIterator, _ValueType> buf(__first, __last);
19480       if (buf.begin() == 0)
19481  std::__inplace_stable_sort(__first, __last, __comp);
19482       else
19483  std::__stable_sort_adaptive(__first, __last, buf.begin(),
19484         _DistanceType(buf.size()), __comp);
19485     }
19486 # 3840 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19487   template<typename _RandomAccessIterator>
19488     void
19489     nth_element(_RandomAccessIterator __first,
19490   _RandomAccessIterator __nth,
19491   _RandomAccessIterator __last)
19492     {
19493       typedef typename iterator_traits<_RandomAccessIterator>::value_type
19494  _ValueType;
19495
19496
19497      
19498
19499      
19500       ;
19501       ;
19502
19503       while (__last - __first > 3)
19504  {
19505    _RandomAccessIterator __cut =
19506      std::__unguarded_partition(__first, __last,
19507            _ValueType(std::__median(*__first,
19508         *(__first
19509           + (__last
19510              - __first)
19511           / 2),
19512         *(__last
19513           - 1))));
19514    if (__cut <= __nth)
19515      __first = __cut;
19516    else
19517      __last = __cut;
19518  }
19519       std::__insertion_sort(__first, __last);
19520     }
19521 # 3891 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19522   template<typename _RandomAccessIterator, typename _Compare>
19523     void
19524     nth_element(_RandomAccessIterator __first,
19525   _RandomAccessIterator __nth,
19526   _RandomAccessIterator __last,
19527        _Compare __comp)
19528     {
19529       typedef typename iterator_traits<_RandomAccessIterator>::value_type
19530  _ValueType;
19531
19532
19533      
19534
19535      
19536
19537       ;
19538       ;
19539
19540       while (__last - __first > 3)
19541  {
19542    _RandomAccessIterator __cut =
19543      std::__unguarded_partition(__first, __last,
19544            _ValueType(std::__median(*__first,
19545         *(__first
19546           + (__last
19547              - __first)
19548           / 2),
19549         *(__last - 1),
19550              __comp)), __comp);
19551    if (__cut <= __nth)
19552      __first = __cut;
19553    else
19554      __last = __cut;
19555  }
19556       std::__insertion_sort(__first, __last, __comp);
19557     }
19558 # 3944 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19559   template<typename _ForwardIterator, typename _Tp>
19560     pair<_ForwardIterator, _ForwardIterator>
19561     equal_range(_ForwardIterator __first, _ForwardIterator __last,
19562   const _Tp& __val)
19563     {
19564       typedef typename iterator_traits<_ForwardIterator>::value_type
19565  _ValueType;
19566       typedef typename iterator_traits<_ForwardIterator>::difference_type
19567  _DistanceType;
19568
19569
19570
19571      
19572      
19573      
19574       ;
19575
19576       _DistanceType __len = std::distance(__first, __last);
19577       _DistanceType __half;
19578       _ForwardIterator __middle, __left, __right;
19579
19580       while (__len > 0)
19581  {
19582    __half = __len >> 1;
19583    __middle = __first;
19584    std::advance(__middle, __half);
19585    if (*__middle < __val)
19586      {
19587        __first = __middle;
19588        ++__first;
19589        __len = __len - __half - 1;
19590      }
19591    else if (__val < *__middle)
19592      __len = __half;
19593    else
19594      {
19595        __left = std::lower_bound(__first, __middle, __val);
19596        std::advance(__first, __len);
19597        __right = std::upper_bound(++__middle, __first, __val);
19598        return pair<_ForwardIterator, _ForwardIterator>(__left, __right);
19599      }
19600  }
19601       return pair<_ForwardIterator, _ForwardIterator>(__first, __first);
19602     }
19603 # 4006 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19604   template<typename _ForwardIterator, typename _Tp, typename _Compare>
19605     pair<_ForwardIterator, _ForwardIterator>
19606     equal_range(_ForwardIterator __first, _ForwardIterator __last,
19607   const _Tp& __val,
19608   _Compare __comp)
19609     {
19610       typedef typename iterator_traits<_ForwardIterator>::value_type
19611  _ValueType;
19612       typedef typename iterator_traits<_ForwardIterator>::difference_type
19613  _DistanceType;
19614
19615
19616      
19617      
19618
19619      
19620
19621       ;
19622
19623       _DistanceType __len = std::distance(__first, __last);
19624       _DistanceType __half;
19625       _ForwardIterator __middle, __left, __right;
19626
19627       while (__len > 0)
19628  {
19629    __half = __len >> 1;
19630    __middle = __first;
19631    std::advance(__middle, __half);
19632    if (__comp(*__middle, __val))
19633      {
19634        __first = __middle;
19635        ++__first;
19636        __len = __len - __half - 1;
19637      }
19638    else if (__comp(__val, *__middle))
19639      __len = __half;
19640    else
19641      {
19642        __left = std::lower_bound(__first, __middle, __val, __comp);
19643        std::advance(__first, __len);
19644        __right = std::upper_bound(++__middle, __first, __val, __comp);
19645        return pair<_ForwardIterator, _ForwardIterator>(__left, __right);
19646      }
19647  }
19648       return pair<_ForwardIterator, _ForwardIterator>(__first, __first);
19649     }
19650 # 4064 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19651   template<typename _ForwardIterator, typename _Tp>
19652     bool
19653     binary_search(_ForwardIterator __first, _ForwardIterator __last,
19654                   const _Tp& __val)
19655     {
19656
19657
19658      
19659      
19660
19661      
19662       ;
19663
19664       _ForwardIterator __i = std::lower_bound(__first, __last, __val);
19665       return __i != __last && !(__val < *__i);
19666     }
19667 # 4096 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19668   template<typename _ForwardIterator, typename _Tp, typename _Compare>
19669     bool
19670     binary_search(_ForwardIterator __first, _ForwardIterator __last,
19671                   const _Tp& __val, _Compare __comp)
19672     {
19673
19674      
19675      
19676
19677      
19678
19679       ;
19680
19681       _ForwardIterator __i = std::lower_bound(__first, __last, __val, __comp);
19682       return __i != __last && !__comp(__val, *__i);
19683     }
19684 # 4134 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19685   template<typename _InputIterator1, typename _InputIterator2>
19686     bool
19687     includes(_InputIterator1 __first1, _InputIterator1 __last1,
19688       _InputIterator2 __first2, _InputIterator2 __last2)
19689     {
19690
19691      
19692      
19693      
19694
19695
19696      
19697
19698       ;
19699       ;
19700
19701       while (__first1 != __last1 && __first2 != __last2)
19702  if (*__first2 < *__first1)
19703    return false;
19704  else if(*__first1 < *__first2)
19705    ++__first1;
19706  else
19707    ++__first1, ++__first2;
19708
19709       return __first2 == __last2;
19710     }
19711 # 4180 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19712   template<typename _InputIterator1, typename _InputIterator2,
19713     typename _Compare>
19714     bool
19715     includes(_InputIterator1 __first1, _InputIterator1 __last1,
19716       _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp)
19717     {
19718
19719      
19720      
19721      
19722
19723
19724      
19725
19726
19727       ;
19728       ;
19729
19730       while (__first1 != __last1 && __first2 != __last2)
19731  if (__comp(*__first2, *__first1))
19732    return false;
19733  else if(__comp(*__first1, *__first2))
19734    ++__first1;
19735  else
19736    ++__first1, ++__first2;
19737
19738       return __first2 == __last2;
19739     }
19740 # 4226 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19741   template<typename _InputIterator1, typename _InputIterator2,
19742     typename _OutputIterator>
19743     _OutputIterator
19744     set_union(_InputIterator1 __first1, _InputIterator1 __last1,
19745        _InputIterator2 __first2, _InputIterator2 __last2,
19746        _OutputIterator __result)
19747     {
19748
19749      
19750      
19751      
19752
19753      
19754
19755
19756      
19757
19758       ;
19759       ;
19760
19761       while (__first1 != __last1 && __first2 != __last2)
19762  {
19763    if (*__first1 < *__first2)
19764      {
19765        *__result = *__first1;
19766        ++__first1;
19767      }
19768    else if (*__first2 < *__first1)
19769      {
19770        *__result = *__first2;
19771        ++__first2;
19772      }
19773    else
19774      {
19775        *__result = *__first1;
19776        ++__first1;
19777        ++__first2;
19778      }
19779    ++__result;
19780  }
19781       return std::copy(__first2, __last2, std::copy(__first1, __last1,
19782           __result));
19783     }
19784 # 4288 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19785   template<typename _InputIterator1, typename _InputIterator2,
19786     typename _OutputIterator, typename _Compare>
19787     _OutputIterator
19788     set_union(_InputIterator1 __first1, _InputIterator1 __last1,
19789        _InputIterator2 __first2, _InputIterator2 __last2,
19790        _OutputIterator __result, _Compare __comp)
19791     {
19792
19793      
19794      
19795      
19796
19797
19798      
19799
19800      
19801
19802
19803       ;
19804       ;
19805
19806       while (__first1 != __last1 && __first2 != __last2)
19807  {
19808    if (__comp(*__first1, *__first2))
19809      {
19810        *__result = *__first1;
19811        ++__first1;
19812      }
19813    else if (__comp(*__first2, *__first1))
19814      {
19815        *__result = *__first2;
19816        ++__first2;
19817      }
19818    else
19819      {
19820        *__result = *__first1;
19821        ++__first1;
19822        ++__first2;
19823      }
19824    ++__result;
19825  }
19826       return std::copy(__first2, __last2, std::copy(__first1, __last1,
19827           __result));
19828     }
19829 # 4349 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19830   template<typename _InputIterator1, typename _InputIterator2,
19831     typename _OutputIterator>
19832     _OutputIterator
19833     set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
19834        _InputIterator2 __first2, _InputIterator2 __last2,
19835        _OutputIterator __result)
19836     {
19837
19838      
19839      
19840      
19841
19842      
19843
19844
19845      
19846
19847       ;
19848       ;
19849
19850       while (__first1 != __last1 && __first2 != __last2)
19851  if (*__first1 < *__first2)
19852    ++__first1;
19853  else if (*__first2 < *__first1)
19854    ++__first2;
19855  else
19856    {
19857      *__result = *__first1;
19858      ++__first1;
19859      ++__first2;
19860      ++__result;
19861    }
19862       return __result;
19863     }
19864 # 4403 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19865   template<typename _InputIterator1, typename _InputIterator2,
19866     typename _OutputIterator, typename _Compare>
19867     _OutputIterator
19868     set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
19869        _InputIterator2 __first2, _InputIterator2 __last2,
19870        _OutputIterator __result, _Compare __comp)
19871     {
19872
19873      
19874      
19875      
19876
19877
19878      
19879
19880      
19881
19882
19883       ;
19884       ;
19885
19886       while (__first1 != __last1 && __first2 != __last2)
19887  if (__comp(*__first1, *__first2))
19888    ++__first1;
19889  else if (__comp(*__first2, *__first1))
19890    ++__first2;
19891  else
19892    {
19893      *__result = *__first1;
19894      ++__first1;
19895      ++__first2;
19896      ++__result;
19897    }
19898       return __result;
19899     }
19900 # 4457 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19901   template<typename _InputIterator1, typename _InputIterator2,
19902     typename _OutputIterator>
19903     _OutputIterator
19904     set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
19905      _InputIterator2 __first2, _InputIterator2 __last2,
19906      _OutputIterator __result)
19907     {
19908
19909      
19910      
19911      
19912
19913      
19914
19915
19916      
19917
19918       ;
19919       ;
19920
19921       while (__first1 != __last1 && __first2 != __last2)
19922  if (*__first1 < *__first2)
19923    {
19924      *__result = *__first1;
19925      ++__first1;
19926      ++__result;
19927    }
19928  else if (*__first2 < *__first1)
19929    ++__first2;
19930  else
19931    {
19932      ++__first1;
19933      ++__first2;
19934    }
19935       return std::copy(__first1, __last1, __result);
19936     }
19937 # 4515 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19938   template<typename _InputIterator1, typename _InputIterator2,
19939     typename _OutputIterator, typename _Compare>
19940     _OutputIterator
19941     set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
19942      _InputIterator2 __first2, _InputIterator2 __last2,
19943      _OutputIterator __result, _Compare __comp)
19944     {
19945
19946      
19947      
19948      
19949
19950
19951      
19952
19953      
19954
19955
19956       ;
19957       ;
19958
19959       while (__first1 != __last1 && __first2 != __last2)
19960  if (__comp(*__first1, *__first2))
19961    {
19962      *__result = *__first1;
19963      ++__first1;
19964      ++__result;
19965    }
19966  else if (__comp(*__first2, *__first1))
19967    ++__first2;
19968  else
19969    {
19970      ++__first1;
19971      ++__first2;
19972    }
19973       return std::copy(__first1, __last1, __result);
19974     }
19975 # 4569 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
19976   template<typename _InputIterator1, typename _InputIterator2,
19977     typename _OutputIterator>
19978     _OutputIterator
19979     set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
19980         _InputIterator2 __first2, _InputIterator2 __last2,
19981         _OutputIterator __result)
19982     {
19983
19984      
19985      
19986      
19987
19988      
19989
19990
19991      
19992
19993       ;
19994       ;
19995
19996       while (__first1 != __last1 && __first2 != __last2)
19997  if (*__first1 < *__first2)
19998    {
19999      *__result = *__first1;
20000      ++__first1;
20001      ++__result;
20002    }
20003  else if (*__first2 < *__first1)
20004    {
20005      *__result = *__first2;
20006      ++__first2;
20007      ++__result;
20008    }
20009  else
20010    {
20011      ++__first1;
20012      ++__first2;
20013    }
20014       return std::copy(__first2, __last2, std::copy(__first1,
20015           __last1, __result));
20016     }
20017 # 4630 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20018   template<typename _InputIterator1, typename _InputIterator2,
20019     typename _OutputIterator, typename _Compare>
20020     _OutputIterator
20021     set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
20022         _InputIterator2 __first2, _InputIterator2 __last2,
20023         _OutputIterator __result,
20024         _Compare __comp)
20025     {
20026
20027      
20028      
20029      
20030
20031
20032      
20033
20034      
20035
20036
20037       ;
20038       ;
20039
20040       while (__first1 != __last1 && __first2 != __last2)
20041  if (__comp(*__first1, *__first2))
20042    {
20043      *__result = *__first1;
20044      ++__first1;
20045      ++__result;
20046    }
20047  else if (__comp(*__first2, *__first1))
20048    {
20049      *__result = *__first2;
20050      ++__first2;
20051      ++__result;
20052    }
20053  else
20054    {
20055      ++__first1;
20056      ++__first2;
20057    }
20058       return std::copy(__first2, __last2, std::copy(__first1,
20059           __last1, __result));
20060     }
20061 # 4683 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20062   template<typename _ForwardIterator>
20063     _ForwardIterator
20064     max_element(_ForwardIterator __first, _ForwardIterator __last)
20065     {
20066
20067      
20068      
20069
20070       ;
20071
20072       if (__first == __last)
20073  return __first;
20074       _ForwardIterator __result = __first;
20075       while (++__first != __last)
20076  if (*__result < *__first)
20077    __result = __first;
20078       return __result;
20079     }
20080 # 4710 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20081   template<typename _ForwardIterator, typename _Compare>
20082     _ForwardIterator
20083     max_element(_ForwardIterator __first, _ForwardIterator __last,
20084   _Compare __comp)
20085     {
20086
20087      
20088      
20089
20090
20091       ;
20092
20093       if (__first == __last) return __first;
20094       _ForwardIterator __result = __first;
20095       while (++__first != __last)
20096  if (__comp(*__result, *__first)) __result = __first;
20097       return __result;
20098     }
20099
20100
20101
20102
20103
20104
20105
20106   template<typename _ForwardIterator>
20107     _ForwardIterator
20108     min_element(_ForwardIterator __first, _ForwardIterator __last)
20109     {
20110
20111      
20112      
20113
20114       ;
20115
20116       if (__first == __last)
20117  return __first;
20118       _ForwardIterator __result = __first;
20119       while (++__first != __last)
20120  if (*__first < *__result)
20121    __result = __first;
20122       return __result;
20123     }
20124 # 4762 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20125   template<typename _ForwardIterator, typename _Compare>
20126     _ForwardIterator
20127     min_element(_ForwardIterator __first, _ForwardIterator __last,
20128   _Compare __comp)
20129     {
20130
20131      
20132      
20133
20134
20135       ;
20136
20137       if (__first == __last)
20138  return __first;
20139       _ForwardIterator __result = __first;
20140       while (++__first != __last)
20141  if (__comp(*__first, *__result))
20142    __result = __first;
20143       return __result;
20144     }
20145 # 4797 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20146   template<typename _BidirectionalIterator>
20147     bool
20148     next_permutation(_BidirectionalIterator __first,
20149        _BidirectionalIterator __last)
20150     {
20151
20152      
20153
20154      
20155
20156       ;
20157
20158       if (__first == __last)
20159  return false;
20160       _BidirectionalIterator __i = __first;
20161       ++__i;
20162       if (__i == __last)
20163  return false;
20164       __i = __last;
20165       --__i;
20166
20167       for(;;)
20168  {
20169    _BidirectionalIterator __ii = __i;
20170    --__i;
20171    if (*__i < *__ii)
20172      {
20173        _BidirectionalIterator __j = __last;
20174        while (!(*__i < *--__j))
20175   {}
20176        std::iter_swap(__i, __j);
20177        std::reverse(__ii, __last);
20178        return true;
20179      }
20180    if (__i == __first)
20181      {
20182        std::reverse(__first, __last);
20183        return false;
20184      }
20185  }
20186     }
20187 # 4853 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20188   template<typename _BidirectionalIterator, typename _Compare>
20189     bool
20190     next_permutation(_BidirectionalIterator __first,
20191        _BidirectionalIterator __last, _Compare __comp)
20192     {
20193
20194      
20195
20196      
20197
20198
20199       ;
20200
20201       if (__first == __last)
20202  return false;
20203       _BidirectionalIterator __i = __first;
20204       ++__i;
20205       if (__i == __last)
20206  return false;
20207       __i = __last;
20208       --__i;
20209
20210       for(;;)
20211  {
20212    _BidirectionalIterator __ii = __i;
20213    --__i;
20214    if (__comp(*__i, *__ii))
20215      {
20216        _BidirectionalIterator __j = __last;
20217        while (!__comp(*__i, *--__j))
20218   {}
20219        std::iter_swap(__i, __j);
20220        std::reverse(__ii, __last);
20221        return true;
20222      }
20223    if (__i == __first)
20224      {
20225        std::reverse(__first, __last);
20226        return false;
20227      }
20228  }
20229     }
20230 # 4908 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20231   template<typename _BidirectionalIterator>
20232     bool
20233     prev_permutation(_BidirectionalIterator __first,
20234        _BidirectionalIterator __last)
20235     {
20236
20237      
20238
20239      
20240
20241       ;
20242
20243       if (__first == __last)
20244  return false;
20245       _BidirectionalIterator __i = __first;
20246       ++__i;
20247       if (__i == __last)
20248  return false;
20249       __i = __last;
20250       --__i;
20251
20252       for(;;)
20253  {
20254    _BidirectionalIterator __ii = __i;
20255    --__i;
20256    if (*__ii < *__i)
20257      {
20258        _BidirectionalIterator __j = __last;
20259        while (!(*--__j < *__i))
20260   {}
20261        std::iter_swap(__i, __j);
20262        std::reverse(__ii, __last);
20263        return true;
20264      }
20265    if (__i == __first)
20266      {
20267        std::reverse(__first, __last);
20268        return false;
20269      }
20270  }
20271     }
20272 # 4964 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20273   template<typename _BidirectionalIterator, typename _Compare>
20274     bool
20275     prev_permutation(_BidirectionalIterator __first,
20276        _BidirectionalIterator __last, _Compare __comp)
20277     {
20278
20279      
20280
20281      
20282
20283
20284       ;
20285
20286       if (__first == __last)
20287  return false;
20288       _BidirectionalIterator __i = __first;
20289       ++__i;
20290       if (__i == __last)
20291  return false;
20292       __i = __last;
20293       --__i;
20294
20295       for(;;)
20296  {
20297    _BidirectionalIterator __ii = __i;
20298    --__i;
20299    if (__comp(*__ii, *__i))
20300      {
20301        _BidirectionalIterator __j = __last;
20302        while (!__comp(*--__j, *__i))
20303   {}
20304        std::iter_swap(__i, __j);
20305        std::reverse(__ii, __last);
20306        return true;
20307      }
20308    if (__i == __first)
20309      {
20310        std::reverse(__first, __last);
20311        return false;
20312      }
20313  }
20314     }
20315 # 5023 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20316   template<typename _InputIterator, typename _ForwardIterator>
20317     _InputIterator
20318     find_first_of(_InputIterator __first1, _InputIterator __last1,
20319     _ForwardIterator __first2, _ForwardIterator __last2)
20320     {
20321
20322      
20323      
20324      
20325
20326
20327       ;
20328       ;
20329
20330       for ( ; __first1 != __last1; ++__first1)
20331  for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
20332    if (*__first1 == *__iter)
20333      return __first1;
20334       return __last1;
20335     }
20336 # 5059 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20337   template<typename _InputIterator, typename _ForwardIterator,
20338     typename _BinaryPredicate>
20339     _InputIterator
20340     find_first_of(_InputIterator __first1, _InputIterator __last1,
20341     _ForwardIterator __first2, _ForwardIterator __last2,
20342     _BinaryPredicate __comp)
20343     {
20344
20345      
20346      
20347      
20348
20349
20350       ;
20351       ;
20352
20353       for ( ; __first1 != __last1; ++__first1)
20354  for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
20355    if (__comp(*__first1, *__iter))
20356      return __first1;
20357       return __last1;
20358     }
20359 # 5089 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20360   template<typename _ForwardIterator1, typename _ForwardIterator2>
20361     _ForwardIterator1
20362     __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
20363         _ForwardIterator2 __first2, _ForwardIterator2 __last2,
20364         forward_iterator_tag, forward_iterator_tag)
20365     {
20366       if (__first2 == __last2)
20367  return __last1;
20368       else
20369  {
20370    _ForwardIterator1 __result = __last1;
20371    while (1)
20372      {
20373        _ForwardIterator1 __new_result
20374   = std::search(__first1, __last1, __first2, __last2);
20375        if (__new_result == __last1)
20376   return __result;
20377        else
20378   {
20379     __result = __new_result;
20380     __first1 = __new_result;
20381     ++__first1;
20382   }
20383      }
20384  }
20385     }
20386
20387   template<typename _ForwardIterator1, typename _ForwardIterator2,
20388     typename _BinaryPredicate>
20389     _ForwardIterator1
20390     __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
20391         _ForwardIterator2 __first2, _ForwardIterator2 __last2,
20392         forward_iterator_tag, forward_iterator_tag,
20393         _BinaryPredicate __comp)
20394     {
20395       if (__first2 == __last2)
20396  return __last1;
20397       else
20398  {
20399    _ForwardIterator1 __result = __last1;
20400    while (1)
20401      {
20402        _ForwardIterator1 __new_result
20403   = std::search(__first1, __last1, __first2, __last2, __comp);
20404        if (__new_result == __last1)
20405   return __result;
20406        else
20407   {
20408     __result = __new_result;
20409     __first1 = __new_result;
20410     ++__first1;
20411   }
20412      }
20413  }
20414     }
20415
20416
20417   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2>
20418     _BidirectionalIterator1
20419     __find_end(_BidirectionalIterator1 __first1,
20420         _BidirectionalIterator1 __last1,
20421         _BidirectionalIterator2 __first2,
20422         _BidirectionalIterator2 __last2,
20423         bidirectional_iterator_tag, bidirectional_iterator_tag)
20424     {
20425
20426      
20427
20428      
20429
20430
20431       typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1;
20432       typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2;
20433
20434       _RevIterator1 __rlast1(__first1);
20435       _RevIterator2 __rlast2(__first2);
20436       _RevIterator1 __rresult = std::search(_RevIterator1(__last1), __rlast1,
20437          _RevIterator2(__last2), __rlast2);
20438
20439       if (__rresult == __rlast1)
20440  return __last1;
20441       else
20442  {
20443    _BidirectionalIterator1 __result = __rresult.base();
20444    std::advance(__result, -std::distance(__first2, __last2));
20445    return __result;
20446  }
20447     }
20448
20449   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
20450     typename _BinaryPredicate>
20451     _BidirectionalIterator1
20452     __find_end(_BidirectionalIterator1 __first1,
20453         _BidirectionalIterator1 __last1,
20454         _BidirectionalIterator2 __first2,
20455         _BidirectionalIterator2 __last2,
20456         bidirectional_iterator_tag, bidirectional_iterator_tag,
20457         _BinaryPredicate __comp)
20458     {
20459
20460      
20461
20462      
20463
20464
20465       typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1;
20466       typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2;
20467
20468       _RevIterator1 __rlast1(__first1);
20469       _RevIterator2 __rlast2(__first2);
20470       _RevIterator1 __rresult = std::search(_RevIterator1(__last1), __rlast1,
20471          _RevIterator2(__last2), __rlast2,
20472          __comp);
20473
20474       if (__rresult == __rlast1)
20475  return __last1;
20476       else
20477  {
20478    _BidirectionalIterator1 __result = __rresult.base();
20479    std::advance(__result, -std::distance(__first2, __last2));
20480    return __result;
20481  }
20482     }
20483 # 5239 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20484   template<typename _ForwardIterator1, typename _ForwardIterator2>
20485     inline _ForwardIterator1
20486     find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
20487       _ForwardIterator2 __first2, _ForwardIterator2 __last2)
20488     {
20489
20490      
20491      
20492      
20493
20494
20495       ;
20496       ;
20497
20498       return std::__find_end(__first1, __last1, __first2, __last2,
20499         std::__iterator_category(__first1),
20500         std::__iterator_category(__first2));
20501     }
20502 # 5284 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h" 3
20503   template<typename _ForwardIterator1, typename _ForwardIterator2,
20504     typename _BinaryPredicate>
20505     inline _ForwardIterator1
20506     find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
20507       _ForwardIterator2 __first2, _ForwardIterator2 __last2,
20508       _BinaryPredicate __comp)
20509     {
20510
20511      
20512      
20513      
20514
20515
20516       ;
20517       ;
20518
20519       return std::__find_end(__first1, __last1, __first2, __last2,
20520         std::__iterator_category(__first1),
20521         std::__iterator_category(__first2),
20522         __comp);
20523     }
20524
20525 }
20526 # 70 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/algorithm" 2 3
20527
20528 #pragma GCC visibility pop
20529 # 57 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/string" 2 3
20530 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.tcc" 1 3
20531 # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.tcc" 3
20532        
20533 # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.tcc" 3
20534
20535 namespace std
20536 {
20537   template<typename _Type>
20538     inline bool
20539     __is_null_pointer(_Type* __ptr)
20540     { return __ptr == 0; }
20541
20542   template<typename _Type>
20543     inline bool
20544     __is_null_pointer(_Type)
20545     { return false; }
20546
20547   template<typename _CharT, typename _Traits, typename _Alloc>
20548     const typename basic_string<_CharT, _Traits, _Alloc>::size_type
20549     basic_string<_CharT, _Traits, _Alloc>::
20550     _Rep::_S_max_size = (((npos - sizeof(_Rep_base))/sizeof(_CharT)) - 1) / 4;
20551
20552   template<typename _CharT, typename _Traits, typename _Alloc>
20553     const _CharT
20554     basic_string<_CharT, _Traits, _Alloc>::
20555     _Rep::_S_terminal = _CharT();
20556
20557   template<typename _CharT, typename _Traits, typename _Alloc>
20558     const typename basic_string<_CharT, _Traits, _Alloc>::size_type
20559     basic_string<_CharT, _Traits, _Alloc>::npos;
20560
20561
20562
20563   template<typename _CharT, typename _Traits, typename _Alloc>
20564     typename basic_string<_CharT, _Traits, _Alloc>::size_type
20565     basic_string<_CharT, _Traits, _Alloc>::_Rep::_S_empty_rep_storage[
20566     (sizeof(_Rep_base) + sizeof(_CharT) + sizeof(size_type) - 1) /
20567       sizeof(size_type)];
20568
20569
20570
20571
20572
20573   template<typename _CharT, typename _Traits, typename _Alloc>
20574     template<typename _InIterator>
20575       _CharT*
20576       basic_string<_CharT, _Traits, _Alloc>::
20577       _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a,
20578      input_iterator_tag)
20579       {
20580
20581  if (__beg == __end && __a == _Alloc())
20582    return _S_empty_rep()._M_refdata();
20583
20584
20585  _CharT __buf[128];
20586  size_type __len = 0;
20587  while (__beg != __end && __len < sizeof(__buf) / sizeof(_CharT))
20588    {
20589      __buf[__len++] = *__beg;
20590      ++__beg;
20591    }
20592  _Rep* __r = _Rep::_S_create(__len, size_type(0), __a);
20593  _M_copy(__r->_M_refdata(), __buf, __len);
20594  try
20595    {
20596      while (__beg != __end)
20597        {
20598   if (__len == __r->_M_capacity)
20599     {
20600
20601       _Rep* __another = _Rep::_S_create(__len + 1, __len, __a);
20602       _M_copy(__another->_M_refdata(), __r->_M_refdata(), __len);
20603       __r->_M_destroy(__a);
20604       __r = __another;
20605     }
20606   __r->_M_refdata()[__len++] = *__beg;
20607   ++__beg;
20608        }
20609    }
20610  catch(...)
20611    {
20612      __r->_M_destroy(__a);
20613      throw;
20614    }
20615  __r->_M_set_length_and_sharable(__len);
20616  return __r->_M_refdata();
20617       }
20618
20619   template<typename _CharT, typename _Traits, typename _Alloc>
20620     template <typename _InIterator>
20621       _CharT*
20622       basic_string<_CharT, _Traits, _Alloc>::
20623       _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a,
20624      forward_iterator_tag)
20625       {
20626
20627  if (__beg == __end && __a == _Alloc())
20628    return _S_empty_rep()._M_refdata();
20629
20630
20631  if (__builtin_expect(__is_null_pointer(__beg) && __beg != __end, 0))
20632    __throw_logic_error(("basic_string::_S_construct NULL not valid"));
20633
20634  const size_type __dnew = static_cast<size_type>(std::distance(__beg,
20635               __end));
20636
20637  _Rep* __r = _Rep::_S_create(__dnew, size_type(0), __a);
20638  try
20639    { _S_copy_chars(__r->_M_refdata(), __beg, __end); }
20640  catch(...)
20641    {
20642      __r->_M_destroy(__a);
20643      throw;
20644    }
20645  __r->_M_set_length_and_sharable(__dnew);
20646  return __r->_M_refdata();
20647       }
20648
20649   template<typename _CharT, typename _Traits, typename _Alloc>
20650     _CharT*
20651     basic_string<_CharT, _Traits, _Alloc>::
20652     _S_construct(size_type __n, _CharT __c, const _Alloc& __a)
20653     {
20654
20655       if (__n == 0 && __a == _Alloc())
20656  return _S_empty_rep()._M_refdata();
20657
20658
20659       _Rep* __r = _Rep::_S_create(__n, size_type(0), __a);
20660       if (__n)
20661  _M_assign(__r->_M_refdata(), __n, __c);
20662
20663       __r->_M_set_length_and_sharable(__n);
20664       return __r->_M_refdata();
20665     }
20666
20667   template<typename _CharT, typename _Traits, typename _Alloc>
20668     basic_string<_CharT, _Traits, _Alloc>::
20669     basic_string(const basic_string& __str)
20670     : _M_dataplus(__str._M_rep()->_M_grab(_Alloc(__str.get_allocator()),
20671        __str.get_allocator()),
20672     __str.get_allocator())
20673     { }
20674
20675   template<typename _CharT, typename _Traits, typename _Alloc>
20676     basic_string<_CharT, _Traits, _Alloc>::
20677     basic_string(const _Alloc& __a)
20678     : _M_dataplus(_S_construct(size_type(), _CharT(), __a), __a)
20679     { }
20680
20681   template<typename _CharT, typename _Traits, typename _Alloc>
20682     basic_string<_CharT, _Traits, _Alloc>::
20683     basic_string(const basic_string& __str, size_type __pos, size_type __n)
20684     : _M_dataplus(_S_construct(__str._M_data()
20685           + __str._M_check(__pos,
20686       "basic_string::basic_string"),
20687           __str._M_data() + __str._M_limit(__pos, __n)
20688           + __pos, _Alloc()), _Alloc())
20689     { }
20690
20691   template<typename _CharT, typename _Traits, typename _Alloc>
20692     basic_string<_CharT, _Traits, _Alloc>::
20693     basic_string(const basic_string& __str, size_type __pos,
20694    size_type __n, const _Alloc& __a)
20695     : _M_dataplus(_S_construct(__str._M_data()
20696           + __str._M_check(__pos,
20697       "basic_string::basic_string"),
20698           __str._M_data() + __str._M_limit(__pos, __n)
20699           + __pos, __a), __a)
20700     { }
20701
20702
20703   template<typename _CharT, typename _Traits, typename _Alloc>
20704     basic_string<_CharT, _Traits, _Alloc>::
20705     basic_string(const _CharT* __s, size_type __n, const _Alloc& __a)
20706     : _M_dataplus(_S_construct(__s, __s + __n, __a), __a)
20707     { }
20708
20709
20710   template<typename _CharT, typename _Traits, typename _Alloc>
20711     basic_string<_CharT, _Traits, _Alloc>::
20712     basic_string(const _CharT* __s, const _Alloc& __a)
20713     : _M_dataplus(_S_construct(__s, __s ? __s + traits_type::length(__s) :
20714           __s + npos, __a), __a)
20715     { }
20716
20717   template<typename _CharT, typename _Traits, typename _Alloc>
20718     basic_string<_CharT, _Traits, _Alloc>::
20719     basic_string(size_type __n, _CharT __c, const _Alloc& __a)
20720     : _M_dataplus(_S_construct(__n, __c, __a), __a)
20721     { }
20722
20723
20724   template<typename _CharT, typename _Traits, typename _Alloc>
20725     template<typename _InputIterator>
20726     basic_string<_CharT, _Traits, _Alloc>::
20727     basic_string(_InputIterator __beg, _InputIterator __end, const _Alloc& __a)
20728     : _M_dataplus(_S_construct(__beg, __end, __a), __a)
20729     { }
20730
20731   template<typename _CharT, typename _Traits, typename _Alloc>
20732     basic_string<_CharT, _Traits, _Alloc>&
20733     basic_string<_CharT, _Traits, _Alloc>::
20734     assign(const basic_string& __str)
20735     {
20736       if (_M_rep() != __str._M_rep())
20737  {
20738
20739    const allocator_type __a = this->get_allocator();
20740    _CharT* __tmp = __str._M_rep()->_M_grab(__a, __str.get_allocator());
20741    _M_rep()->_M_dispose(__a);
20742    _M_data(__tmp);
20743  }
20744       return *this;
20745     }
20746
20747   template<typename _CharT, typename _Traits, typename _Alloc>
20748     basic_string<_CharT, _Traits, _Alloc>&
20749     basic_string<_CharT, _Traits, _Alloc>::
20750     assign(const _CharT* __s, size_type __n)
20751     {
20752       ;
20753       _M_check_length(this->size(), __n, "basic_string::assign");
20754       if (_M_disjunct(__s) || _M_rep()->_M_is_shared())
20755  return _M_replace_safe(size_type(0), this->size(), __s, __n);
20756       else
20757  {
20758
20759    const size_type __pos = __s - _M_data();
20760    if (__pos >= __n)
20761      _M_copy(_M_data(), __s, __n);
20762    else if (__pos)
20763      _M_move(_M_data(), __s, __n);
20764    _M_rep()->_M_set_length_and_sharable(__n);
20765    return *this;
20766  }
20767      }
20768
20769   template<typename _CharT, typename _Traits, typename _Alloc>
20770     basic_string<_CharT, _Traits, _Alloc>&
20771     basic_string<_CharT, _Traits, _Alloc>::
20772     append(size_type __n, _CharT __c)
20773     {
20774       if (__n)
20775  {
20776    _M_check_length(size_type(0), __n, "basic_string::append");
20777    const size_type __len = __n + this->size();
20778    if (__len > this->capacity() || _M_rep()->_M_is_shared())
20779      this->reserve(__len);
20780    _M_assign(_M_data() + this->size(), __n, __c);
20781    _M_rep()->_M_set_length_and_sharable(__len);
20782  }
20783       return *this;
20784     }
20785
20786   template<typename _CharT, typename _Traits, typename _Alloc>
20787     basic_string<_CharT, _Traits, _Alloc>&
20788     basic_string<_CharT, _Traits, _Alloc>::
20789     append(const _CharT* __s, size_type __n)
20790     {
20791       ;
20792       if (__n)
20793  {
20794    _M_check_length(size_type(0), __n, "basic_string::append");
20795    const size_type __len = __n + this->size();
20796    if (__len > this->capacity() || _M_rep()->_M_is_shared())
20797      {
20798        if (_M_disjunct(__s))
20799   this->reserve(__len);
20800        else
20801   {
20802     const size_type __off = __s - _M_data();
20803     this->reserve(__len);
20804     __s = _M_data() + __off;
20805   }
20806      }
20807    _M_copy(_M_data() + this->size(), __s, __n);
20808    _M_rep()->_M_set_length_and_sharable(__len);
20809  }
20810       return *this;
20811     }
20812
20813   template<typename _CharT, typename _Traits, typename _Alloc>
20814     basic_string<_CharT, _Traits, _Alloc>&
20815     basic_string<_CharT, _Traits, _Alloc>::
20816     append(const basic_string& __str)
20817     {
20818       const size_type __size = __str.size();
20819       if (__size)
20820  {
20821    const size_type __len = __size + this->size();
20822    if (__len > this->capacity() || _M_rep()->_M_is_shared())
20823      this->reserve(__len);
20824    _M_copy(_M_data() + this->size(), __str._M_data(), __size);
20825    _M_rep()->_M_set_length_and_sharable(__len);
20826  }
20827       return *this;
20828     }
20829
20830   template<typename _CharT, typename _Traits, typename _Alloc>
20831     basic_string<_CharT, _Traits, _Alloc>&
20832     basic_string<_CharT, _Traits, _Alloc>::
20833     append(const basic_string& __str, size_type __pos, size_type __n)
20834     {
20835       __str._M_check(__pos, "basic_string::append");
20836       __n = __str._M_limit(__pos, __n);
20837       if (__n)
20838  {
20839    const size_type __len = __n + this->size();
20840    if (__len > this->capacity() || _M_rep()->_M_is_shared())
20841      this->reserve(__len);
20842    _M_copy(_M_data() + this->size(), __str._M_data() + __pos, __n);
20843    _M_rep()->_M_set_length_and_sharable(__len);
20844  }
20845       return *this;
20846     }
20847
20848    template<typename _CharT, typename _Traits, typename _Alloc>
20849      basic_string<_CharT, _Traits, _Alloc>&
20850      basic_string<_CharT, _Traits, _Alloc>::
20851      insert(size_type __pos, const _CharT* __s, size_type __n)
20852      {
20853        ;
20854        _M_check(__pos, "basic_string::insert");
20855        _M_check_length(size_type(0), __n, "basic_string::insert");
20856        if (_M_disjunct(__s) || _M_rep()->_M_is_shared())
20857          return _M_replace_safe(__pos, size_type(0), __s, __n);
20858        else
20859          {
20860
20861            const size_type __off = __s - _M_data();
20862            _M_mutate(__pos, 0, __n);
20863            __s = _M_data() + __off;
20864            _CharT* __p = _M_data() + __pos;
20865            if (__s + __n <= __p)
20866              _M_copy(__p, __s, __n);
20867            else if (__s >= __p)
20868              _M_copy(__p, __s + __n, __n);
20869            else
20870              {
20871         const size_type __nleft = __p - __s;
20872                _M_copy(__p, __s, __nleft);
20873                _M_copy(__p + __nleft, __p + __n, __n - __nleft);
20874              }
20875            return *this;
20876          }
20877      }
20878
20879    template<typename _CharT, typename _Traits, typename _Alloc>
20880      basic_string<_CharT, _Traits, _Alloc>&
20881      basic_string<_CharT, _Traits, _Alloc>::
20882      replace(size_type __pos, size_type __n1, const _CharT* __s,
20883       size_type __n2)
20884      {
20885        ;
20886        _M_check(__pos, "basic_string::replace");
20887        __n1 = _M_limit(__pos, __n1);
20888        _M_check_length(__n1, __n2, "basic_string::replace");
20889        bool __left;
20890        if (_M_disjunct(__s) || _M_rep()->_M_is_shared())
20891          return _M_replace_safe(__pos, __n1, __s, __n2);
20892        else if ((__left = __s + __n2 <= _M_data() + __pos)
20893   || _M_data() + __pos + __n1 <= __s)
20894   {
20895
20896     size_type __off = __s - _M_data();
20897     __left ? __off : (__off += __n2 - __n1);
20898     _M_mutate(__pos, __n1, __n2);
20899     _M_copy(_M_data() + __pos, _M_data() + __off, __n2);
20900     return *this;
20901   }
20902        else
20903   {
20904
20905     const basic_string __tmp(__s, __n2);
20906     return _M_replace_safe(__pos, __n1, __tmp._M_data(), __n2);
20907   }
20908      }
20909
20910   template<typename _CharT, typename _Traits, typename _Alloc>
20911     void
20912     basic_string<_CharT, _Traits, _Alloc>::_Rep::
20913     _M_destroy(const _Alloc& __a) throw ()
20914     {
20915       const size_type __size = sizeof(_Rep_base) +
20916                         (this->_M_capacity + 1) * sizeof(_CharT);
20917       _Raw_bytes_alloc(__a).deallocate(reinterpret_cast<char*>(this), __size);
20918     }
20919
20920   template<typename _CharT, typename _Traits, typename _Alloc>
20921     void
20922     basic_string<_CharT, _Traits, _Alloc>::
20923     _M_leak_hard()
20924     {
20925
20926       if (_M_rep() == &_S_empty_rep())
20927  return;
20928
20929       if (_M_rep()->_M_is_shared())
20930  _M_mutate(0, 0, 0);
20931       _M_rep()->_M_set_leaked();
20932     }
20933
20934   template<typename _CharT, typename _Traits, typename _Alloc>
20935     void
20936     basic_string<_CharT, _Traits, _Alloc>::
20937     _M_mutate(size_type __pos, size_type __len1, size_type __len2)
20938     {
20939       const size_type __old_size = this->size();
20940       const size_type __new_size = __old_size + __len2 - __len1;
20941       const size_type __how_much = __old_size - __pos - __len1;
20942
20943       if (__new_size > this->capacity() || _M_rep()->_M_is_shared())
20944  {
20945
20946    const allocator_type __a = get_allocator();
20947    _Rep* __r = _Rep::_S_create(__new_size, this->capacity(), __a);
20948
20949    if (__pos)
20950      _M_copy(__r->_M_refdata(), _M_data(), __pos);
20951    if (__how_much)
20952      _M_copy(__r->_M_refdata() + __pos + __len2,
20953       _M_data() + __pos + __len1, __how_much);
20954
20955    _M_rep()->_M_dispose(__a);
20956    _M_data(__r->_M_refdata());
20957  }
20958       else if (__how_much && __len1 != __len2)
20959  {
20960
20961    _M_move(_M_data() + __pos + __len2,
20962     _M_data() + __pos + __len1, __how_much);
20963  }
20964       _M_rep()->_M_set_length_and_sharable(__new_size);
20965     }
20966
20967   template<typename _CharT, typename _Traits, typename _Alloc>
20968     void
20969     basic_string<_CharT, _Traits, _Alloc>::
20970     reserve(size_type __res)
20971     {
20972       if (__res != this->capacity() || _M_rep()->_M_is_shared())
20973         {
20974
20975    if (__res < this->size())
20976      __res = this->size();
20977    const allocator_type __a = get_allocator();
20978    _CharT* __tmp = _M_rep()->_M_clone(__a, __res - this->size());
20979    _M_rep()->_M_dispose(__a);
20980    _M_data(__tmp);
20981         }
20982     }
20983
20984   template<typename _CharT, typename _Traits, typename _Alloc>
20985     void
20986     basic_string<_CharT, _Traits, _Alloc>::
20987     swap(basic_string& __s)
20988     {
20989       if (_M_rep()->_M_is_leaked())
20990  _M_rep()->_M_set_sharable();
20991       if (__s._M_rep()->_M_is_leaked())
20992  __s._M_rep()->_M_set_sharable();
20993       if (this->get_allocator() == __s.get_allocator())
20994  {
20995    _CharT* __tmp = _M_data();
20996    _M_data(__s._M_data());
20997    __s._M_data(__tmp);
20998  }
20999
21000       else
21001  {
21002    const basic_string __tmp1(_M_ibegin(), _M_iend(),
21003         __s.get_allocator());
21004    const basic_string __tmp2(__s._M_ibegin(), __s._M_iend(),
21005         this->get_allocator());
21006    *this = __tmp2;
21007    __s = __tmp1;
21008  }
21009     }
21010
21011   template<typename _CharT, typename _Traits, typename _Alloc>
21012     typename basic_string<_CharT, _Traits, _Alloc>::_Rep*
21013     basic_string<_CharT, _Traits, _Alloc>::_Rep::
21014     _S_create(size_type __capacity, size_type __old_capacity,
21015        const _Alloc& __alloc)
21016     {
21017
21018
21019       if (__capacity > _S_max_size)
21020  __throw_length_error(("basic_string::_S_create"));
21021 # 558 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.tcc" 3
21022       const size_type __pagesize = 4096;
21023       const size_type __malloc_header_size = 4 * sizeof(void*);
21024
21025
21026
21027
21028
21029
21030
21031       if (__capacity > __old_capacity && __capacity < 2 * __old_capacity)
21032  __capacity = 2 * __old_capacity;
21033
21034
21035
21036
21037       size_type __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep);
21038
21039       const size_type __adj_size = __size + __malloc_header_size;
21040       if (__adj_size > __pagesize && __capacity > __old_capacity)
21041  {
21042    const size_type __extra = __pagesize - __adj_size % __pagesize;
21043    __capacity += __extra / sizeof(_CharT);
21044
21045    if (__capacity > _S_max_size)
21046      __capacity = _S_max_size;
21047    __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep);
21048  }
21049
21050
21051
21052       void* __place = _Raw_bytes_alloc(__alloc).allocate(__size);
21053       _Rep *__p = new (__place) _Rep;
21054       __p->_M_capacity = __capacity;
21055       return __p;
21056     }
21057
21058   template<typename _CharT, typename _Traits, typename _Alloc>
21059     _CharT*
21060     basic_string<_CharT, _Traits, _Alloc>::_Rep::
21061     _M_clone(const _Alloc& __alloc, size_type __res)
21062     {
21063
21064       const size_type __requested_cap = this->_M_length + __res;
21065       _Rep* __r = _Rep::_S_create(__requested_cap, this->_M_capacity,
21066       __alloc);
21067       if (this->_M_length)
21068  _M_copy(__r->_M_refdata(), _M_refdata(), this->_M_length);
21069
21070       __r->_M_set_length_and_sharable(this->_M_length);
21071       return __r->_M_refdata();
21072     }
21073
21074   template<typename _CharT, typename _Traits, typename _Alloc>
21075     void
21076     basic_string<_CharT, _Traits, _Alloc>::
21077     resize(size_type __n, _CharT __c)
21078     {
21079       const size_type __size = this->size();
21080       _M_check_length(__size, __n, "basic_string::resize");
21081       if (__size < __n)
21082  this->append(__n - __size, __c);
21083       else if (__n < __size)
21084  this->erase(__n);
21085
21086     }
21087
21088   template<typename _CharT, typename _Traits, typename _Alloc>
21089     template<typename _InputIterator>
21090       basic_string<_CharT, _Traits, _Alloc>&
21091       basic_string<_CharT, _Traits, _Alloc>::
21092       _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1,
21093      _InputIterator __k2, __false_type)
21094       {
21095  const basic_string __s(__k1, __k2);
21096  const size_type __n1 = __i2 - __i1;
21097  _M_check_length(__n1, __s.size(), "basic_string::_M_replace_dispatch");
21098  return _M_replace_safe(__i1 - _M_ibegin(), __n1, __s._M_data(),
21099           __s.size());
21100       }
21101
21102   template<typename _CharT, typename _Traits, typename _Alloc>
21103     basic_string<_CharT, _Traits, _Alloc>&
21104     basic_string<_CharT, _Traits, _Alloc>::
21105     _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
21106      _CharT __c)
21107     {
21108       _M_check_length(__n1, __n2, "basic_string::_M_replace_aux");
21109       _M_mutate(__pos1, __n1, __n2);
21110       if (__n2)
21111  _M_assign(_M_data() + __pos1, __n2, __c);
21112       return *this;
21113     }
21114
21115   template<typename _CharT, typename _Traits, typename _Alloc>
21116     basic_string<_CharT, _Traits, _Alloc>&
21117     basic_string<_CharT, _Traits, _Alloc>::
21118     _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s,
21119       size_type __n2)
21120     {
21121       _M_mutate(__pos1, __n1, __n2);
21122       if (__n2)
21123  _M_copy(_M_data() + __pos1, __s, __n2);
21124       return *this;
21125     }
21126
21127   template<typename _CharT, typename _Traits, typename _Alloc>
21128     basic_string<_CharT, _Traits, _Alloc>
21129     operator+(const _CharT* __lhs,
21130        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
21131     {
21132       ;
21133       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
21134       typedef typename __string_type::size_type __size_type;
21135       const __size_type __len = _Traits::length(__lhs);
21136       __string_type __str;
21137       __str.reserve(__len + __rhs.size());
21138       __str.append(__lhs, __len);
21139       __str.append(__rhs);
21140       return __str;
21141     }
21142
21143   template<typename _CharT, typename _Traits, typename _Alloc>
21144     basic_string<_CharT, _Traits, _Alloc>
21145     operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs)
21146     {
21147       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
21148       typedef typename __string_type::size_type __size_type;
21149       __string_type __str;
21150       const __size_type __len = __rhs.size();
21151       __str.reserve(__len + 1);
21152       __str.append(__size_type(1), __lhs);
21153       __str.append(__rhs);
21154       return __str;
21155     }
21156
21157   template<typename _CharT, typename _Traits, typename _Alloc>
21158     typename basic_string<_CharT, _Traits, _Alloc>::size_type
21159     basic_string<_CharT, _Traits, _Alloc>::
21160     copy(_CharT* __s, size_type __n, size_type __pos) const
21161     {
21162       _M_check(__pos, "basic_string::copy");
21163       __n = _M_limit(__pos, __n);
21164       ;
21165       if (__n)
21166  _M_copy(__s, _M_data() + __pos, __n);
21167
21168       return __n;
21169     }
21170
21171   template<typename _CharT, typename _Traits, typename _Alloc>
21172     typename basic_string<_CharT, _Traits, _Alloc>::size_type
21173     basic_string<_CharT, _Traits, _Alloc>::
21174     find(const _CharT* __s, size_type __pos, size_type __n) const
21175     {
21176       ;
21177       size_type __ret = npos;
21178       const size_type __size = this->size();
21179       if (__pos + __n <= __size)
21180  {
21181    const _CharT* __data = _M_data();
21182    const _CharT* __p = std::search(__data + __pos, __data + __size,
21183        __s, __s + __n, traits_type::eq);
21184    if (__p != __data + __size || __n == 0)
21185      __ret = __p - __data;
21186  }
21187       return __ret;
21188     }
21189
21190   template<typename _CharT, typename _Traits, typename _Alloc>
21191     typename basic_string<_CharT, _Traits, _Alloc>::size_type
21192     basic_string<_CharT, _Traits, _Alloc>::
21193     find(_CharT __c, size_type __pos) const
21194     {
21195       size_type __ret = npos;
21196       const size_type __size = this->size();
21197       if (__pos < __size)
21198  {
21199    const _CharT* __data = _M_data();
21200    const size_type __n = __size - __pos;
21201    const _CharT* __p = traits_type::find(__data + __pos, __n, __c);
21202    if (__p)
21203      __ret = __p - __data;
21204  }
21205       return __ret;
21206     }
21207
21208   template<typename _CharT, typename _Traits, typename _Alloc>
21209     typename basic_string<_CharT, _Traits, _Alloc>::size_type
21210     basic_string<_CharT, _Traits, _Alloc>::
21211     rfind(const _CharT* __s, size_type __pos, size_type __n) const
21212     {
21213       ;
21214       const size_type __size = this->size();
21215       if (__n <= __size)
21216  {
21217    __pos = std::min(size_type(__size - __n), __pos);
21218    const _CharT* __data = _M_data();
21219    do
21220      {
21221        if (traits_type::compare(__data + __pos, __s, __n) == 0)
21222   return __pos;
21223      }
21224    while (__pos-- > 0);
21225  }
21226       return npos;
21227     }
21228
21229   template<typename _CharT, typename _Traits, typename _Alloc>
21230     typename basic_string<_CharT, _Traits, _Alloc>::size_type
21231     basic_string<_CharT, _Traits, _Alloc>::
21232     rfind(_CharT __c, size_type __pos) const
21233     {
21234       size_type __size = this->size();
21235       if (__size)
21236  {
21237    if (--__size > __pos)
21238      __size = __pos;
21239    for (++__size; __size-- > 0; )
21240      if (traits_type::eq(_M_data()[__size], __c))
21241        return __size;
21242  }
21243       return npos;
21244     }
21245
21246   template<typename _CharT, typename _Traits, typename _Alloc>
21247     typename basic_string<_CharT, _Traits, _Alloc>::size_type
21248     basic_string<_CharT, _Traits, _Alloc>::
21249     find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
21250     {
21251       ;
21252       for (; __n && __pos < this->size(); ++__pos)
21253  {
21254    const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]);
21255    if (__p)
21256      return __pos;
21257  }
21258       return npos;
21259     }
21260
21261   template<typename _CharT, typename _Traits, typename _Alloc>
21262     typename basic_string<_CharT, _Traits, _Alloc>::size_type
21263     basic_string<_CharT, _Traits, _Alloc>::
21264     find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
21265     {
21266       ;
21267       size_type __size = this->size();
21268       if (__size && __n)
21269  {
21270    if (--__size > __pos)
21271      __size = __pos;
21272    do
21273      {
21274        if (traits_type::find(__s, __n, _M_data()[__size]))
21275   return __size;
21276      }
21277    while (__size-- != 0);
21278  }
21279       return npos;
21280     }
21281
21282   template<typename _CharT, typename _Traits, typename _Alloc>
21283     typename basic_string<_CharT, _Traits, _Alloc>::size_type
21284     basic_string<_CharT, _Traits, _Alloc>::
21285     find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const
21286     {
21287       ;
21288       for (; __pos < this->size(); ++__pos)
21289  if (!traits_type::find(__s, __n, _M_data()[__pos]))
21290    return __pos;
21291       return npos;
21292     }
21293
21294   template<typename _CharT, typename _Traits, typename _Alloc>
21295     typename basic_string<_CharT, _Traits, _Alloc>::size_type
21296     basic_string<_CharT, _Traits, _Alloc>::
21297     find_first_not_of(_CharT __c, size_type __pos) const
21298     {
21299       for (; __pos < this->size(); ++__pos)
21300  if (!traits_type::eq(_M_data()[__pos], __c))
21301    return __pos;
21302       return npos;
21303     }
21304
21305   template<typename _CharT, typename _Traits, typename _Alloc>
21306     typename basic_string<_CharT, _Traits, _Alloc>::size_type
21307     basic_string<_CharT, _Traits, _Alloc>::
21308     find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const
21309     {
21310       ;
21311       size_type __size = this->size();
21312       if (__size)
21313  {
21314    if (--__size > __pos)
21315      __size = __pos;
21316    do
21317      {
21318        if (!traits_type::find(__s, __n, _M_data()[__size]))
21319   return __size;
21320      }
21321    while (__size--);
21322  }
21323       return npos;
21324     }
21325
21326   template<typename _CharT, typename _Traits, typename _Alloc>
21327     typename basic_string<_CharT, _Traits, _Alloc>::size_type
21328     basic_string<_CharT, _Traits, _Alloc>::
21329     find_last_not_of(_CharT __c, size_type __pos) const
21330     {
21331       size_type __size = this->size();
21332       if (__size)
21333  {
21334    if (--__size > __pos)
21335      __size = __pos;
21336    do
21337      {
21338        if (!traits_type::eq(_M_data()[__size], __c))
21339   return __size;
21340      }
21341    while (__size--);
21342  }
21343       return npos;
21344     }
21345
21346   template<typename _CharT, typename _Traits, typename _Alloc>
21347     int
21348     basic_string<_CharT, _Traits, _Alloc>::
21349     compare(size_type __pos, size_type __n, const basic_string& __str) const
21350     {
21351       _M_check(__pos, "basic_string::compare");
21352       __n = _M_limit(__pos, __n);
21353       const size_type __osize = __str.size();
21354       const size_type __len = std::min(__n, __osize);
21355       int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len);
21356       if (!__r)
21357  __r = __n - __osize;
21358       return __r;
21359     }
21360
21361   template<typename _CharT, typename _Traits, typename _Alloc>
21362     int
21363     basic_string<_CharT, _Traits, _Alloc>::
21364     compare(size_type __pos1, size_type __n1, const basic_string& __str,
21365      size_type __pos2, size_type __n2) const
21366     {
21367       _M_check(__pos1, "basic_string::compare");
21368       __str._M_check(__pos2, "basic_string::compare");
21369       __n1 = _M_limit(__pos1, __n1);
21370       __n2 = __str._M_limit(__pos2, __n2);
21371       const size_type __len = std::min(__n1, __n2);
21372       int __r = traits_type::compare(_M_data() + __pos1,
21373          __str.data() + __pos2, __len);
21374       if (!__r)
21375  __r = __n1 - __n2;
21376       return __r;
21377     }
21378
21379   template<typename _CharT, typename _Traits, typename _Alloc>
21380     int
21381     basic_string<_CharT, _Traits, _Alloc>::
21382     compare(const _CharT* __s) const
21383     {
21384       ;
21385       const size_type __size = this->size();
21386       const size_type __osize = traits_type::length(__s);
21387       const size_type __len = std::min(__size, __osize);
21388       int __r = traits_type::compare(_M_data(), __s, __len);
21389       if (!__r)
21390  __r = __size - __osize;
21391       return __r;
21392     }
21393
21394   template<typename _CharT, typename _Traits, typename _Alloc>
21395     int
21396     basic_string <_CharT, _Traits, _Alloc>::
21397     compare(size_type __pos, size_type __n1, const _CharT* __s) const
21398     {
21399       ;
21400       _M_check(__pos, "basic_string::compare");
21401       __n1 = _M_limit(__pos, __n1);
21402       const size_type __osize = traits_type::length(__s);
21403       const size_type __len = std::min(__n1, __osize);
21404       int __r = traits_type::compare(_M_data() + __pos, __s, __len);
21405       if (!__r)
21406  __r = __n1 - __osize;
21407       return __r;
21408     }
21409
21410   template<typename _CharT, typename _Traits, typename _Alloc>
21411     int
21412     basic_string <_CharT, _Traits, _Alloc>::
21413     compare(size_type __pos, size_type __n1, const _CharT* __s,
21414      size_type __n2) const
21415     {
21416       ;
21417       _M_check(__pos, "basic_string::compare");
21418       __n1 = _M_limit(__pos, __n1);
21419       const size_type __len = std::min(__n1, __n2);
21420       int __r = traits_type::compare(_M_data() + __pos, __s, __len);
21421       if (!__r)
21422  __r = __n1 - __n2;
21423       return __r;
21424     }
21425
21426
21427
21428
21429
21430   extern template class basic_string<char>;
21431   extern template
21432     basic_istream<char>&
21433     operator>>(basic_istream<char>&, string&);
21434   extern template
21435     basic_ostream<char>&
21436     operator<<(basic_ostream<char>&, const string&);
21437   extern template
21438     basic_istream<char>&
21439     getline(basic_istream<char>&, string&, char);
21440   extern template
21441     basic_istream<char>&
21442     getline(basic_istream<char>&, string&);
21443
21444
21445   extern template class basic_string<wchar_t>;
21446   extern template
21447     basic_istream<wchar_t>&
21448     operator>>(basic_istream<wchar_t>&, wstring&);
21449   extern template
21450     basic_ostream<wchar_t>&
21451     operator<<(basic_ostream<wchar_t>&, const wstring&);
21452   extern template
21453     basic_istream<wchar_t>&
21454     getline(basic_istream<wchar_t>&, wstring&, wchar_t);
21455   extern template
21456     basic_istream<wchar_t>&
21457     getline(basic_istream<wchar_t>&, wstring&);
21458
21459
21460 }
21461 # 58 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/string" 2 3
21462
21463
21464 #pragma GCC visibility pop
21465 # 171 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h" 2
21466 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/afterstd.h" 1
21467 # 172 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h" 2
21468 # 180 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
21469     typedef std::string wxStdString;
21470 # 210 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
21471 struct wxStringData
21472 {
21473   int nRefs;
21474   size_t nDataLength,
21475           nAllocLength;
21476
21477
21478   wxChar* data() const { return (wxChar*)(this + 1); }
21479
21480
21481   bool IsEmpty() const { return (nRefs == -1); }
21482   bool IsShared() const { return (nRefs > 1); }
21483
21484
21485   void Lock() { if ( !IsEmpty() ) nRefs++; }
21486 # 237 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
21487   void Unlock() { if ( !IsEmpty() && --nRefs == 0) free(this); }
21488
21489
21490
21491
21492   void Validate(bool b) { nRefs = (b ? 1 : 0); }
21493   bool IsValid() const { return (nRefs != 0); }
21494 };
21495
21496 class wxStringBase
21497 {
21498
21499 friend class wxArrayString;
21500
21501 public :
21502
21503   static const size_t npos;
21504 protected:
21505
21506   wxChar *m_pchData;
21507
21508
21509   wxStringData* GetStringData() const { return (wxStringData*)m_pchData - 1; }
21510
21511
21512
21513
21514   void Init() { m_pchData = (wxChar *)wxEmptyString; }
21515
21516   void InitWith(const wxChar *psz, size_t nPos = 0, size_t nLen = npos);
21517
21518   void Reinit() { GetStringData()->Unlock(); Init(); }
21519
21520
21521
21522   bool AllocBuffer(size_t nLen);
21523
21524   bool AllocCopy(wxString&, int, int) const;
21525
21526   bool AssignCopy(size_t, const wxChar *);
21527
21528
21529   bool ConcatSelf(size_t nLen, const wxChar *src, size_t nMaxLen);
21530   bool ConcatSelf(size_t nLen, const wxChar *src)
21531     { return ConcatSelf(nLen, src, nLen); }
21532
21533
21534
21535   bool CopyBeforeWrite();
21536   bool AllocBeforeWrite(size_t);
21537
21538
21539   bool Alloc(size_t nLen);
21540 public:
21541
21542   typedef wxChar value_type;
21543   typedef wxChar char_type;
21544   typedef size_t size_type;
21545   typedef value_type& reference;
21546   typedef const value_type& const_reference;
21547   typedef value_type* pointer;
21548   typedef const value_type* const_pointer;
21549   typedef value_type *iterator;
21550   typedef const value_type *const_iterator;
21551 # 332 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
21552   class const_reverse_iterator { public: typedef wxChar value_type; typedef const value_type& reference; typedef const value_type *pointer; typedef const value_type *iterator_type; const_reverse_iterator(iterator_type i) : m_cur(i) { } const_reverse_iterator(const const_reverse_iterator& ri) : m_cur(ri.m_cur) { } iterator_type base() const { return m_cur; } reference operator*() const { return *(m_cur - 1); } const_reverse_iterator& operator++() { --m_cur; return *this; } const_reverse_iterator operator++(int) { const_reverse_iterator tmp = *this; --m_cur; return tmp; } const_reverse_iterator& operator--() { ++m_cur; return *this; } const_reverse_iterator operator--(int) { const_reverse_iterator tmp = *this; ++m_cur; return tmp; } bool operator==(const_reverse_iterator ri) const { return m_cur == ri.m_cur; } bool operator!=(const_reverse_iterator ri) const { return !(*this == ri); } private: iterator_type m_cur; };
21553
21554
21555   class reverse_iterator { public: typedef wxChar value_type; typedef value_type& reference; typedef value_type *pointer; typedef value_type *iterator_type; reverse_iterator(iterator_type i) : m_cur(i) { } reverse_iterator(const reverse_iterator& ri) : m_cur(ri.m_cur) { } iterator_type base() const { return m_cur; } reference operator*() const { return *(m_cur - 1); } reverse_iterator& operator++() { --m_cur; return *this; } reverse_iterator operator++(int) { reverse_iterator tmp = *this; --m_cur; return tmp; } reverse_iterator& operator--() { ++m_cur; return *this; } reverse_iterator operator--(int) { reverse_iterator tmp = *this; ++m_cur; return tmp; } bool operator==(reverse_iterator ri) const { return m_cur == ri.m_cur; } bool operator!=(reverse_iterator ri) const { return !(*this == ri); } private: iterator_type m_cur; };
21556
21557
21558
21559
21560
21561   const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); }
21562   reverse_iterator rbegin() { return reverse_iterator(end()); }
21563
21564   const_reverse_iterator rend() const { return const_reverse_iterator(begin()); }
21565   reverse_iterator rend() { return reverse_iterator(begin()); }
21566
21567
21568
21569
21570
21571   wxStringBase() { Init(); }
21572
21573   wxStringBase(const wxStringBase& stringSrc)
21574   {
21575     ;
21576
21577
21578     if ( stringSrc.empty() ) {
21579
21580       Init();
21581     }
21582     else {
21583       m_pchData = stringSrc.m_pchData;
21584       GetStringData()->Lock();
21585     }
21586   }
21587
21588   wxStringBase(size_type nRepeat, wxChar ch);
21589
21590
21591   wxStringBase(const wxChar *psz)
21592       { InitWith(psz, 0, npos); }
21593   wxStringBase(const wxChar *psz, size_t nLength)
21594       { InitWith(psz, 0, nLength); }
21595   wxStringBase(const wxChar *psz, wxMBConv& , size_t nLength = npos)
21596       { InitWith(psz, 0, nLength); }
21597
21598   wxStringBase(const wxStringBase& str, size_t nPos, size_t nLen)
21599   {
21600     ;
21601
21602     Init();
21603     size_t strLen = str.length() - nPos; nLen = strLen < nLen ? strLen : nLen;
21604     InitWith(str.c_str(), nPos, nLen);
21605   }
21606
21607   wxStringBase(const void *pStart, const void *pEnd);
21608
21609
21610   ~wxStringBase()
21611   {
21612
21613
21614
21615
21616
21617
21618       GetStringData()->Unlock();
21619   }
21620
21621
21622
21623
21624
21625
21626
21627   wxStringBase& operator=(const wxStringBase& stringSrc);
21628
21629   wxStringBase& operator=(wxChar ch);
21630
21631   wxStringBase& operator=(const wxChar *psz);
21632
21633
21634   size_type size() const { return GetStringData()->nDataLength; }
21635
21636   size_type length() const { return size(); }
21637
21638   size_type max_size() const { return wxStringBase::npos; }
21639
21640   void resize(size_t nSize, wxChar ch = '\0');
21641
21642   void clear() { erase(0, npos); }
21643
21644   bool empty() const { return size() == 0; }
21645
21646   void reserve(size_t sz) { Alloc(sz); }
21647   size_type capacity() const { return GetStringData()->nAllocLength; }
21648
21649
21650
21651   value_type at(size_type n) const
21652     { ; return m_pchData[n]; }
21653
21654   reference at(size_type n)
21655     { ; CopyBeforeWrite(); return m_pchData[n]; }
21656
21657
21658
21659   wxStringBase& append(const wxStringBase& str, size_t pos, size_t n)
21660   {
21661     ;
21662     ConcatSelf(n, str.c_str() + pos, str.length() - pos);
21663     return *this;
21664   }
21665
21666   wxStringBase& append(const wxStringBase& str)
21667     { ConcatSelf(str.length(), str.c_str()); return *this; }
21668
21669   wxStringBase& append(const wxChar *sz)
21670     { ConcatSelf(wxStrlen(sz), sz); return *this; }
21671   wxStringBase& append(const wxChar *sz, size_t n)
21672     { ConcatSelf(n, sz); return *this; }
21673
21674   wxStringBase& append(size_t n, wxChar ch);
21675
21676   wxStringBase& append(const_iterator first, const_iterator last)
21677     { ConcatSelf(last - first, first); return *this; }
21678
21679
21680   wxStringBase& assign(const wxStringBase& str)
21681     { return *this = str; }
21682
21683   wxStringBase& assign(const wxStringBase& str, size_t pos, size_t n)
21684     { clear(); return append(str, pos, n); }
21685
21686   wxStringBase& assign(const wxChar *sz)
21687     { clear(); return append(sz, wxStrlen(sz)); }
21688   wxStringBase& assign(const wxChar *sz, size_t n)
21689     { clear(); return append(sz, n); }
21690
21691   wxStringBase& assign(size_t n, wxChar ch)
21692     { clear(); return append(n, ch); }
21693
21694   wxStringBase& assign(const_iterator first, const_iterator last)
21695     { clear(); return append(first, last); }
21696
21697
21698   const_iterator begin() const { return m_pchData; }
21699
21700   const_iterator end() const { return m_pchData + length(); }
21701
21702
21703   iterator begin();
21704
21705   iterator end();
21706
21707
21708   wxStringBase& insert(size_t nPos, const wxStringBase& str)
21709   {
21710     ;
21711     return insert(nPos, str.c_str(), str.length());
21712   }
21713
21714   wxStringBase& insert(size_t nPos, const wxStringBase& str, size_t nStart, size_t n)
21715   {
21716     ;
21717     ;
21718     size_t strLen = str.length() - nStart;
21719     n = strLen < n ? strLen : n;
21720     return insert(nPos, str.c_str() + nStart, n);
21721   }
21722
21723   wxStringBase& insert(size_t nPos, const wxChar *sz, size_t n = npos);
21724
21725   wxStringBase& insert(size_t nPos, size_t n, wxChar ch)
21726     { return insert(nPos, wxStringBase(n, ch)); }
21727   iterator insert(iterator it, wxChar ch)
21728     { size_t idx = it - begin(); insert(idx, 1, ch); return begin() + idx; }
21729   void insert(iterator it, const_iterator first, const_iterator last)
21730     { insert(it - begin(), first, last - first); }
21731   void insert(iterator it, size_type n, wxChar ch)
21732     { insert(it - begin(), n, ch); }
21733
21734
21735   wxStringBase& erase(size_type pos = 0, size_type n = npos);
21736   iterator erase(iterator first, iterator last)
21737   {
21738     size_t idx = first - begin();
21739     erase(idx, last - first);
21740     return begin() + idx;
21741   }
21742   iterator erase(iterator first);
21743
21744
21745   const wxChar* c_str() const { return m_pchData; }
21746   const wxChar* data() const { return m_pchData; }
21747
21748
21749   wxStringBase& replace(size_t nStart, size_t nLen, const wxChar* sz);
21750
21751   wxStringBase& replace(size_t nStart, size_t nLen, const wxStringBase& str)
21752     { return replace(nStart, nLen, str.c_str()); }
21753
21754   wxStringBase& replace(size_t nStart, size_t nLen, size_t nCount, wxChar ch);
21755
21756   wxStringBase& replace(size_t nStart, size_t nLen,
21757                         const wxStringBase& str, size_t nStart2, size_t nLen2);
21758
21759   wxStringBase& replace(size_t nStart, size_t nLen,
21760                         const wxChar* sz, size_t nCount);
21761   wxStringBase& replace(iterator first, iterator last, const_pointer s)
21762     { return replace(first - begin(), last - first, s); }
21763   wxStringBase& replace(iterator first, iterator last, const_pointer s,
21764                         size_type n)
21765     { return replace(first - begin(), last - first, s, n); }
21766   wxStringBase& replace(iterator first, iterator last, const wxStringBase& s)
21767     { return replace(first - begin(), last - first, s); }
21768   wxStringBase& replace(iterator first, iterator last, size_type n, wxChar c)
21769     { return replace(first - begin(), last - first, n, c); }
21770   wxStringBase& replace(iterator first, iterator last,
21771                         const_iterator first1, const_iterator last1)
21772     { return replace(first - begin(), last - first, first1, last1 - first1); }
21773
21774
21775   void swap(wxStringBase& str);
21776
21777
21778
21779
21780
21781
21782   size_t find(const wxStringBase& str, size_t nStart = 0) const;
21783
21784
21785   size_t find(const wxChar* sz, size_t nStart = 0, size_t n = npos) const;
21786
21787
21788   size_t find(wxChar ch, size_t nStart = 0) const;
21789
21790
21791
21792
21793   size_t rfind(const wxStringBase& str, size_t nStart = npos) const;
21794
21795
21796   size_t rfind(const wxChar* sz, size_t nStart = npos,
21797                size_t n = npos) const;
21798
21799   size_t rfind(wxChar ch, size_t nStart = npos) const;
21800
21801
21802
21803
21804   size_t find_first_of(const wxStringBase& str, size_t nStart = 0) const
21805     { return find_first_of(str.c_str(), nStart); }
21806
21807   size_t find_first_of(const wxChar* sz, size_t nStart = 0) const;
21808   size_t find_first_of(const wxChar* sz, size_t nStart, size_t n) const;
21809
21810   size_t find_first_of(wxChar c, size_t nStart = 0) const
21811     { return find(c, nStart); }
21812
21813   size_t find_last_of (const wxStringBase& str, size_t nStart = npos) const
21814     { return find_last_of(str.c_str(), nStart); }
21815
21816   size_t find_last_of (const wxChar* sz, size_t nStart = npos) const;
21817   size_t find_last_of(const wxChar* sz, size_t nStart, size_t n) const;
21818
21819   size_t find_last_of(wxChar c, size_t nStart = npos) const
21820     { return rfind(c, nStart); }
21821
21822
21823
21824
21825   size_t find_first_not_of(const wxStringBase& str, size_t nStart = 0) const
21826     { return find_first_not_of(str.c_str(), nStart); }
21827
21828   size_t find_first_not_of(const wxChar* sz, size_t nStart = 0) const;
21829   size_t find_first_not_of(const wxChar* sz, size_t nStart, size_t n) const;
21830
21831   size_t find_first_not_of(wxChar ch, size_t nStart = 0) const;
21832
21833   size_t find_last_not_of(const wxStringBase& str, size_t nStart = npos) const
21834     { return find_last_not_of(str.c_str(), nStart); }
21835
21836   size_t find_last_not_of(const wxChar* sz, size_t nStart = npos) const;
21837   size_t find_last_not_of(const wxChar* sz, size_t nStart, size_t n) const;
21838
21839   size_t find_last_not_of(wxChar ch, size_t nStart = npos) const;
21840
21841
21842
21843
21844
21845   int compare(const wxStringBase& str) const;
21846
21847   int compare(size_t nStart, size_t nLen, const wxStringBase& str) const;
21848
21849   int compare(size_t nStart, size_t nLen,
21850               const wxStringBase& str, size_t nStart2, size_t nLen2) const;
21851
21852   int compare(const wxChar* sz) const;
21853
21854   int compare(size_t nStart, size_t nLen,
21855               const wxChar* sz, size_t nCount = npos) const;
21856
21857   size_type copy(wxChar* s, size_type n, size_type pos = 0);
21858
21859
21860   wxStringBase substr(size_t nStart = 0, size_t nLen = npos) const;
21861
21862
21863   wxStringBase& operator+=(const wxStringBase& s) { return append(s); }
21864
21865   wxStringBase& operator+=(const wxChar *psz) { return append(psz); }
21866
21867   wxStringBase& operator+=(wxChar ch) { return append(1, ch); }
21868 };
21869 # 657 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
21870 class wxString : public wxStringBase
21871 {
21872
21873 friend class wxArrayString;
21874
21875
21876
21877
21878
21879 private:
21880
21881
21882
21883
21884
21885
21886
21887   wxString& operator=(int);
21888
21889
21890
21891
21892
21893   wxString(int);
21894
21895 public:
21896
21897
21898   wxString() : wxStringBase() { }
21899
21900   wxString(const wxStringBase& stringSrc) : wxStringBase(stringSrc) { }
21901   wxString(const wxString& stringSrc) : wxStringBase(stringSrc) { }
21902
21903   wxString(wxChar ch, size_t nRepeat = 1)
21904       : wxStringBase(nRepeat, ch) { }
21905   wxString(size_t nRepeat, wxChar ch)
21906       : wxStringBase(nRepeat, ch) { }
21907
21908
21909   wxString(const wxChar *psz)
21910       : wxStringBase(psz ? psz : "") { }
21911   wxString(const wxChar *psz, size_t nLength)
21912       : wxStringBase(psz, nLength) { }
21913   wxString(const wxChar *psz, wxMBConv& , size_t nLength = npos)
21914       : wxStringBase(psz, nLength == npos ? wxStrlen(psz) : nLength) { }
21915 # 710 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
21916   wxString(const wxStdString& s)
21917       : wxStringBase(s.c_str()) { }
21918 # 721 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
21919   wxString(const unsigned char* psz, size_t nLength = npos)
21920       : wxStringBase((const char*)psz, nLength) { }
21921
21922
21923
21924   wxString(const wchar_t *pwz, wxMBConv& conv = wxConvLibc, size_t nLength = npos);
21925
21926
21927
21928   wxString(const wxCharBuffer& psz)
21929       : wxStringBase(psz) { }
21930
21931
21932
21933
21934   size_t Len() const { return length(); }
21935
21936   bool IsEmpty() const { return empty(); }
21937
21938   bool operator!() const { return IsEmpty(); }
21939
21940   wxString& Truncate(size_t uiLen);
21941
21942   void Empty()
21943   {
21944     Truncate(0);
21945
21946     ;
21947   }
21948
21949   void Clear()
21950   {
21951     wxString tmp(wxEmptyString);
21952     swap(tmp);
21953   }
21954
21955
21956
21957   bool IsAscii() const;
21958
21959   bool IsNumber() const;
21960
21961   bool IsWord() const;
21962
21963
21964
21965     wxChar GetChar(size_t n) const
21966       { return at(n); }
21967
21968     wxChar& GetWritableChar(size_t n)
21969       { return at(n); }
21970
21971     void SetChar(size_t n, wxChar ch)
21972       { at(n) = ch; }
21973
21974
21975     wxChar Last() const
21976       {
21977           ;
21978
21979           return at(length() - 1);
21980       }
21981
21982
21983     wxChar& Last()
21984       {
21985           ;
21986           return at(length() - 1);
21987       }
21988 # 813 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
21989     wxChar& operator[](int n)
21990       { return wxStringBase::at(n); }
21991     wxChar& operator[](size_type n)
21992       { return wxStringBase::at(n); }
21993
21994     wxChar& operator[](unsigned int n)
21995       { return wxStringBase::at(n); }
21996
21997
21998
21999     operator const wxChar*() const { return c_str(); }
22000
22001
22002     const wxChar* wx_str() const { return c_str(); }
22003
22004     const wxChar* GetData() const { return c_str(); }
22005 # 841 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
22006     static wxString FromAscii(const char *ascii) { return wxString( ascii ); }
22007     static wxString FromAscii(const char ascii) { return wxString( ascii ); }
22008     const char *ToAscii() const { return c_str(); }
22009 # 871 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
22010     const wxChar* mb_str() const { return c_str(); }
22011
22012
22013     const wxChar* mb_str(wxMBConv& ) const { return c_str(); }
22014
22015     const wxChar* mbc_str() const { return mb_str(); }
22016
22017
22018     const wxWCharBuffer wc_str(wxMBConv& conv) const;
22019
22020
22021
22022
22023     const wxChar* fn_str() const { return c_str(); }
22024
22025
22026
22027
22028
22029   wxString& operator=(const wxStringBase& stringSrc)
22030     { return (wxString&)wxStringBase::operator=(stringSrc); }
22031
22032   wxString& operator=(wxChar ch)
22033     { return (wxString&)wxStringBase::operator=(ch); }
22034
22035
22036
22037
22038
22039
22040   wxString& operator=(const wxChar *psz)
22041     { return (wxString&)wxStringBase::operator=(psz); }
22042 # 911 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
22043   wxString& operator=(const unsigned char* psz);
22044
22045
22046   wxString& operator=(const wchar_t *pwz);
22047
22048
22049   wxString& operator=(const wxCharBuffer& psz)
22050     { (void) operator=((const char *)psz); return *this; }
22051 # 929 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
22052   wxString& operator<<(const wxString& s)
22053   {
22054
22055     ;
22056
22057
22058
22059     append(s);
22060     return *this;
22061   }
22062
22063   wxString& operator<<(const wxChar *psz)
22064     { append(psz); return *this; }
22065
22066   wxString& operator<<(wxChar ch) { append(1, ch); return *this; }
22067 # 952 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
22068   wxString& operator<<(const wxCharBuffer& s)
22069     { (void)operator<<((const char *)s); return *this; }
22070   void operator+=(const wxCharBuffer& s)
22071     { (void)operator<<((const char *)s); }
22072
22073
22074
22075   wxString& Append(const wxString& s)
22076     {
22077
22078         if ( empty() )
22079             *this = s;
22080         else
22081             append(s);
22082         return *this;
22083     }
22084   wxString& Append(const wxChar* psz)
22085     { append(psz); return *this; }
22086
22087   wxString& Append(wxChar ch, size_t count = 1u)
22088     { append(count, ch); return *this; }
22089   wxString& Append(const wxChar* psz, size_t nLen)
22090     { append(psz, nLen); return *this; }
22091
22092
22093   wxString& Prepend(const wxString& str)
22094     { *this = str + *this; return *this; }
22095
22096
22097
22098   friend wxString operator+(const wxString& string1, const wxString& string2);
22099
22100   friend wxString operator+(const wxString& string, wxChar ch);
22101
22102   friend wxString operator+(wxChar ch, const wxString& string);
22103
22104   friend wxString operator+(const wxString& string, const wxChar *psz);
22105
22106   friend wxString operator+(const wxChar *psz, const wxString& string);
22107
22108
22109
22110   wxString& operator<<(int i)
22111     { return (*this) << Format("%d", i); }
22112
22113   wxString& operator<<(unsigned int ui)
22114     { return (*this) << Format("%u", ui); }
22115
22116   wxString& operator<<(long l)
22117     { return (*this) << Format("%ld", l); }
22118
22119   wxString& operator<<(unsigned long ul)
22120     { return (*this) << Format("%lu", ul); }
22121 # 1022 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
22122   wxString& operator<<(float f)
22123     { return (*this) << Format("%f", f); }
22124
22125   wxString& operator<<(double d)
22126     { return (*this) << Format("%g", d); }
22127
22128
22129
22130   int Cmp(const wxChar *psz) const;
22131   int Cmp(const wxString& s) const;
22132
22133   int CmpNoCase(const wxChar *psz) const;
22134   int CmpNoCase(const wxString& s) const;
22135
22136
22137   bool IsSameAs(const wxChar *psz, bool compareWithCase = true) const
22138     { return (compareWithCase ? Cmp(psz) : CmpNoCase(psz)) == 0; }
22139
22140   bool IsSameAs(wxChar c, bool compareWithCase = true) const
22141     {
22142       return (length() == 1) && (compareWithCase ? GetChar(0u) == c
22143                               : toupper(GetChar(0u)) == toupper(c));
22144     }
22145
22146
22147
22148
22149   wxString Mid(size_t nFirst, size_t nCount = npos) const;
22150
22151
22152   wxString operator()(size_t start, size_t len) const
22153     { return Mid(start, len); }
22154
22155
22156
22157
22158   bool StartsWith(const wxChar *prefix, wxString *rest = __null) const;
22159
22160
22161   wxString Left(size_t nCount) const;
22162
22163   wxString Right(size_t nCount) const;
22164
22165
22166   wxString BeforeFirst(wxChar ch) const;
22167
22168
22169   wxString BeforeLast(wxChar ch) const;
22170
22171
22172   wxString AfterFirst(wxChar ch) const;
22173
22174
22175   wxString AfterLast(wxChar ch) const;
22176
22177
22178   wxString Before(wxChar ch) const { return BeforeLast(ch); }
22179   wxString After(wxChar ch) const { return AfterFirst(ch); }
22180
22181
22182
22183   wxString& MakeUpper();
22184
22185
22186   wxString Upper() const ;
22187
22188   wxString& MakeLower();
22189
22190   wxString Lower() const ;
22191
22192
22193
22194   wxString& Trim(bool bFromRight = true);
22195
22196   wxString& Pad(size_t nCount, wxChar chPad = ' ', bool bFromRight = true);
22197
22198
22199
22200   int Find(wxChar ch, bool bFromEnd = false) const;
22201
22202   int Find(const wxChar *pszSub) const;
22203
22204
22205   size_t Replace(const wxChar *szOld,
22206                  const wxChar *szNew,
22207                  bool bReplaceAll = true);
22208
22209
22210   bool Matches(const wxChar *szMask) const;
22211
22212
22213
22214
22215
22216
22217
22218     bool ToLong(long *val, int base = 10) const;
22219
22220     bool ToULong(unsigned long *val, int base = 10) const;
22221
22222     bool ToDouble(double *val) const;
22223
22224
22225
22226
22227   int Printf(const wxChar *pszFormat, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
22228
22229   int PrintfV(const wxChar* pszFormat, va_list argptr);
22230
22231
22232   static wxString Format(const wxChar *pszFormat, ...) __attribute__ ((__format__ (__printf__, 1, 2)));
22233
22234   static wxString FormatV(const wxChar *pszFormat, va_list argptr);
22235
22236
22237
22238
22239   bool Alloc(size_t nLen) { reserve(nLen); return true; }
22240
22241
22242   bool Shrink();
22243
22244
22245
22246   wxChar *GetWriteBuf(size_t nLen);
22247
22248   void UngetWriteBuf();
22249   void UngetWriteBuf(size_t nLen);
22250
22251
22252
22253
22254
22255   wxString SubString(size_t from, size_t to) const
22256       { return Mid(from, (to - from + 1)); }
22257
22258   enum caseCompare {exact, ignoreCase};
22259
22260   enum stripType {leading = 0x1, trailing = 0x2, both = 0x3};
22261
22262
22263
22264   int sprintf(const wxChar *pszFormat, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
22265
22266
22267   inline int CompareTo(const wxChar* psz, caseCompare cmp = exact) const
22268     { return cmp == exact ? Cmp(psz) : CmpNoCase(psz); }
22269
22270
22271   size_t Length() const { return length(); }
22272
22273   int Freq(wxChar ch) const;
22274
22275   void LowerCase() { MakeLower(); }
22276
22277   void UpperCase() { MakeUpper(); }
22278
22279   wxString Strip(stripType w = trailing) const;
22280
22281
22282   size_t Index(const wxChar* psz) const { return Find(psz); }
22283   size_t Index(wxChar ch) const { return Find(ch); }
22284
22285   wxString& Remove(size_t pos) { return Truncate(pos); }
22286   wxString& RemoveLast(size_t n = 1) { return Truncate(length() - n); }
22287
22288   wxString& Remove(size_t nStart, size_t nLen)
22289       { return (wxString&)erase( nStart, nLen ); }
22290
22291
22292   int First( const wxChar ch ) const { return Find(ch); }
22293   int First( const wxChar* psz ) const { return Find(psz); }
22294   int First( const wxString &str ) const { return Find(str); }
22295   int Last( const wxChar ch ) const { return Find(ch, true); }
22296   bool Contains(const wxString& str) const { return Find(str) != (-1); }
22297
22298
22299   bool IsNull() const { return empty(); }
22300
22301
22302
22303
22304   wxString(const wxString& str, size_t nPos, size_t nLen)
22305       : wxStringBase(str, nPos, nLen) { }
22306
22307   wxString(const void *pStart, const void *pEnd)
22308       : wxStringBase((const wxChar*)pStart, (const wxChar*)pEnd) { }
22309
22310
22311
22312
22313
22314
22315
22316   wxString& append(const wxString& str, size_t pos, size_t n)
22317     { return (wxString&)wxStringBase::append(str, pos, n); }
22318
22319   wxString& append(const wxString& str)
22320     { return (wxString&)wxStringBase::append(str); }
22321
22322   wxString& append(const wxChar *sz)
22323     { return (wxString&)wxStringBase::append(sz); }
22324   wxString& append(const wxChar *sz, size_t n)
22325     { return (wxString&)wxStringBase::append(sz, n); }
22326
22327   wxString& append(size_t n, wxChar ch)
22328     { return (wxString&)wxStringBase::append(n, ch); }
22329
22330   wxString& append(const_iterator first, const_iterator last)
22331     { return (wxString&)wxStringBase::append(first, last); }
22332
22333
22334   wxString& assign(const wxString& str)
22335     { return (wxString&)wxStringBase::assign(str); }
22336
22337   wxString& assign(const wxString& str, size_t pos, size_t n)
22338     { return (wxString&)wxStringBase::assign(str, pos, n); }
22339
22340   wxString& assign(const wxChar *sz)
22341     { return (wxString&)wxStringBase::assign(sz); }
22342   wxString& assign(const wxChar *sz, size_t n)
22343     { return (wxString&)wxStringBase::assign(sz, n); }
22344
22345   wxString& assign(size_t n, wxChar ch)
22346     { return (wxString&)wxStringBase::assign(n, ch); }
22347
22348   wxString& assign(const_iterator first, const_iterator last)
22349     { return (wxString&)wxStringBase::assign(first, last); }
22350 # 1267 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
22351   wxString& insert(size_t nPos, const wxString& str)
22352     { return (wxString&)wxStringBase::insert(nPos, str); }
22353
22354   wxString& insert(size_t nPos, const wxString& str, size_t nStart, size_t n)
22355     { return (wxString&)wxStringBase::insert(nPos, str, nStart, n); }
22356
22357   wxString& insert(size_t nPos, const wxChar *sz)
22358     { return (wxString&)wxStringBase::insert(nPos, sz); }
22359   wxString& insert(size_t nPos, const wxChar *sz, size_t n)
22360     { return (wxString&)wxStringBase::insert(nPos, sz, n); }
22361
22362   wxString& insert(size_t nPos, size_t n, wxChar ch)
22363     { return (wxString&)wxStringBase::insert(nPos, n, ch); }
22364   iterator insert(iterator it, wxChar ch)
22365     { return wxStringBase::insert(it, ch); }
22366   void insert(iterator it, const_iterator first, const_iterator last)
22367     { wxStringBase::insert(it, first, last); }
22368   void insert(iterator it, size_type n, wxChar ch)
22369     { wxStringBase::insert(it, n, ch); }
22370
22371
22372   wxString& erase(size_type pos = 0, size_type n = npos)
22373     { return (wxString&)wxStringBase::erase(pos, n); }
22374   iterator erase(iterator first, iterator last)
22375     { return wxStringBase::erase(first, last); }
22376   iterator erase(iterator first)
22377     { return wxStringBase::erase(first); }
22378
22379
22380
22381
22382
22383
22384   wxString& replace(size_t nStart, size_t nLen, const wxChar* sz)
22385     { return (wxString&)wxStringBase::replace(nStart, nLen, sz); }
22386
22387   wxString& replace(size_t nStart, size_t nLen, const wxString& str)
22388     { return (wxString&)wxStringBase::replace(nStart, nLen, str); }
22389
22390   wxString& replace(size_t nStart, size_t nLen, size_t nCount, wxChar ch)
22391     { return (wxString&)wxStringBase::replace(nStart, nLen, nCount, ch); }
22392
22393   wxString& replace(size_t nStart, size_t nLen,
22394                     const wxString& str, size_t nStart2, size_t nLen2)
22395     { return (wxString&)wxStringBase::replace(nStart, nLen, str,
22396                                               nStart2, nLen2); }
22397
22398   wxString& replace(size_t nStart, size_t nLen,
22399                     const wxChar* sz, size_t nCount)
22400     { return (wxString&)wxStringBase::replace(nStart, nLen, sz, nCount); }
22401   wxString& replace(iterator first, iterator last, const_pointer s)
22402     { return (wxString&)wxStringBase::replace(first, last, s); }
22403   wxString& replace(iterator first, iterator last, const_pointer s,
22404                     size_type n)
22405     { return (wxString&)wxStringBase::replace(first, last, s, n); }
22406   wxString& replace(iterator first, iterator last, const wxString& s)
22407     { return (wxString&)wxStringBase::replace(first, last, s); }
22408   wxString& replace(iterator first, iterator last, size_type n, wxChar c)
22409     { return (wxString&)wxStringBase::replace(first, last, n, c); }
22410   wxString& replace(iterator first, iterator last,
22411                     const_iterator first1, const_iterator last1)
22412     { return (wxString&)wxStringBase::replace(first, last, first1, last1); }
22413
22414
22415   wxString& operator+=(const wxString& s)
22416     { return (wxString&)wxStringBase::operator+=(s); }
22417
22418   wxString& operator+=(const wxChar *psz)
22419     { return (wxString&)wxStringBase::operator+=(psz); }
22420
22421   wxString& operator+=(wxChar ch)
22422     { return (wxString&)wxStringBase::operator+=(ch); }
22423 };
22424
22425
22426
22427
22428
22429 wxString operator+(const wxString& string1, const wxString& string2);
22430 wxString operator+(const wxString& string, wxChar ch);
22431 wxString operator+(wxChar ch, const wxString& string);
22432 wxString operator+(const wxString& string, const wxChar *psz);
22433 wxString operator+(const wxChar *psz, const wxString& string);
22434
22435
22436
22437 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/arrstr.h" 1
22438 # 16 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/arrstr.h"
22439 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h" 1
22440 # 17 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/arrstr.h" 2
22441
22442  int wxStringSortAscending(wxString*, wxString*);
22443  int wxStringSortDescending(wxString*, wxString*);
22444 # 98 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/arrstr.h"
22445 class wxArrayString
22446 {
22447 public:
22448
22449   typedef int ( *CompareFunction)(const wxString& first,
22450                                  const wxString& second);
22451
22452
22453   typedef int ( *CompareFunction2)(wxString* first,
22454                                   wxString* second);
22455
22456
22457
22458   wxArrayString() { Init(false); }
22459 # 120 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/arrstr.h"
22460   wxArrayString(int autoSort) { Init(autoSort != 0); }
22461
22462   wxArrayString(size_t sz, const wxChar** a);
22463
22464   wxArrayString(size_t sz, const wxString* a);
22465
22466   wxArrayString(const wxArrayString& array);
22467
22468   wxArrayString& operator=(const wxArrayString& src);
22469
22470  ~wxArrayString();
22471
22472
22473
22474   void Empty();
22475
22476   void Clear();
22477
22478   void Alloc(size_t nCount);
22479
22480   void Shrink();
22481
22482
22483
22484   size_t GetCount() const { return m_nCount; }
22485
22486   bool IsEmpty() const { return m_nCount == 0; }
22487
22488   size_t Count() const { return m_nCount; }
22489
22490
22491
22492   wxString& Item(size_t nIndex) const
22493     {
22494         ;
22495
22496
22497         return *(wxString *)&(m_pItems[nIndex]);
22498     }
22499
22500
22501   wxString& operator[](size_t nIndex) const { return Item(nIndex); }
22502
22503   wxString& Last() const
22504   {
22505       ;
22506
22507       return Item(Count() - 1);
22508   }
22509
22510
22511
22512
22513
22514
22515   wxString* GetStringArray() const __attribute__ ((deprecated));
22516
22517
22518
22519
22520
22521
22522
22523   int Index (const wxChar *sz, bool bCase = true, bool bFromEnd = false) const;
22524
22525
22526   size_t Add(const wxString& str, size_t nInsert = 1);
22527
22528   void Insert(const wxString& str, size_t uiIndex, size_t nInsert = 1);
22529
22530   void SetCount(size_t count);
22531
22532   void Remove(const wxChar *sz);
22533
22534
22535   void Remove(size_t nIndex, size_t nRemove = 1) __attribute__ ((deprecated));
22536
22537   void RemoveAt(size_t nIndex, size_t nRemove = 1);
22538
22539
22540
22541
22542   void Sort(bool reverseOrder = false);
22543
22544   void Sort(CompareFunction compareFunction);
22545   void Sort(CompareFunction2 compareFunction);
22546
22547
22548
22549   bool operator==(const wxArrayString& a) const;
22550
22551   bool operator!=(const wxArrayString& a) const { return !(*this == a); }
22552
22553
22554   typedef wxString value_type;
22555   typedef value_type* pointer;
22556   typedef const value_type* const_pointer;
22557   typedef value_type* iterator;
22558   typedef const value_type* const_iterator;
22559   typedef value_type& reference;
22560   typedef const value_type& const_reference;
22561   typedef int difference_type;
22562   typedef size_t size_type;
22563
22564
22565   class reverse_iterator
22566   {
22567     typedef wxString value_type;
22568     typedef value_type* pointer;
22569     typedef value_type& reference;
22570     typedef reverse_iterator itor;
22571     friend itor operator+(int o, const itor& it);
22572     friend itor operator+(const itor& it, int o);
22573     friend itor operator-(const itor& it, int o);
22574     friend difference_type operator -(const itor& i1, const itor& i2);
22575   public:
22576     pointer m_ptr;
22577     reverse_iterator() : m_ptr(__null) { }
22578     reverse_iterator(pointer ptr) : m_ptr(ptr) { }
22579     reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { }
22580     reference operator*() const { return *m_ptr; }
22581     pointer operator->() const { return m_ptr; }
22582     itor& operator++() { --m_ptr; return *this; }
22583     const itor operator++(int)
22584       { reverse_iterator tmp = *this; --m_ptr; return tmp; }
22585     itor& operator--() { ++m_ptr; return *this; }
22586     const itor operator--(int) { itor tmp = *this; ++m_ptr; return tmp; }
22587     bool operator ==(const itor& it) const { return m_ptr == it.m_ptr; }
22588     bool operator !=(const itor& it) const { return m_ptr != it.m_ptr; }
22589   };
22590
22591   class const_reverse_iterator
22592   {
22593     typedef wxString value_type;
22594     typedef const value_type* pointer;
22595     typedef const value_type& reference;
22596     typedef const_reverse_iterator itor;
22597     friend itor operator+(int o, const itor& it);
22598     friend itor operator+(const itor& it, int o);
22599     friend itor operator-(const itor& it, int o);
22600     friend difference_type operator -(const itor& i1, const itor& i2);
22601   public:
22602     pointer m_ptr;
22603     const_reverse_iterator() : m_ptr(__null) { }
22604     const_reverse_iterator(pointer ptr) : m_ptr(ptr) { }
22605     const_reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { }
22606     const_reverse_iterator(const reverse_iterator& it) : m_ptr(it.m_ptr) { }
22607     reference operator*() const { return *m_ptr; }
22608     pointer operator->() const { return m_ptr; }
22609     itor& operator++() { --m_ptr; return *this; }
22610     const itor operator++(int)
22611       { itor tmp = *this; --m_ptr; return tmp; }
22612     itor& operator--() { ++m_ptr; return *this; }
22613     const itor operator--(int) { itor tmp = *this; ++m_ptr; return tmp; }
22614     bool operator ==(const itor& it) const { return m_ptr == it.m_ptr; }
22615     bool operator !=(const itor& it) const { return m_ptr != it.m_ptr; }
22616   };
22617
22618   wxArrayString(const_iterator first, const_iterator last)
22619     { Init(false); assign(first, last); }
22620   wxArrayString(size_type n, const_reference v) { Init(false); assign(n, v); }
22621   void assign(const_iterator first, const_iterator last);
22622   void assign(size_type n, const_reference v)
22623     { clear(); Add(v, n); }
22624   reference back() { return *(end() - 1); }
22625   const_reference back() const { return *(end() - 1); }
22626   iterator begin() { return (wxString *)&(m_pItems[0]); }
22627   const_iterator begin() const { return (wxString *)&(m_pItems[0]); }
22628   size_type capacity() const { return m_nSize; }
22629   void clear() { Clear(); }
22630   bool empty() const { return IsEmpty(); }
22631   iterator end() { return begin() + GetCount(); }
22632   const_iterator end() const { return begin() + GetCount(); }
22633   iterator erase(iterator first, iterator last)
22634   {
22635       size_t idx = first - begin();
22636       RemoveAt(idx, last - first);
22637       return begin() + idx;
22638   }
22639   iterator erase(iterator it) { return erase(it, it + 1); }
22640   reference front() { return *begin(); }
22641   const_reference front() const { return *begin(); }
22642   void insert(iterator it, size_type n, const_reference v)
22643     { Insert(v, it - begin(), n); }
22644   iterator insert(iterator it, const_reference v = value_type())
22645     { size_t idx = it - begin(); Insert(v, idx); return begin() + idx; }
22646   void insert(iterator it, const_iterator first, const_iterator last);
22647   size_type max_size() const { return 2147483647; }
22648   void pop_back() { RemoveAt(GetCount() - 1); }
22649   void push_back(const_reference v) { Add(v); }
22650   reverse_iterator rbegin() { return reverse_iterator(end() - 1); }
22651   const_reverse_iterator rbegin() const;
22652   reverse_iterator rend() { return reverse_iterator(begin() - 1); }
22653   const_reverse_iterator rend() const;
22654   void reserve(size_type n) ;
22655   void resize(size_type n, value_type v = value_type());
22656   size_type size() const { return GetCount(); }
22657
22658 protected:
22659   void Init(bool autoSort);
22660   void Copy(const wxArrayString& src);
22661
22662 private:
22663   void Grow(size_t nIncrement = 0);
22664   void Free();
22665
22666   void DoSort();
22667
22668   size_t m_nSize,
22669           m_nCount;
22670
22671   wxChar **m_pItems;
22672
22673   bool m_autoSort;
22674 };
22675
22676 class wxSortedArrayString : public wxArrayString
22677 {
22678 public:
22679   wxSortedArrayString() : wxArrayString(true)
22680     { }
22681   wxSortedArrayString(const wxArrayString& array) : wxArrayString(true)
22682     { Copy(array); }
22683 };
22684
22685
22686
22687
22688
22689 class wxCArrayString
22690 {
22691 public:
22692     wxCArrayString( const wxArrayString& array )
22693         : m_array( array ), m_strings( __null )
22694     { }
22695     ~wxCArrayString() { delete[] m_strings; }
22696
22697     size_t GetCount() const { return m_array.GetCount(); }
22698     wxString* GetStrings()
22699     {
22700         if( m_strings ) return m_strings;
22701         size_t count = m_array.GetCount();
22702         m_strings = new wxString[count];
22703         for( size_t i = 0; i < count; ++i )
22704             m_strings[i] = m_array[i];
22705         return m_strings;
22706     }
22707 private:
22708     const wxArrayString& m_array;
22709     wxString* m_strings;
22710 };
22711 # 1354 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h" 2
22712
22713
22714
22715
22716
22717
22718
22719     inline const wxString& wxGetEmptyString()
22720     {
22721         return *(wxString *)&wxEmptyString;
22722     }
22723 # 1426 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
22724 class wxStringBuffer
22725 {
22726 public:
22727     wxStringBuffer(wxString& str, size_t lenWanted = 1024)
22728         : m_str(str), m_buf(__null)
22729         { m_buf = m_str.GetWriteBuf(lenWanted); }
22730
22731     ~wxStringBuffer() { m_str.UngetWriteBuf(); }
22732
22733     operator wxChar*() const { return m_buf; }
22734
22735 private:
22736     wxString& m_str;
22737     wxChar *m_buf;
22738
22739     private: wxStringBuffer(const wxStringBuffer&); wxStringBuffer& operator=(const wxStringBuffer&);
22740 };
22741
22742 class wxStringBufferLength
22743 {
22744 public:
22745     wxStringBufferLength(wxString& str, size_t lenWanted = 1024)
22746         : m_str(str), m_buf(__null), m_len(0), m_lenSet(false)
22747     {
22748         m_buf = m_str.GetWriteBuf(lenWanted);
22749         ;
22750     }
22751
22752     ~wxStringBufferLength()
22753     {
22754         ;
22755         m_str.UngetWriteBuf(m_len);
22756     }
22757
22758     operator wxChar*() const { return m_buf; }
22759     void SetLength(size_t length) { m_len = length; m_lenSet = true; }
22760
22761 private:
22762     wxString& m_str;
22763     wxChar *m_buf;
22764     size_t m_len;
22765     bool m_lenSet;
22766
22767     private: wxStringBufferLength(const wxStringBufferLength&); wxStringBufferLength& operator=(const wxStringBufferLength&);
22768 };
22769 # 1483 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
22770 inline bool operator==(const wxString& s1, const wxString& s2)
22771     { return (s1.Len() == s2.Len()) && (s1.Cmp(s2) == 0); }
22772 inline bool operator==(const wxString& s1, const wxChar * s2)
22773     { return s1.Cmp(s2) == 0; }
22774 inline bool operator==(const wxChar * s1, const wxString& s2)
22775     { return s2.Cmp(s1) == 0; }
22776 inline bool operator!=(const wxString& s1, const wxString& s2)
22777     { return (s1.Len() != s2.Len()) || (s1.Cmp(s2) != 0); }
22778 inline bool operator!=(const wxString& s1, const wxChar * s2)
22779     { return s1.Cmp(s2) != 0; }
22780 inline bool operator!=(const wxChar * s1, const wxString& s2)
22781     { return s2.Cmp(s1) != 0; }
22782 inline bool operator< (const wxString& s1, const wxString& s2)
22783     { return s1.Cmp(s2) < 0; }
22784 inline bool operator< (const wxString& s1, const wxChar * s2)
22785     { return s1.Cmp(s2) < 0; }
22786 inline bool operator< (const wxChar * s1, const wxString& s2)
22787     { return s2.Cmp(s1) > 0; }
22788 inline bool operator> (const wxString& s1, const wxString& s2)
22789     { return s1.Cmp(s2) > 0; }
22790 inline bool operator> (const wxString& s1, const wxChar * s2)
22791     { return s1.Cmp(s2) > 0; }
22792 inline bool operator> (const wxChar * s1, const wxString& s2)
22793     { return s2.Cmp(s1) < 0; }
22794 inline bool operator<=(const wxString& s1, const wxString& s2)
22795     { return s1.Cmp(s2) <= 0; }
22796 inline bool operator<=(const wxString& s1, const wxChar * s2)
22797     { return s1.Cmp(s2) <= 0; }
22798 inline bool operator<=(const wxChar * s1, const wxString& s2)
22799     { return s2.Cmp(s1) >= 0; }
22800 inline bool operator>=(const wxString& s1, const wxString& s2)
22801     { return s1.Cmp(s2) >= 0; }
22802 inline bool operator>=(const wxString& s1, const wxChar * s2)
22803     { return s1.Cmp(s2) >= 0; }
22804 inline bool operator>=(const wxChar * s1, const wxString& s2)
22805     { return s2.Cmp(s1) <= 0; }
22806 # 1530 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
22807 inline bool operator==(const wxString& s1, const wxCharBuffer& s2)
22808     { return (s1.Cmp((const char *)s2) == 0); }
22809 inline bool operator==(const wxCharBuffer& s1, const wxString& s2)
22810     { return (s2.Cmp((const char *)s1) == 0); }
22811 inline bool operator!=(const wxString& s1, const wxCharBuffer& s2)
22812     { return (s1.Cmp((const char *)s2) != 0); }
22813 inline bool operator!=(const wxCharBuffer& s1, const wxString& s2)
22814     { return (s2.Cmp((const char *)s1) != 0); }
22815 # 1546 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
22816 inline wxString operator+(const wxString& string, const wxCharBuffer& buf)
22817     { return string + (const char *)buf; }
22818 inline wxString operator+(const wxCharBuffer& buf, const wxString& string)
22819     { return (const char *)buf + string; }
22820
22821
22822
22823
22824
22825
22826 inline bool operator==(wxChar c, const wxString& s) { return s.IsSameAs(c); }
22827 inline bool operator==(const wxString& s, wxChar c) { return s.IsSameAs(c); }
22828 inline bool operator!=(wxChar c, const wxString& s) { return !s.IsSameAs(c); }
22829 inline bool operator!=(const wxString& s, wxChar c) { return !s.IsSameAs(c); }
22830 # 1570 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h"
22831 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/iosfwrap.h" 1
22832 # 1571 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h" 2
22833
22834  std:: istream& operator>>(std:: istream&, wxString&);
22835  std:: ostream& operator<<(std:: ostream&, const wxString&);
22836 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/memory.h" 2
22837 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/msgout.h" 1
22838 # 38 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/msgout.h"
22839 class wxMessageOutput
22840 {
22841 public:
22842     virtual ~wxMessageOutput() { }
22843
22844
22845     virtual void Printf(const wxChar* format, ...) __attribute__ ((__format__ (__printf__, 2, 3))) = 0;
22846
22847
22848
22849     static wxMessageOutput* Get();
22850
22851
22852     static wxMessageOutput* Set(wxMessageOutput* msgout);
22853
22854 private:
22855     static wxMessageOutput* ms_msgOut;
22856 };
22857 # 65 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/msgout.h"
22858 class wxMessageOutputBest : public wxMessageOutput
22859 {
22860 public:
22861     wxMessageOutputBest() { }
22862
22863     virtual void Printf(const wxChar* format, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
22864 };
22865
22866
22867
22868
22869
22870
22871
22872 class wxMessageOutputStderr : public wxMessageOutput
22873 {
22874 public:
22875     wxMessageOutputStderr() { }
22876
22877     virtual void Printf(const wxChar* format, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
22878 };
22879
22880
22881
22882
22883
22884
22885
22886 class wxMessageOutputMessageBox : public wxMessageOutput
22887 {
22888 public:
22889     wxMessageOutputMessageBox() { }
22890
22891     virtual void Printf(const wxChar* format, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
22892 };
22893
22894
22895
22896
22897
22898
22899
22900 class wxMessageOutputDebug : public wxMessageOutput
22901 {
22902 public:
22903     wxMessageOutputDebug() { }
22904
22905     virtual void Printf(const wxChar* format, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
22906 };
22907
22908
22909
22910
22911
22912 class wxMessageOutputLog : public wxMessageOutput
22913 {
22914 public:
22915     wxMessageOutputLog() { }
22916
22917     virtual void Printf(const wxChar* format, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
22918 };
22919 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/memory.h" 2
22920 # 26 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/object.h" 2
22921
22922 class wxObject;
22923 # 50 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/object.h"
22924 class wxClassInfo;
22925 class wxHashTable;
22926 class wxObjectRefData;
22927
22928
22929
22930
22931
22932 typedef wxObject *(*wxObjectConstructorFn)(void);
22933
22934 class wxClassInfo
22935 {
22936 public:
22937     wxClassInfo( const wxChar *className,
22938                  const wxClassInfo *baseInfo1,
22939                  const wxClassInfo *baseInfo2,
22940                  int size,
22941                  wxObjectConstructorFn ctor )
22942         : m_className(className)
22943         , m_objectSize(size)
22944         , m_objectConstructor(ctor)
22945         , m_baseInfo1(baseInfo1)
22946         , m_baseInfo2(baseInfo2)
22947         , m_next(sm_first)
22948         {
22949             sm_first = this;
22950             Register();
22951         }
22952
22953     ~wxClassInfo();
22954
22955     wxObject *CreateObject() { return m_objectConstructor ? (*m_objectConstructor)() : 0; }
22956
22957     const wxChar *GetClassName() const { return m_className; }
22958     const wxChar *GetBaseClassName1() const
22959         { return m_baseInfo1 ? m_baseInfo1->GetClassName() : __null; }
22960     const wxChar *GetBaseClassName2() const
22961         { return m_baseInfo2 ? m_baseInfo2->GetClassName() : __null; }
22962     const wxClassInfo *GetBaseClass1() const { return m_baseInfo1; }
22963     const wxClassInfo *GetBaseClass2() const { return m_baseInfo2; }
22964     int GetSize() const { return m_objectSize; }
22965
22966     wxObjectConstructorFn GetConstructor() const { return m_objectConstructor; }
22967     static const wxClassInfo *GetFirst() { return sm_first; }
22968     const wxClassInfo *GetNext() const { return m_next; }
22969     static wxClassInfo *FindClass(const wxChar *className);
22970
22971
22972
22973
22974     bool IsKindOf(const wxClassInfo *info) const
22975     {
22976         return info != 0 &&
22977                ( info == this ||
22978                  ( m_baseInfo1 && m_baseInfo1->IsKindOf(info) ) ||
22979                  ( m_baseInfo2 && m_baseInfo2->IsKindOf(info) ) );
22980     }
22981
22982
22983
22984     static void InitializeClasses() __attribute__ ((deprecated));
22985
22986     static void CleanUpClasses() __attribute__ ((deprecated));
22987
22988     static void CleanUp();
22989
22990 public:
22991     const wxChar *m_className;
22992     int m_objectSize;
22993     wxObjectConstructorFn m_objectConstructor;
22994
22995
22996
22997     const wxClassInfo *m_baseInfo1;
22998     const wxClassInfo *m_baseInfo2;
22999
23000
23001
23002
23003     static wxClassInfo *sm_first;
23004     wxClassInfo *m_next;
23005
23006
23007
23008     static wxHashTable *sm_classTable;
23009
23010 private:
23011
23012     static wxClassInfo *GetBaseByName(const wxChar *name);
23013
23014     private: wxClassInfo(const wxClassInfo&); wxClassInfo& operator=(const wxClassInfo&);
23015
23016 protected:
23017
23018     void Register();
23019     void Unregister();
23020 };
23021
23022  wxObject *wxCreateDynamicObject(const wxChar *name);
23023
23024
23025 inline void wxClassInfo::InitializeClasses() {}
23026 inline void wxClassInfo::CleanUpClasses() {}
23027 # 400 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/object.h"
23028 class wxObject
23029 {
23030     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const;
23031
23032 private:
23033     void InitFrom(const wxObject& other);
23034
23035 public:
23036     wxObject() { m_refData = __null; }
23037     virtual ~wxObject() { UnRef(); }
23038
23039     wxObject(const wxObject& other)
23040     {
23041         InitFrom(other);
23042     }
23043
23044     wxObject& operator=(const wxObject& other)
23045     {
23046         if ( this != &other )
23047         {
23048             UnRef();
23049             InitFrom(other);
23050         }
23051         return *this;
23052     }
23053
23054     bool IsKindOf(wxClassInfo *info) const;
23055 # 462 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/object.h"
23056     wxObjectRefData *GetRefData() const { return m_refData; }
23057     void SetRefData(wxObjectRefData *data) { m_refData = data; }
23058
23059
23060     void Ref(const wxObject& clone);
23061
23062
23063     void UnRef();
23064
23065
23066
23067
23068     virtual void ReservedObjectFunc1() {}
23069     virtual void ReservedObjectFunc2() {}
23070     virtual void ReservedObjectFunc3() {}
23071     virtual void ReservedObjectFunc4() {}
23072     virtual void ReservedObjectFunc5() {}
23073     virtual void ReservedObjectFunc6() {}
23074     virtual void ReservedObjectFunc7() {}
23075     virtual void ReservedObjectFunc8() {}
23076     virtual void ReservedObjectFunc9() {}
23077
23078
23079 protected:
23080
23081
23082
23083     void AllocExclusive();
23084
23085
23086
23087
23088
23089     virtual wxObjectRefData *CreateRefData() const;
23090
23091
23092     virtual wxObjectRefData *CloneRefData(const wxObjectRefData *data) const;
23093
23094     wxObjectRefData *m_refData;
23095 };
23096
23097
23098
23099
23100
23101 class wxObjectRefData
23102 {
23103     friend class wxObject;
23104
23105 public:
23106     wxObjectRefData() : m_count(1) { }
23107     virtual ~wxObjectRefData() { }
23108
23109     int GetRefCount() const { return m_count; }
23110
23111 private:
23112     int m_count;
23113 };
23114
23115
23116 inline wxObject *wxCheckDynamicCast(wxObject *obj, wxClassInfo *classInfo)
23117 {
23118     return obj && obj->GetClassInfo()->IsKindOf(classInfo) ? obj : __null;
23119 }
23120 # 17 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
23121 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dynarray.h" 1
23122 # 72 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dynarray.h"
23123 extern "C"
23124 {
23125 typedef int ( *CMPFUNC)(const void* pItem1, const void* pItem2);
23126 }
23127 # 809 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dynarray.h"
23128 typedef const void * _wxArraywxBaseArrayPtrVoid; class wxBaseArrayPtrVoid { typedef CMPFUNC SCMPFUNC; public: wxBaseArrayPtrVoid(); wxBaseArrayPtrVoid(const wxBaseArrayPtrVoid& array); wxBaseArrayPtrVoid& operator=(const wxBaseArrayPtrVoid& src); ~wxBaseArrayPtrVoid(); void Empty() { m_nCount = 0; } void Clear(); void Alloc(size_t uiSize); void Shrink(); size_t GetCount() const { return m_nCount; } void SetCount(size_t n, _wxArraywxBaseArrayPtrVoid defval = _wxArraywxBaseArrayPtrVoid()); bool IsEmpty() const { return m_nCount == 0; } size_t Count() const { return m_nCount; } typedef _wxArraywxBaseArrayPtrVoid base_type; protected: _wxArraywxBaseArrayPtrVoid& Item(size_t uiIndex) const { ; return m_pItems[uiIndex]; } _wxArraywxBaseArrayPtrVoid& operator[](size_t uiIndex) const { return Item(uiIndex); } int Index(_wxArraywxBaseArrayPtrVoid lItem, bool bFromEnd = false) const; int Index(_wxArraywxBaseArrayPtrVoid lItem, CMPFUNC fnCompare) const; size_t IndexForInsert(_wxArraywxBaseArrayPtrVoid lItem, CMPFUNC fnCompare) const; void Add(_wxArraywxBaseArrayPtrVoid lItem, size_t nInsert = 1); size_t Add(_wxArraywxBaseArrayPtrVoid lItem, CMPFUNC fnCompare); void Insert(_wxArraywxBaseArrayPtrVoid lItem, size_t uiIndex, size_t nInsert = 1); void Remove(_wxArraywxBaseArrayPtrVoid lItem); void RemoveAt(size_t uiIndex, size_t nRemove = 1); void Sort(CMPFUNC fnCompare); typedef _wxArraywxBaseArrayPtrVoid value_type; typedef value_type* iterator; typedef const value_type* const_iterator; typedef value_type& reference; typedef const value_type& const_reference; typedef int difference_type; typedef size_t size_type; void assign(const_iterator first, const_iterator last); void assign(size_type n, const_reference v); size_type capacity() const { return m_nSize; } iterator erase(iterator first, iterator last) { size_type idx = first - begin(); RemoveAt(idx, last - first); return begin() + idx; } iterator erase(iterator it) { return erase(it, it + 1); } void insert(iterator it, size_type n, const value_type& v) { Insert(v, it - begin(), n); } iterator insert(iterator it, const value_type& v = value_type()) { size_type idx = it - begin(); Insert(v, idx); return begin() + idx; } void insert(iterator it, const_iterator first, const_iterator last); void pop_back() { RemoveAt(size() - 1); } void push_back(const value_type& v) { Add(v); } void reserve(size_type n) { if(n > m_nSize) Realloc(n); } void resize(size_type n, value_type v = value_type()); iterator begin() { return m_pItems; } iterator end() { return m_pItems + m_nCount; } const_iterator begin() const { return m_pItems; } const_iterator end() const { return m_pItems + m_nCount; } public: void clear() { Clear(); } bool empty() const { return IsEmpty(); } size_type max_size() const { return 2147483647; } size_type size() const { return GetCount(); } private: void Grow(size_t nIncrement = 0); bool Realloc(size_t nSize); size_t m_nSize, m_nCount; _wxArraywxBaseArrayPtrVoid *m_pItems; };
23129
23130 typedef short _wxArraywxBaseArrayShort; class wxBaseArrayShort { typedef CMPFUNC SCMPFUNC; public: wxBaseArrayShort(); wxBaseArrayShort(const wxBaseArrayShort& array); wxBaseArrayShort& operator=(const wxBaseArrayShort& src); ~wxBaseArrayShort(); void Empty() { m_nCount = 0; } void Clear(); void Alloc(size_t uiSize); void Shrink(); size_t GetCount() const { return m_nCount; } void SetCount(size_t n, _wxArraywxBaseArrayShort defval = _wxArraywxBaseArrayShort()); bool IsEmpty() const { return m_nCount == 0; } size_t Count() const { return m_nCount; } typedef _wxArraywxBaseArrayShort base_type; protected: _wxArraywxBaseArrayShort& Item(size_t uiIndex) const { ; return m_pItems[uiIndex]; } _wxArraywxBaseArrayShort& operator[](size_t uiIndex) const { return Item(uiIndex); } int Index(_wxArraywxBaseArrayShort lItem, bool bFromEnd = false) const; int Index(_wxArraywxBaseArrayShort lItem, CMPFUNC fnCompare) const; size_t IndexForInsert(_wxArraywxBaseArrayShort lItem, CMPFUNC fnCompare) const; void Add(_wxArraywxBaseArrayShort lItem, size_t nInsert = 1); size_t Add(_wxArraywxBaseArrayShort lItem, CMPFUNC fnCompare); void Insert(_wxArraywxBaseArrayShort lItem, size_t uiIndex, size_t nInsert = 1); void Remove(_wxArraywxBaseArrayShort lItem); void RemoveAt(size_t uiIndex, size_t nRemove = 1); void Sort(CMPFUNC fnCompare); typedef _wxArraywxBaseArrayShort value_type; typedef value_type* iterator; typedef const value_type* const_iterator; typedef value_type& reference; typedef const value_type& const_reference; typedef int difference_type; typedef size_t size_type; void assign(const_iterator first, const_iterator last); void assign(size_type n, const_reference v); size_type capacity() const { return m_nSize; } iterator erase(iterator first, iterator last) { size_type idx = first - begin(); RemoveAt(idx, last - first); return begin() + idx; } iterator erase(iterator it) { return erase(it, it + 1); } void insert(iterator it, size_type n, const value_type& v) { Insert(v, it - begin(), n); } iterator insert(iterator it, const value_type& v = value_type()) { size_type idx = it - begin(); Insert(v, idx); return begin() + idx; } void insert(iterator it, const_iterator first, const_iterator last); void pop_back() { RemoveAt(size() - 1); } void push_back(const value_type& v) { Add(v); } void reserve(size_type n) { if(n > m_nSize) Realloc(n); } void resize(size_type n, value_type v = value_type()); iterator begin() { return m_pItems; } iterator end() { return m_pItems + m_nCount; } const_iterator begin() const { return m_pItems; } const_iterator end() const { return m_pItems + m_nCount; } public: void clear() { Clear(); } bool empty() const { return IsEmpty(); } size_type max_size() const { return 2147483647; } size_type size() const { return GetCount(); } private: void Grow(size_t nIncrement = 0); bool Realloc(size_t nSize); size_t m_nSize, m_nCount; _wxArraywxBaseArrayShort *m_pItems; };
23131 typedef int _wxArraywxBaseArrayInt; class wxBaseArrayInt { typedef CMPFUNC SCMPFUNC; public: wxBaseArrayInt(); wxBaseArrayInt(const wxBaseArrayInt& array); wxBaseArrayInt& operator=(const wxBaseArrayInt& src); ~wxBaseArrayInt(); void Empty() { m_nCount = 0; } void Clear(); void Alloc(size_t uiSize); void Shrink(); size_t GetCount() const { return m_nCount; } void SetCount(size_t n, _wxArraywxBaseArrayInt defval = _wxArraywxBaseArrayInt()); bool IsEmpty() const { return m_nCount == 0; } size_t Count() const { return m_nCount; } typedef _wxArraywxBaseArrayInt base_type; protected: _wxArraywxBaseArrayInt& Item(size_t uiIndex) const { ; return m_pItems[uiIndex]; } _wxArraywxBaseArrayInt& operator[](size_t uiIndex) const { return Item(uiIndex); } int Index(_wxArraywxBaseArrayInt lItem, bool bFromEnd = false) const; int Index(_wxArraywxBaseArrayInt lItem, CMPFUNC fnCompare) const; size_t IndexForInsert(_wxArraywxBaseArrayInt lItem, CMPFUNC fnCompare) const; void Add(_wxArraywxBaseArrayInt lItem, size_t nInsert = 1); size_t Add(_wxArraywxBaseArrayInt lItem, CMPFUNC fnCompare); void Insert(_wxArraywxBaseArrayInt lItem, size_t uiIndex, size_t nInsert = 1); void Remove(_wxArraywxBaseArrayInt lItem); void RemoveAt(size_t uiIndex, size_t nRemove = 1); void Sort(CMPFUNC fnCompare); typedef _wxArraywxBaseArrayInt value_type; typedef value_type* iterator; typedef const value_type* const_iterator; typedef value_type& reference; typedef const value_type& const_reference; typedef int difference_type; typedef size_t size_type; void assign(const_iterator first, const_iterator last); void assign(size_type n, const_reference v); size_type capacity() const { return m_nSize; } iterator erase(iterator first, iterator last) { size_type idx = first - begin(); RemoveAt(idx, last - first); return begin() + idx; } iterator erase(iterator it) { return erase(it, it + 1); } void insert(iterator it, size_type n, const value_type& v) { Insert(v, it - begin(), n); } iterator insert(iterator it, const value_type& v = value_type()) { size_type idx = it - begin(); Insert(v, idx); return begin() + idx; } void insert(iterator it, const_iterator first, const_iterator last); void pop_back() { RemoveAt(size() - 1); } void push_back(const value_type& v) { Add(v); } void reserve(size_type n) { if(n > m_nSize) Realloc(n); } void resize(size_type n, value_type v = value_type()); iterator begin() { return m_pItems; } iterator end() { return m_pItems + m_nCount; } const_iterator begin() const { return m_pItems; } const_iterator end() const { return m_pItems + m_nCount; } public: void clear() { Clear(); } bool empty() const { return IsEmpty(); } size_type max_size() const { return 2147483647; } size_type size() const { return GetCount(); } private: void Grow(size_t nIncrement = 0); bool Realloc(size_t nSize); size_t m_nSize, m_nCount; _wxArraywxBaseArrayInt *m_pItems; };
23132 typedef long _wxArraywxBaseArrayLong; class wxBaseArrayLong { typedef CMPFUNC SCMPFUNC; public: wxBaseArrayLong(); wxBaseArrayLong(const wxBaseArrayLong& array); wxBaseArrayLong& operator=(const wxBaseArrayLong& src); ~wxBaseArrayLong(); void Empty() { m_nCount = 0; } void Clear(); void Alloc(size_t uiSize); void Shrink(); size_t GetCount() const { return m_nCount; } void SetCount(size_t n, _wxArraywxBaseArrayLong defval = _wxArraywxBaseArrayLong()); bool IsEmpty() const { return m_nCount == 0; } size_t Count() const { return m_nCount; } typedef _wxArraywxBaseArrayLong base_type; protected: _wxArraywxBaseArrayLong& Item(size_t uiIndex) const { ; return m_pItems[uiIndex]; } _wxArraywxBaseArrayLong& operator[](size_t uiIndex) const { return Item(uiIndex); } int Index(_wxArraywxBaseArrayLong lItem, bool bFromEnd = false) const; int Index(_wxArraywxBaseArrayLong lItem, CMPFUNC fnCompare) const; size_t IndexForInsert(_wxArraywxBaseArrayLong lItem, CMPFUNC fnCompare) const; void Add(_wxArraywxBaseArrayLong lItem, size_t nInsert = 1); size_t Add(_wxArraywxBaseArrayLong lItem, CMPFUNC fnCompare); void Insert(_wxArraywxBaseArrayLong lItem, size_t uiIndex, size_t nInsert = 1); void Remove(_wxArraywxBaseArrayLong lItem); void RemoveAt(size_t uiIndex, size_t nRemove = 1); void Sort(CMPFUNC fnCompare); typedef _wxArraywxBaseArrayLong value_type; typedef value_type* iterator; typedef const value_type* const_iterator; typedef value_type& reference; typedef const value_type& const_reference; typedef int difference_type; typedef size_t size_type; void assign(const_iterator first, const_iterator last); void assign(size_type n, const_reference v); size_type capacity() const { return m_nSize; } iterator erase(iterator first, iterator last) { size_type idx = first - begin(); RemoveAt(idx, last - first); return begin() + idx; } iterator erase(iterator it) { return erase(it, it + 1); } void insert(iterator it, size_type n, const value_type& v) { Insert(v, it - begin(), n); } iterator insert(iterator it, const value_type& v = value_type()) { size_type idx = it - begin(); Insert(v, idx); return begin() + idx; } void insert(iterator it, const_iterator first, const_iterator last); void pop_back() { RemoveAt(size() - 1); } void push_back(const value_type& v) { Add(v); } void reserve(size_type n) { if(n > m_nSize) Realloc(n); } void resize(size_type n, value_type v = value_type()); iterator begin() { return m_pItems; } iterator end() { return m_pItems + m_nCount; } const_iterator begin() const { return m_pItems; } const_iterator end() const { return m_pItems + m_nCount; } public: void clear() { Clear(); } bool empty() const { return IsEmpty(); } size_type max_size() const { return 2147483647; } size_type size() const { return GetCount(); } private: void Grow(size_t nIncrement = 0); bool Realloc(size_t nSize); size_t m_nSize, m_nCount; _wxArraywxBaseArrayLong *m_pItems; };
23133 typedef size_t _wxArraywxBaseArraySizeT; class wxBaseArraySizeT { typedef CMPFUNC SCMPFUNC; public: wxBaseArraySizeT(); wxBaseArraySizeT(const wxBaseArraySizeT& array); wxBaseArraySizeT& operator=(const wxBaseArraySizeT& src); ~wxBaseArraySizeT(); void Empty() { m_nCount = 0; } void Clear(); void Alloc(size_t uiSize); void Shrink(); size_t GetCount() const { return m_nCount; } void SetCount(size_t n, _wxArraywxBaseArraySizeT defval = _wxArraywxBaseArraySizeT()); bool IsEmpty() const { return m_nCount == 0; } size_t Count() const { return m_nCount; } typedef _wxArraywxBaseArraySizeT base_type; protected: _wxArraywxBaseArraySizeT& Item(size_t uiIndex) const { ; return m_pItems[uiIndex]; } _wxArraywxBaseArraySizeT& operator[](size_t uiIndex) const { return Item(uiIndex); } int Index(_wxArraywxBaseArraySizeT lItem, bool bFromEnd = false) const; int Index(_wxArraywxBaseArraySizeT lItem, CMPFUNC fnCompare) const; size_t IndexForInsert(_wxArraywxBaseArraySizeT lItem, CMPFUNC fnCompare) const; void Add(_wxArraywxBaseArraySizeT lItem, size_t nInsert = 1); size_t Add(_wxArraywxBaseArraySizeT lItem, CMPFUNC fnCompare); void Insert(_wxArraywxBaseArraySizeT lItem, size_t uiIndex, size_t nInsert = 1); void Remove(_wxArraywxBaseArraySizeT lItem); void RemoveAt(size_t uiIndex, size_t nRemove = 1); void Sort(CMPFUNC fnCompare); typedef _wxArraywxBaseArraySizeT value_type; typedef value_type* iterator; typedef const value_type* const_iterator; typedef value_type& reference; typedef const value_type& const_reference; typedef int difference_type; typedef size_t size_type; void assign(const_iterator first, const_iterator last); void assign(size_type n, const_reference v); size_type capacity() const { return m_nSize; } iterator erase(iterator first, iterator last) { size_type idx = first - begin(); RemoveAt(idx, last - first); return begin() + idx; } iterator erase(iterator it) { return erase(it, it + 1); } void insert(iterator it, size_type n, const value_type& v) { Insert(v, it - begin(), n); } iterator insert(iterator it, const value_type& v = value_type()) { size_type idx = it - begin(); Insert(v, idx); return begin() + idx; } void insert(iterator it, const_iterator first, const_iterator last); void pop_back() { RemoveAt(size() - 1); } void push_back(const value_type& v) { Add(v); } void reserve(size_type n) { if(n > m_nSize) Realloc(n); } void resize(size_type n, value_type v = value_type()); iterator begin() { return m_pItems; } iterator end() { return m_pItems + m_nCount; } const_iterator begin() const { return m_pItems; } const_iterator end() const { return m_pItems + m_nCount; } public: void clear() { Clear(); } bool empty() const { return IsEmpty(); } size_type max_size() const { return 2147483647; } size_type size() const { return GetCount(); } private: void Grow(size_t nIncrement = 0); bool Realloc(size_t nSize); size_t m_nSize, m_nCount; _wxArraywxBaseArraySizeT *m_pItems; };
23134 typedef double _wxArraywxBaseArrayDouble; class wxBaseArrayDouble { typedef CMPFUNC SCMPFUNC; public: wxBaseArrayDouble(); wxBaseArrayDouble(const wxBaseArrayDouble& array); wxBaseArrayDouble& operator=(const wxBaseArrayDouble& src); ~wxBaseArrayDouble(); void Empty() { m_nCount = 0; } void Clear(); void Alloc(size_t uiSize); void Shrink(); size_t GetCount() const { return m_nCount; } void SetCount(size_t n, _wxArraywxBaseArrayDouble defval = _wxArraywxBaseArrayDouble()); bool IsEmpty() const { return m_nCount == 0; } size_t Count() const { return m_nCount; } typedef _wxArraywxBaseArrayDouble base_type; protected: _wxArraywxBaseArrayDouble& Item(size_t uiIndex) const { ; return m_pItems[uiIndex]; } _wxArraywxBaseArrayDouble& operator[](size_t uiIndex) const { return Item(uiIndex); } int Index(_wxArraywxBaseArrayDouble lItem, bool bFromEnd = false) const; int Index(_wxArraywxBaseArrayDouble lItem, CMPFUNC fnCompare) const; size_t IndexForInsert(_wxArraywxBaseArrayDouble lItem, CMPFUNC fnCompare) const; void Add(_wxArraywxBaseArrayDouble lItem, size_t nInsert = 1); size_t Add(_wxArraywxBaseArrayDouble lItem, CMPFUNC fnCompare); void Insert(_wxArraywxBaseArrayDouble lItem, size_t uiIndex, size_t nInsert = 1); void Remove(_wxArraywxBaseArrayDouble lItem); void RemoveAt(size_t uiIndex, size_t nRemove = 1); void Sort(CMPFUNC fnCompare); typedef _wxArraywxBaseArrayDouble value_type; typedef value_type* iterator; typedef const value_type* const_iterator; typedef value_type& reference; typedef const value_type& const_reference; typedef int difference_type; typedef size_t size_type; void assign(const_iterator first, const_iterator last); void assign(size_type n, const_reference v); size_type capacity() const { return m_nSize; } iterator erase(iterator first, iterator last) { size_type idx = first - begin(); RemoveAt(idx, last - first); return begin() + idx; } iterator erase(iterator it) { return erase(it, it + 1); } void insert(iterator it, size_type n, const value_type& v) { Insert(v, it - begin(), n); } iterator insert(iterator it, const value_type& v = value_type()) { size_type idx = it - begin(); Insert(v, idx); return begin() + idx; } void insert(iterator it, const_iterator first, const_iterator last); void pop_back() { RemoveAt(size() - 1); } void push_back(const value_type& v) { Add(v); } void reserve(size_type n) { if(n > m_nSize) Realloc(n); } void resize(size_type n, value_type v = value_type()); iterator begin() { return m_pItems; } iterator end() { return m_pItems + m_nCount; } const_iterator begin() const { return m_pItems; } const_iterator end() const { return m_pItems + m_nCount; } public: void clear() { Clear(); } bool empty() const { return IsEmpty(); } size_type max_size() const { return 2147483647; } size_type size() const { return GetCount(); } private: void Grow(size_t nIncrement = 0); bool Realloc(size_t nSize); size_t m_nSize, m_nCount; _wxArraywxBaseArrayDouble *m_pItems; };
23135 # 963 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dynarray.h"
23136 typedef short _wxArraywxArrayShort; struct wxAssert_wxArrayShort { unsigned int TypeTooBigToBeStoredInwxBaseArrayShort: sizeof(_wxArraywxArrayShort) <= sizeof(wxBaseArrayShort::base_type); }; typedef int ( *CMPFUNC_wxArraywxArrayShort)(_wxArraywxArrayShort *pItem1, _wxArraywxArrayShort *pItem2); class wxArrayShort : public wxBaseArrayShort { public: wxArrayShort() { } ~wxArrayShort() { } wxArrayShort& operator=(const wxArrayShort& src) { wxBaseArrayShort* temp = (wxBaseArrayShort*) this; (*temp) = ((const wxBaseArrayShort&)src); return *this; } _wxArraywxArrayShort& operator[](size_t uiIndex) const { return (_wxArraywxArrayShort&)(wxBaseArrayShort::operator[](uiIndex)); } _wxArraywxArrayShort& Item(size_t uiIndex) const { return (_wxArraywxArrayShort&)(wxBaseArrayShort::operator[](uiIndex)); } _wxArraywxArrayShort& Last() const { return (_wxArraywxArrayShort&)(wxBaseArrayShort::operator[](Count() - 1)); } int Index(_wxArraywxArrayShort lItem, bool bFromEnd = false) const { return wxBaseArrayShort::Index((base_type)lItem, bFromEnd); } void Add(_wxArraywxArrayShort lItem, size_t nInsert = 1) { wxBaseArrayShort::Add((base_type)lItem, nInsert); } void Insert(_wxArraywxArrayShort lItem, size_t uiIndex, size_t nInsert = 1) { wxBaseArrayShort::Insert((base_type)lItem, uiIndex, nInsert) ; } void RemoveAt(size_t uiIndex, size_t nRemove = 1) { wxBaseArrayShort::RemoveAt(uiIndex, nRemove); } void Remove(_wxArraywxArrayShort lItem) { int iIndex = Index(lItem); if (!(iIndex != (-1))) {; return; }; wxBaseArrayShort::RemoveAt((size_t)iIndex); } void Sort(CMPFUNC_wxArraywxArrayShort fCmp) { wxBaseArrayShort::Sort((CMPFUNC)fCmp); } private: typedef wxBaseArrayShort::iterator biterator; typedef wxBaseArrayShort::const_iterator bconst_iterator; typedef wxBaseArrayShort::value_type bvalue_type; typedef wxBaseArrayShort::const_reference bconst_reference; public: typedef _wxArraywxArrayShort value_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type* iterator; typedef const value_type* const_iterator; typedef value_type& reference; typedef const value_type& const_reference; typedef wxBaseArrayShort::difference_type difference_type; typedef wxBaseArrayShort::size_type size_type; class reverse_iterator { typedef _wxArraywxArrayShort value_type; typedef value_type& reference; typedef value_type* pointer; typedef reverse_iterator itor; friend inline itor operator+(int o, const itor& it) { return it.m_ptr - o; } friend inline itor operator+(const itor& it, int o) { return it.m_ptr - o; } friend inline itor operator-(const itor& it, int o) { return it.m_ptr + o; } friend inline difference_type operator-(const itor& i1, const itor& i2) { return i1.m_ptr - i2.m_ptr; } public: pointer m_ptr; reverse_iterator() : m_ptr(__null) { } reverse_iterator(pointer ptr) : m_ptr(ptr) { } reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { } reference operator*() const { return *m_ptr; } itor& operator++() { --m_ptr; return *this; } const itor operator++(int) { reverse_iterator tmp = *this; --m_ptr; return tmp; } itor& operator--() { ++m_ptr; return *this; } const itor operator--(int) { itor tmp = *this; ++m_ptr; return tmp; } bool operator ==(const itor& it) { return m_ptr == it.m_ptr; } bool operator !=(const itor& it) { return m_ptr != it.m_ptr; } }; class const_reverse_iterator { typedef _wxArraywxArrayShort value_type; typedef const value_type& reference; typedef const value_type* pointer; typedef const_reverse_iterator itor; friend inline itor operator+(int o, const itor& it) { return it.m_ptr - o; } friend inline itor operator+(const itor& it, int o) { return it.m_ptr - o; } friend inline itor operator-(const itor& it, int o) { return it.m_ptr + o; } friend inline difference_type operator-(const itor& i1, const itor& i2) { return i1.m_ptr - i2.m_ptr; } public: pointer m_ptr; const_reverse_iterator() : m_ptr(__null) { } const_reverse_iterator(pointer ptr) : m_ptr(ptr) { } const_reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { } const_reverse_iterator(const reverse_iterator& it) : m_ptr(it.m_ptr) { } reference operator*() const { return *m_ptr; } itor& operator++() { --m_ptr; return *this; } const itor operator++(int) { itor tmp = *this; --m_ptr; return tmp; } itor& operator--() { ++m_ptr; return *this; } const itor operator--(int) { itor tmp = *this; ++m_ptr; return tmp; } bool operator ==(const itor& it) { return m_ptr == it.m_ptr; } bool operator !=(const itor& it) { return m_ptr != it.m_ptr; } }; wxArrayShort(size_type n, const_reference v) { assign(n, v); } wxArrayShort(const_iterator first, const_iterator last) { assign(first, last); } void assign(const_iterator first, const_iterator last) { wxBaseArrayShort::assign((bconst_iterator)first, (bconst_iterator)last); } void assign(size_type n, const_reference v) { wxBaseArrayShort::assign(n, (bconst_reference)v); } reference back() { return *(end() - 1); } const_reference back() const { return *(end() - 1); } iterator begin() { return (iterator)wxBaseArrayShort::begin(); } const_iterator begin() const { return (const_iterator)wxBaseArrayShort::begin(); } size_type capacity() const { return wxBaseArrayShort::capacity(); } iterator end() { return (iterator)wxBaseArrayShort::end(); } const_iterator end() const { return (const_iterator)wxBaseArrayShort::end(); } iterator erase(iterator first, iterator last) { return (iterator)wxBaseArrayShort::erase((biterator)first, (biterator)last); } iterator erase(iterator it) { return (iterator)wxBaseArrayShort::erase((biterator)it); } reference front() { return *begin(); } const_reference front() const { return *begin(); } void insert(iterator it, size_type n, const_reference v) { wxBaseArrayShort::insert((biterator)it, n, (bconst_reference)v); } iterator insert(iterator it, const_reference v = value_type()) { return (iterator)wxBaseArrayShort::insert((biterator)it, (bconst_reference)v); } void insert(iterator it, const_iterator first, const_iterator last) { wxBaseArrayShort::insert((biterator)it, (bconst_iterator)first, (bconst_iterator)last); } void pop_back() { wxBaseArrayShort::pop_back(); } void push_back(const_reference v) { wxBaseArrayShort::push_back((bconst_reference)v); } reverse_iterator rbegin() { return reverse_iterator(end() - 1); } const_reverse_iterator rbegin() const; reverse_iterator rend() { return reverse_iterator(begin() - 1); } const_reverse_iterator rend() const; void reserve(size_type n) { wxBaseArrayShort::reserve(n); }; void resize(size_type n, value_type v = value_type()); };
23137 typedef int _wxArraywxArrayInt; struct wxAssert_wxArrayInt { unsigned int TypeTooBigToBeStoredInwxBaseArrayInt: sizeof(_wxArraywxArrayInt) <= sizeof(wxBaseArrayInt::base_type); }; typedef int ( *CMPFUNC_wxArraywxArrayInt)(_wxArraywxArrayInt *pItem1, _wxArraywxArrayInt *pItem2); class wxArrayInt : public wxBaseArrayInt { public: wxArrayInt() { } ~wxArrayInt() { } wxArrayInt& operator=(const wxArrayInt& src) { wxBaseArrayInt* temp = (wxBaseArrayInt*) this; (*temp) = ((const wxBaseArrayInt&)src); return *this; } _wxArraywxArrayInt& operator[](size_t uiIndex) const { return (_wxArraywxArrayInt&)(wxBaseArrayInt::operator[](uiIndex)); } _wxArraywxArrayInt& Item(size_t uiIndex) const { return (_wxArraywxArrayInt&)(wxBaseArrayInt::operator[](uiIndex)); } _wxArraywxArrayInt& Last() const { return (_wxArraywxArrayInt&)(wxBaseArrayInt::operator[](Count() - 1)); } int Index(_wxArraywxArrayInt lItem, bool bFromEnd = false) const { return wxBaseArrayInt::Index((base_type)lItem, bFromEnd); } void Add(_wxArraywxArrayInt lItem, size_t nInsert = 1) { wxBaseArrayInt::Add((base_type)lItem, nInsert); } void Insert(_wxArraywxArrayInt lItem, size_t uiIndex, size_t nInsert = 1) { wxBaseArrayInt::Insert((base_type)lItem, uiIndex, nInsert) ; } void RemoveAt(size_t uiIndex, size_t nRemove = 1) { wxBaseArrayInt::RemoveAt(uiIndex, nRemove); } void Remove(_wxArraywxArrayInt lItem) { int iIndex = Index(lItem); if (!(iIndex != (-1))) {; return; }; wxBaseArrayInt::RemoveAt((size_t)iIndex); } void Sort(CMPFUNC_wxArraywxArrayInt fCmp) { wxBaseArrayInt::Sort((CMPFUNC)fCmp); } private: typedef wxBaseArrayInt::iterator biterator; typedef wxBaseArrayInt::const_iterator bconst_iterator; typedef wxBaseArrayInt::value_type bvalue_type; typedef wxBaseArrayInt::const_reference bconst_reference; public: typedef _wxArraywxArrayInt value_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type* iterator; typedef const value_type* const_iterator; typedef value_type& reference; typedef const value_type& const_reference; typedef wxBaseArrayInt::difference_type difference_type; typedef wxBaseArrayInt::size_type size_type; class reverse_iterator { typedef _wxArraywxArrayInt value_type; typedef value_type& reference; typedef value_type* pointer; typedef reverse_iterator itor; friend inline itor operator+(int o, const itor& it) { return it.m_ptr - o; } friend inline itor operator+(const itor& it, int o) { return it.m_ptr - o; } friend inline itor operator-(const itor& it, int o) { return it.m_ptr + o; } friend inline difference_type operator-(const itor& i1, const itor& i2) { return i1.m_ptr - i2.m_ptr; } public: pointer m_ptr; reverse_iterator() : m_ptr(__null) { } reverse_iterator(pointer ptr) : m_ptr(ptr) { } reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { } reference operator*() const { return *m_ptr; } itor& operator++() { --m_ptr; return *this; } const itor operator++(int) { reverse_iterator tmp = *this; --m_ptr; return tmp; } itor& operator--() { ++m_ptr; return *this; } const itor operator--(int) { itor tmp = *this; ++m_ptr; return tmp; } bool operator ==(const itor& it) { return m_ptr == it.m_ptr; } bool operator !=(const itor& it) { return m_ptr != it.m_ptr; } }; class const_reverse_iterator { typedef _wxArraywxArrayInt value_type; typedef const value_type& reference; typedef const value_type* pointer; typedef const_reverse_iterator itor; friend inline itor operator+(int o, const itor& it) { return it.m_ptr - o; } friend inline itor operator+(const itor& it, int o) { return it.m_ptr - o; } friend inline itor operator-(const itor& it, int o) { return it.m_ptr + o; } friend inline difference_type operator-(const itor& i1, const itor& i2) { return i1.m_ptr - i2.m_ptr; } public: pointer m_ptr; const_reverse_iterator() : m_ptr(__null) { } const_reverse_iterator(pointer ptr) : m_ptr(ptr) { } const_reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { } const_reverse_iterator(const reverse_iterator& it) : m_ptr(it.m_ptr) { } reference operator*() const { return *m_ptr; } itor& operator++() { --m_ptr; return *this; } const itor operator++(int) { itor tmp = *this; --m_ptr; return tmp; } itor& operator--() { ++m_ptr; return *this; } const itor operator--(int) { itor tmp = *this; ++m_ptr; return tmp; } bool operator ==(const itor& it) { return m_ptr == it.m_ptr; } bool operator !=(const itor& it) { return m_ptr != it.m_ptr; } }; wxArrayInt(size_type n, const_reference v) { assign(n, v); } wxArrayInt(const_iterator first, const_iterator last) { assign(first, last); } void assign(const_iterator first, const_iterator last) { wxBaseArrayInt::assign((bconst_iterator)first, (bconst_iterator)last); } void assign(size_type n, const_reference v) { wxBaseArrayInt::assign(n, (bconst_reference)v); } reference back() { return *(end() - 1); } const_reference back() const { return *(end() - 1); } iterator begin() { return (iterator)wxBaseArrayInt::begin(); } const_iterator begin() const { return (const_iterator)wxBaseArrayInt::begin(); } size_type capacity() const { return wxBaseArrayInt::capacity(); } iterator end() { return (iterator)wxBaseArrayInt::end(); } const_iterator end() const { return (const_iterator)wxBaseArrayInt::end(); } iterator erase(iterator first, iterator last) { return (iterator)wxBaseArrayInt::erase((biterator)first, (biterator)last); } iterator erase(iterator it) { return (iterator)wxBaseArrayInt::erase((biterator)it); } reference front() { return *begin(); } const_reference front() const { return *begin(); } void insert(iterator it, size_type n, const_reference v) { wxBaseArrayInt::insert((biterator)it, n, (bconst_reference)v); } iterator insert(iterator it, const_reference v = value_type()) { return (iterator)wxBaseArrayInt::insert((biterator)it, (bconst_reference)v); } void insert(iterator it, const_iterator first, const_iterator last) { wxBaseArrayInt::insert((biterator)it, (bconst_iterator)first, (bconst_iterator)last); } void pop_back() { wxBaseArrayInt::pop_back(); } void push_back(const_reference v) { wxBaseArrayInt::push_back((bconst_reference)v); } reverse_iterator rbegin() { return reverse_iterator(end() - 1); } const_reverse_iterator rbegin() const; reverse_iterator rend() { return reverse_iterator(begin() - 1); } const_reverse_iterator rend() const; void reserve(size_type n) { wxBaseArrayInt::reserve(n); }; void resize(size_type n, value_type v = value_type()); };
23138 typedef long _wxArraywxArrayLong; struct wxAssert_wxArrayLong { unsigned int TypeTooBigToBeStoredInwxBaseArrayLong: sizeof(_wxArraywxArrayLong) <= sizeof(wxBaseArrayLong::base_type); }; typedef int ( *CMPFUNC_wxArraywxArrayLong)(_wxArraywxArrayLong *pItem1, _wxArraywxArrayLong *pItem2); class wxArrayLong : public wxBaseArrayLong { public: wxArrayLong() { } ~wxArrayLong() { } wxArrayLong& operator=(const wxArrayLong& src) { wxBaseArrayLong* temp = (wxBaseArrayLong*) this; (*temp) = ((const wxBaseArrayLong&)src); return *this; } _wxArraywxArrayLong& operator[](size_t uiIndex) const { return (_wxArraywxArrayLong&)(wxBaseArrayLong::operator[](uiIndex)); } _wxArraywxArrayLong& Item(size_t uiIndex) const { return (_wxArraywxArrayLong&)(wxBaseArrayLong::operator[](uiIndex)); } _wxArraywxArrayLong& Last() const { return (_wxArraywxArrayLong&)(wxBaseArrayLong::operator[](Count() - 1)); } int Index(_wxArraywxArrayLong lItem, bool bFromEnd = false) const { return wxBaseArrayLong::Index((base_type)lItem, bFromEnd); } void Add(_wxArraywxArrayLong lItem, size_t nInsert = 1) { wxBaseArrayLong::Add((base_type)lItem, nInsert); } void Insert(_wxArraywxArrayLong lItem, size_t uiIndex, size_t nInsert = 1) { wxBaseArrayLong::Insert((base_type)lItem, uiIndex, nInsert) ; } void RemoveAt(size_t uiIndex, size_t nRemove = 1) { wxBaseArrayLong::RemoveAt(uiIndex, nRemove); } void Remove(_wxArraywxArrayLong lItem) { int iIndex = Index(lItem); if (!(iIndex != (-1))) {; return; }; wxBaseArrayLong::RemoveAt((size_t)iIndex); } void Sort(CMPFUNC_wxArraywxArrayLong fCmp) { wxBaseArrayLong::Sort((CMPFUNC)fCmp); } private: typedef wxBaseArrayLong::iterator biterator; typedef wxBaseArrayLong::const_iterator bconst_iterator; typedef wxBaseArrayLong::value_type bvalue_type; typedef wxBaseArrayLong::const_reference bconst_reference; public: typedef _wxArraywxArrayLong value_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type* iterator; typedef const value_type* const_iterator; typedef value_type& reference; typedef const value_type& const_reference; typedef wxBaseArrayLong::difference_type difference_type; typedef wxBaseArrayLong::size_type size_type; class reverse_iterator { typedef _wxArraywxArrayLong value_type; typedef value_type& reference; typedef value_type* pointer; typedef reverse_iterator itor; friend inline itor operator+(int o, const itor& it) { return it.m_ptr - o; } friend inline itor operator+(const itor& it, int o) { return it.m_ptr - o; } friend inline itor operator-(const itor& it, int o) { return it.m_ptr + o; } friend inline difference_type operator-(const itor& i1, const itor& i2) { return i1.m_ptr - i2.m_ptr; } public: pointer m_ptr; reverse_iterator() : m_ptr(__null) { } reverse_iterator(pointer ptr) : m_ptr(ptr) { } reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { } reference operator*() const { return *m_ptr; } itor& operator++() { --m_ptr; return *this; } const itor operator++(int) { reverse_iterator tmp = *this; --m_ptr; return tmp; } itor& operator--() { ++m_ptr; return *this; } const itor operator--(int) { itor tmp = *this; ++m_ptr; return tmp; } bool operator ==(const itor& it) { return m_ptr == it.m_ptr; } bool operator !=(const itor& it) { return m_ptr != it.m_ptr; } }; class const_reverse_iterator { typedef _wxArraywxArrayLong value_type; typedef const value_type& reference; typedef const value_type* pointer; typedef const_reverse_iterator itor; friend inline itor operator+(int o, const itor& it) { return it.m_ptr - o; } friend inline itor operator+(const itor& it, int o) { return it.m_ptr - o; } friend inline itor operator-(const itor& it, int o) { return it.m_ptr + o; } friend inline difference_type operator-(const itor& i1, const itor& i2) { return i1.m_ptr - i2.m_ptr; } public: pointer m_ptr; const_reverse_iterator() : m_ptr(__null) { } const_reverse_iterator(pointer ptr) : m_ptr(ptr) { } const_reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { } const_reverse_iterator(const reverse_iterator& it) : m_ptr(it.m_ptr) { } reference operator*() const { return *m_ptr; } itor& operator++() { --m_ptr; return *this; } const itor operator++(int) { itor tmp = *this; --m_ptr; return tmp; } itor& operator--() { ++m_ptr; return *this; } const itor operator--(int) { itor tmp = *this; ++m_ptr; return tmp; } bool operator ==(const itor& it) { return m_ptr == it.m_ptr; } bool operator !=(const itor& it) { return m_ptr != it.m_ptr; } }; wxArrayLong(size_type n, const_reference v) { assign(n, v); } wxArrayLong(const_iterator first, const_iterator last) { assign(first, last); } void assign(const_iterator first, const_iterator last) { wxBaseArrayLong::assign((bconst_iterator)first, (bconst_iterator)last); } void assign(size_type n, const_reference v) { wxBaseArrayLong::assign(n, (bconst_reference)v); } reference back() { return *(end() - 1); } const_reference back() const { return *(end() - 1); } iterator begin() { return (iterator)wxBaseArrayLong::begin(); } const_iterator begin() const { return (const_iterator)wxBaseArrayLong::begin(); } size_type capacity() const { return wxBaseArrayLong::capacity(); } iterator end() { return (iterator)wxBaseArrayLong::end(); } const_iterator end() const { return (const_iterator)wxBaseArrayLong::end(); } iterator erase(iterator first, iterator last) { return (iterator)wxBaseArrayLong::erase((biterator)first, (biterator)last); } iterator erase(iterator it) { return (iterator)wxBaseArrayLong::erase((biterator)it); } reference front() { return *begin(); } const_reference front() const { return *begin(); } void insert(iterator it, size_type n, const_reference v) { wxBaseArrayLong::insert((biterator)it, n, (bconst_reference)v); } iterator insert(iterator it, const_reference v = value_type()) { return (iterator)wxBaseArrayLong::insert((biterator)it, (bconst_reference)v); } void insert(iterator it, const_iterator first, const_iterator last) { wxBaseArrayLong::insert((biterator)it, (bconst_iterator)first, (bconst_iterator)last); } void pop_back() { wxBaseArrayLong::pop_back(); } void push_back(const_reference v) { wxBaseArrayLong::push_back((bconst_reference)v); } reverse_iterator rbegin() { return reverse_iterator(end() - 1); } const_reverse_iterator rbegin() const; reverse_iterator rend() { return reverse_iterator(begin() - 1); } const_reverse_iterator rend() const; void reserve(size_type n) { wxBaseArrayLong::reserve(n); }; void resize(size_type n, value_type v = value_type()); };
23139 typedef void * _wxArraywxArrayPtrVoid; struct wxAssert_wxArrayPtrVoid { unsigned int TypeTooBigToBeStoredInwxBaseArrayPtrVoid: sizeof(_wxArraywxArrayPtrVoid) <= sizeof(wxBaseArrayPtrVoid::base_type); }; typedef int ( *CMPFUNC_wxArraywxArrayPtrVoid)(_wxArraywxArrayPtrVoid *pItem1, _wxArraywxArrayPtrVoid *pItem2); class wxArrayPtrVoid : public wxBaseArrayPtrVoid { public: wxArrayPtrVoid() { } ~wxArrayPtrVoid() { } wxArrayPtrVoid& operator=(const wxArrayPtrVoid& src) { wxBaseArrayPtrVoid* temp = (wxBaseArrayPtrVoid*) this; (*temp) = ((const wxBaseArrayPtrVoid&)src); return *this; } _wxArraywxArrayPtrVoid& operator[](size_t uiIndex) const { return (_wxArraywxArrayPtrVoid&)(wxBaseArrayPtrVoid::operator[](uiIndex)); } _wxArraywxArrayPtrVoid& Item(size_t uiIndex) const { return (_wxArraywxArrayPtrVoid&)(wxBaseArrayPtrVoid::operator[](uiIndex)); } _wxArraywxArrayPtrVoid& Last() const { return (_wxArraywxArrayPtrVoid&)(wxBaseArrayPtrVoid::operator[](Count() - 1)); } int Index(_wxArraywxArrayPtrVoid lItem, bool bFromEnd = false) const { return wxBaseArrayPtrVoid::Index((base_type)lItem, bFromEnd); } void Add(_wxArraywxArrayPtrVoid lItem, size_t nInsert = 1) { wxBaseArrayPtrVoid::Add((base_type)lItem, nInsert); } void Insert(_wxArraywxArrayPtrVoid lItem, size_t uiIndex, size_t nInsert = 1) { wxBaseArrayPtrVoid::Insert((base_type)lItem, uiIndex, nInsert) ; } void RemoveAt(size_t uiIndex, size_t nRemove = 1) { wxBaseArrayPtrVoid::RemoveAt(uiIndex, nRemove); } void Remove(_wxArraywxArrayPtrVoid lItem) { int iIndex = Index(lItem); if (!(iIndex != (-1))) {; return; }; wxBaseArrayPtrVoid::RemoveAt((size_t)iIndex); } void Sort(CMPFUNC_wxArraywxArrayPtrVoid fCmp) { wxBaseArrayPtrVoid::Sort((CMPFUNC)fCmp); } private: typedef wxBaseArrayPtrVoid::iterator biterator; typedef wxBaseArrayPtrVoid::const_iterator bconst_iterator; typedef wxBaseArrayPtrVoid::value_type bvalue_type; typedef wxBaseArrayPtrVoid::const_reference bconst_reference; public: typedef _wxArraywxArrayPtrVoid value_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type* iterator; typedef const value_type* const_iterator; typedef value_type& reference; typedef const value_type& const_reference; typedef wxBaseArrayPtrVoid::difference_type difference_type; typedef wxBaseArrayPtrVoid::size_type size_type; class reverse_iterator { typedef _wxArraywxArrayPtrVoid value_type; typedef value_type& reference; typedef value_type* pointer; typedef reverse_iterator itor; friend inline itor operator+(int o, const itor& it) { return it.m_ptr - o; } friend inline itor operator+(const itor& it, int o) { return it.m_ptr - o; } friend inline itor operator-(const itor& it, int o) { return it.m_ptr + o; } friend inline difference_type operator-(const itor& i1, const itor& i2) { return i1.m_ptr - i2.m_ptr; } public: pointer m_ptr; reverse_iterator() : m_ptr(__null) { } reverse_iterator(pointer ptr) : m_ptr(ptr) { } reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { } reference operator*() const { return *m_ptr; } itor& operator++() { --m_ptr; return *this; } const itor operator++(int) { reverse_iterator tmp = *this; --m_ptr; return tmp; } itor& operator--() { ++m_ptr; return *this; } const itor operator--(int) { itor tmp = *this; ++m_ptr; return tmp; } bool operator ==(const itor& it) { return m_ptr == it.m_ptr; } bool operator !=(const itor& it) { return m_ptr != it.m_ptr; } }; class const_reverse_iterator { typedef _wxArraywxArrayPtrVoid value_type; typedef const value_type& reference; typedef const value_type* pointer; typedef const_reverse_iterator itor; friend inline itor operator+(int o, const itor& it) { return it.m_ptr - o; } friend inline itor operator+(const itor& it, int o) { return it.m_ptr - o; } friend inline itor operator-(const itor& it, int o) { return it.m_ptr + o; } friend inline difference_type operator-(const itor& i1, const itor& i2) { return i1.m_ptr - i2.m_ptr; } public: pointer m_ptr; const_reverse_iterator() : m_ptr(__null) { } const_reverse_iterator(pointer ptr) : m_ptr(ptr) { } const_reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { } const_reverse_iterator(const reverse_iterator& it) : m_ptr(it.m_ptr) { } reference operator*() const { return *m_ptr; } itor& operator++() { --m_ptr; return *this; } const itor operator++(int) { itor tmp = *this; --m_ptr; return tmp; } itor& operator--() { ++m_ptr; return *this; } const itor operator--(int) { itor tmp = *this; ++m_ptr; return tmp; } bool operator ==(const itor& it) { return m_ptr == it.m_ptr; } bool operator !=(const itor& it) { return m_ptr != it.m_ptr; } }; wxArrayPtrVoid(size_type n, const_reference v) { assign(n, v); } wxArrayPtrVoid(const_iterator first, const_iterator last) { assign(first, last); } void assign(const_iterator first, const_iterator last) { wxBaseArrayPtrVoid::assign((bconst_iterator)first, (bconst_iterator)last); } void assign(size_type n, const_reference v) { wxBaseArrayPtrVoid::assign(n, (bconst_reference)v); } reference back() { return *(end() - 1); } const_reference back() const { return *(end() - 1); } iterator begin() { return (iterator)wxBaseArrayPtrVoid::begin(); } const_iterator begin() const { return (const_iterator)wxBaseArrayPtrVoid::begin(); } size_type capacity() const { return wxBaseArrayPtrVoid::capacity(); } iterator end() { return (iterator)wxBaseArrayPtrVoid::end(); } const_iterator end() const { return (const_iterator)wxBaseArrayPtrVoid::end(); } iterator erase(iterator first, iterator last) { return (iterator)wxBaseArrayPtrVoid::erase((biterator)first, (biterator)last); } iterator erase(iterator it) { return (iterator)wxBaseArrayPtrVoid::erase((biterator)it); } reference front() { return *begin(); } const_reference front() const { return *begin(); } void insert(iterator it, size_type n, const_reference v) { wxBaseArrayPtrVoid::insert((biterator)it, n, (bconst_reference)v); } iterator insert(iterator it, const_reference v = value_type()) { return (iterator)wxBaseArrayPtrVoid::insert((biterator)it, (bconst_reference)v); } void insert(iterator it, const_iterator first, const_iterator last) { wxBaseArrayPtrVoid::insert((biterator)it, (bconst_iterator)first, (bconst_iterator)last); } void pop_back() { wxBaseArrayPtrVoid::pop_back(); } void push_back(const_reference v) { wxBaseArrayPtrVoid::push_back((bconst_reference)v); } reverse_iterator rbegin() { return reverse_iterator(end() - 1); } const_reverse_iterator rbegin() const; reverse_iterator rend() { return reverse_iterator(begin() - 1); } const_reverse_iterator rend() const; void reserve(size_type n) { wxBaseArrayPtrVoid::reserve(n); }; void resize(size_type n, value_type v = value_type()); };
23140 # 18 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
23141 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/list.h" 1
23142 # 57 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/list.h"
23143 extern "C"
23144 {
23145 typedef int (* wxSortCompareFunction)(const void *elem1, const void *elem2);
23146 }
23147
23148 class wxObjectListNode;
23149 typedef wxObjectListNode wxNode;
23150
23151
23152 typedef int (* wxListIterateFunction)(void *current);
23153 # 75 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/list.h"
23154 enum wxKeyType
23155 {
23156     wxKEY_NONE,
23157     wxKEY_INTEGER,
23158     wxKEY_STRING
23159 };
23160 # 338 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/list.h"
23161 extern wxChar* copystring(const wxChar *s);
23162 # 348 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/list.h"
23163 union wxListKeyValue
23164 {
23165     long integer;
23166     wxChar *string;
23167 };
23168
23169
23170
23171
23172
23173
23174
23175 class wxListKey
23176 {
23177 public:
23178
23179     wxListKey() : m_keyType(wxKEY_NONE)
23180         { }
23181     wxListKey(long i) : m_keyType(wxKEY_INTEGER)
23182         { m_key.integer = i; }
23183     wxListKey(const wxChar *s) : m_keyType(wxKEY_STRING)
23184         { m_key.string = strdup(s); }
23185     wxListKey(const wxString& s) : m_keyType(wxKEY_STRING)
23186         { m_key.string = strdup(s.c_str()); }
23187
23188
23189     wxKeyType GetKeyType() const { return m_keyType; }
23190     const wxChar *GetString() const
23191         { ; return m_key.string; }
23192     long GetNumber() const
23193         { ; return m_key.integer; }
23194
23195
23196
23197
23198     bool operator==(wxListKeyValue value) const ;
23199
23200
23201     ~wxListKey()
23202     {
23203         if ( m_keyType == wxKEY_STRING )
23204             free(m_key.string);
23205     }
23206
23207 private:
23208     wxKeyType m_keyType;
23209     wxListKeyValue m_key;
23210 };
23211
23212
23213
23214
23215
23216 extern wxListKey wxDefaultListKey;
23217
23218 class wxListBase;
23219
23220 class wxNodeBase
23221 {
23222 friend class wxListBase;
23223 public:
23224
23225     wxNodeBase(wxListBase *list = (wxListBase *)__null,
23226                wxNodeBase *previous = (wxNodeBase *)__null,
23227                wxNodeBase *next = (wxNodeBase *)__null,
23228                void *data = __null,
23229                const wxListKey& key = wxDefaultListKey);
23230
23231     virtual ~wxNodeBase();
23232
23233
23234     const wxChar *GetKeyString() const { return m_key.string; }
23235     long GetKeyInteger() const { return m_key.integer; }
23236
23237
23238     void SetKeyString(wxChar* s) { m_key.string = s; }
23239     void SetKeyInteger(long i) { m_key.integer = i; }
23240
23241
23242
23243     wxNode *Next() const __attribute__ ((deprecated));
23244     wxNode *Previous() const __attribute__ ((deprecated));
23245     wxObject *Data() const __attribute__ ((deprecated));
23246
23247
23248 protected:
23249
23250     wxNodeBase *GetNext() const { return m_next; }
23251     wxNodeBase *GetPrevious() const { return m_previous; }
23252
23253     void *GetData() const { return m_data; }
23254     void SetData(void *data) { m_data = data; }
23255
23256
23257     int IndexOf() const;
23258
23259     virtual void DeleteData() { }
23260 public:
23261
23262     void** GetDataPtr() const { return &(((wxNodeBase*)this)->m_data); }
23263 private:
23264
23265     wxListKeyValue m_key;
23266
23267     void *m_data;
23268     wxNodeBase *m_next,
23269                 *m_previous;
23270
23271     wxListBase *m_list;
23272
23273     private: wxNodeBase(const wxNodeBase&); wxNodeBase& operator=(const wxNodeBase&);
23274 };
23275
23276
23277
23278
23279
23280 class wxList;
23281
23282 class wxListBase : public wxObject
23283 {
23284 friend class wxNodeBase;
23285 friend class wxHashTableBase;
23286
23287 public:
23288
23289     wxListBase(wxKeyType keyType = wxKEY_NONE)
23290         { Init(keyType); }
23291     virtual ~wxListBase();
23292
23293
23294
23295     size_t GetCount() const { return m_count; }
23296
23297
23298     bool IsEmpty() const { return m_count == 0; }
23299
23300
23301
23302
23303     void Clear();
23304
23305
23306     void DeleteContents(bool destroy) { m_destroy = destroy; }
23307
23308
23309     bool GetDeleteContents() const
23310         { return m_destroy; }
23311
23312
23313     wxKeyType GetKeyType() const
23314         { return m_keyType; }
23315
23316
23317     void SetKeyType(wxKeyType keyType)
23318         { ; m_keyType = keyType; }
23319
23320
23321
23322     int Number() const __attribute__ ((deprecated));
23323     wxNode *First() const __attribute__ ((deprecated));
23324     wxNode *Last() const __attribute__ ((deprecated));
23325     wxNode *Nth(size_t n) const __attribute__ ((deprecated));
23326
23327
23328     operator wxList&() const __attribute__ ((deprecated));
23329
23330
23331 protected:
23332
23333
23334
23335
23336
23337     virtual wxNodeBase *CreateNode(wxNodeBase *prev, wxNodeBase *next,
23338                                    void *data,
23339                                    const wxListKey& key = wxDefaultListKey) = 0;
23340 # 533 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/list.h"
23341     wxListBase(size_t count, void *elements[]);
23342
23343     wxListBase(void *object, ... );
23344
23345 protected:
23346     void Assign(const wxListBase& list)
23347         { Clear(); DoCopy(list); }
23348
23349
23350     wxNodeBase *GetFirst() const { return m_nodeFirst; }
23351     wxNodeBase *GetLast() const { return m_nodeLast; }
23352
23353
23354     wxNodeBase *Item(size_t index) const;
23355
23356
23357     void *operator[](size_t n) const
23358     {
23359         wxNodeBase *node = Item(n);
23360
23361         return node ? node->GetData() : (wxNodeBase *)__null;
23362     }
23363
23364
23365
23366     wxNodeBase *Prepend(void *object)
23367         { return (wxNodeBase *)wxListBase::Insert(object); }
23368
23369     wxNodeBase *Append(void *object);
23370
23371     wxNodeBase *Insert(void *object) { return Insert( (wxNodeBase*)__null, object); }
23372
23373     wxNodeBase *Insert(size_t pos, void *object)
23374         { return pos == GetCount() ? Append(object)
23375                                    : Insert(Item(pos), object); }
23376
23377     wxNodeBase *Insert(wxNodeBase *prev, void *object);
23378
23379
23380     wxNodeBase *Append(long key, void *object);
23381     wxNodeBase *Append(const wxChar *key, void *object);
23382
23383
23384
23385     wxNodeBase *DetachNode(wxNodeBase *node);
23386
23387     bool DeleteNode(wxNodeBase *node);
23388
23389
23390     bool DeleteObject(void *object);
23391
23392
23393
23394     wxNodeBase *Find(const void *object) const;
23395
23396
23397     wxNodeBase *Find(const wxListKey& key) const;
23398
23399
23400     int IndexOf( void *object ) const;
23401
23402
23403
23404     void Sort(const wxSortCompareFunction compfunc);
23405
23406
23407     void *FirstThat(wxListIterateFunction func);
23408     void ForEach(wxListIterateFunction func);
23409     void *LastThat(wxListIterateFunction func);
23410
23411
23412
23413     void Reverse();
23414     void DeleteNodes(wxNodeBase* first, wxNodeBase* last);
23415 private:
23416
23417
23418     void Init(wxKeyType keyType = wxKEY_NONE);
23419
23420
23421
23422     void DoCopy(const wxListBase& list);
23423
23424     wxNodeBase *AppendCommon(wxNodeBase *node);
23425
23426     void DoDeleteNode(wxNodeBase *node);
23427
23428     size_t m_count;
23429     bool m_destroy;
23430     wxNodeBase *m_nodeFirst,
23431                *m_nodeLast;
23432
23433     wxKeyType m_keyType;
23434 };
23435 # 1108 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/list.h"
23436 inline wxNode *wxNodeBase::Next() const { return (wxNode *)GetNext(); }
23437 inline wxNode *wxNodeBase::Previous() const { return (wxNode *)GetPrevious(); }
23438 inline wxObject *wxNodeBase::Data() const { return (wxObject *)GetData(); }
23439
23440
23441
23442
23443
23444 inline int wxListBase::Number() const { return (int)GetCount(); }
23445 inline wxNode *wxListBase::First() const { return (wxNode *)GetFirst(); }
23446 inline wxNode *wxListBase::Last() const { return (wxNode *)GetLast(); }
23447 inline wxNode *wxListBase::Nth(size_t n) const { return (wxNode *)Item(n); }
23448 inline wxListBase::operator wxList&() const { return *(wxList*)this; }
23449 # 1131 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/list.h"
23450 typedef int (*wxSortFuncFor_wxObjectList)(const wxObject **, const wxObject **); class wxObjectListNode : public wxNodeBase { public: wxObjectListNode(wxListBase *list = (wxListBase *)__null, wxObjectListNode *previous = (wxObjectListNode *)__null, wxObjectListNode *next = (wxObjectListNode *)__null, wxObject *data = (wxObject *)__null, const wxListKey& key = wxDefaultListKey) : wxNodeBase(list, previous, next, data, key) { } wxObjectListNode *GetNext() const { return (wxObjectListNode *)wxNodeBase::GetNext(); } wxObjectListNode *GetPrevious() const { return (wxObjectListNode *)wxNodeBase::GetPrevious(); } wxObject *GetData() const { return (wxObject *)wxNodeBase::GetData(); } void SetData(wxObject *data) { wxNodeBase::SetData(data); } protected: virtual void DeleteData(); private: wxObjectListNode(const wxObjectListNode&); wxObjectListNode& operator=(const wxObjectListNode&); }; class wxObjectList : public wxListBase { public: typedef wxObjectListNode Node; typedef Node* compatibility_iterator; wxObjectList(wxKeyType keyType = wxKEY_NONE) : wxListBase(keyType) { } wxObjectList(const wxObjectList& list) : wxListBase(list.GetKeyType()) { Assign(list); } wxObjectList(size_t count, wxObject *elements[]) : wxListBase(count, (void **)elements) { } wxObjectList& operator=(const wxObjectList& list) { Assign(list); return *this; } wxObjectListNode *GetFirst() const { return (wxObjectListNode *)wxListBase::GetFirst(); } wxObjectListNode *GetLast() const { return (wxObjectListNode *)wxListBase::GetLast(); } wxObjectListNode *Item(size_t index) const { return (wxObjectListNode *)wxListBase::Item(index); } wxObject *operator[](size_t index) const { wxObjectListNode *node = Item(index); return node ? (wxObject*)(node->GetData()) : (wxObject*)__null; } wxObjectListNode *Append(wxObject *object) { return (wxObjectListNode *)wxListBase::Append(object); } wxObjectListNode *Insert(wxObject *object) { return (wxObjectListNode *)Insert((wxObjectListNode*)__null, object); } wxObjectListNode *Insert(size_t pos, wxObject *object) { return (wxObjectListNode *)wxListBase::Insert(pos, object); } wxObjectListNode *Insert(wxObjectListNode *prev, wxObject *object) { return (wxObjectListNode *)wxListBase::Insert(prev, object); } wxObjectListNode *Append(long key, void *object) { return (wxObjectListNode *)wxListBase::Append(key, object); } wxObjectListNode *Append(const wxChar *key, void *object) { return (wxObjectListNode *)wxListBase::Append(key, object); } wxObjectListNode *DetachNode(wxObjectListNode *node) { return (wxObjectListNode *)wxListBase::DetachNode(node); } bool DeleteNode(wxObjectListNode *node) { return wxListBase::DeleteNode(node); } bool DeleteObject(wxObject *object) { return wxListBase::DeleteObject(object); } void Erase(compatibility_iterator it) { DeleteNode(it); } wxObjectListNode *Find(const wxObject *object) const { return (wxObjectListNode *)wxListBase::Find(object); } virtual wxObjectListNode *Find(const wxListKey& key) const { return (wxObjectListNode *)wxListBase::Find(key); } int IndexOf(wxObject *object) const { return wxListBase::IndexOf(object); } void Sort(wxSortCompareFunction func) { wxListBase::Sort(func); } void Sort(wxSortFuncFor_wxObjectList func) { Sort((wxSortCompareFunction)func); } protected: virtual wxNodeBase *CreateNode(wxNodeBase *prev, wxNodeBase *next, void *data, const wxListKey& key = wxDefaultListKey) { return new wxObjectListNode(this, (wxObjectListNode *)prev, (wxObjectListNode *)next, (wxObject *)data, key); } public: typedef size_t size_type; typedef int difference_type; typedef wxObject* value_type; typedef wxObject* base_value_type; typedef value_type& reference; typedef const value_type& const_reference; typedef base_value_type& base_reference; typedef const base_value_type& const_base_reference; class iterator { typedef wxObjectList list; public: typedef wxObjectListNode Node; typedef iterator itor; typedef wxObject* value_type; typedef value_type* ptr_type; typedef value_type& reference; Node* m_node; Node* m_init; public: typedef reference reference_type; typedef ptr_type pointer_type; iterator(Node* node, Node* init) : m_node(node), m_init(init) {} iterator() : m_node(__null), m_init(__null) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetNext(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetNext(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetPrevious() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetPrevious() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class const_iterator { typedef wxObjectList list; public: typedef wxObjectListNode Node; typedef wxObject* value_type; typedef const value_type& const_reference; typedef const_iterator itor; typedef value_type* ptr_type; Node* m_node; Node* m_init; public: typedef const_reference reference_type; typedef const ptr_type pointer_type; const_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } const_iterator() : m_node(__null), m_init(__null) { } const_iterator(const iterator& it) : m_node(it.m_node), m_init(it.m_init) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetNext(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetNext(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetPrevious() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetPrevious() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class reverse_iterator { typedef wxObjectList list; public: typedef wxObjectListNode Node; typedef wxObject* value_type; typedef reverse_iterator itor; typedef value_type* ptr_type; typedef value_type& reference; Node* m_node; Node* m_init; public: typedef reference reference_type; typedef ptr_type pointer_type; reverse_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } reverse_iterator() : m_node(__null), m_init(__null) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetPrevious(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetPrevious(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetNext() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetNext() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class const_reverse_iterator { typedef wxObjectList list; public: typedef wxObjectListNode Node; typedef wxObject* value_type; typedef const_reverse_iterator itor; typedef value_type* ptr_type; typedef const value_type& const_reference; Node* m_node; Node* m_init; public: typedef const_reference reference_type; typedef const ptr_type pointer_type; const_reverse_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } const_reverse_iterator() : m_node(__null), m_init(__null) { } const_reverse_iterator(const reverse_iterator& it) : m_node(it.m_node), m_init(it.m_init) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetPrevious(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetPrevious(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetNext() : m_init; return *this;} const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetNext() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; explicit wxObjectList(size_type n, const_reference v = value_type()) { assign(n, v); } wxObjectList(const const_iterator& first, const const_iterator& last) { assign(first, last); } iterator begin() { return iterator(GetFirst(), GetLast()); } const_iterator begin() const { return const_iterator(GetFirst(), GetLast()); } iterator end() { return iterator(__null, GetLast()); } const_iterator end() const { return const_iterator(__null, GetLast()); } reverse_iterator rbegin() { return reverse_iterator(GetLast(), GetFirst()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(GetLast(), GetFirst()); } reverse_iterator rend() { return reverse_iterator(__null, GetFirst()); } const_reverse_iterator rend() const { return const_reverse_iterator(__null, GetFirst()); } void resize(size_type n, value_type v = value_type()) { while (n < size()) pop_back(); while (n > size()) push_back(v); } size_type size() const { return GetCount(); } size_type max_size() const { return 2147483647; } bool empty() const { return IsEmpty(); } reference front() { return *begin(); } const_reference front() const { return *begin(); } reference back() { iterator tmp = end(); return *--tmp; } const_reference back() const { const_iterator tmp = end(); return *--tmp; } void push_front(const_reference v = value_type()) { Insert(GetFirst(), (const_base_reference)v); } void pop_front() { DeleteNode(GetFirst()); } void push_back(const_reference v = value_type()) { Append((const_base_reference)v); } void pop_back() { DeleteNode(GetLast()); } void assign(const_iterator first, const const_iterator& last) { clear(); for(; first != last; ++first) Append((const_base_reference)*first); } void assign(size_type n, const_reference v = value_type()) { clear(); for(size_type i = 0; i < n; ++i) Append((const_base_reference)v); } iterator insert(const iterator& it, const_reference v = value_type()) { Insert(it.m_node, (const_base_reference)v); return iterator(it.m_node->GetPrevious(), GetLast()); } void insert(const iterator& it, size_type n, const_reference v = value_type()) { for(size_type i = 0; i < n; ++i) Insert(it.m_node, (const_base_reference)v); } void insert(const iterator& it, const_iterator first, const const_iterator& last) { for(; first != last; ++first) Insert(it.m_node, (const_base_reference)*first); } iterator erase(const iterator& it) { iterator next = iterator(it.m_node->GetNext(), GetLast()); DeleteNode(it.m_node); return next; } iterator erase(const iterator& first, const iterator& last) { iterator next = last; ++next; DeleteNodes(first.m_node, last.m_node); return next; } void clear() { Clear(); } void splice(const iterator& it, wxObjectList& l, const iterator& first, const iterator& last) { insert(it, first, last); l.erase(first, last); } void splice(const iterator& it, wxObjectList& l) { splice(it, l, l.begin(), l.end() ); } void splice(const iterator& it, wxObjectList& l, const iterator& first) { iterator tmp = first; ++tmp; if(it == first || it == tmp) return; insert(it, *first); l.erase(first); } void remove(const_reference v) { DeleteObject((const_base_reference)v); } void reverse() { Reverse(); } };
23451
23452
23453 class wxList : public wxObjectList
23454 {
23455 public:
23456
23457
23458
23459
23460     wxList(int key_type = wxKEY_NONE);
23461
23462
23463
23464    ~wxList() { }
23465
23466
23467     wxList& operator=(const wxList& list)
23468         { (void) wxListBase::operator=(list); return *this; }
23469
23470
23471     void Sort(wxSortCompareFunction compfunc) { wxListBase::Sort(compfunc); }
23472
23473
23474
23475
23476     wxNode *Member(wxObject *object) const { return (wxNode *)Find(object); }
23477
23478
23479 private:
23480
23481     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
23482
23483 };
23484
23485
23486
23487
23488
23489
23490 typedef int (*wxSortFuncFor_wxStringListBase)(const wxChar **, const wxChar **); class wxStringListNode : public wxNodeBase { public: wxStringListNode(wxListBase *list = (wxListBase *)__null, wxStringListNode *previous = (wxStringListNode *)__null, wxStringListNode *next = (wxStringListNode *)__null, wxChar *data = (wxChar *)__null, const wxListKey& key = wxDefaultListKey) : wxNodeBase(list, previous, next, data, key) { } wxStringListNode *GetNext() const { return (wxStringListNode *)wxNodeBase::GetNext(); } wxStringListNode *GetPrevious() const { return (wxStringListNode *)wxNodeBase::GetPrevious(); } wxChar *GetData() const { return (wxChar *)wxNodeBase::GetData(); } void SetData(wxChar *data) { wxNodeBase::SetData(data); } protected: virtual void DeleteData(); private: wxStringListNode(const wxStringListNode&); wxStringListNode& operator=(const wxStringListNode&); }; class wxStringListBase : public wxListBase { public: typedef wxStringListNode Node; typedef Node* compatibility_iterator; wxStringListBase(wxKeyType keyType = wxKEY_NONE) : wxListBase(keyType) { } wxStringListBase(const wxStringListBase& list) : wxListBase(list.GetKeyType()) { Assign(list); } wxStringListBase(size_t count, wxChar *elements[]) : wxListBase(count, (void **)elements) { } wxStringListBase& operator=(const wxStringListBase& list) { Assign(list); return *this; } wxStringListNode *GetFirst() const { return (wxStringListNode *)wxListBase::GetFirst(); } wxStringListNode *GetLast() const { return (wxStringListNode *)wxListBase::GetLast(); } wxStringListNode *Item(size_t index) const { return (wxStringListNode *)wxListBase::Item(index); } wxChar *operator[](size_t index) const { wxStringListNode *node = Item(index); return node ? (wxChar*)(node->GetData()) : (wxChar*)__null; } wxStringListNode *Append(wxChar *object) { return (wxStringListNode *)wxListBase::Append(object); } wxStringListNode *Insert(wxChar *object) { return (wxStringListNode *)Insert((wxStringListNode*)__null, object); } wxStringListNode *Insert(size_t pos, wxChar *object) { return (wxStringListNode *)wxListBase::Insert(pos, object); } wxStringListNode *Insert(wxStringListNode *prev, wxChar *object) { return (wxStringListNode *)wxListBase::Insert(prev, object); } wxStringListNode *Append(long key, void *object) { return (wxStringListNode *)wxListBase::Append(key, object); } wxStringListNode *Append(const wxChar *key, void *object) { return (wxStringListNode *)wxListBase::Append(key, object); } wxStringListNode *DetachNode(wxStringListNode *node) { return (wxStringListNode *)wxListBase::DetachNode(node); } bool DeleteNode(wxStringListNode *node) { return wxListBase::DeleteNode(node); } bool DeleteObject(wxChar *object) { return wxListBase::DeleteObject(object); } void Erase(compatibility_iterator it) { DeleteNode(it); } wxStringListNode *Find(const wxChar *object) const { return (wxStringListNode *)wxListBase::Find(object); } virtual wxStringListNode *Find(const wxListKey& key) const { return (wxStringListNode *)wxListBase::Find(key); } int IndexOf(wxChar *object) const { return wxListBase::IndexOf(object); } void Sort(wxSortCompareFunction func) { wxListBase::Sort(func); } void Sort(wxSortFuncFor_wxStringListBase func) { Sort((wxSortCompareFunction)func); } protected: virtual wxNodeBase *CreateNode(wxNodeBase *prev, wxNodeBase *next, void *data, const wxListKey& key = wxDefaultListKey) { return new wxStringListNode(this, (wxStringListNode *)prev, (wxStringListNode *)next, (wxChar *)data, key); } public: typedef size_t size_type; typedef int difference_type; typedef wxChar* value_type; typedef wxChar* base_value_type; typedef value_type& reference; typedef const value_type& const_reference; typedef base_value_type& base_reference; typedef const base_value_type& const_base_reference; class iterator { typedef wxStringListBase list; public: typedef wxStringListNode Node; typedef iterator itor; typedef wxChar* value_type; typedef value_type* ptr_type; typedef value_type& reference; Node* m_node; Node* m_init; public: typedef reference reference_type; typedef ptr_type pointer_type; iterator(Node* node, Node* init) : m_node(node), m_init(init) {} iterator() : m_node(__null), m_init(__null) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetNext(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetNext(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetPrevious() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetPrevious() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class const_iterator { typedef wxStringListBase list; public: typedef wxStringListNode Node; typedef wxChar* value_type; typedef const value_type& const_reference; typedef const_iterator itor; typedef value_type* ptr_type; Node* m_node; Node* m_init; public: typedef const_reference reference_type; typedef const ptr_type pointer_type; const_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } const_iterator() : m_node(__null), m_init(__null) { } const_iterator(const iterator& it) : m_node(it.m_node), m_init(it.m_init) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetNext(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetNext(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetPrevious() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetPrevious() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class reverse_iterator { typedef wxStringListBase list; public: typedef wxStringListNode Node; typedef wxChar* value_type; typedef reverse_iterator itor; typedef value_type* ptr_type; typedef value_type& reference; Node* m_node; Node* m_init; public: typedef reference reference_type; typedef ptr_type pointer_type; reverse_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } reverse_iterator() : m_node(__null), m_init(__null) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetPrevious(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetPrevious(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetNext() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetNext() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class const_reverse_iterator { typedef wxStringListBase list; public: typedef wxStringListNode Node; typedef wxChar* value_type; typedef const_reverse_iterator itor; typedef value_type* ptr_type; typedef const value_type& const_reference; Node* m_node; Node* m_init; public: typedef const_reference reference_type; typedef const ptr_type pointer_type; const_reverse_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } const_reverse_iterator() : m_node(__null), m_init(__null) { } const_reverse_iterator(const reverse_iterator& it) : m_node(it.m_node), m_init(it.m_init) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetPrevious(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetPrevious(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetNext() : m_init; return *this;} const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetNext() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; explicit wxStringListBase(size_type n, const_reference v = value_type()) { assign(n, v); } wxStringListBase(const const_iterator& first, const const_iterator& last) { assign(first, last); } iterator begin() { return iterator(GetFirst(), GetLast()); } const_iterator begin() const { return const_iterator(GetFirst(), GetLast()); } iterator end() { return iterator(__null, GetLast()); } const_iterator end() const { return const_iterator(__null, GetLast()); } reverse_iterator rbegin() { return reverse_iterator(GetLast(), GetFirst()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(GetLast(), GetFirst()); } reverse_iterator rend() { return reverse_iterator(__null, GetFirst()); } const_reverse_iterator rend() const { return const_reverse_iterator(__null, GetFirst()); } void resize(size_type n, value_type v = value_type()) { while (n < size()) pop_back(); while (n > size()) push_back(v); } size_type size() const { return GetCount(); } size_type max_size() const { return 2147483647; } bool empty() const { return IsEmpty(); } reference front() { return *begin(); } const_reference front() const { return *begin(); } reference back() { iterator tmp = end(); return *--tmp; } const_reference back() const { const_iterator tmp = end(); return *--tmp; } void push_front(const_reference v = value_type()) { Insert(GetFirst(), (const_base_reference)v); } void pop_front() { DeleteNode(GetFirst()); } void push_back(const_reference v = value_type()) { Append((const_base_reference)v); } void pop_back() { DeleteNode(GetLast()); } void assign(const_iterator first, const const_iterator& last) { clear(); for(; first != last; ++first) Append((const_base_reference)*first); } void assign(size_type n, const_reference v = value_type()) { clear(); for(size_type i = 0; i < n; ++i) Append((const_base_reference)v); } iterator insert(const iterator& it, const_reference v = value_type()) { Insert(it.m_node, (const_base_reference)v); return iterator(it.m_node->GetPrevious(), GetLast()); } void insert(const iterator& it, size_type n, const_reference v = value_type()) { for(size_type i = 0; i < n; ++i) Insert(it.m_node, (const_base_reference)v); } void insert(const iterator& it, const_iterator first, const const_iterator& last) { for(; first != last; ++first) Insert(it.m_node, (const_base_reference)*first); } iterator erase(const iterator& it) { iterator next = iterator(it.m_node->GetNext(), GetLast()); DeleteNode(it.m_node); return next; } iterator erase(const iterator& first, const iterator& last) { iterator next = last; ++next; DeleteNodes(first.m_node, last.m_node); return next; } void clear() { Clear(); } void splice(const iterator& it, wxStringListBase& l, const iterator& first, const iterator& last) { insert(it, first, last); l.erase(first, last); } void splice(const iterator& it, wxStringListBase& l) { splice(it, l, l.begin(), l.end() ); } void splice(const iterator& it, wxStringListBase& l, const iterator& first) { iterator tmp = first; ++tmp; if(it == first || it == tmp) return; insert(it, *first); l.erase(first); } void remove(const_reference v) { DeleteObject((const_base_reference)v); } void reverse() { Reverse(); } };
23491
23492 class wxStringList : public wxStringListBase
23493 {
23494 public:
23495
23496
23497
23498
23499
23500
23501     wxStringList();
23502     wxStringList(const wxChar *first ...);
23503
23504
23505
23506
23507     wxStringList(const wxStringList& other) : wxStringListBase() { DeleteContents(true); DoCopy(other); }
23508     wxStringList& operator=(const wxStringList& other)
23509         { Clear(); DoCopy(other); return *this; }
23510
23511
23512
23513     wxNode *Add(const wxChar *s);
23514
23515
23516     wxNode *Prepend(const wxChar *s);
23517
23518     bool Delete(const wxChar *s);
23519
23520     wxChar **ListToArray(bool new_copies = false) const;
23521     bool Member(const wxChar *s) const;
23522
23523
23524     void Sort();
23525
23526 private:
23527     void DoCopy(const wxStringList&);
23528
23529     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
23530 };
23531 # 19 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
23532 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/hash.h" 1
23533 # 56 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/hash.h"
23534 class wxHashTableBase : public wxObject
23535 {
23536 public:
23537     wxHashTableBase();
23538
23539     void Create(wxKeyType keyType = wxKEY_INTEGER,
23540                 size_t size = (1000));
23541     void Destroy();
23542
23543     size_t GetSize() const { return m_hashSize; }
23544     size_t GetCount() const { return m_count; }
23545
23546     void DeleteContents(bool flag);
23547
23548 protected:
23549
23550     wxNodeBase *GetNode(long key, long value) const;
23551
23552
23553     wxListBase **m_hashTable;
23554
23555
23556     size_t m_hashSize;
23557
23558
23559     wxKeyType m_keyType;
23560
23561
23562     size_t m_count;
23563
23564
23565     bool m_deleteContents;
23566
23567 private:
23568
23569     private: wxHashTableBase(const wxHashTableBase&); wxHashTableBase& operator=(const wxHashTableBase&);
23570 };
23571 # 240 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/hash.h"
23572 class wxHashTableLong : public wxObject
23573 {
23574 public:
23575     wxHashTableLong(size_t size = (1000))
23576         { Init(size); }
23577     virtual ~wxHashTableLong();
23578
23579     void Create(size_t size = (1000));
23580     void Destroy();
23581
23582     size_t GetSize() const { return m_hashSize; }
23583     size_t GetCount() const { return m_count; }
23584
23585     void Put(long key, long value);
23586     long Get(long key) const;
23587     long Delete(long key);
23588
23589 protected:
23590     void Init(size_t size);
23591
23592 private:
23593     wxArrayLong **m_values,
23594                 **m_keys;
23595
23596
23597     size_t m_hashSize;
23598
23599
23600     size_t m_count;
23601
23602
23603     private: wxHashTableLong(const wxHashTableLong&); wxHashTableLong& operator=(const wxHashTableLong&);
23604 };
23605
23606
23607
23608
23609
23610 class wxStringHashTable : public wxObject
23611 {
23612 public:
23613     wxStringHashTable(size_t sizeTable = (1000));
23614     virtual ~wxStringHashTable();
23615
23616
23617     void Put(long key, const wxString& value);
23618
23619
23620
23621     wxString Get(long key, bool *wasFound = __null) const;
23622
23623
23624     bool Delete(long key) const;
23625
23626
23627     void Destroy();
23628
23629 private:
23630     wxArrayLong **m_keys;
23631     wxArrayString **m_values;
23632
23633
23634     size_t m_hashSize;
23635
23636     private: wxStringHashTable(const wxStringHashTable&); wxStringHashTable& operator=(const wxStringHashTable&);
23637 };
23638 # 418 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/hash.h"
23639 class wxHashTable : public wxObject
23640 {
23641 public:
23642     typedef wxNode Node;
23643     typedef wxNode* compatibility_iterator;
23644
23645     int n;
23646     int current_position;
23647     wxNode *current_node;
23648
23649     unsigned int key_type;
23650     wxList **hash_table;
23651
23652     wxHashTable(int the_key_type = wxKEY_INTEGER,
23653                 int size = (1000));
23654     ~wxHashTable();
23655
23656
23657     wxHashTable(const wxHashTable& table) : wxObject()
23658         { DoCopy(table); }
23659     wxHashTable& operator=(const wxHashTable& table)
23660         { Clear(); DoCopy(table); return *this; }
23661
23662     void DoCopy(const wxHashTable& table);
23663
23664     void Destroy();
23665
23666     bool Create(int the_key_type = wxKEY_INTEGER,
23667                 int size = (1000));
23668 # 461 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/hash.h"
23669     void Put(long key, long value, wxObject *object);
23670     void Put(long key, const wxChar *value, wxObject *object);
23671
23672
23673     void Put(long value, wxObject *object);
23674     void Put(const wxChar *value, wxObject *object);
23675
23676
23677     wxObject *Get(long key, long value) const;
23678     wxObject *Get(long key, const wxChar *value) const;
23679
23680
23681     wxObject *Get(long value) const;
23682     wxObject *Get(const wxChar *value) const;
23683
23684
23685     wxObject *Delete(long key);
23686     wxObject *Delete(const wxChar *key);
23687
23688     wxObject *Delete(long key, int value);
23689     wxObject *Delete(long key, const wxChar *value);
23690
23691
23692
23693     long MakeKey(const wxChar *string) const;
23694
23695
23696
23697
23698
23699     void BeginFind();
23700     Node* Next();
23701
23702     void DeleteContents(bool flag);
23703     void Clear();
23704
23705
23706     size_t GetCount() const { return m_count; }
23707
23708 private:
23709     size_t m_count;
23710     bool m_deleteContents;
23711
23712     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
23713 };
23714 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
23715
23716 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/intl.h" 1
23717 # 51 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/intl.h"
23718 class wxLocale;
23719 class wxLanguageInfoArray;
23720 class wxMsgCatalog;
23721 # 67 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/intl.h"
23722 enum wxLanguage
23723 {
23724
23725     wxLANGUAGE_DEFAULT,
23726
23727     wxLANGUAGE_UNKNOWN,
23728
23729     wxLANGUAGE_ABKHAZIAN,
23730     wxLANGUAGE_AFAR,
23731     wxLANGUAGE_AFRIKAANS,
23732     wxLANGUAGE_ALBANIAN,
23733     wxLANGUAGE_AMHARIC,
23734     wxLANGUAGE_ARABIC,
23735     wxLANGUAGE_ARABIC_ALGERIA,
23736     wxLANGUAGE_ARABIC_BAHRAIN,
23737     wxLANGUAGE_ARABIC_EGYPT,
23738     wxLANGUAGE_ARABIC_IRAQ,
23739     wxLANGUAGE_ARABIC_JORDAN,
23740     wxLANGUAGE_ARABIC_KUWAIT,
23741     wxLANGUAGE_ARABIC_LEBANON,
23742     wxLANGUAGE_ARABIC_LIBYA,
23743     wxLANGUAGE_ARABIC_MOROCCO,
23744     wxLANGUAGE_ARABIC_OMAN,
23745     wxLANGUAGE_ARABIC_QATAR,
23746     wxLANGUAGE_ARABIC_SAUDI_ARABIA,
23747     wxLANGUAGE_ARABIC_SUDAN,
23748     wxLANGUAGE_ARABIC_SYRIA,
23749     wxLANGUAGE_ARABIC_TUNISIA,
23750     wxLANGUAGE_ARABIC_UAE,
23751     wxLANGUAGE_ARABIC_YEMEN,
23752     wxLANGUAGE_ARMENIAN,
23753     wxLANGUAGE_ASSAMESE,
23754     wxLANGUAGE_AYMARA,
23755     wxLANGUAGE_AZERI,
23756     wxLANGUAGE_AZERI_CYRILLIC,
23757     wxLANGUAGE_AZERI_LATIN,
23758     wxLANGUAGE_BASHKIR,
23759     wxLANGUAGE_BASQUE,
23760     wxLANGUAGE_BELARUSIAN,
23761     wxLANGUAGE_BENGALI,
23762     wxLANGUAGE_BHUTANI,
23763     wxLANGUAGE_BIHARI,
23764     wxLANGUAGE_BISLAMA,
23765     wxLANGUAGE_BRETON,
23766     wxLANGUAGE_BULGARIAN,
23767     wxLANGUAGE_BURMESE,
23768     wxLANGUAGE_CAMBODIAN,
23769     wxLANGUAGE_CATALAN,
23770     wxLANGUAGE_CHINESE,
23771     wxLANGUAGE_CHINESE_SIMPLIFIED,
23772     wxLANGUAGE_CHINESE_TRADITIONAL,
23773     wxLANGUAGE_CHINESE_HONGKONG,
23774     wxLANGUAGE_CHINESE_MACAU,
23775     wxLANGUAGE_CHINESE_SINGAPORE,
23776     wxLANGUAGE_CHINESE_TAIWAN,
23777     wxLANGUAGE_CORSICAN,
23778     wxLANGUAGE_CROATIAN,
23779     wxLANGUAGE_CZECH,
23780     wxLANGUAGE_DANISH,
23781     wxLANGUAGE_DUTCH,
23782     wxLANGUAGE_DUTCH_BELGIAN,
23783     wxLANGUAGE_ENGLISH,
23784     wxLANGUAGE_ENGLISH_UK,
23785     wxLANGUAGE_ENGLISH_US,
23786     wxLANGUAGE_ENGLISH_AUSTRALIA,
23787     wxLANGUAGE_ENGLISH_BELIZE,
23788     wxLANGUAGE_ENGLISH_BOTSWANA,
23789     wxLANGUAGE_ENGLISH_CANADA,
23790     wxLANGUAGE_ENGLISH_CARIBBEAN,
23791     wxLANGUAGE_ENGLISH_DENMARK,
23792     wxLANGUAGE_ENGLISH_EIRE,
23793     wxLANGUAGE_ENGLISH_JAMAICA,
23794     wxLANGUAGE_ENGLISH_NEW_ZEALAND,
23795     wxLANGUAGE_ENGLISH_PHILIPPINES,
23796     wxLANGUAGE_ENGLISH_SOUTH_AFRICA,
23797     wxLANGUAGE_ENGLISH_TRINIDAD,
23798     wxLANGUAGE_ENGLISH_ZIMBABWE,
23799     wxLANGUAGE_ESPERANTO,
23800     wxLANGUAGE_ESTONIAN,
23801     wxLANGUAGE_FAEROESE,
23802     wxLANGUAGE_FARSI,
23803     wxLANGUAGE_FIJI,
23804     wxLANGUAGE_FINNISH,
23805     wxLANGUAGE_FRENCH,
23806     wxLANGUAGE_FRENCH_BELGIAN,
23807     wxLANGUAGE_FRENCH_CANADIAN,
23808     wxLANGUAGE_FRENCH_LUXEMBOURG,
23809     wxLANGUAGE_FRENCH_MONACO,
23810     wxLANGUAGE_FRENCH_SWISS,
23811     wxLANGUAGE_FRISIAN,
23812     wxLANGUAGE_GALICIAN,
23813     wxLANGUAGE_GEORGIAN,
23814     wxLANGUAGE_GERMAN,
23815     wxLANGUAGE_GERMAN_AUSTRIAN,
23816     wxLANGUAGE_GERMAN_BELGIUM,
23817     wxLANGUAGE_GERMAN_LIECHTENSTEIN,
23818     wxLANGUAGE_GERMAN_LUXEMBOURG,
23819     wxLANGUAGE_GERMAN_SWISS,
23820     wxLANGUAGE_GREEK,
23821     wxLANGUAGE_GREENLANDIC,
23822     wxLANGUAGE_GUARANI,
23823     wxLANGUAGE_GUJARATI,
23824     wxLANGUAGE_HAUSA,
23825     wxLANGUAGE_HEBREW,
23826     wxLANGUAGE_HINDI,
23827     wxLANGUAGE_HUNGARIAN,
23828     wxLANGUAGE_ICELANDIC,
23829     wxLANGUAGE_INDONESIAN,
23830     wxLANGUAGE_INTERLINGUA,
23831     wxLANGUAGE_INTERLINGUE,
23832     wxLANGUAGE_INUKTITUT,
23833     wxLANGUAGE_INUPIAK,
23834     wxLANGUAGE_IRISH,
23835     wxLANGUAGE_ITALIAN,
23836     wxLANGUAGE_ITALIAN_SWISS,
23837     wxLANGUAGE_JAPANESE,
23838     wxLANGUAGE_JAVANESE,
23839     wxLANGUAGE_KANNADA,
23840     wxLANGUAGE_KASHMIRI,
23841     wxLANGUAGE_KASHMIRI_INDIA,
23842     wxLANGUAGE_KAZAKH,
23843     wxLANGUAGE_KERNEWEK,
23844     wxLANGUAGE_KINYARWANDA,
23845     wxLANGUAGE_KIRGHIZ,
23846     wxLANGUAGE_KIRUNDI,
23847     wxLANGUAGE_KONKANI,
23848     wxLANGUAGE_KOREAN,
23849     wxLANGUAGE_KURDISH,
23850     wxLANGUAGE_LAOTHIAN,
23851     wxLANGUAGE_LATIN,
23852     wxLANGUAGE_LATVIAN,
23853     wxLANGUAGE_LINGALA,
23854     wxLANGUAGE_LITHUANIAN,
23855     wxLANGUAGE_MACEDONIAN,
23856     wxLANGUAGE_MALAGASY,
23857     wxLANGUAGE_MALAY,
23858     wxLANGUAGE_MALAYALAM,
23859     wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM,
23860     wxLANGUAGE_MALAY_MALAYSIA,
23861     wxLANGUAGE_MALTESE,
23862     wxLANGUAGE_MANIPURI,
23863     wxLANGUAGE_MAORI,
23864     wxLANGUAGE_MARATHI,
23865     wxLANGUAGE_MOLDAVIAN,
23866     wxLANGUAGE_MONGOLIAN,
23867     wxLANGUAGE_NAURU,
23868     wxLANGUAGE_NEPALI,
23869     wxLANGUAGE_NEPALI_INDIA,
23870     wxLANGUAGE_NORWEGIAN_BOKMAL,
23871     wxLANGUAGE_NORWEGIAN_NYNORSK,
23872     wxLANGUAGE_OCCITAN,
23873     wxLANGUAGE_ORIYA,
23874     wxLANGUAGE_OROMO,
23875     wxLANGUAGE_PASHTO,
23876     wxLANGUAGE_POLISH,
23877     wxLANGUAGE_PORTUGUESE,
23878     wxLANGUAGE_PORTUGUESE_BRAZILIAN,
23879     wxLANGUAGE_PUNJABI,
23880     wxLANGUAGE_QUECHUA,
23881     wxLANGUAGE_RHAETO_ROMANCE,
23882     wxLANGUAGE_ROMANIAN,
23883     wxLANGUAGE_RUSSIAN,
23884     wxLANGUAGE_RUSSIAN_UKRAINE,
23885     wxLANGUAGE_SAMOAN,
23886     wxLANGUAGE_SANGHO,
23887     wxLANGUAGE_SANSKRIT,
23888     wxLANGUAGE_SCOTS_GAELIC,
23889     wxLANGUAGE_SERBIAN,
23890     wxLANGUAGE_SERBIAN_CYRILLIC,
23891     wxLANGUAGE_SERBIAN_LATIN,
23892     wxLANGUAGE_SERBO_CROATIAN,
23893     wxLANGUAGE_SESOTHO,
23894     wxLANGUAGE_SETSWANA,
23895     wxLANGUAGE_SHONA,
23896     wxLANGUAGE_SINDHI,
23897     wxLANGUAGE_SINHALESE,
23898     wxLANGUAGE_SISWATI,
23899     wxLANGUAGE_SLOVAK,
23900     wxLANGUAGE_SLOVENIAN,
23901     wxLANGUAGE_SOMALI,
23902     wxLANGUAGE_SPANISH,
23903     wxLANGUAGE_SPANISH_ARGENTINA,
23904     wxLANGUAGE_SPANISH_BOLIVIA,
23905     wxLANGUAGE_SPANISH_CHILE,
23906     wxLANGUAGE_SPANISH_COLOMBIA,
23907     wxLANGUAGE_SPANISH_COSTA_RICA,
23908     wxLANGUAGE_SPANISH_DOMINICAN_REPUBLIC,
23909     wxLANGUAGE_SPANISH_ECUADOR,
23910     wxLANGUAGE_SPANISH_EL_SALVADOR,
23911     wxLANGUAGE_SPANISH_GUATEMALA,
23912     wxLANGUAGE_SPANISH_HONDURAS,
23913     wxLANGUAGE_SPANISH_MEXICAN,
23914     wxLANGUAGE_SPANISH_MODERN,
23915     wxLANGUAGE_SPANISH_NICARAGUA,
23916     wxLANGUAGE_SPANISH_PANAMA,
23917     wxLANGUAGE_SPANISH_PARAGUAY,
23918     wxLANGUAGE_SPANISH_PERU,
23919     wxLANGUAGE_SPANISH_PUERTO_RICO,
23920     wxLANGUAGE_SPANISH_URUGUAY,
23921     wxLANGUAGE_SPANISH_US,
23922     wxLANGUAGE_SPANISH_VENEZUELA,
23923     wxLANGUAGE_SUNDANESE,
23924     wxLANGUAGE_SWAHILI,
23925     wxLANGUAGE_SWEDISH,
23926     wxLANGUAGE_SWEDISH_FINLAND,
23927     wxLANGUAGE_TAGALOG,
23928     wxLANGUAGE_TAJIK,
23929     wxLANGUAGE_TAMIL,
23930     wxLANGUAGE_TATAR,
23931     wxLANGUAGE_TELUGU,
23932     wxLANGUAGE_THAI,
23933     wxLANGUAGE_TIBETAN,
23934     wxLANGUAGE_TIGRINYA,
23935     wxLANGUAGE_TONGA,
23936     wxLANGUAGE_TSONGA,
23937     wxLANGUAGE_TURKISH,
23938     wxLANGUAGE_TURKMEN,
23939     wxLANGUAGE_TWI,
23940     wxLANGUAGE_UIGHUR,
23941     wxLANGUAGE_UKRAINIAN,
23942     wxLANGUAGE_URDU,
23943     wxLANGUAGE_URDU_INDIA,
23944     wxLANGUAGE_URDU_PAKISTAN,
23945     wxLANGUAGE_UZBEK,
23946     wxLANGUAGE_UZBEK_CYRILLIC,
23947     wxLANGUAGE_UZBEK_LATIN,
23948     wxLANGUAGE_VIETNAMESE,
23949     wxLANGUAGE_VOLAPUK,
23950     wxLANGUAGE_WELSH,
23951     wxLANGUAGE_WOLOF,
23952     wxLANGUAGE_XHOSA,
23953     wxLANGUAGE_YIDDISH,
23954     wxLANGUAGE_YORUBA,
23955     wxLANGUAGE_ZHUANG,
23956     wxLANGUAGE_ZULU,
23957
23958
23959     wxLANGUAGE_USER_DEFINED
23960 };
23961 # 314 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/intl.h"
23962 struct wxLanguageInfo
23963 {
23964     int Language;
23965     wxString CanonicalName;
23966
23967
23968
23969
23970     wxString Description;
23971 };
23972
23973
23974
23975
23976
23977 enum wxLocaleCategory
23978 {
23979
23980     wxLOCALE_CAT_NUMBER,
23981
23982
23983     wxLOCALE_CAT_DATE,
23984
23985
23986     wxLOCALE_CAT_MONEY,
23987
23988     wxLOCALE_CAT_MAX
23989 };
23990
23991
23992
23993
23994
23995 enum wxLocaleInfo
23996 {
23997
23998     wxLOCALE_THOUSANDS_SEP,
23999
24000
24001     wxLOCALE_DECIMAL_POINT
24002
24003 };
24004
24005
24006
24007
24008
24009
24010 enum wxLocaleInitFlags
24011 {
24012     wxLOCALE_LOAD_DEFAULT = 0x0001,
24013     wxLOCALE_CONV_ENCODING = 0x0002
24014 };
24015
24016 class wxLocale
24017 {
24018 public:
24019
24020
24021
24022
24023     wxLocale() { DoCommonInit(); }
24024
24025
24026     wxLocale(const wxChar *szName,
24027              const wxChar *szShort = (const wxChar *) __null,
24028              const wxChar *szLocale = (const wxChar *) __null,
24029              bool bLoadDefault = true,
24030              bool bConvertEncoding = false)
24031         {
24032             DoCommonInit();
24033
24034             Init(szName, szShort, szLocale, bLoadDefault, bConvertEncoding);
24035         }
24036
24037     wxLocale(int language,
24038              int flags = wxLOCALE_LOAD_DEFAULT | wxLOCALE_CONV_ENCODING)
24039         {
24040             DoCommonInit();
24041
24042             Init(language, flags);
24043         }
24044
24045
24046     bool Init(const wxChar *szName,
24047               const wxChar *szShort = (const wxChar *) __null,
24048               const wxChar *szLocale = (const wxChar *) __null,
24049               bool bLoadDefault = true,
24050               bool bConvertEncoding = false);
24051
24052
24053     bool Init(int language = wxLANGUAGE_DEFAULT,
24054               int flags = wxLOCALE_LOAD_DEFAULT | wxLOCALE_CONV_ENCODING);
24055
24056
24057     ~wxLocale();
24058
24059
24060
24061     static int GetSystemLanguage();
24062
24063
24064
24065     static wxFontEncoding GetSystemEncoding();
24066
24067
24068
24069     static wxString GetSystemEncodingName();
24070
24071
24072
24073     static wxString GetInfo(wxLocaleInfo index, wxLocaleCategory cat);
24074
24075
24076     bool IsOk() const { return m_pszOldLocale != __null; }
24077
24078
24079     const wxChar *GetLocale() const { return m_strLocale; }
24080
24081
24082     int GetLanguage() const { return m_language; }
24083
24084
24085     wxString GetSysName() const;
24086
24087
24088
24089
24090     wxString GetCanonicalName() const { return m_strShort; }
24091
24092
24093
24094
24095
24096
24097     static void AddCatalogLookupPathPrefix(const wxString& prefix);
24098 # 458 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/intl.h"
24099     bool AddCatalog(const wxChar *szDomain);
24100     bool AddCatalog(const wxChar *szDomain,
24101                     wxLanguage msgIdLanguage, const wxChar *msgIdCharset);
24102
24103
24104     bool IsLoaded(const wxChar *szDomain) const;
24105
24106
24107
24108
24109     static const wxLanguageInfo *GetLanguageInfo(int lang);
24110
24111
24112
24113     static wxString GetLanguageName(int lang);
24114
24115
24116
24117
24118
24119
24120     static const wxLanguageInfo *FindLanguageInfo(const wxString& locale);
24121
24122
24123
24124
24125     static void AddLanguage(const wxLanguageInfo& info);
24126 # 497 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/intl.h"
24127     const wxChar *GetString(const wxChar *szOrigString,
24128                             const wxChar *szDomain = __null) const;
24129
24130     const wxChar *GetString(const wxChar *szOrigString,
24131                             const wxChar *szOrigString2,
24132                             size_t n,
24133                             const wxChar *szDomain = __null) const;
24134
24135
24136     const wxString& GetName() const { return m_strShort; }
24137
24138
24139     wxString GetHeaderValue( const wxChar* szHeader,
24140                              const wxChar* szDomain = __null ) const;
24141
24142
24143
24144
24145     static void CreateLanguagesDB();
24146     static void DestroyLanguagesDB();
24147
24148 private:
24149
24150     wxMsgCatalog *FindCatalog(const wxChar *szDomain) const;
24151
24152
24153
24154     static void InitLanguagesDB();
24155
24156
24157     void DoCommonInit();
24158
24159     wxString m_strLocale,
24160                    m_strShort;
24161     int m_language;
24162
24163     const wxChar *m_pszOldLocale;
24164     wxLocale *m_pOldLocale;
24165
24166     wxMsgCatalog *m_pMsgCat;
24167
24168     bool m_bConvertEncoding;
24169
24170     bool m_initialized;
24171
24172     static wxLanguageInfoArray *ms_languagesDB;
24173
24174     private: wxLocale(const wxLocale&); wxLocale& operator=(const wxLocale&);
24175 };
24176
24177
24178
24179
24180
24181
24182 extern wxLocale* wxGetLocale();
24183
24184
24185 inline const wxChar *wxGetTranslation(const wxChar *sz)
24186 {
24187     wxLocale *pLoc = wxGetLocale();
24188     if (pLoc)
24189         return pLoc->GetString(sz);
24190     else
24191         return sz;
24192 }
24193 inline const wxChar *wxGetTranslation(const wxChar *sz1, const wxChar *sz2,
24194                                       size_t n)
24195 {
24196     wxLocale *pLoc = wxGetLocale();
24197     if (pLoc)
24198         return pLoc->GetString(sz1, sz2, n);
24199     else
24200         return n == 1 ? sz1 : sz2;
24201 }
24202 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
24203 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/log.h" 1
24204 # 44 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/log.h"
24205 typedef unsigned long wxTraceMask;
24206 typedef unsigned long wxLogLevel;
24207 # 58 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/log.h"
24208 # 1 "/usr/include/time.h" 1 3 4
24209 # 59 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/log.h" 2
24210 # 76 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/log.h"
24211     class wxTextCtrl;
24212     class wxLogFrame;
24213     class wxFrame;
24214     class wxWindow;
24215
24216
24217
24218
24219
24220
24221
24222 enum
24223 {
24224     wxLOG_FatalError,
24225     wxLOG_Error,
24226     wxLOG_Warning,
24227     wxLOG_Message,
24228     wxLOG_Status,
24229     wxLOG_Info,
24230     wxLOG_Debug,
24231     wxLOG_Trace,
24232     wxLOG_Progress,
24233     wxLOG_User = 100,
24234     wxLOG_Max = 10000
24235 };
24236 # 115 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/log.h"
24237 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/iosfwrap.h" 1
24238 # 116 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/log.h" 2
24239
24240
24241
24242
24243
24244
24245 class wxLog
24246 {
24247 public:
24248
24249     wxLog(){}
24250
24251
24252
24253
24254
24255
24256     static wxChar *SetLogBuffer( wxChar *buf, size_t size = 0 );
24257
24258
24259
24260
24261     static bool IsEnabled() { return ms_doLog; }
24262
24263
24264     static bool EnableLogging(bool doIt = true)
24265     { bool doLogOld = ms_doLog; ms_doLog = doIt; return doLogOld; }
24266
24267
24268
24269     static void OnLog(wxLogLevel level, const wxChar *szString, time_t t)
24270     {
24271         if ( IsEnabled() && ms_logLevel >= level )
24272         {
24273             wxLog *pLogger = GetActiveTarget();
24274             if ( pLogger )
24275                 pLogger->DoLog(level, szString, t);
24276         }
24277     }
24278
24279
24280
24281
24282
24283
24284     virtual void Flush();
24285
24286
24287     static void FlushActive()
24288     {
24289         if ( !ms_suspendCount )
24290         {
24291             wxLog *log = GetActiveTarget();
24292             if ( log )
24293                 log->Flush();
24294         }
24295     }
24296
24297
24298
24299
24300     static wxLog *GetActiveTarget();
24301
24302
24303     static wxLog *SetActiveTarget(wxLog *pLogger);
24304
24305
24306
24307
24308     static void Suspend() { ms_suspendCount++; }
24309
24310
24311     static void Resume() { ms_suspendCount--; }
24312
24313
24314
24315
24316     static void SetVerbose(bool bVerbose = true) { ms_bVerbose = bVerbose; }
24317
24318
24319     static void SetLogLevel(wxLogLevel logLevel) { ms_logLevel = logLevel; }
24320
24321
24322
24323     static void DontCreateOnDemand();
24324
24325
24326     static void SetTraceMask(wxTraceMask ulMask) { ms_ulTraceMask = ulMask; }
24327
24328
24329     static void AddTraceMask(const wxString& str)
24330     { ms_aTraceMasks.push_back(str); }
24331
24332
24333     static void RemoveTraceMask(const wxString& str);
24334
24335
24336     static void ClearTraceMasks();
24337
24338
24339     static const wxArrayString &GetTraceMasks() { return ms_aTraceMasks; }
24340
24341
24342
24343
24344     static void SetTimestamp(const wxChar *ts) { ms_timestamp = ts; }
24345
24346
24347
24348
24349
24350     static bool GetVerbose() { return ms_bVerbose; }
24351
24352
24353     static wxTraceMask GetTraceMask() { return ms_ulTraceMask; }
24354
24355
24356     static bool IsAllowedTraceMask(const wxChar *mask);
24357
24358
24359     static wxLogLevel GetLogLevel() { return ms_logLevel; }
24360
24361
24362     static const wxChar *GetTimestamp() { return ms_timestamp; }
24363
24364
24365
24366
24367
24368
24369     static void TimeStamp(wxString *str);
24370
24371
24372     virtual ~wxLog() { }
24373
24374
24375
24376     bool HasPendingMessages() const { return true; }
24377
24378 protected:
24379
24380
24381
24382
24383     virtual void DoLog(wxLogLevel level, const wxChar *szString, time_t t);
24384
24385
24386
24387     virtual void DoLogString(const wxChar *szString, time_t t);
24388
24389 private:
24390
24391
24392
24393     static wxLog *ms_pLogger;
24394     static bool ms_doLog;
24395     static bool ms_bAutoCreate;
24396     static bool ms_bVerbose;
24397
24398     static wxLogLevel ms_logLevel;
24399
24400     static size_t ms_suspendCount;
24401
24402
24403
24404     static const wxChar *ms_timestamp;
24405
24406     static wxTraceMask ms_ulTraceMask;
24407     static wxArrayString ms_aTraceMasks;
24408 };
24409 # 294 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/log.h"
24410 class wxLogBuffer : public wxLog
24411 {
24412 public:
24413     wxLogBuffer() { }
24414
24415
24416     const wxString& GetBuffer() const { return m_str; }
24417
24418
24419
24420     virtual void Flush();
24421
24422 protected:
24423     virtual void DoLog(wxLogLevel level, const wxChar *szString, time_t t);
24424     virtual void DoLogString(const wxChar *szString, time_t t);
24425
24426 private:
24427     wxString m_str;
24428
24429     private: wxLogBuffer(const wxLogBuffer&); wxLogBuffer& operator=(const wxLogBuffer&);
24430 };
24431
24432
24433
24434
24435 class wxLogStderr : public wxLog
24436 {
24437 public:
24438
24439     wxLogStderr(FILE *fp = (FILE *) __null);
24440
24441 protected:
24442
24443     virtual void DoLogString(const wxChar *szString, time_t t);
24444
24445     FILE *m_fp;
24446
24447     private: wxLogStderr(const wxLogStderr&); wxLogStderr& operator=(const wxLogStderr&);
24448 };
24449
24450
24451
24452
24453 class wxLogStream : public wxLog
24454 {
24455 public:
24456
24457     wxLogStream(std:: ostream *ostr = (std:: ostream *) __null);
24458
24459 protected:
24460
24461     virtual void DoLogString(const wxChar *szString, time_t t);
24462
24463
24464     std:: ostream *m_ostr;
24465 };
24466 # 373 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/log.h"
24467 class wxLogNull
24468 {
24469 public:
24470     wxLogNull() : m_flagOld(wxLog::EnableLogging(false)) { }
24471     ~wxLogNull() { (void)wxLog::EnableLogging(m_flagOld); }
24472
24473 private:
24474     bool m_flagOld;
24475 };
24476 # 392 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/log.h"
24477 class wxLogChain : public wxLog
24478 {
24479 public:
24480     wxLogChain(wxLog *logger);
24481     virtual ~wxLogChain();
24482
24483
24484     void SetLog(wxLog *logger);
24485
24486
24487
24488     void PassMessages(bool bDoPass) { m_bPassMessages = bDoPass; }
24489
24490
24491     bool IsPassingMessages() const { return m_bPassMessages; }
24492
24493
24494     wxLog *GetOldLog() const { return m_logOld; }
24495
24496
24497     virtual void Flush();
24498
24499 protected:
24500
24501     virtual void DoLog(wxLogLevel level, const wxChar *szString, time_t t);
24502
24503 private:
24504
24505     wxLog *m_logNew;
24506
24507
24508     wxLog *m_logOld;
24509
24510
24511     bool m_bPassMessages;
24512
24513     private: wxLogChain(const wxLogChain&); wxLogChain& operator=(const wxLogChain&);
24514 };
24515
24516
24517 class wxLogPassThrough : public wxLogChain
24518 {
24519 public:
24520     wxLogPassThrough();
24521
24522 private:
24523     private: wxLogPassThrough(const wxLogPassThrough&); wxLogPassThrough& operator=(const wxLogPassThrough&);
24524 };
24525
24526
24527
24528 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/logg.h" 1
24529 # 30 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/logg.h"
24530 class wxLogTextCtrl : public wxLog
24531 {
24532 public:
24533     wxLogTextCtrl(wxTextCtrl *pTextCtrl);
24534
24535 private:
24536
24537     virtual void DoLogString(const wxChar *szString, time_t t);
24538
24539
24540     wxTextCtrl *m_pTextCtrl;
24541
24542     private: wxLogTextCtrl(const wxLogTextCtrl&); wxLogTextCtrl& operator=(const wxLogTextCtrl&);
24543 };
24544 # 53 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/logg.h"
24545 class wxLogGui : public wxLog
24546 {
24547 public:
24548
24549     wxLogGui();
24550
24551
24552     virtual void Flush();
24553
24554 protected:
24555     virtual void DoLog(wxLogLevel level, const wxChar *szString, time_t t);
24556
24557
24558     void Clear();
24559
24560     wxArrayString m_aMessages;
24561     wxArrayInt m_aSeverity;
24562     wxArrayLong m_aTimes;
24563     bool m_bErrors,
24564                   m_bWarnings,
24565                   m_bHasMessages;
24566
24567 };
24568 # 88 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/logg.h"
24569 class wxLogWindow : public wxLogPassThrough
24570 {
24571 public:
24572     wxLogWindow(wxWindow *pParent,
24573                 const wxChar *szTitle,
24574                 bool bShow = true,
24575                 bool bPassToOld = true);
24576
24577     ~wxLogWindow();
24578
24579
24580
24581     void Show(bool bShow = true);
24582
24583     wxFrame *GetFrame() const;
24584
24585
24586
24587
24588     virtual void OnFrameCreate(wxFrame *frame);
24589
24590
24591
24592
24593     virtual bool OnFrameClose(wxFrame *frame);
24594
24595
24596     virtual void OnFrameDelete(wxFrame *frame);
24597
24598 protected:
24599     virtual void DoLog(wxLogLevel level, const wxChar *szString, time_t t);
24600     virtual void DoLogString(const wxChar *szString, time_t t);
24601
24602 private:
24603     wxLogFrame *m_pLogFrame;
24604
24605     private: wxLogWindow(const wxLogWindow&); wxLogWindow& operator=(const wxLogWindow&);
24606 };
24607 # 444 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/log.h" 2
24608 # 460 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/log.h"
24609  unsigned long wxSysErrorCode();
24610
24611
24612  const wxChar* wxSysErrorMsg(unsigned long nErrCode = 0);
24613 # 517 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/log.h"
24614 extern void wxVLogGeneric(wxLogLevel level, const wxChar *szFormat, va_list argptr); extern void wxLogGeneric(wxLogLevel level, const wxChar *szFormat, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
24615
24616
24617 extern void wxVLogFatalError(const wxChar *szFormat, va_list argptr); extern void wxLogFatalError(const wxChar *szFormat, ...) __attribute__ ((__format__ (__printf__, 1, 2)));
24618 extern void wxVLogError(const wxChar *szFormat, va_list argptr); extern void wxLogError(const wxChar *szFormat, ...) __attribute__ ((__format__ (__printf__, 1, 2)));
24619 extern void wxVLogWarning(const wxChar *szFormat, va_list argptr); extern void wxLogWarning(const wxChar *szFormat, ...) __attribute__ ((__format__ (__printf__, 1, 2)));
24620 extern void wxVLogMessage(const wxChar *szFormat, va_list argptr); extern void wxLogMessage(const wxChar *szFormat, ...) __attribute__ ((__format__ (__printf__, 1, 2)));
24621 extern void wxVLogInfo(const wxChar *szFormat, va_list argptr); extern void wxLogInfo(const wxChar *szFormat, ...) __attribute__ ((__format__ (__printf__, 1, 2)));
24622 extern void wxVLogVerbose(const wxChar *szFormat, va_list argptr); extern void wxLogVerbose(const wxChar *szFormat, ...) __attribute__ ((__format__ (__printf__, 1, 2)));
24623
24624
24625
24626 extern void wxVLogStatus(const wxChar *szFormat, va_list argptr); extern void wxLogStatus(const wxChar *szFormat, ...) __attribute__ ((__format__ (__printf__, 1, 2)));
24627
24628
24629
24630     class wxFrame;
24631
24632     extern void wxVLogStatus(wxFrame * pFrame, const wxChar *szFormat, va_list argptr); extern void wxLogStatus(wxFrame * pFrame, const wxChar *szFormat, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
24633
24634
24635
24636
24637 extern void wxVLogSysError(const wxChar *szFormat, va_list argptr); extern void wxLogSysError(const wxChar *szFormat, ...) __attribute__ ((__format__ (__printf__, 1, 2)));
24638
24639
24640
24641 extern void wxVLogSysError(long lErrCode, const wxChar *szFormat, va_list argptr); extern void wxLogSysError(long lErrCode, const wxChar *szFormat, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
24642 # 564 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/log.h"
24643     inline void wxVLogDebug(const wxChar *, va_list) { }
24644     inline void wxLogDebug(const wxChar *, ...) { }
24645     inline void wxVLogTrace(wxTraceMask, const wxChar *, va_list) { }
24646     inline void wxLogTrace(wxTraceMask, const wxChar *, ...) { }
24647     inline void wxVLogTrace(const wxChar *, const wxChar *, va_list) { }
24648     inline void wxLogTrace(const wxChar *, const wxChar *, ...) { }
24649
24650
24651
24652
24653 void
24654 wxSafeShowMessage(const wxString& title, const wxString& text);
24655 # 600 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/log.h"
24656     inline void wxLogApiError(const wxChar *, long) { }
24657     inline void wxLogLastError(const wxChar *) { }
24658 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
24659 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h" 1
24660 # 28 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
24661 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/clntdata.h" 1
24662 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/clntdata.h"
24663 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/hashmap.h" 1
24664 # 49 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/hashmap.h"
24665 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
24666 # 50 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/hashmap.h" 2
24667
24668
24669
24670 struct _wxHashTable_NodeBase
24671 {
24672     _wxHashTable_NodeBase() : m_nxt(0) {}
24673
24674     _wxHashTable_NodeBase* m_nxt;
24675
24676
24677
24678
24679 };
24680
24681
24682 class _wxHashTableBase2
24683 {
24684 public:
24685     typedef void (*NodeDtor)(_wxHashTable_NodeBase*);
24686     typedef unsigned long (*BucketFromNode)(_wxHashTableBase2*,_wxHashTable_NodeBase*);
24687     typedef _wxHashTable_NodeBase* (*ProcessNode)(_wxHashTable_NodeBase*);
24688 protected:
24689     static _wxHashTable_NodeBase* DummyProcessNode(_wxHashTable_NodeBase* node);
24690     static void DeleteNodes( size_t buckets, _wxHashTable_NodeBase** table,
24691                              NodeDtor dtor );
24692     static _wxHashTable_NodeBase* GetFirstNode( size_t buckets,
24693                                                 _wxHashTable_NodeBase** table )
24694     {
24695         for( size_t i = 0; i < buckets; ++i )
24696             if( table[i] )
24697                 return table[i];
24698         return 0;
24699     }
24700
24701
24702     enum { prime_count = 31 };
24703     static const unsigned long ms_primes[prime_count];
24704
24705
24706     static unsigned long GetNextPrime( unsigned long n );
24707
24708
24709
24710     static unsigned long GetPreviousPrime( unsigned long n );
24711
24712     static void CopyHashTable( _wxHashTable_NodeBase** srcTable,
24713                                size_t srcBuckets, _wxHashTableBase2* dst,
24714                                _wxHashTable_NodeBase** dstTable,
24715                                BucketFromNode func, ProcessNode proc );
24716
24717     static void** AllocTable( size_t sz )
24718     {
24719         return (void **)calloc(sz, sizeof(void*));
24720     }
24721     static void FreeTable(void *table)
24722     {
24723         free(table);
24724     }
24725 };
24726 # 440 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/hashmap.h"
24727 inline bool never_grow( size_t, size_t ) { return false; }
24728 inline bool never_shrink( size_t, size_t ) { return false; }
24729 inline bool grow_lf70( size_t buckets, size_t items )
24730 {
24731     return float(items)/float(buckets) >= 0.85;
24732 }
24733 # 496 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/hashmap.h"
24734 class wxIntegerHash
24735 {
24736 public:
24737     wxIntegerHash() { }
24738     unsigned long operator()( long x ) const { return (unsigned long)x; }
24739     unsigned long operator()( unsigned long x ) const { return x; }
24740     unsigned long operator()( int x ) const { return (unsigned long)x; }
24741     unsigned long operator()( unsigned int x ) const { return x; }
24742     unsigned long operator()( short x ) const { return (unsigned long)x; }
24743     unsigned long operator()( unsigned short x ) const { return x; }
24744
24745
24746
24747
24748
24749     wxIntegerHash& operator=(const wxIntegerHash&) { return *this; }
24750 };
24751
24752
24753
24754 class wxIntegerEqual
24755 {
24756 public:
24757     wxIntegerEqual() { }
24758     bool operator()( long a, long b ) const { return a == b; }
24759     bool operator()( unsigned long a, unsigned long b ) const { return a == b; }
24760     bool operator()( int a, int b ) const { return a == b; }
24761     bool operator()( unsigned int a, unsigned int b ) const { return a == b; }
24762     bool operator()( short a, short b ) const { return a == b; }
24763     bool operator()( unsigned short a, unsigned short b ) const { return a == b; }
24764
24765
24766
24767
24768
24769     wxIntegerEqual& operator=(const wxIntegerEqual&) { return *this; }
24770 };
24771
24772
24773 class wxPointerHash
24774 {
24775 public:
24776     wxPointerHash() { }
24777
24778
24779
24780
24781     wxUIntPtr operator()( const void* k ) const { return wxPtrToUInt(k); }
24782
24783
24784     wxPointerHash& operator=(const wxPointerHash&) { return *this; }
24785 };
24786
24787 class wxPointerEqual
24788 {
24789 public:
24790     wxPointerEqual() { }
24791     bool operator()( const void* a, const void* b ) const { return a == b; }
24792
24793     wxPointerEqual& operator=(const wxPointerEqual&) { return *this; }
24794 };
24795
24796
24797 class wxStringHash
24798 {
24799 public:
24800     wxStringHash() {}
24801     unsigned long operator()( const wxString& x ) const
24802         { return wxCharStringHash( x.c_str() ); }
24803     unsigned long operator()( const wxChar* x ) const
24804         { return wxCharStringHash( x ); }
24805     static unsigned long wxCharStringHash( const wxChar* );
24806
24807
24808
24809
24810
24811
24812     wxStringHash& operator=(const wxStringHash&) { return *this; }
24813 };
24814
24815 class wxStringEqual
24816 {
24817 public:
24818     wxStringEqual() {}
24819     bool operator()( const wxString& a, const wxString& b ) const
24820         { return a == b; }
24821     bool operator()( const wxChar* a, const wxChar* b ) const
24822         { return strcmp( a, b ) == 0; }
24823
24824
24825
24826
24827
24828     wxStringEqual& operator=(const wxStringEqual&) { return *this; }
24829 };
24830 # 705 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/hashmap.h"
24831 class wxLongToLongHashMap_wxImplementation_Pair { public: typedef long t1; typedef long t2; typedef const long const_t1; typedef const long const_t2; wxLongToLongHashMap_wxImplementation_Pair( const const_t1& f, const const_t2& s ):first(t1(f)),second(t2(s)) {} t1 first; t2 second; }; class wxLongToLongHashMap_wxImplementation_KeyEx { typedef long key_type; typedef wxLongToLongHashMap_wxImplementation_Pair pair_type; typedef const key_type const_key_type; typedef const pair_type const_pair_type; typedef const_key_type& const_key_reference; typedef const_pair_type& const_pair_reference; public: wxLongToLongHashMap_wxImplementation_KeyEx() { } const_key_reference operator()( const_pair_reference pair ) const { return pair.first; } wxLongToLongHashMap_wxImplementation_KeyEx& operator=(const wxLongToLongHashMap_wxImplementation_KeyEx&) { return *this; } }; class wxLongToLongHashMap_wxImplementation_HashTable : protected _wxHashTableBase2 { public: typedef long key_type; typedef wxLongToLongHashMap_wxImplementation_Pair value_type; typedef wxIntegerHash hasher; typedef wxIntegerEqual key_equal; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type& reference; typedef const value_type& const_reference; typedef const long const_key_type; typedef const wxLongToLongHashMap_wxImplementation_Pair const_mapped_type; public: struct Node; typedef wxLongToLongHashMap_wxImplementation_KeyEx key_extractor; typedef wxLongToLongHashMap_wxImplementation_HashTable Self; protected: Node** m_table; size_t m_tableBuckets; size_t m_items; hasher m_hasher; key_equal m_equals; key_extractor m_getKey; public: struct Node:public _wxHashTable_NodeBase { public: Node( const value_type& value ) : m_value( value ) {} Node* m_next() { return (Node*)this->m_nxt; } value_type m_value; }; class Iterator; friend class Iterator; protected: static void DeleteNode( _wxHashTable_NodeBase* node ) { delete (Node*)node; } public: class Iterator { public: Node* m_node; Self* m_ht; Iterator() : m_node(0), m_ht(0) {} Iterator( Node* node, const Self* ht ) : m_node(node), m_ht((Self*)ht) {} bool operator ==( const Iterator& it ) const { return m_node == it.m_node; } bool operator !=( const Iterator& it ) const { return m_node != it.m_node; } protected: Node* GetNextNode() { size_type bucket = GetBucketForNode(m_ht,m_node); for( size_type i = bucket + 1; i < m_ht->m_tableBuckets; ++i ) { if( m_ht->m_table[i] ) return m_ht->m_table[i]; } return 0; } void PlusPlus() { Node* next = m_node->m_next(); m_node = next ? next : GetNextNode(); } }; public: class iterator : public Iterator { public: iterator() : Iterator() {} iterator( Node* node, Self* ht ) : Iterator( node, ht ) {} iterator& operator++() { PlusPlus(); return *this; } iterator operator++(int) { iterator it=*this;PlusPlus();return it; } reference operator *() const { return m_node->m_value; } pointer operator ->() const { return &(m_node->m_value); } }; class const_iterator : public Iterator { public: const_iterator() : Iterator() {} const_iterator( Node* node, const Self* ht ) : Iterator( node, (Self*)ht ) {} const_iterator& operator++() { PlusPlus();return *this; } const_iterator operator++(int) { const_iterator it=*this;PlusPlus();return it; } const_reference operator *() const { return m_node->m_value; } const_pointer operator ->() const { return &(m_node->m_value); } }; wxLongToLongHashMap_wxImplementation_HashTable( size_type sz = 10, const hasher& hfun = hasher(), const key_equal& k_eq = key_equal(), const key_extractor& k_ex = key_extractor() ) : m_tableBuckets( GetNextPrime( (unsigned long) sz ) ), m_items( 0 ), m_hasher( hfun ), m_equals( k_eq ), m_getKey( k_ex ) { m_table = (Node**)AllocTable( m_tableBuckets ); } wxLongToLongHashMap_wxImplementation_HashTable( const Self& ht ) : m_table( 0 ), m_tableBuckets( 0 ), m_items( ht.m_items ), m_hasher( ht.m_hasher ), m_equals( ht.m_equals ), m_getKey( ht.m_getKey ) { HashCopy( ht ); } const Self& operator=( const Self& ht ) { clear(); m_hasher = ht.m_hasher; m_equals = ht.m_equals; m_getKey = ht.m_getKey; m_items = ht.m_items; HashCopy( ht ); return *this; } ~wxLongToLongHashMap_wxImplementation_HashTable() { clear(); FreeTable(m_table); } hasher hash_funct() { return m_hasher; } key_equal key_eq() { return m_equals; } void clear() { DeleteNodes( m_tableBuckets, (_wxHashTable_NodeBase**)m_table, DeleteNode ); m_items = 0; } size_type size() const { return m_items; } size_type max_size() const { return size_type(-1); } bool empty() const { return size() == 0; } const_iterator end() const { return const_iterator( 0, this ); } iterator end() { return iterator( 0, this ); } const_iterator begin() const { return const_iterator( (Node*)GetFirstNode( m_tableBuckets, (_wxHashTable_NodeBase**)m_table ), this ); }; iterator begin() { return iterator( (Node*)GetFirstNode( m_tableBuckets, (_wxHashTable_NodeBase**)m_table ), this ); }; size_type erase( const const_key_type& key ) { Node** node = GetNodePtr( key ); if( !node ) return 0; --m_items; Node* temp = (*node)->m_next(); delete *node; (*node) = temp; if( never_shrink( m_tableBuckets, m_items ) ) ResizeTable( GetPreviousPrime( (unsigned long) m_tableBuckets ) - 1 ); return 1; } protected: static size_type GetBucketForNode( Self* ht, Node* node ) { return ht->m_hasher( ht->m_getKey( node->m_value ) ) % ht->m_tableBuckets; } static Node* CopyNode( Node* node ) { return new Node( *node ); } Node* GetOrCreateNode( const value_type& value, bool& created ) { const const_key_type& key = m_getKey( value ); size_t bucket = m_hasher( key ) % m_tableBuckets; Node* node = m_table[bucket]; while( node ) { if( m_equals( m_getKey( node->m_value ), key ) ) { created = false; return node; } node = node->m_next(); } created = true; return CreateNode( value, bucket); } Node * CreateNode( const value_type& value, size_t bucket ) { Node* node = new Node( value ); node->m_nxt = m_table[bucket]; m_table[bucket] = node; ++m_items; if( grow_lf70( m_tableBuckets, m_items ) ) ResizeTable( m_tableBuckets ); return node; } void CreateNode( const value_type& value ) { CreateNode(value, m_hasher( m_getKey(value) ) % m_tableBuckets ); } Node** GetNodePtr( const const_key_type& key ) const { size_t bucket = m_hasher( key ) % m_tableBuckets; Node** node = &m_table[bucket]; while( *node ) { if( m_equals( m_getKey( (*node)->m_value ), key ) ) return node; node = (Node**)&(*node)->m_nxt; } return 0; } Node* GetNode( const const_key_type& key ) const { size_t bucket = m_hasher( key ) % m_tableBuckets; Node* node = m_table[bucket]; while( node ) { if( m_equals( m_getKey( node->m_value ), key ) ) return node; node = node->m_next(); } return 0; } void ResizeTable( size_t newSize ) { newSize = GetNextPrime( (unsigned long)newSize ); Node** srcTable = m_table; size_t srcBuckets = m_tableBuckets; m_table = (Node**)AllocTable( newSize ); m_tableBuckets = newSize; CopyHashTable( (_wxHashTable_NodeBase**)srcTable, srcBuckets, this, (_wxHashTable_NodeBase**)m_table, (BucketFromNode)GetBucketForNode, (ProcessNode)&DummyProcessNode ); FreeTable(srcTable); } void HashCopy( const Self& ht ) { ResizeTable( ht.size() ); CopyHashTable( (_wxHashTable_NodeBase**)ht.m_table, ht.m_tableBuckets, (_wxHashTableBase2*)this, (_wxHashTable_NodeBase**)m_table, (BucketFromNode)GetBucketForNode, (ProcessNode)CopyNode ); } }; class wxLongToLongHashMap:public wxLongToLongHashMap_wxImplementation_HashTable { public: typedef long mapped_type; class Insert_Result { public: typedef iterator t1; typedef bool t2; typedef const iterator const_t1; typedef const bool const_t2; Insert_Result( const const_t1& f, const const_t2& s ):first(t1(f)),second(t2(s)) {} t1 first; t2 second; }; explicit wxLongToLongHashMap( size_type hint = 100, hasher hf = hasher(), key_equal eq = key_equal() ) : wxLongToLongHashMap_wxImplementation_HashTable( hint, hf, eq, wxLongToLongHashMap_wxImplementation_KeyEx() ) {} mapped_type& operator[]( const const_key_type& key ) { bool created; return GetOrCreateNode( wxLongToLongHashMap_wxImplementation_Pair( key, mapped_type() ), created)->m_value.second; } const_iterator find( const const_key_type& key ) const { return const_iterator( GetNode( key ), this ); } iterator find( const const_key_type& key ) { return iterator( GetNode( key ), this ); } Insert_Result insert( const value_type& v ) { bool created; Node *node = GetOrCreateNode( wxLongToLongHashMap_wxImplementation_Pair( v.first, v.second ), created); if ( !created ) node->m_value.second = v.second; return Insert_Result(iterator(node, this), created); } size_type erase( const key_type& k ) { return wxLongToLongHashMap_wxImplementation_HashTable::erase( k ); } void erase( const iterator& it ) { erase( it->first ); } void erase( const const_iterator& it ) { erase( it->first ); } size_type count( const const_key_type& key ) { return GetNode( key ) ? 1 : 0; } };
24832 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/clntdata.h" 2
24833
24834
24835
24836 typedef int (*wxShadowObjectMethod)(void*, void*);
24837 class wxShadowObjectMethods_wxImplementation_Pair { public: typedef wxString t1; typedef wxShadowObjectMethod t2; typedef const wxString const_t1; typedef const wxShadowObjectMethod const_t2; wxShadowObjectMethods_wxImplementation_Pair( const const_t1& f, const const_t2& s ):first(t1(f)),second(t2(s)) {} t1 first; t2 second; }; class wxShadowObjectMethods_wxImplementation_KeyEx { typedef wxString key_type; typedef wxShadowObjectMethods_wxImplementation_Pair pair_type; typedef const key_type const_key_type; typedef const pair_type const_pair_type; typedef const_key_type& const_key_reference; typedef const_pair_type& const_pair_reference; public: wxShadowObjectMethods_wxImplementation_KeyEx() { } const_key_reference operator()( const_pair_reference pair ) const { return pair.first; } wxShadowObjectMethods_wxImplementation_KeyEx& operator=(const wxShadowObjectMethods_wxImplementation_KeyEx&) { return *this; } }; class wxShadowObjectMethods_wxImplementation_HashTable : protected _wxHashTableBase2 { public: typedef wxString key_type; typedef wxShadowObjectMethods_wxImplementation_Pair value_type; typedef wxStringHash hasher; typedef wxStringEqual key_equal; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type& reference; typedef const value_type& const_reference; typedef const wxString const_key_type; typedef const wxShadowObjectMethods_wxImplementation_Pair const_mapped_type; public: struct Node; typedef wxShadowObjectMethods_wxImplementation_KeyEx key_extractor; typedef wxShadowObjectMethods_wxImplementation_HashTable Self; protected: Node** m_table; size_t m_tableBuckets; size_t m_items; hasher m_hasher; key_equal m_equals; key_extractor m_getKey; public: struct Node:public _wxHashTable_NodeBase { public: Node( const value_type& value ) : m_value( value ) {} Node* m_next() { return (Node*)this->m_nxt; } value_type m_value; }; class Iterator; friend class Iterator; protected: static void DeleteNode( _wxHashTable_NodeBase* node ) { delete (Node*)node; } public: class Iterator { public: Node* m_node; Self* m_ht; Iterator() : m_node(0), m_ht(0) {} Iterator( Node* node, const Self* ht ) : m_node(node), m_ht((Self*)ht) {} bool operator ==( const Iterator& it ) const { return m_node == it.m_node; } bool operator !=( const Iterator& it ) const { return m_node != it.m_node; } protected: Node* GetNextNode() { size_type bucket = GetBucketForNode(m_ht,m_node); for( size_type i = bucket + 1; i < m_ht->m_tableBuckets; ++i ) { if( m_ht->m_table[i] ) return m_ht->m_table[i]; } return 0; } void PlusPlus() { Node* next = m_node->m_next(); m_node = next ? next : GetNextNode(); } }; public: class iterator : public Iterator { public: iterator() : Iterator() {} iterator( Node* node, Self* ht ) : Iterator( node, ht ) {} iterator& operator++() { PlusPlus(); return *this; } iterator operator++(int) { iterator it=*this;PlusPlus();return it; } reference operator *() const { return m_node->m_value; } pointer operator ->() const { return &(m_node->m_value); } }; class const_iterator : public Iterator { public: const_iterator() : Iterator() {} const_iterator( Node* node, const Self* ht ) : Iterator( node, (Self*)ht ) {} const_iterator& operator++() { PlusPlus();return *this; } const_iterator operator++(int) { const_iterator it=*this;PlusPlus();return it; } const_reference operator *() const { return m_node->m_value; } const_pointer operator ->() const { return &(m_node->m_value); } }; wxShadowObjectMethods_wxImplementation_HashTable( size_type sz = 10, const hasher& hfun = hasher(), const key_equal& k_eq = key_equal(), const key_extractor& k_ex = key_extractor() ) : m_tableBuckets( GetNextPrime( (unsigned long) sz ) ), m_items( 0 ), m_hasher( hfun ), m_equals( k_eq ), m_getKey( k_ex ) { m_table = (Node**)AllocTable( m_tableBuckets ); } wxShadowObjectMethods_wxImplementation_HashTable( const Self& ht ) : m_table( 0 ), m_tableBuckets( 0 ), m_items( ht.m_items ), m_hasher( ht.m_hasher ), m_equals( ht.m_equals ), m_getKey( ht.m_getKey ) { HashCopy( ht ); } const Self& operator=( const Self& ht ) { clear(); m_hasher = ht.m_hasher; m_equals = ht.m_equals; m_getKey = ht.m_getKey; m_items = ht.m_items; HashCopy( ht ); return *this; } ~wxShadowObjectMethods_wxImplementation_HashTable() { clear(); FreeTable(m_table); } hasher hash_funct() { return m_hasher; } key_equal key_eq() { return m_equals; } void clear() { DeleteNodes( m_tableBuckets, (_wxHashTable_NodeBase**)m_table, DeleteNode ); m_items = 0; } size_type size() const { return m_items; } size_type max_size() const { return size_type(-1); } bool empty() const { return size() == 0; } const_iterator end() const { return const_iterator( 0, this ); } iterator end() { return iterator( 0, this ); } const_iterator begin() const { return const_iterator( (Node*)GetFirstNode( m_tableBuckets, (_wxHashTable_NodeBase**)m_table ), this ); }; iterator begin() { return iterator( (Node*)GetFirstNode( m_tableBuckets, (_wxHashTable_NodeBase**)m_table ), this ); }; size_type erase( const const_key_type& key ) { Node** node = GetNodePtr( key ); if( !node ) return 0; --m_items; Node* temp = (*node)->m_next(); delete *node; (*node) = temp; if( never_shrink( m_tableBuckets, m_items ) ) ResizeTable( GetPreviousPrime( (unsigned long) m_tableBuckets ) - 1 ); return 1; } protected: static size_type GetBucketForNode( Self* ht, Node* node ) { return ht->m_hasher( ht->m_getKey( node->m_value ) ) % ht->m_tableBuckets; } static Node* CopyNode( Node* node ) { return new Node( *node ); } Node* GetOrCreateNode( const value_type& value, bool& created ) { const const_key_type& key = m_getKey( value ); size_t bucket = m_hasher( key ) % m_tableBuckets; Node* node = m_table[bucket]; while( node ) { if( m_equals( m_getKey( node->m_value ), key ) ) { created = false; return node; } node = node->m_next(); } created = true; return CreateNode( value, bucket); } Node * CreateNode( const value_type& value, size_t bucket ) { Node* node = new Node( value ); node->m_nxt = m_table[bucket]; m_table[bucket] = node; ++m_items; if( grow_lf70( m_tableBuckets, m_items ) ) ResizeTable( m_tableBuckets ); return node; } void CreateNode( const value_type& value ) { CreateNode(value, m_hasher( m_getKey(value) ) % m_tableBuckets ); } Node** GetNodePtr( const const_key_type& key ) const { size_t bucket = m_hasher( key ) % m_tableBuckets; Node** node = &m_table[bucket]; while( *node ) { if( m_equals( m_getKey( (*node)->m_value ), key ) ) return node; node = (Node**)&(*node)->m_nxt; } return 0; } Node* GetNode( const const_key_type& key ) const { size_t bucket = m_hasher( key ) % m_tableBuckets; Node* node = m_table[bucket]; while( node ) { if( m_equals( m_getKey( node->m_value ), key ) ) return node; node = node->m_next(); } return 0; } void ResizeTable( size_t newSize ) { newSize = GetNextPrime( (unsigned long)newSize ); Node** srcTable = m_table; size_t srcBuckets = m_tableBuckets; m_table = (Node**)AllocTable( newSize ); m_tableBuckets = newSize; CopyHashTable( (_wxHashTable_NodeBase**)srcTable, srcBuckets, this, (_wxHashTable_NodeBase**)m_table, (BucketFromNode)GetBucketForNode, (ProcessNode)&DummyProcessNode ); FreeTable(srcTable); } void HashCopy( const Self& ht ) { ResizeTable( ht.size() ); CopyHashTable( (_wxHashTable_NodeBase**)ht.m_table, ht.m_tableBuckets, (_wxHashTableBase2*)this, (_wxHashTable_NodeBase**)m_table, (BucketFromNode)GetBucketForNode, (ProcessNode)CopyNode ); } }; class wxShadowObjectMethods:public wxShadowObjectMethods_wxImplementation_HashTable { public: typedef wxShadowObjectMethod mapped_type; class Insert_Result { public: typedef iterator t1; typedef bool t2; typedef const iterator const_t1; typedef const bool const_t2; Insert_Result( const const_t1& f, const const_t2& s ):first(t1(f)),second(t2(s)) {} t1 first; t2 second; }; explicit wxShadowObjectMethods( size_type hint = 100, hasher hf = hasher(), key_equal eq = key_equal() ) : wxShadowObjectMethods_wxImplementation_HashTable( hint, hf, eq, wxShadowObjectMethods_wxImplementation_KeyEx() ) {} mapped_type& operator[]( const const_key_type& key ) { bool created; return GetOrCreateNode( wxShadowObjectMethods_wxImplementation_Pair( key, mapped_type() ), created)->m_value.second; } const_iterator find( const const_key_type& key ) const { return const_iterator( GetNode( key ), this ); } iterator find( const const_key_type& key ) { return iterator( GetNode( key ), this ); } Insert_Result insert( const value_type& v ) { bool created; Node *node = GetOrCreateNode( wxShadowObjectMethods_wxImplementation_Pair( v.first, v.second ), created); if ( !created ) node->m_value.second = v.second; return Insert_Result(iterator(node, this), created); } size_type erase( const key_type& k ) { return wxShadowObjectMethods_wxImplementation_HashTable::erase( k ); } void erase( const iterator& it ) { erase( it->first ); } void erase( const const_iterator& it ) { erase( it->first ); } size_type count( const const_key_type& key ) { return GetNode( key ) ? 1 : 0; } };
24838
24839
24840
24841
24842 class wxShadowObjectFields_wxImplementation_Pair { public: typedef wxString t1; typedef void * t2; typedef const wxString const_t1; typedef const void * const_t2; wxShadowObjectFields_wxImplementation_Pair( const const_t1& f, const const_t2& s ):first(t1(f)),second(t2(s)) {} t1 first; t2 second; }; class wxShadowObjectFields_wxImplementation_KeyEx { typedef wxString key_type; typedef wxShadowObjectFields_wxImplementation_Pair pair_type; typedef const key_type const_key_type; typedef const pair_type const_pair_type; typedef const_key_type& const_key_reference; typedef const_pair_type& const_pair_reference; public: wxShadowObjectFields_wxImplementation_KeyEx() { } const_key_reference operator()( const_pair_reference pair ) const { return pair.first; } wxShadowObjectFields_wxImplementation_KeyEx& operator=(const wxShadowObjectFields_wxImplementation_KeyEx&) { return *this; } }; class wxShadowObjectFields_wxImplementation_HashTable : protected _wxHashTableBase2 { public: typedef wxString key_type; typedef wxShadowObjectFields_wxImplementation_Pair value_type; typedef wxStringHash hasher; typedef wxStringEqual key_equal; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type& reference; typedef const value_type& const_reference; typedef const wxString const_key_type; typedef const wxShadowObjectFields_wxImplementation_Pair const_mapped_type; public: struct Node; typedef wxShadowObjectFields_wxImplementation_KeyEx key_extractor; typedef wxShadowObjectFields_wxImplementation_HashTable Self; protected: Node** m_table; size_t m_tableBuckets; size_t m_items; hasher m_hasher; key_equal m_equals; key_extractor m_getKey; public: struct Node:public _wxHashTable_NodeBase { public: Node( const value_type& value ) : m_value( value ) {} Node* m_next() { return (Node*)this->m_nxt; } value_type m_value; }; class Iterator; friend class Iterator; protected: static void DeleteNode( _wxHashTable_NodeBase* node ) { delete (Node*)node; } public: class Iterator { public: Node* m_node; Self* m_ht; Iterator() : m_node(0), m_ht(0) {} Iterator( Node* node, const Self* ht ) : m_node(node), m_ht((Self*)ht) {} bool operator ==( const Iterator& it ) const { return m_node == it.m_node; } bool operator !=( const Iterator& it ) const { return m_node != it.m_node; } protected: Node* GetNextNode() { size_type bucket = GetBucketForNode(m_ht,m_node); for( size_type i = bucket + 1; i < m_ht->m_tableBuckets; ++i ) { if( m_ht->m_table[i] ) return m_ht->m_table[i]; } return 0; } void PlusPlus() { Node* next = m_node->m_next(); m_node = next ? next : GetNextNode(); } }; public: class iterator : public Iterator { public: iterator() : Iterator() {} iterator( Node* node, Self* ht ) : Iterator( node, ht ) {} iterator& operator++() { PlusPlus(); return *this; } iterator operator++(int) { iterator it=*this;PlusPlus();return it; } reference operator *() const { return m_node->m_value; } pointer operator ->() const { return &(m_node->m_value); } }; class const_iterator : public Iterator { public: const_iterator() : Iterator() {} const_iterator( Node* node, const Self* ht ) : Iterator( node, (Self*)ht ) {} const_iterator& operator++() { PlusPlus();return *this; } const_iterator operator++(int) { const_iterator it=*this;PlusPlus();return it; } const_reference operator *() const { return m_node->m_value; } const_pointer operator ->() const { return &(m_node->m_value); } }; wxShadowObjectFields_wxImplementation_HashTable( size_type sz = 10, const hasher& hfun = hasher(), const key_equal& k_eq = key_equal(), const key_extractor& k_ex = key_extractor() ) : m_tableBuckets( GetNextPrime( (unsigned long) sz ) ), m_items( 0 ), m_hasher( hfun ), m_equals( k_eq ), m_getKey( k_ex ) { m_table = (Node**)AllocTable( m_tableBuckets ); } wxShadowObjectFields_wxImplementation_HashTable( const Self& ht ) : m_table( 0 ), m_tableBuckets( 0 ), m_items( ht.m_items ), m_hasher( ht.m_hasher ), m_equals( ht.m_equals ), m_getKey( ht.m_getKey ) { HashCopy( ht ); } const Self& operator=( const Self& ht ) { clear(); m_hasher = ht.m_hasher; m_equals = ht.m_equals; m_getKey = ht.m_getKey; m_items = ht.m_items; HashCopy( ht ); return *this; } ~wxShadowObjectFields_wxImplementation_HashTable() { clear(); FreeTable(m_table); } hasher hash_funct() { return m_hasher; } key_equal key_eq() { return m_equals; } void clear() { DeleteNodes( m_tableBuckets, (_wxHashTable_NodeBase**)m_table, DeleteNode ); m_items = 0; } size_type size() const { return m_items; } size_type max_size() const { return size_type(-1); } bool empty() const { return size() == 0; } const_iterator end() const { return const_iterator( 0, this ); } iterator end() { return iterator( 0, this ); } const_iterator begin() const { return const_iterator( (Node*)GetFirstNode( m_tableBuckets, (_wxHashTable_NodeBase**)m_table ), this ); }; iterator begin() { return iterator( (Node*)GetFirstNode( m_tableBuckets, (_wxHashTable_NodeBase**)m_table ), this ); }; size_type erase( const const_key_type& key ) { Node** node = GetNodePtr( key ); if( !node ) return 0; --m_items; Node* temp = (*node)->m_next(); delete *node; (*node) = temp; if( never_shrink( m_tableBuckets, m_items ) ) ResizeTable( GetPreviousPrime( (unsigned long) m_tableBuckets ) - 1 ); return 1; } protected: static size_type GetBucketForNode( Self* ht, Node* node ) { return ht->m_hasher( ht->m_getKey( node->m_value ) ) % ht->m_tableBuckets; } static Node* CopyNode( Node* node ) { return new Node( *node ); } Node* GetOrCreateNode( const value_type& value, bool& created ) { const const_key_type& key = m_getKey( value ); size_t bucket = m_hasher( key ) % m_tableBuckets; Node* node = m_table[bucket]; while( node ) { if( m_equals( m_getKey( node->m_value ), key ) ) { created = false; return node; } node = node->m_next(); } created = true; return CreateNode( value, bucket); } Node * CreateNode( const value_type& value, size_t bucket ) { Node* node = new Node( value ); node->m_nxt = m_table[bucket]; m_table[bucket] = node; ++m_items; if( grow_lf70( m_tableBuckets, m_items ) ) ResizeTable( m_tableBuckets ); return node; } void CreateNode( const value_type& value ) { CreateNode(value, m_hasher( m_getKey(value) ) % m_tableBuckets ); } Node** GetNodePtr( const const_key_type& key ) const { size_t bucket = m_hasher( key ) % m_tableBuckets; Node** node = &m_table[bucket]; while( *node ) { if( m_equals( m_getKey( (*node)->m_value ), key ) ) return node; node = (Node**)&(*node)->m_nxt; } return 0; } Node* GetNode( const const_key_type& key ) const { size_t bucket = m_hasher( key ) % m_tableBuckets; Node* node = m_table[bucket]; while( node ) { if( m_equals( m_getKey( node->m_value ), key ) ) return node; node = node->m_next(); } return 0; } void ResizeTable( size_t newSize ) { newSize = GetNextPrime( (unsigned long)newSize ); Node** srcTable = m_table; size_t srcBuckets = m_tableBuckets; m_table = (Node**)AllocTable( newSize ); m_tableBuckets = newSize; CopyHashTable( (_wxHashTable_NodeBase**)srcTable, srcBuckets, this, (_wxHashTable_NodeBase**)m_table, (BucketFromNode)GetBucketForNode, (ProcessNode)&DummyProcessNode ); FreeTable(srcTable); } void HashCopy( const Self& ht ) { ResizeTable( ht.size() ); CopyHashTable( (_wxHashTable_NodeBase**)ht.m_table, ht.m_tableBuckets, (_wxHashTableBase2*)this, (_wxHashTable_NodeBase**)m_table, (BucketFromNode)GetBucketForNode, (ProcessNode)CopyNode ); } }; class wxShadowObjectFields:public wxShadowObjectFields_wxImplementation_HashTable { public: typedef void * mapped_type; class Insert_Result { public: typedef iterator t1; typedef bool t2; typedef const iterator const_t1; typedef const bool const_t2; Insert_Result( const const_t1& f, const const_t2& s ):first(t1(f)),second(t2(s)) {} t1 first; t2 second; }; explicit wxShadowObjectFields( size_type hint = 100, hasher hf = hasher(), key_equal eq = key_equal() ) : wxShadowObjectFields_wxImplementation_HashTable( hint, hf, eq, wxShadowObjectFields_wxImplementation_KeyEx() ) {} mapped_type& operator[]( const const_key_type& key ) { bool created; return GetOrCreateNode( wxShadowObjectFields_wxImplementation_Pair( key, mapped_type() ), created)->m_value.second; } const_iterator find( const const_key_type& key ) const { return const_iterator( GetNode( key ), this ); } iterator find( const const_key_type& key ) { return iterator( GetNode( key ), this ); } Insert_Result insert( const value_type& v ) { bool created; Node *node = GetOrCreateNode( wxShadowObjectFields_wxImplementation_Pair( v.first, v.second ), created); if ( !created ) node->m_value.second = v.second; return Insert_Result(iterator(node, this), created); } size_type erase( const key_type& k ) { return wxShadowObjectFields_wxImplementation_HashTable::erase( k ); } void erase( const iterator& it ) { erase( it->first ); } void erase( const const_iterator& it ) { erase( it->first ); } size_type count( const const_key_type& key ) { return GetNode( key ) ? 1 : 0; } };
24843
24844
24845
24846
24847
24848 class wxShadowObject
24849 {
24850 public:
24851     wxShadowObject() { }
24852
24853     void AddMethod( const wxString &name, wxShadowObjectMethod method )
24854     {
24855         wxShadowObjectMethods::iterator it = m_methods.find( name );
24856         if (it == m_methods.end())
24857             m_methods[ name ] = method;
24858         else
24859             it->second = method;
24860     }
24861
24862     bool InvokeMethod( const wxString &name, void* window, void* param, int* returnValue )
24863     {
24864         wxShadowObjectMethods::iterator it = m_methods.find( name );
24865         if (it == m_methods.end())
24866             return false;
24867         wxShadowObjectMethod method = it->second;
24868         int ret = (*method)(window, param);
24869         if (returnValue)
24870             *returnValue = ret;
24871         return true;
24872     }
24873
24874     void AddField( const wxString &name, void* initialValue = __null )
24875     {
24876         wxShadowObjectFields::iterator it = m_fields.find( name );
24877         if (it == m_fields.end())
24878             m_fields[ name ] = initialValue;
24879         else
24880             it->second = initialValue;
24881     }
24882
24883     void SetField( const wxString &name, void* value )
24884     {
24885         wxShadowObjectFields::iterator it = m_fields.find( name );
24886         if (it == m_fields.end())
24887             return;
24888         it->second = value;
24889     }
24890
24891     void* GetField( const wxString &name, void *defaultValue = __null )
24892     {
24893         wxShadowObjectFields::iterator it = m_fields.find( name );
24894         if (it == m_fields.end())
24895             return defaultValue;
24896         return it->second;
24897     }
24898
24899 private:
24900     wxShadowObjectMethods m_methods;
24901     wxShadowObjectFields m_fields;
24902 };
24903
24904
24905
24906
24907
24908
24909 enum wxClientDataType
24910 {
24911     wxClientData_None,
24912     wxClientData_Object,
24913     wxClientData_Void
24914 };
24915
24916 class wxClientData
24917 {
24918 public:
24919     wxClientData() { }
24920     virtual ~wxClientData() { }
24921 };
24922
24923 class wxStringClientData : public wxClientData
24924 {
24925 public:
24926     wxStringClientData() : m_data() { }
24927     wxStringClientData( const wxString &data ) : m_data(data) { }
24928     void SetData( const wxString &data ) { m_data = data; }
24929     const wxString& GetData() const { return m_data; }
24930
24931 private:
24932     wxString m_data;
24933 };
24934 # 133 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/clntdata.h"
24935 class wxClientDataContainer
24936 {
24937 public:
24938     wxClientDataContainer();
24939     virtual ~wxClientDataContainer();
24940
24941     void SetClientObject( wxClientData *data ) { DoSetClientObject(data); }
24942     wxClientData *GetClientObject() const { return DoGetClientObject(); }
24943
24944     void SetClientData( void *data ) { DoSetClientData(data); }
24945     void *GetClientData() const { return DoGetClientData(); }
24946
24947 protected:
24948
24949
24950
24951
24952
24953     union
24954     {
24955         wxClientData *m_clientObject;
24956         void *m_clientData;
24957     };
24958
24959
24960     virtual void DoSetClientObject( wxClientData *data );
24961     virtual wxClientData *DoGetClientObject() const;
24962
24963     virtual void DoSetClientData( void *data );
24964     virtual void *DoGetClientData() const;
24965
24966
24967     wxClientDataType m_clientDataType;
24968
24969 };
24970
24971
24972
24973
24974
24975 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/vector.h" 1
24976 # 16 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/vector.h"
24977 class wxVectorBase
24978 {
24979 public:
24980     typedef size_t size_type;
24981 private:
24982     size_type m_allocsize;
24983     size_type m_size,
24984               m_capacity;
24985     void **m_objects;
24986
24987 protected:
24988     bool Alloc(size_type sz)
24989     {
24990
24991         sz = (sz / m_allocsize + 1) * m_allocsize;
24992         if (sz <= m_capacity)
24993             return true;
24994
24995
24996         void *mem = realloc(m_objects, sizeof(void *) * sz);
24997         if (! mem)
24998             return false;
24999
25000         m_objects = (void **) mem;
25001         m_capacity = sz;
25002         return true;
25003     }
25004
25005
25006     virtual void Free(void *) = 0;
25007
25008     virtual void *Copy(const void *) const = 0;
25009
25010     const void *GetItem(size_type idx) const
25011     {
25012         ;
25013         return m_objects[idx];
25014     }
25015
25016     void Append(void *obj)
25017     {
25018         ;
25019         m_objects[m_size] = obj;
25020         m_size++;
25021     }
25022
25023     void RemoveAt(size_type idx)
25024     {
25025         ;
25026         Free(m_objects[idx]);
25027         if (idx < m_size - 1)
25028             memcpy(
25029                 m_objects + idx,
25030                 m_objects + idx + 1,
25031                 ( m_size - idx - 1 ) * sizeof(void*) );
25032         m_size--;
25033     }
25034
25035     bool copy(const wxVectorBase& vb)
25036     {
25037         clear();
25038         if (! Alloc(vb.size()))
25039             return false;
25040
25041         for (size_type i = 0; i < vb.size(); i++)
25042         {
25043             void *o = vb.Copy(vb.GetItem(i));
25044             if (! o)
25045                 return false;
25046             Append(o);
25047         }
25048
25049         return true;
25050     }
25051
25052 public:
25053     wxVectorBase() : m_allocsize(16), m_size(0), m_capacity(0), m_objects(0) {}
25054     virtual ~wxVectorBase() {}
25055
25056     void clear()
25057     {
25058         for (size_type i = 0; i < size(); i++)
25059             Free(m_objects[i]);
25060         free(m_objects);
25061         m_objects = 0;
25062         m_size = m_capacity = 0;
25063     }
25064
25065     void reserve(size_type n)
25066     {
25067         if ( !Alloc(n) )
25068         {
25069             ;
25070         }
25071     }
25072
25073     size_type size() const
25074     {
25075         return m_size;
25076     }
25077
25078     size_type capacity() const
25079     {
25080         return m_capacity;
25081     }
25082
25083     bool empty() const
25084     {
25085         return size() == 0;
25086     }
25087
25088     wxVectorBase& operator = (const wxVectorBase& vb)
25089     {
25090         if (!(copy(vb))) {; return *this; };
25091         return *this;
25092     }
25093 };
25094 # 174 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/clntdata.h" 2
25095
25096 struct wxClientDataDictionaryPair
25097 {
25098     wxClientDataDictionaryPair( size_t idx ) : index( idx ), data( 0 ) { }
25099
25100     size_t index;
25101     wxClientData* data;
25102 };
25103
25104 class wxClientDataDictionaryPairVector : public wxVectorBase{ private: virtual void Free(void *o) { delete (wxClientDataDictionaryPair *) o; } virtual void *Copy(const void *o) const { return new wxClientDataDictionaryPair(*(wxClientDataDictionaryPair *) o); }public: wxClientDataDictionaryPairVector() {} wxClientDataDictionaryPairVector(const wxClientDataDictionaryPairVector& c) : wxVectorBase() { if (!(copy(c))) {; return; }; } ~wxClientDataDictionaryPairVector() { clear(); };public: void push_back(const wxClientDataDictionaryPair& o) { if (!(Alloc(size() + 1))) {; return; }; Append(new wxClientDataDictionaryPair(o)); } void pop_back() { RemoveAt(size() - 1); } const wxClientDataDictionaryPair& at(size_type idx) const { return *(wxClientDataDictionaryPair *) GetItem(idx); } wxClientDataDictionaryPair& at(size_type idx) { return *(wxClientDataDictionaryPair *) GetItem(idx); } const wxClientDataDictionaryPair& operator[](size_type idx) const { return at(idx); } wxClientDataDictionaryPair& operator[](size_type idx) { return at(idx); } const wxClientDataDictionaryPair& front() const { return at(0); } wxClientDataDictionaryPair& front() { return at(0); } const wxClientDataDictionaryPair& back() const { return at(size() - 1); } wxClientDataDictionaryPair& back() { return at(size() - 1); } size_type erase(size_type idx) { RemoveAt(idx); return idx; }};
25105 # 195 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/clntdata.h"
25106 class wxClientDataDictionary
25107 {
25108 public:
25109     wxClientDataDictionary() {}
25110
25111
25112     void DestroyData()
25113     {
25114         for( size_t i = 0, end = m_vec.size(); i != end; ++i )
25115             delete m_vec[i].data;
25116         m_vec.clear();
25117     }
25118
25119
25120
25121
25122     void Set( size_t index, wxClientData* data, bool doDelete )
25123     {
25124         size_t ptr = Find( index );
25125
25126         if( !data )
25127         {
25128             if( ptr == m_vec.size() ) return;
25129             if( doDelete )
25130                 delete m_vec[ptr].data;
25131             m_vec.erase( ptr );
25132         }
25133         else
25134         {
25135             if( ptr == m_vec.size() )
25136             {
25137                 m_vec.push_back( wxClientDataDictionaryPair( index ) );
25138                 ptr = m_vec.size() - 1;
25139             }
25140
25141             if( doDelete )
25142                 delete m_vec[ptr].data;
25143             m_vec[ptr].data = data;
25144         }
25145     }
25146
25147
25148
25149     wxClientData* Get( size_t index ) const
25150     {
25151         size_t it = Find( index );
25152         if( it == m_vec.size() ) return 0;
25153         return (wxClientData*)m_vec[it].data;
25154     }
25155
25156
25157
25158
25159     void Delete( size_t index, bool doDelete )
25160     {
25161         size_t todel = m_vec.size();
25162
25163         for( size_t i = 0, end = m_vec.size(); i != end; ++i )
25164         {
25165             if( m_vec[i].index == index )
25166                 todel = i;
25167             else if( m_vec[i].index > index )
25168                 --(m_vec[i].index);
25169         }
25170
25171         if( todel != m_vec.size() )
25172         {
25173             if( doDelete )
25174                 delete m_vec[todel].data;
25175             m_vec.erase( todel );
25176         }
25177     }
25178 private:
25179
25180     size_t Find( size_t index ) const
25181     {
25182         for( size_t i = 0, end = m_vec.size(); i != end; ++i )
25183         {
25184             if( m_vec[i].index == index )
25185                 return i;
25186         }
25187
25188         return m_vec.size();
25189     }
25190
25191     wxClientDataDictionaryPairVector m_vec;
25192 };
25193 # 29 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h" 2
25194
25195
25196 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gdicmn.h" 1
25197 # 33 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gdicmn.h"
25198 class wxBitmap;
25199 class wxBrush;
25200 class wxColour;
25201 class wxCursor;
25202 class wxFont;
25203 class wxIcon;
25204 class wxPalette;
25205 class wxPen;
25206 class wxRegion;
25207 class wxString;
25208
25209
25210
25211
25212
25213
25214 enum wxBitmapType
25215 {
25216     wxBITMAP_TYPE_INVALID,
25217     wxBITMAP_TYPE_BMP,
25218     wxBITMAP_TYPE_BMP_RESOURCE,
25219     wxBITMAP_TYPE_RESOURCE = wxBITMAP_TYPE_BMP_RESOURCE,
25220     wxBITMAP_TYPE_ICO,
25221     wxBITMAP_TYPE_ICO_RESOURCE,
25222     wxBITMAP_TYPE_CUR,
25223     wxBITMAP_TYPE_CUR_RESOURCE,
25224     wxBITMAP_TYPE_XBM,
25225     wxBITMAP_TYPE_XBM_DATA,
25226     wxBITMAP_TYPE_XPM,
25227     wxBITMAP_TYPE_XPM_DATA,
25228     wxBITMAP_TYPE_TIF,
25229     wxBITMAP_TYPE_TIF_RESOURCE,
25230     wxBITMAP_TYPE_GIF,
25231     wxBITMAP_TYPE_GIF_RESOURCE,
25232     wxBITMAP_TYPE_PNG,
25233     wxBITMAP_TYPE_PNG_RESOURCE,
25234     wxBITMAP_TYPE_JPEG,
25235     wxBITMAP_TYPE_JPEG_RESOURCE,
25236     wxBITMAP_TYPE_PNM,
25237     wxBITMAP_TYPE_PNM_RESOURCE,
25238     wxBITMAP_TYPE_PCX,
25239     wxBITMAP_TYPE_PCX_RESOURCE,
25240     wxBITMAP_TYPE_PICT,
25241     wxBITMAP_TYPE_PICT_RESOURCE,
25242     wxBITMAP_TYPE_ICON,
25243     wxBITMAP_TYPE_ICON_RESOURCE,
25244     wxBITMAP_TYPE_ANI,
25245     wxBITMAP_TYPE_IFF,
25246     wxBITMAP_TYPE_MACCURSOR,
25247     wxBITMAP_TYPE_MACCURSOR_RESOURCE,
25248     wxBITMAP_TYPE_ANY = 50
25249 };
25250
25251
25252 enum wxStockCursor
25253 {
25254     wxCURSOR_NONE,
25255     wxCURSOR_ARROW,
25256     wxCURSOR_RIGHT_ARROW,
25257     wxCURSOR_BULLSEYE,
25258     wxCURSOR_CHAR,
25259     wxCURSOR_CROSS,
25260     wxCURSOR_HAND,
25261     wxCURSOR_IBEAM,
25262     wxCURSOR_LEFT_BUTTON,
25263     wxCURSOR_MAGNIFIER,
25264     wxCURSOR_MIDDLE_BUTTON,
25265     wxCURSOR_NO_ENTRY,
25266     wxCURSOR_PAINT_BRUSH,
25267     wxCURSOR_PENCIL,
25268     wxCURSOR_POINT_LEFT,
25269     wxCURSOR_POINT_RIGHT,
25270     wxCURSOR_QUESTION_ARROW,
25271     wxCURSOR_RIGHT_BUTTON,
25272     wxCURSOR_SIZENESW,
25273     wxCURSOR_SIZENS,
25274     wxCURSOR_SIZENWSE,
25275     wxCURSOR_SIZEWE,
25276     wxCURSOR_SIZING,
25277     wxCURSOR_SPRAYCAN,
25278     wxCURSOR_WAIT,
25279     wxCURSOR_WATCH,
25280     wxCURSOR_BLANK,
25281
25282     wxCURSOR_DEFAULT,
25283 # 130 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gdicmn.h"
25284     wxCURSOR_ARROWWAIT,
25285
25286     wxCURSOR_MAX
25287 };
25288 # 205 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gdicmn.h"
25289 class wxSize
25290 {
25291 public:
25292
25293     int x, y;
25294
25295
25296     wxSize() : x(0), y(0) { }
25297     wxSize(int xx, int yy) : x(xx), y(yy) { }
25298
25299
25300
25301     bool operator==(const wxSize& sz) const { return x == sz.x && y == sz.y; }
25302     bool operator!=(const wxSize& sz) const { return x != sz.x || y != sz.y; }
25303
25304     wxSize operator+(const wxSize& sz) { return wxSize(x + sz.x, y + sz.y); }
25305     wxSize operator-(const wxSize& sz) { return wxSize(x - sz.x, y - sz.y); }
25306     wxSize operator/(const int i) { return wxSize(x / i, y / i); }
25307     wxSize operator*(const int i) { return wxSize(x * i, y * i); }
25308
25309     wxSize& operator+=(const wxSize& sz) { x += sz.x; y += sz.y; return *this; }
25310     wxSize& operator-=(const wxSize& sz) { x -= sz.x; y -= sz.y; return *this; }
25311     wxSize& operator/=(const int i) { x /= i; y /= i; return *this; }
25312     wxSize& operator*=(const int i) { x *= i; y *= i; return *this; }
25313
25314     void IncTo(const wxSize& sz)
25315         { if ( sz.x > x ) x = sz.x; if ( sz.y > y ) y = sz.y; }
25316     void DecTo(const wxSize& sz)
25317         { if ( sz.x < x ) x = sz.x; if ( sz.y < y ) y = sz.y; }
25318
25319
25320     void Set(int xx, int yy) { x = xx; y = yy; }
25321     void SetWidth(int w) { x = w; }
25322     void SetHeight(int h) { y = h; }
25323
25324     int GetWidth() const { return x; }
25325     int GetHeight() const { return y; }
25326
25327     bool IsFullySpecified() const { return x != wxDefaultCoord && y != wxDefaultCoord; }
25328
25329
25330
25331     void SetDefaults(const wxSize& size)
25332     {
25333         if ( x == wxDefaultCoord )
25334             x = size.x;
25335         if ( y == wxDefaultCoord )
25336             y = size.y;
25337     }
25338
25339
25340     int GetX() const { return x; }
25341     int GetY() const { return y; }
25342 };
25343
25344
25345
25346
25347
25348 class wxRealPoint
25349 {
25350 public:
25351     double x;
25352     double y;
25353
25354     wxRealPoint() : x(0.0), y(0.0) { }
25355     wxRealPoint(double xx, double yy) : x(xx), y(yy) { }
25356
25357     wxRealPoint operator+(const wxRealPoint& pt) const { return wxRealPoint(x + pt.x, y + pt.y); }
25358     wxRealPoint operator-(const wxRealPoint& pt) const { return wxRealPoint(x - pt.x, y - pt.y); }
25359
25360     bool operator==(const wxRealPoint& pt) const { return x == pt.x && y == pt.y; }
25361     bool operator!=(const wxRealPoint& pt) const { return x != pt.x || y != pt.y; }
25362 };
25363
25364 class wxPoint
25365 {
25366 public:
25367     int x, y;
25368
25369     wxPoint() : x(0), y(0) { }
25370     wxPoint(int xx, int yy) : x(xx), y(yy) { }
25371
25372
25373
25374
25375     bool operator==(const wxPoint& p) const { return x == p.x && y == p.y; }
25376     bool operator!=(const wxPoint& p) const { return !(*this == p); }
25377
25378
25379     wxPoint operator+(const wxPoint& p) const { return wxPoint(x + p.x, y + p.y); }
25380     wxPoint operator-(const wxPoint& p) const { return wxPoint(x - p.x, y - p.y); }
25381
25382     wxPoint& operator+=(const wxPoint& p) { x += p.x; y += p.y; return *this; }
25383     wxPoint& operator-=(const wxPoint& p) { x -= p.x; y -= p.y; return *this; }
25384
25385     wxPoint& operator+=(const wxSize& s) { x += s.GetWidth(); y += s.GetHeight(); return *this; }
25386     wxPoint& operator-=(const wxSize& s) { x -= s.GetWidth(); y -= s.GetHeight(); return *this; }
25387
25388     wxPoint operator+(const wxSize& s) const { return wxPoint(x + s.GetWidth(), y + s.GetHeight()); }
25389     wxPoint operator-(const wxSize& s) const { return wxPoint(x - s.GetWidth(), y - s.GetHeight()); }
25390 };
25391
25392
25393
25394
25395
25396 class wxRect
25397 {
25398 public:
25399     wxRect()
25400         : x(0), y(0), width(0), height(0)
25401         { }
25402     wxRect(int xx, int yy, int ww, int hh)
25403         : x(xx), y(yy), width(ww), height(hh)
25404         { }
25405     wxRect(const wxPoint& topLeft, const wxPoint& bottomRight);
25406     wxRect(const wxPoint& pt, const wxSize& size)
25407         : x(pt.x), y(pt.y), width(size.x), height(size.y)
25408         { }
25409     wxRect(const wxSize& size)
25410         : x(0), y(0), width(size.x), height(size.y)
25411         { }
25412
25413
25414
25415     int GetX() const { return x; }
25416     void SetX(int xx) { x = xx; }
25417
25418     int GetY() const { return y; }
25419     void SetY(int yy) { y = yy; }
25420
25421     int GetWidth() const { return width; }
25422     void SetWidth(int w) { width = w; }
25423
25424     int GetHeight() const { return height; }
25425     void SetHeight(int h) { height = h; }
25426
25427     wxPoint GetPosition() const { return wxPoint(x, y); }
25428     void SetPosition( const wxPoint &p ) { x = p.x; y = p.y; }
25429
25430     wxSize GetSize() const { return wxSize(width, height); }
25431     void SetSize( const wxSize &s ) { width = s.GetWidth(); height = s.GetHeight(); }
25432
25433     bool IsEmpty() const { return (width <= 0) || (height <= 0); }
25434
25435     wxPoint GetTopLeft() const { return GetPosition(); }
25436     wxPoint GetLeftTop() const { return GetTopLeft(); }
25437     void SetTopLeft(const wxPoint &p) { SetPosition(p); }
25438     void SetLeftTop(const wxPoint &p) { SetTopLeft(p); }
25439
25440     wxPoint GetBottomRight() const { return wxPoint(GetRight(), GetBottom()); }
25441     wxPoint GetRightBottom() const { return GetBottomRight(); }
25442     void SetBottomRight(const wxPoint &p) { SetRight(p.x); SetBottom(p.y); }
25443     void SetRightBottom(const wxPoint &p) { SetBottomRight(p); }
25444
25445     int GetLeft() const { return x; }
25446     int GetTop() const { return y; }
25447     int GetBottom() const { return y + height - 1; }
25448     int GetRight() const { return x + width - 1; }
25449
25450     void SetLeft(int left) { x = left; }
25451     void SetRight(int right) { width = right - x + 1; }
25452     void SetTop(int top) { y = top; }
25453     void SetBottom(int bottom) { height = bottom - y + 1; }
25454
25455
25456     wxRect& Inflate(wxCoord dx, wxCoord dy);
25457     wxRect& Inflate(wxCoord d) { return Inflate(d, d); }
25458     wxRect Inflate(wxCoord dx, wxCoord dy) const
25459     {
25460         wxRect r = *this;
25461         r.Inflate(dx, dy);
25462         return r;
25463     }
25464
25465     wxRect& Deflate(wxCoord dx, wxCoord dy) { return Inflate(-dx, -dy); }
25466     wxRect& Deflate(wxCoord d) { return Inflate(-d); }
25467     wxRect Deflate(wxCoord dx, wxCoord dy) const
25468     {
25469         wxRect r = *this;
25470         r.Deflate(dx, dy);
25471         return r;
25472     }
25473
25474     void Offset(wxCoord dx, wxCoord dy) { x += dx; y += dy; }
25475     void Offset(const wxPoint& pt) { Offset(pt.x, pt.y); }
25476
25477     wxRect& Intersect(const wxRect& rect);
25478     wxRect Intersect(const wxRect& rect) const
25479     {
25480         wxRect r = *this;
25481         r.Intersect(rect);
25482         return r;
25483     }
25484
25485     wxRect& Union(const wxRect& rect);
25486     wxRect Union(const wxRect& rect) const
25487     {
25488         wxRect r = *this;
25489         r.Union(rect);
25490         return r;
25491     }
25492
25493
25494     bool operator==(const wxRect& rect) const;
25495     bool operator!=(const wxRect& rect) const { return !(*this == rect); }
25496
25497
25498     bool Inside(int x, int y) const;
25499     bool Inside(const wxPoint& pt) const { return Inside(pt.x, pt.y); }
25500
25501
25502     bool Intersects(const wxRect& rect) const;
25503
25504
25505
25506     wxRect operator+(const wxRect& rect) const;
25507     wxRect& operator+=(const wxRect& rect)
25508     {
25509         *this = *this + rect;
25510         return *this;
25511     }
25512
25513
25514 public:
25515     int x, y, width, height;
25516 };
25517
25518
25519
25520
25521
25522 typedef wxInt8 wxDash;
25523
25524 class wxPenList : public wxList
25525 {
25526 public:
25527     wxPenList() { }
25528     ~wxPenList();
25529
25530     void AddPen(wxPen *pen);
25531     void RemovePen(wxPen *pen);
25532     wxPen *FindOrCreatePen(const wxColour& colour, int width, int style);
25533 };
25534
25535 class wxBrushList : public wxList
25536 {
25537 public:
25538     wxBrushList() { }
25539     ~wxBrushList();
25540
25541     void AddBrush(wxBrush *brush);
25542     void RemoveBrush(wxBrush *brush);
25543     wxBrush *FindOrCreateBrush(const wxColour& colour, int style = wxSOLID);
25544 };
25545
25546 class wxFontList : public wxList
25547 {
25548 public:
25549     wxFontList() { }
25550     ~wxFontList();
25551
25552     void AddFont(wxFont *font);
25553     void RemoveFont(wxFont *font);
25554     wxFont *FindOrCreateFont(int pointSize, int family, int style, int weight,
25555                              bool underline = false,
25556                              const wxString& face = wxEmptyString,
25557                              wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
25558 };
25559
25560 class wxStringToColourHashMap_wxImplementation_Pair { public: typedef wxString t1; typedef wxColour * t2; typedef const wxString const_t1; typedef const wxColour * const_t2; wxStringToColourHashMap_wxImplementation_Pair( const const_t1& f, const const_t2& s ):first(t1(f)),second(t2(s)) {} t1 first; t2 second; }; class wxStringToColourHashMap_wxImplementation_KeyEx { typedef wxString key_type; typedef wxStringToColourHashMap_wxImplementation_Pair pair_type; typedef const key_type const_key_type; typedef const pair_type const_pair_type; typedef const_key_type& const_key_reference; typedef const_pair_type& const_pair_reference; public: wxStringToColourHashMap_wxImplementation_KeyEx() { } const_key_reference operator()( const_pair_reference pair ) const { return pair.first; } wxStringToColourHashMap_wxImplementation_KeyEx& operator=(const wxStringToColourHashMap_wxImplementation_KeyEx&) { return *this; } }; class wxStringToColourHashMap_wxImplementation_HashTable : protected _wxHashTableBase2 { public: typedef wxString key_type; typedef wxStringToColourHashMap_wxImplementation_Pair value_type; typedef wxStringHash hasher; typedef wxStringEqual key_equal; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type& reference; typedef const value_type& const_reference; typedef const wxString const_key_type; typedef const wxStringToColourHashMap_wxImplementation_Pair const_mapped_type; public: struct Node; typedef wxStringToColourHashMap_wxImplementation_KeyEx key_extractor; typedef wxStringToColourHashMap_wxImplementation_HashTable Self; protected: Node** m_table; size_t m_tableBuckets; size_t m_items; hasher m_hasher; key_equal m_equals; key_extractor m_getKey; public: struct Node:public _wxHashTable_NodeBase { public: Node( const value_type& value ) : m_value( value ) {} Node* m_next() { return (Node*)this->m_nxt; } value_type m_value; }; class Iterator; friend class Iterator; protected: static void DeleteNode( _wxHashTable_NodeBase* node ) { delete (Node*)node; } public: class Iterator { public: Node* m_node; Self* m_ht; Iterator() : m_node(0), m_ht(0) {} Iterator( Node* node, const Self* ht ) : m_node(node), m_ht((Self*)ht) {} bool operator ==( const Iterator& it ) const { return m_node == it.m_node; } bool operator !=( const Iterator& it ) const { return m_node != it.m_node; } protected: Node* GetNextNode() { size_type bucket = GetBucketForNode(m_ht,m_node); for( size_type i = bucket + 1; i < m_ht->m_tableBuckets; ++i ) { if( m_ht->m_table[i] ) return m_ht->m_table[i]; } return 0; } void PlusPlus() { Node* next = m_node->m_next(); m_node = next ? next : GetNextNode(); } }; public: class iterator : public Iterator { public: iterator() : Iterator() {} iterator( Node* node, Self* ht ) : Iterator( node, ht ) {} iterator& operator++() { PlusPlus(); return *this; } iterator operator++(int) { iterator it=*this;PlusPlus();return it; } reference operator *() const { return m_node->m_value; } pointer operator ->() const { return &(m_node->m_value); } }; class const_iterator : public Iterator { public: const_iterator() : Iterator() {} const_iterator( Node* node, const Self* ht ) : Iterator( node, (Self*)ht ) {} const_iterator& operator++() { PlusPlus();return *this; } const_iterator operator++(int) { const_iterator it=*this;PlusPlus();return it; } const_reference operator *() const { return m_node->m_value; } const_pointer operator ->() const { return &(m_node->m_value); } }; wxStringToColourHashMap_wxImplementation_HashTable( size_type sz = 10, const hasher& hfun = hasher(), const key_equal& k_eq = key_equal(), const key_extractor& k_ex = key_extractor() ) : m_tableBuckets( GetNextPrime( (unsigned long) sz ) ), m_items( 0 ), m_hasher( hfun ), m_equals( k_eq ), m_getKey( k_ex ) { m_table = (Node**)AllocTable( m_tableBuckets ); } wxStringToColourHashMap_wxImplementation_HashTable( const Self& ht ) : m_table( 0 ), m_tableBuckets( 0 ), m_items( ht.m_items ), m_hasher( ht.m_hasher ), m_equals( ht.m_equals ), m_getKey( ht.m_getKey ) { HashCopy( ht ); } const Self& operator=( const Self& ht ) { clear(); m_hasher = ht.m_hasher; m_equals = ht.m_equals; m_getKey = ht.m_getKey; m_items = ht.m_items; HashCopy( ht ); return *this; } ~wxStringToColourHashMap_wxImplementation_HashTable() { clear(); FreeTable(m_table); } hasher hash_funct() { return m_hasher; } key_equal key_eq() { return m_equals; } void clear() { DeleteNodes( m_tableBuckets, (_wxHashTable_NodeBase**)m_table, DeleteNode ); m_items = 0; } size_type size() const { return m_items; } size_type max_size() const { return size_type(-1); } bool empty() const { return size() == 0; } const_iterator end() const { return const_iterator( 0, this ); } iterator end() { return iterator( 0, this ); } const_iterator begin() const { return const_iterator( (Node*)GetFirstNode( m_tableBuckets, (_wxHashTable_NodeBase**)m_table ), this ); }; iterator begin() { return iterator( (Node*)GetFirstNode( m_tableBuckets, (_wxHashTable_NodeBase**)m_table ), this ); }; size_type erase( const const_key_type& key ) { Node** node = GetNodePtr( key ); if( !node ) return 0; --m_items; Node* temp = (*node)->m_next(); delete *node; (*node) = temp; if( never_shrink( m_tableBuckets, m_items ) ) ResizeTable( GetPreviousPrime( (unsigned long) m_tableBuckets ) - 1 ); return 1; } protected: static size_type GetBucketForNode( Self* ht, Node* node ) { return ht->m_hasher( ht->m_getKey( node->m_value ) ) % ht->m_tableBuckets; } static Node* CopyNode( Node* node ) { return new Node( *node ); } Node* GetOrCreateNode( const value_type& value, bool& created ) { const const_key_type& key = m_getKey( value ); size_t bucket = m_hasher( key ) % m_tableBuckets; Node* node = m_table[bucket]; while( node ) { if( m_equals( m_getKey( node->m_value ), key ) ) { created = false; return node; } node = node->m_next(); } created = true; return CreateNode( value, bucket); } Node * CreateNode( const value_type& value, size_t bucket ) { Node* node = new Node( value ); node->m_nxt = m_table[bucket]; m_table[bucket] = node; ++m_items; if( grow_lf70( m_tableBuckets, m_items ) ) ResizeTable( m_tableBuckets ); return node; } void CreateNode( const value_type& value ) { CreateNode(value, m_hasher( m_getKey(value) ) % m_tableBuckets ); } Node** GetNodePtr( const const_key_type& key ) const { size_t bucket = m_hasher( key ) % m_tableBuckets; Node** node = &m_table[bucket]; while( *node ) { if( m_equals( m_getKey( (*node)->m_value ), key ) ) return node; node = (Node**)&(*node)->m_nxt; } return 0; } Node* GetNode( const const_key_type& key ) const { size_t bucket = m_hasher( key ) % m_tableBuckets; Node* node = m_table[bucket]; while( node ) { if( m_equals( m_getKey( node->m_value ), key ) ) return node; node = node->m_next(); } return 0; } void ResizeTable( size_t newSize ) { newSize = GetNextPrime( (unsigned long)newSize ); Node** srcTable = m_table; size_t srcBuckets = m_tableBuckets; m_table = (Node**)AllocTable( newSize ); m_tableBuckets = newSize; CopyHashTable( (_wxHashTable_NodeBase**)srcTable, srcBuckets, this, (_wxHashTable_NodeBase**)m_table, (BucketFromNode)GetBucketForNode, (ProcessNode)&DummyProcessNode ); FreeTable(srcTable); } void HashCopy( const Self& ht ) { ResizeTable( ht.size() ); CopyHashTable( (_wxHashTable_NodeBase**)ht.m_table, ht.m_tableBuckets, (_wxHashTableBase2*)this, (_wxHashTable_NodeBase**)m_table, (BucketFromNode)GetBucketForNode, (ProcessNode)CopyNode ); } }; class wxStringToColourHashMap:public wxStringToColourHashMap_wxImplementation_HashTable { public: typedef wxColour * mapped_type; class Insert_Result { public: typedef iterator t1; typedef bool t2; typedef const iterator const_t1; typedef const bool const_t2; Insert_Result( const const_t1& f, const const_t2& s ):first(t1(f)),second(t2(s)) {} t1 first; t2 second; }; explicit wxStringToColourHashMap( size_type hint = 100, hasher hf = hasher(), key_equal eq = key_equal() ) : wxStringToColourHashMap_wxImplementation_HashTable( hint, hf, eq, wxStringToColourHashMap_wxImplementation_KeyEx() ) {} mapped_type& operator[]( const const_key_type& key ) { bool created; return GetOrCreateNode( wxStringToColourHashMap_wxImplementation_Pair( key, mapped_type() ), created)->m_value.second; } const_iterator find( const const_key_type& key ) const { return const_iterator( GetNode( key ), this ); } iterator find( const const_key_type& key ) { return iterator( GetNode( key ), this ); } Insert_Result insert( const value_type& v ) { bool created; Node *node = GetOrCreateNode( wxStringToColourHashMap_wxImplementation_Pair( v.first, v.second ), created); if ( !created ) node->m_value.second = v.second; return Insert_Result(iterator(node, this), created); } size_type erase( const key_type& k ) { return wxStringToColourHashMap_wxImplementation_HashTable::erase( k ); } void erase( const iterator& it ) { erase( it->first ); } void erase( const const_iterator& it ) { erase( it->first ); } size_type count( const const_key_type& key ) { return GetNode( key ) ? 1 : 0; } };
25561
25562 class wxColourDatabase
25563 {
25564 public:
25565     wxColourDatabase();
25566     ~wxColourDatabase();
25567
25568
25569     wxColour Find(const wxString& name) const;
25570     wxString FindName(const wxColour& colour) const;
25571
25572
25573     void AddColour(const wxString& name, const wxColour& colour);
25574
25575
25576     wxColour *FindColour(const wxString& name) __attribute__ ((deprecated));
25577 # 501 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gdicmn.h"
25578 private:
25579
25580
25581     void Initialize();
25582
25583     wxStringToColourHashMap *m_map;
25584 };
25585
25586 class wxBitmapList : public wxList
25587 {
25588 public:
25589     wxBitmapList(){}
25590     ~wxBitmapList();
25591
25592     void AddBitmap(wxBitmap *bitmap);
25593     void RemoveBitmap(wxBitmap *bitmap);
25594 };
25595
25596 class wxResourceCache: public wxList
25597 {
25598 public:
25599     wxResourceCache() { }
25600
25601     wxResourceCache(const unsigned int keyType) : wxList(keyType) { }
25602
25603     ~wxResourceCache();
25604 };
25605
25606
25607
25608
25609
25610
25611 extern wxPenList* wxThePenList;
25612 extern wxBrushList* wxTheBrushList;
25613 extern wxFontList* wxTheFontList;
25614 extern wxBitmapList* wxTheBitmapList;
25615
25616
25617 extern wxFont* wxNORMAL_FONT;
25618 extern wxFont* wxSMALL_FONT;
25619 extern wxFont* wxITALIC_FONT;
25620 extern wxFont* wxSWISS_FONT;
25621
25622 extern wxPen* wxRED_PEN;
25623 extern wxPen* wxCYAN_PEN;
25624 extern wxPen* wxGREEN_PEN;
25625 extern wxPen* wxBLACK_PEN;
25626 extern wxPen* wxWHITE_PEN;
25627 extern wxPen* wxTRANSPARENT_PEN;
25628 extern wxPen* wxBLACK_DASHED_PEN;
25629 extern wxPen* wxGREY_PEN;
25630 extern wxPen* wxMEDIUM_GREY_PEN;
25631 extern wxPen* wxLIGHT_GREY_PEN;
25632
25633 extern wxBrush* wxBLUE_BRUSH;
25634 extern wxBrush* wxGREEN_BRUSH;
25635 extern wxBrush* wxWHITE_BRUSH;
25636 extern wxBrush* wxBLACK_BRUSH;
25637 extern wxBrush* wxGREY_BRUSH;
25638 extern wxBrush* wxMEDIUM_GREY_BRUSH;
25639 extern wxBrush* wxLIGHT_GREY_BRUSH;
25640 extern wxBrush* wxTRANSPARENT_BRUSH;
25641 extern wxBrush* wxCYAN_BRUSH;
25642 extern wxBrush* wxRED_BRUSH;
25643
25644 extern wxColour* wxBLACK;
25645 extern wxColour* wxWHITE;
25646 extern wxColour* wxRED;
25647 extern wxColour* wxBLUE;
25648 extern wxColour* wxGREEN;
25649 extern wxColour* wxCYAN;
25650 extern wxColour* wxLIGHT_GREY;
25651
25652
25653 extern wxBitmap wxNullBitmap;
25654 extern wxIcon wxNullIcon;
25655 extern wxCursor wxNullCursor;
25656 extern wxPen wxNullPen;
25657 extern wxBrush wxNullBrush;
25658 extern wxPalette wxNullPalette;
25659 extern wxFont wxNullFont;
25660 extern wxColour wxNullColour;
25661
25662
25663 extern wxCursor* wxSTANDARD_CURSOR;
25664 extern wxCursor* wxHOURGLASS_CURSOR;
25665 extern wxCursor* wxCROSS_CURSOR;
25666
25667 extern wxColourDatabase* wxTheColourDatabase;
25668
25669 extern const wxChar* wxPanelNameStr;
25670
25671 extern const wxSize wxDefaultSize;
25672 extern const wxPoint wxDefaultPosition;
25673
25674
25675 extern wxList wxPendingDelete;
25676
25677
25678
25679
25680
25681
25682 extern void wxInitializeStockObjects();
25683 extern void wxInitializeStockLists();
25684 extern void wxDeleteStockObjects();
25685 extern void wxDeleteStockLists();
25686
25687
25688 extern bool wxColourDisplay();
25689
25690
25691 extern int wxDisplayDepth();
25692
25693
25694
25695 extern void wxDisplaySize(int *width, int *height);
25696 extern wxSize wxGetDisplaySize();
25697 extern void wxDisplaySizeMM(int *width, int *height);
25698 extern wxSize wxGetDisplaySizeMM();
25699
25700
25701 extern void wxClientDisplayRect(int *x, int *y, int *width, int *height);
25702 extern wxRect wxGetClientDisplayRect();
25703
25704
25705 extern void wxSetCursor(const wxCursor& cursor);
25706 # 32 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h" 2
25707 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/cursor.h" 1
25708 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/cursor.h"
25709 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/cursor.h" 1
25710 # 18 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/cursor.h"
25711 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h" 1
25712 # 19 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/cursor.h" 2
25713 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/object.h" 1
25714 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/cursor.h" 2
25715 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gdicmn.h" 1
25716 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/cursor.h" 2
25717
25718
25719 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/image.h" 1
25720 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/image.h"
25721 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stream.h" 1
25722 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stream.h"
25723 # 1 "/usr/include/stdio.h" 1 3 4
25724 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stream.h" 2
25725
25726
25727 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filefn.h" 1
25728 # 26 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filefn.h"
25729 # 1 "/usr/include/time.h" 1 3 4
25730 # 27 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filefn.h" 2
25731
25732
25733
25734
25735
25736 # 1 "/usr/include/sys/types.h" 1 3 4
25737 # 33 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filefn.h" 2
25738 # 1 "/usr/include/sys/stat.h" 1 3 4
25739
25740
25741
25742
25743
25744
25745
25746 # 1 "/usr/include/gentoo-multilib/amd64/sys/stat.h" 1 3 4
25747 # 26 "/usr/include/gentoo-multilib/amd64/sys/stat.h" 3 4
25748 # 1 "/usr/include/features.h" 1 3 4
25749 # 27 "/usr/include/gentoo-multilib/amd64/sys/stat.h" 2 3 4
25750
25751 # 1 "/usr/include/bits/types.h" 1 3 4
25752 # 29 "/usr/include/gentoo-multilib/amd64/sys/stat.h" 2 3 4
25753 # 37 "/usr/include/gentoo-multilib/amd64/sys/stat.h" 3 4
25754 # 1 "/usr/include/time.h" 1 3 4
25755 # 38 "/usr/include/gentoo-multilib/amd64/sys/stat.h" 2 3 4
25756 # 103 "/usr/include/gentoo-multilib/amd64/sys/stat.h" 3 4
25757 extern "C" {
25758
25759 # 1 "/usr/include/bits/stat.h" 1 3 4
25760
25761
25762
25763
25764
25765
25766
25767 # 1 "/usr/include/gentoo-multilib/amd64/bits/stat.h" 1 3 4
25768 # 43 "/usr/include/gentoo-multilib/amd64/bits/stat.h" 3 4
25769 struct stat
25770   {
25771     __dev_t st_dev;
25772
25773
25774
25775
25776     __ino_t st_ino;
25777
25778
25779
25780
25781
25782
25783
25784     __nlink_t st_nlink;
25785     __mode_t st_mode;
25786
25787     __uid_t st_uid;
25788     __gid_t st_gid;
25789
25790     int pad0;
25791
25792     __dev_t st_rdev;
25793
25794
25795
25796
25797     __off_t st_size;
25798
25799
25800
25801     __blksize_t st_blksize;
25802
25803     __blkcnt_t st_blocks;
25804 # 88 "/usr/include/gentoo-multilib/amd64/bits/stat.h" 3 4
25805     struct timespec st_atim;
25806     struct timespec st_mtim;
25807     struct timespec st_ctim;
25808 # 103 "/usr/include/gentoo-multilib/amd64/bits/stat.h" 3 4
25809     long int __unused[3];
25810 # 112 "/usr/include/gentoo-multilib/amd64/bits/stat.h" 3 4
25811   };
25812
25813
25814
25815 struct stat64
25816   {
25817     __dev_t st_dev;
25818
25819     __ino64_t st_ino;
25820     __nlink_t st_nlink;
25821     __mode_t st_mode;
25822
25823
25824
25825
25826
25827
25828     __uid_t st_uid;
25829     __gid_t st_gid;
25830
25831     int pad0;
25832     __dev_t st_rdev;
25833     __off_t st_size;
25834
25835
25836
25837
25838
25839     __blksize_t st_blksize;
25840     __blkcnt64_t st_blocks;
25841
25842
25843
25844
25845
25846
25847
25848     struct timespec st_atim;
25849     struct timespec st_mtim;
25850     struct timespec st_ctim;
25851 # 164 "/usr/include/gentoo-multilib/amd64/bits/stat.h" 3 4
25852     long int __unused[3];
25853
25854
25855
25856   };
25857 # 9 "/usr/include/bits/stat.h" 2 3 4
25858 # 106 "/usr/include/gentoo-multilib/amd64/sys/stat.h" 2 3 4
25859 # 215 "/usr/include/gentoo-multilib/amd64/sys/stat.h" 3 4
25860 extern int stat (__const char *__restrict __file, struct stat *__restrict __buf) throw () __asm__ ("" "stat64")
25861
25862      __attribute__ ((__nonnull__ (1, 2)));
25863 extern int fstat (int __fd, struct stat *__buf) throw () __asm__ ("" "fstat64")
25864      __attribute__ ((__nonnull__ (2)));
25865
25866
25867
25868
25869
25870
25871 extern int stat64 (__const char *__restrict __file,
25872      struct stat64 *__restrict __buf) throw () __attribute__ ((__nonnull__ (1, 2)));
25873 extern int fstat64 (int __fd, struct stat64 *__buf) throw () __attribute__ ((__nonnull__ (2)));
25874 # 241 "/usr/include/gentoo-multilib/amd64/sys/stat.h" 3 4
25875 extern int fstatat (int __fd, __const char *__restrict __file, struct stat *__restrict __buf, int __flag) throw () __asm__ ("" "fstatat64") __attribute__ ((__nonnull__ (2, 3)));
25876 # 250 "/usr/include/gentoo-multilib/amd64/sys/stat.h" 3 4
25877 extern int fstatat64 (int __fd, __const char *__restrict __file,
25878         struct stat64 *__restrict __buf, int __flag)
25879      throw () __attribute__ ((__nonnull__ (2, 3)));
25880 # 263 "/usr/include/gentoo-multilib/amd64/sys/stat.h" 3 4
25881 extern int lstat (__const char *__restrict __file, struct stat *__restrict __buf) throw () __asm__ ("" "lstat64")
25882
25883
25884      __attribute__ ((__nonnull__ (1, 2)));
25885
25886
25887
25888
25889
25890 extern int lstat64 (__const char *__restrict __file,
25891       struct stat64 *__restrict __buf)
25892      throw () __attribute__ ((__nonnull__ (1, 2)));
25893
25894
25895
25896
25897
25898 extern int chmod (__const char *__file, __mode_t __mode)
25899      throw () __attribute__ ((__nonnull__ (1)));
25900
25901
25902
25903
25904
25905 extern int lchmod (__const char *__file, __mode_t __mode)
25906      throw () __attribute__ ((__nonnull__ (1)));
25907
25908
25909
25910
25911 extern int fchmod (int __fd, __mode_t __mode) throw ();
25912
25913
25914
25915
25916
25917 extern int fchmodat (int __fd, __const char *__file, __mode_t mode, int __flag)
25918      throw () __attribute__ ((__nonnull__ (2))) ;
25919
25920
25921
25922
25923
25924
25925 extern __mode_t umask (__mode_t __mask) throw ();
25926
25927
25928
25929
25930 extern __mode_t getumask (void) throw ();
25931
25932
25933
25934 extern int mkdir (__const char *__path, __mode_t __mode)
25935      throw () __attribute__ ((__nonnull__ (1)));
25936
25937
25938
25939
25940
25941 extern int mkdirat (int __fd, __const char *__path, __mode_t __mode)
25942      throw () __attribute__ ((__nonnull__ (2)));
25943
25944
25945
25946
25947
25948
25949 extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev)
25950      throw () __attribute__ ((__nonnull__ (1)));
25951
25952
25953
25954
25955
25956
25957 extern int mknodat (int __fd, __const char *__path, __mode_t __mode,
25958       __dev_t __dev) throw () __attribute__ ((__nonnull__ (2)));
25959
25960
25961
25962
25963 extern int mkfifo (__const char *__path, __mode_t __mode)
25964      throw () __attribute__ ((__nonnull__ (1)));
25965
25966
25967
25968
25969
25970 extern int mkfifoat (int __fd, __const char *__path, __mode_t __mode)
25971      throw () __attribute__ ((__nonnull__ (2)));
25972 # 391 "/usr/include/gentoo-multilib/amd64/sys/stat.h" 3 4
25973 extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf) throw () __asm__ ("" "__fxstat64")
25974
25975      __attribute__ ((__nonnull__ (3)));
25976 extern int __xstat (int __ver, __const char *__filename, struct stat *__stat_buf) throw () __asm__ ("" "__xstat64")
25977
25978      __attribute__ ((__nonnull__ (2, 3)));
25979 extern int __lxstat (int __ver, __const char *__filename, struct stat *__stat_buf) throw () __asm__ ("" "__lxstat64")
25980
25981      __attribute__ ((__nonnull__ (2, 3)));
25982 extern int __fxstatat (int __ver, int __fildes, __const char *__filename, struct stat *__stat_buf, int __flag) throw () __asm__ ("" "__fxstatat64") __attribute__ ((__nonnull__ (3, 4)));
25983 # 413 "/usr/include/gentoo-multilib/amd64/sys/stat.h" 3 4
25984 extern int __fxstat64 (int __ver, int __fildes, struct stat64 *__stat_buf)
25985      throw () __attribute__ ((__nonnull__ (3)));
25986 extern int __xstat64 (int __ver, __const char *__filename,
25987         struct stat64 *__stat_buf) throw () __attribute__ ((__nonnull__ (2, 3)));
25988 extern int __lxstat64 (int __ver, __const char *__filename,
25989          struct stat64 *__stat_buf) throw () __attribute__ ((__nonnull__ (2, 3)));
25990 extern int __fxstatat64 (int __ver, int __fildes, __const char *__filename,
25991     struct stat64 *__stat_buf, int __flag)
25992      throw () __attribute__ ((__nonnull__ (3, 4)));
25993
25994 extern int __xmknod (int __ver, __const char *__path, __mode_t __mode,
25995        __dev_t *__dev) throw () __attribute__ ((__nonnull__ (2, 4)));
25996
25997 extern int __xmknodat (int __ver, int __fd, __const char *__path,
25998          __mode_t __mode, __dev_t *__dev)
25999      throw () __attribute__ ((__nonnull__ (3, 5)));
26000
26001
26002
26003
26004 extern __inline__ int
26005 stat (__const char *__path, struct stat *__statbuf) throw ()
26006 {
26007   return __xstat (1, __path, __statbuf);
26008 }
26009
26010
26011 extern __inline__ int
26012 lstat (__const char *__path, struct stat *__statbuf) throw ()
26013 {
26014   return __lxstat (1, __path, __statbuf);
26015 }
26016
26017
26018 extern __inline__ int
26019 fstat (int __fd, struct stat *__statbuf) throw ()
26020 {
26021   return __fxstat (1, __fd, __statbuf);
26022 }
26023
26024
26025 extern __inline__ int
26026 fstatat (int __fd, __const char *__filename, struct stat *__statbuf, int __flag) throw ()
26027
26028 {
26029   return __fxstatat (1, __fd, __filename, __statbuf, __flag);
26030 }
26031
26032
26033
26034 extern __inline__ int
26035 mknod (__const char *__path, __mode_t __mode, __dev_t __dev) throw ()
26036 {
26037   return __xmknod (0, __path, __mode, &__dev);
26038 }
26039
26040
26041
26042 extern __inline__ int
26043 mknodat (int __fd, __const char *__path, __mode_t __mode, __dev_t __dev) throw ()
26044
26045 {
26046   return __xmknodat (0, __fd, __path, __mode, &__dev);
26047 }
26048
26049
26050
26051
26052
26053 extern __inline__ int
26054 stat64 (__const char *__path, struct stat64 *__statbuf) throw ()
26055 {
26056   return __xstat64 (1, __path, __statbuf);
26057 }
26058
26059
26060 extern __inline__ int
26061 lstat64 (__const char *__path, struct stat64 *__statbuf) throw ()
26062 {
26063   return __lxstat64 (1, __path, __statbuf);
26064 }
26065
26066
26067 extern __inline__ int
26068 fstat64 (int __fd, struct stat64 *__statbuf) throw ()
26069 {
26070   return __fxstat64 (1, __fd, __statbuf);
26071 }
26072
26073
26074 extern __inline__ int
26075 fstatat64 (int __fd, __const char *__filename, struct stat64 *__statbuf, int __flag) throw ()
26076
26077 {
26078   return __fxstatat64 (1, __fd, __filename, __statbuf, __flag);
26079 }
26080
26081
26082
26083
26084
26085
26086 }
26087 # 9 "/usr/include/sys/stat.h" 2 3 4
26088 # 34 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filefn.h" 2
26089 # 60 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filefn.h"
26090 # 1 "/usr/include/unistd.h" 1 3 4
26091 # 61 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filefn.h" 2
26092 # 1 "/usr/include/dirent.h" 1 3 4
26093
26094
26095
26096
26097
26098
26099
26100 # 1 "/usr/include/gentoo-multilib/amd64/dirent.h" 1 3 4
26101 # 26 "/usr/include/gentoo-multilib/amd64/dirent.h" 3 4
26102 # 1 "/usr/include/features.h" 1 3 4
26103 # 27 "/usr/include/gentoo-multilib/amd64/dirent.h" 2 3 4
26104
26105 extern "C" {
26106
26107 # 1 "/usr/include/bits/types.h" 1 3 4
26108 # 31 "/usr/include/gentoo-multilib/amd64/dirent.h" 2 3 4
26109 # 62 "/usr/include/gentoo-multilib/amd64/dirent.h" 3 4
26110 # 1 "/usr/include/bits/dirent.h" 1 3 4
26111
26112
26113
26114
26115
26116
26117
26118 # 1 "/usr/include/gentoo-multilib/amd64/bits/dirent.h" 1 3 4
26119 # 23 "/usr/include/gentoo-multilib/amd64/bits/dirent.h" 3 4
26120 struct dirent
26121   {
26122
26123
26124
26125
26126     __ino64_t d_ino;
26127     __off64_t d_off;
26128
26129     unsigned short int d_reclen;
26130     unsigned char d_type;
26131     char d_name[256];
26132   };
26133
26134
26135 struct dirent64
26136   {
26137     __ino64_t d_ino;
26138     __off64_t d_off;
26139     unsigned short int d_reclen;
26140     unsigned char d_type;
26141     char d_name[256];
26142   };
26143 # 9 "/usr/include/bits/dirent.h" 2 3 4
26144 # 63 "/usr/include/gentoo-multilib/amd64/dirent.h" 2 3 4
26145 # 98 "/usr/include/gentoo-multilib/amd64/dirent.h" 3 4
26146 enum
26147   {
26148     DT_UNKNOWN = 0,
26149
26150     DT_FIFO = 1,
26151
26152     DT_CHR = 2,
26153
26154     DT_DIR = 4,
26155
26156     DT_BLK = 6,
26157
26158     DT_REG = 8,
26159
26160     DT_LNK = 10,
26161
26162     DT_SOCK = 12,
26163
26164     DT_WHT = 14
26165
26166   };
26167 # 128 "/usr/include/gentoo-multilib/amd64/dirent.h" 3 4
26168 typedef struct __dirstream DIR;
26169
26170
26171
26172
26173
26174
26175 extern DIR *opendir (__const char *__name) __attribute__ ((__nonnull__ (1)));
26176
26177
26178
26179
26180
26181
26182 extern DIR *fdopendir (int __fd);
26183
26184
26185
26186
26187
26188
26189
26190 extern int closedir (DIR *__dirp) __attribute__ ((__nonnull__ (1)));
26191 # 166 "/usr/include/gentoo-multilib/amd64/dirent.h" 3 4
26192 extern struct dirent *readdir (DIR *__dirp) __asm__ ("" "readdir64")
26193      __attribute__ ((__nonnull__ (1)));
26194
26195
26196
26197
26198
26199
26200 extern struct dirent64 *readdir64 (DIR *__dirp) __attribute__ ((__nonnull__ (1)));
26201 # 190 "/usr/include/gentoo-multilib/amd64/dirent.h" 3 4
26202 extern int readdir_r (DIR *__restrict __dirp, struct dirent *__restrict __entry, struct dirent **__restrict __result) __asm__ ("" "readdir64_r") __attribute__ ((__nonnull__ (1, 2, 3)));
26203 # 201 "/usr/include/gentoo-multilib/amd64/dirent.h" 3 4
26204 extern int readdir64_r (DIR *__restrict __dirp,
26205    struct dirent64 *__restrict __entry,
26206    struct dirent64 **__restrict __result)
26207      __attribute__ ((__nonnull__ (1, 2, 3)));
26208
26209
26210
26211
26212 extern void rewinddir (DIR *__dirp) throw () __attribute__ ((__nonnull__ (1)));
26213
26214
26215 # 1 "/usr/include/bits/types.h" 1 3 4
26216 # 213 "/usr/include/gentoo-multilib/amd64/dirent.h" 2 3 4
26217
26218
26219 extern void seekdir (DIR *__dirp, long int __pos) throw () __attribute__ ((__nonnull__ (1)));
26220
26221
26222 extern long int telldir (DIR *__dirp) throw () __attribute__ ((__nonnull__ (1)));
26223
26224
26225
26226
26227
26228 extern int dirfd (DIR *__dirp) throw () __attribute__ ((__nonnull__ (1)));
26229
26230
26231
26232
26233
26234
26235
26236 # 1 "/usr/include/bits/posix1_lim.h" 1 3 4
26237 # 233 "/usr/include/gentoo-multilib/amd64/dirent.h" 2 3 4
26238 # 243 "/usr/include/gentoo-multilib/amd64/dirent.h" 3 4
26239 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
26240 # 244 "/usr/include/gentoo-multilib/amd64/dirent.h" 2 3 4
26241 # 257 "/usr/include/gentoo-multilib/amd64/dirent.h" 3 4
26242 extern int scandir (__const char *__restrict __dir, struct dirent ***__restrict __namelist, int (*__selector) (__const struct dirent *), int (*__cmp) (__const void *, __const void *)) __asm__ ("" "scandir64") __attribute__ ((__nonnull__ (1, 2)));
26243 # 271 "/usr/include/gentoo-multilib/amd64/dirent.h" 3 4
26244 extern int scandir64 (__const char *__restrict __dir,
26245         struct dirent64 ***__restrict __namelist,
26246         int (*__selector) (__const struct dirent64 *),
26247         int (*__cmp) (__const void *, __const void *))
26248      __attribute__ ((__nonnull__ (1, 2)));
26249 # 284 "/usr/include/gentoo-multilib/amd64/dirent.h" 3 4
26250 extern int alphasort (__const void *__e1, __const void *__e2) throw () __asm__ ("" "alphasort64") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
26251 # 293 "/usr/include/gentoo-multilib/amd64/dirent.h" 3 4
26252 extern int alphasort64 (__const void *__e1, __const void *__e2)
26253      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
26254 # 304 "/usr/include/gentoo-multilib/amd64/dirent.h" 3 4
26255 extern int versionsort (__const void *__e1, __const void *__e2) throw () __asm__ ("" "versionsort64")
26256
26257
26258      __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
26259
26260
26261
26262
26263
26264
26265 extern int versionsort64 (__const void *__e1, __const void *__e2)
26266      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
26267 # 330 "/usr/include/gentoo-multilib/amd64/dirent.h" 3 4
26268 extern __ssize_t getdirentries (int __fd, char *__restrict __buf, size_t __nbytes, __off64_t *__restrict __basep) throw () __asm__ ("" "getdirentries64") __attribute__ ((__nonnull__ (2, 4)));
26269 # 341 "/usr/include/gentoo-multilib/amd64/dirent.h" 3 4
26270 extern __ssize_t getdirentries64 (int __fd, char *__restrict __buf,
26271       size_t __nbytes,
26272       __off64_t *__restrict __basep)
26273      throw () __attribute__ ((__nonnull__ (2, 4)));
26274
26275
26276
26277
26278 }
26279 # 9 "/usr/include/dirent.h" 2 3 4
26280 # 62 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filefn.h" 2
26281 # 96 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filefn.h"
26282 # 1 "/usr/include/fcntl.h" 1 3 4
26283
26284
26285
26286
26287
26288
26289
26290 # 1 "/usr/include/gentoo-multilib/amd64/fcntl.h" 1 3 4
26291 # 27 "/usr/include/gentoo-multilib/amd64/fcntl.h" 3 4
26292 # 1 "/usr/include/features.h" 1 3 4
26293 # 28 "/usr/include/gentoo-multilib/amd64/fcntl.h" 2 3 4
26294
26295
26296 extern "C" {
26297
26298
26299
26300 # 1 "/usr/include/bits/fcntl.h" 1 3 4
26301
26302
26303
26304
26305
26306
26307
26308 # 1 "/usr/include/gentoo-multilib/amd64/bits/fcntl.h" 1 3 4
26309 # 24 "/usr/include/gentoo-multilib/amd64/bits/fcntl.h" 3 4
26310 # 1 "/usr/include/sys/types.h" 1 3 4
26311 # 25 "/usr/include/gentoo-multilib/amd64/bits/fcntl.h" 2 3 4
26312 # 1 "/usr/include/bits/wordsize.h" 1 3 4
26313
26314
26315
26316
26317
26318
26319
26320 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
26321 # 9 "/usr/include/bits/wordsize.h" 2 3 4
26322 # 26 "/usr/include/gentoo-multilib/amd64/bits/fcntl.h" 2 3 4
26323
26324 # 1 "/usr/include/bits/uio.h" 1 3 4
26325
26326
26327
26328
26329
26330
26331
26332 # 1 "/usr/include/gentoo-multilib/amd64/bits/uio.h" 1 3 4
26333 # 26 "/usr/include/gentoo-multilib/amd64/bits/uio.h" 3 4
26334 # 1 "/usr/include/sys/types.h" 1 3 4
26335 # 27 "/usr/include/gentoo-multilib/amd64/bits/uio.h" 2 3 4
26336 # 44 "/usr/include/gentoo-multilib/amd64/bits/uio.h" 3 4
26337 struct iovec
26338   {
26339     void *iov_base;
26340     size_t iov_len;
26341   };
26342 # 9 "/usr/include/bits/uio.h" 2 3 4
26343 # 28 "/usr/include/gentoo-multilib/amd64/bits/fcntl.h" 2 3 4
26344 # 155 "/usr/include/gentoo-multilib/amd64/bits/fcntl.h" 3 4
26345 struct flock
26346   {
26347     short int l_type;
26348     short int l_whence;
26349
26350
26351
26352
26353     __off64_t l_start;
26354     __off64_t l_len;
26355
26356     __pid_t l_pid;
26357   };
26358
26359
26360 struct flock64
26361   {
26362     short int l_type;
26363     short int l_whence;
26364     __off64_t l_start;
26365     __off64_t l_len;
26366     __pid_t l_pid;
26367   };
26368 # 222 "/usr/include/gentoo-multilib/amd64/bits/fcntl.h" 3 4
26369 extern "C" {
26370
26371
26372
26373
26374 extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
26375     throw ();
26376
26377
26378
26379 extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to,
26380        unsigned int __flags);
26381
26382
26383
26384 extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count,
26385        unsigned int __flags);
26386
26387
26388 extern int splice (int __fdin, __off64_t *__offin, int __fdout,
26389      __off64_t *__offout, size_t __len, unsigned int __flags)
26390     throw ();
26391
26392
26393 extern int tee (int __fdin, int __fdout, size_t __len, unsigned int __flags)
26394     throw ();
26395
26396
26397
26398 }
26399 # 9 "/usr/include/bits/fcntl.h" 2 3 4
26400 # 35 "/usr/include/gentoo-multilib/amd64/fcntl.h" 2 3 4
26401
26402
26403
26404 # 1 "/usr/include/sys/stat.h" 1 3 4
26405 # 39 "/usr/include/gentoo-multilib/amd64/fcntl.h" 2 3 4
26406 # 76 "/usr/include/gentoo-multilib/amd64/fcntl.h" 3 4
26407 extern int fcntl (int __fd, int __cmd, ...);
26408 # 88 "/usr/include/gentoo-multilib/amd64/fcntl.h" 3 4
26409 extern int open (__const char *__file, int __oflag, ...) __asm__ ("" "open64")
26410      __attribute__ ((__nonnull__ (1)));
26411
26412
26413
26414
26415
26416 extern int open64 (__const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1)));
26417 # 113 "/usr/include/gentoo-multilib/amd64/fcntl.h" 3 4
26418 extern int openat (int __fd, __const char *__file, int __oflag, ...) __asm__ ("" "openat64") __attribute__ ((__nonnull__ (2)));
26419
26420
26421
26422
26423
26424
26425 extern int openat64 (int __fd, __const char *__file, int __oflag, ...)
26426      __attribute__ ((__nonnull__ (2)));
26427 # 133 "/usr/include/gentoo-multilib/amd64/fcntl.h" 3 4
26428 extern int creat (__const char *__file, __mode_t __mode) __asm__ ("" "creat64") __attribute__ ((__nonnull__ (1)));
26429
26430
26431
26432
26433
26434
26435 extern int creat64 (__const char *__file, __mode_t __mode) __attribute__ ((__nonnull__ (1)));
26436 # 180 "/usr/include/gentoo-multilib/amd64/fcntl.h" 3 4
26437 extern int posix_fadvise (int __fd, __off64_t __offset, __off64_t __len, int __advise) throw () __asm__ ("" "posix_fadvise64");
26438
26439
26440
26441
26442
26443
26444
26445 extern int posix_fadvise64 (int __fd, __off64_t __offset, __off64_t __len,
26446        int __advise) throw ();
26447 # 201 "/usr/include/gentoo-multilib/amd64/fcntl.h" 3 4
26448 extern int posix_fallocate (int __fd, __off64_t __offset, __off64_t __len) __asm__ ("" "posix_fallocate64");
26449
26450
26451
26452
26453
26454
26455
26456 extern int posix_fallocate64 (int __fd, __off64_t __offset, __off64_t __len);
26457
26458
26459
26460 }
26461 # 9 "/usr/include/fcntl.h" 2 3 4
26462 # 97 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filefn.h" 2
26463 # 107 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filefn.h"
26464 # 1 "/usr/include/sys/types.h" 1 3 4
26465 # 108 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filefn.h" 2
26466 # 121 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filefn.h"
26467 enum wxSeekMode
26468 {
26469   wxFromStart,
26470   wxFromCurrent,
26471   wxFromEnd
26472 };
26473
26474 enum wxFileKind
26475 {
26476   wxFILE_KIND_UNKNOWN,
26477   wxFILE_KIND_DISK,
26478   wxFILE_KIND_TERMINAL,
26479   wxFILE_KIND_PIPE
26480 };
26481 # 319 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filefn.h"
26482     typedef off_t wxFileOffset;
26483
26484
26485         struct wxAssert_323 { unsigned int BadFileSizeType: sizeof(off_t) == sizeof(long); };
26486 # 365 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filefn.h"
26487 const int wxInvalidOffset = -1;
26488
26489
26490
26491
26492
26493  bool wxFileExists(const wxString& filename);
26494
26495
26496  bool wxDirExists(const wxChar *pszPathName);
26497
26498  bool wxIsAbsolutePath(const wxString& filename);
26499
26500
26501  wxChar* wxFileNameFromPath(wxChar *path);
26502  wxString wxFileNameFromPath(const wxString& path);
26503
26504
26505  wxString wxPathOnly(const wxString& path);
26506
26507
26508  wxString wxRealPath(const wxString& path);
26509
26510  void wxDos2UnixFilename(wxChar *s);
26511
26512  void wxUnix2DosFilename(wxChar *s);
26513
26514
26515  void wxStripExtension(wxChar *buffer);
26516  void wxStripExtension(wxString& buffer);
26517
26518
26519  wxChar* wxGetTempFileName(const wxString& prefix, wxChar *buf = (wxChar *) __null);
26520  bool wxGetTempFileName(const wxString& prefix, wxString& buf);
26521
26522
26523  wxChar* wxExpandPath(wxChar *dest, const wxChar *path);
26524  bool wxExpandPath(wxString& dest, const wxChar *path);
26525
26526
26527
26528
26529  wxChar* wxContractPath(const wxString& filename,
26530                                    const wxString& envname = wxEmptyString,
26531                                    const wxString& user = wxEmptyString);
26532
26533
26534  wxChar* wxRealPath(wxChar *path);
26535
26536
26537  wxChar* wxCopyAbsolutePath(const wxString& path);
26538
26539
26540
26541
26542
26543  wxString wxFindFirstFile(const wxChar *spec, int flags = 1);
26544  wxString wxFindNextFile();
26545
26546
26547  bool wxIsWild(const wxString& pattern);
26548
26549
26550
26551
26552  bool wxMatchWild(const wxString& pattern, const wxString& text, bool dot_special = true);
26553
26554
26555  bool wxConcatFiles(const wxString& file1, const wxString& file2, const wxString& file3);
26556
26557
26558  bool wxCopyFile(const wxString& file1, const wxString& file2,
26559                                  bool overwrite = true);
26560
26561
26562  bool wxRemoveFile(const wxString& file);
26563
26564
26565  bool wxRenameFile(const wxString& file1, const wxString& file2);
26566
26567
26568
26569
26570
26571
26572  wxChar* wxGetWorkingDirectory(wxChar *buf = (wxChar *) __null, int sz = 1000);
26573
26574
26575  wxString wxGetCwd();
26576
26577
26578  bool wxSetWorkingDirectory(const wxString& d);
26579
26580
26581  bool wxMkdir(const wxString& dir, int perm = 0777);
26582
26583
26584  bool wxRmdir(const wxString& dir, int flags = 0);
26585
26586
26587  wxFileKind wxGetFileKind(int fd);
26588  wxFileKind wxGetFileKind(FILE *fp);
26589
26590
26591
26592
26593 inline bool wxPathExists(const wxChar *pszPathName) __attribute__ ((deprecated));
26594 inline bool wxPathExists(const wxChar *pszPathName)
26595 {
26596     return wxDirExists(pszPathName);
26597 }
26598 # 524 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filefn.h"
26599 inline bool wxIsPathSeparator(wxChar c)
26600 {
26601
26602
26603     return c == '/';
26604
26605
26606
26607 }
26608
26609
26610  bool wxEndsWithPathSeparator(const wxChar *pszFileName);
26611
26612
26613
26614  void wxSplitPath(const wxChar *pszFileName,
26615                              wxString *pstrPath,
26616                              wxString *pstrName,
26617                              wxString *pstrExt);
26618
26619
26620  bool wxFindFileInPath(wxString *pStr, const wxChar *pszPath, const wxChar *pszFile);
26621
26622
26623
26624  wxString wxGetOSDirectory();
26625
26626
26627  time_t wxFileModificationTime(const wxString& filename);
26628
26629
26630
26631
26632
26633
26634  int wxParseCommonDialogsFilter(const wxString& wildCard, wxArrayString& descriptions, wxArrayString& filters);
26635 # 568 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filefn.h"
26636 class wxUmaskChanger
26637 {
26638 public:
26639
26640
26641
26642     wxUmaskChanger(int umaskNew)
26643     {
26644         m_umaskOld = umaskNew == -1 ? -1 : (int)umask((mode_t)umaskNew);
26645     }
26646
26647     ~wxUmaskChanger()
26648     {
26649         if ( m_umaskOld != -1 )
26650             umask((mode_t)m_umaskOld);
26651     }
26652
26653 private:
26654     int m_umaskOld;
26655 };
26656 # 601 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filefn.h"
26657 class wxPathList : public wxStringList
26658 {
26659 public:
26660
26661     virtual ~wxPathList() {}
26662
26663
26664     void AddEnvList(const wxString& envVariable);
26665
26666     void Add(const wxString& path);
26667
26668     wxString FindValidPath(const wxString& filename);
26669
26670
26671     wxString FindAbsoluteValidPath(const wxString& filename);
26672
26673     void EnsureFileAccessible(const wxString& path);
26674
26675     bool Member(const wxString& path);
26676
26677 private:
26678
26679 };
26680 # 27 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stream.h" 2
26681
26682 class wxStreamBase;
26683 class wxInputStream;
26684 class wxOutputStream;
26685
26686 typedef wxInputStream& (*__wxInputManip)(wxInputStream&);
26687 typedef wxOutputStream& (*__wxOutputManip)(wxOutputStream&);
26688
26689  wxOutputStream& wxEndL(wxOutputStream& o_stream);
26690
26691
26692
26693
26694
26695 enum wxStreamError
26696 {
26697     wxSTREAM_NO_ERROR = 0,
26698     wxSTREAM_EOF,
26699     wxSTREAM_WRITE_ERROR,
26700     wxSTREAM_READ_ERROR
26701 };
26702 # 70 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stream.h"
26703 class wxStreamBase
26704 {
26705 public:
26706     wxStreamBase();
26707     virtual ~wxStreamBase();
26708
26709
26710     wxStreamError GetLastError() const { return m_lasterror; }
26711     bool IsOk() const { return GetLastError() == wxSTREAM_NO_ERROR; }
26712     bool operator!() const { return !IsOk(); }
26713
26714
26715     void Reset() { m_lasterror = wxSTREAM_NO_ERROR; }
26716
26717
26718     virtual size_t GetSize() const;
26719     virtual wxFileOffset GetLength() const { return wxInvalidOffset; }
26720
26721
26722     virtual bool IsSeekable() const { return false; }
26723 # 100 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stream.h"
26724     virtual void ReservedStreamFunc1() {}
26725     virtual void ReservedStreamFunc2() {}
26726     virtual void ReservedStreamFunc3() {}
26727     virtual void ReservedStreamFunc4() {}
26728     virtual void ReservedStreamFunc5() {}
26729     virtual void ReservedStreamFunc6() {}
26730     virtual void ReservedStreamFunc7() {}
26731     virtual void ReservedStreamFunc8() {}
26732     virtual void ReservedStreamFunc9() {}
26733
26734
26735 protected:
26736     virtual wxFileOffset OnSysSeek(wxFileOffset seek, wxSeekMode mode);
26737     virtual wxFileOffset OnSysTell() const;
26738
26739     size_t m_lastcount;
26740     wxStreamError m_lasterror;
26741
26742     friend class wxStreamBuffer;
26743
26744     private: wxStreamBase(const wxStreamBase&); wxStreamBase& operator=(const wxStreamBase&);
26745 };
26746
26747
26748
26749
26750
26751 class wxInputStream : public wxStreamBase
26752 {
26753 public:
26754
26755     wxInputStream();
26756     virtual ~wxInputStream();
26757 # 144 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stream.h"
26758     virtual char Peek();
26759
26760
26761
26762
26763
26764     char GetC();
26765 # 163 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stream.h"
26766     virtual wxInputStream& Read(void *buffer, size_t size);
26767
26768
26769
26770     wxInputStream& Read(wxOutputStream& streamOut);
26771 # 178 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stream.h"
26772     virtual size_t LastRead() const { return wxStreamBase::m_lastcount; }
26773
26774
26775
26776     virtual bool CanRead() const;
26777
26778
26779
26780
26781
26782     virtual bool Eof() const;
26783 # 198 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stream.h"
26784     size_t Ungetch(const void *buffer, size_t size);
26785
26786
26787
26788
26789     bool Ungetch(char c);
26790 # 213 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stream.h"
26791     virtual wxFileOffset SeekI(wxFileOffset pos, wxSeekMode mode = wxFromStart);
26792
26793
26794     virtual wxFileOffset TellI() const;
26795
26796
26797
26798
26799
26800     wxInputStream& operator>>(wxOutputStream& out) { return Read(out); }
26801     wxInputStream& operator>>(__wxInputManip func) { return func(*this); }
26802
26803 protected:
26804
26805
26806
26807
26808
26809     virtual size_t OnSysRead(void *buffer, size_t size) = 0;
26810
26811
26812
26813
26814
26815     char *AllocSpaceWBack(size_t sizeNeeded);
26816
26817
26818
26819     size_t GetWBack(void *buf, size_t size);
26820
26821
26822     char *m_wback;
26823
26824
26825     size_t m_wbacksize;
26826
26827
26828     size_t m_wbackcur;
26829
26830     friend class wxStreamBuffer;
26831
26832     private: wxInputStream(const wxInputStream&); wxInputStream& operator=(const wxInputStream&);
26833 };
26834
26835
26836
26837
26838
26839 class wxOutputStream : public wxStreamBase
26840 {
26841 public:
26842     wxOutputStream();
26843     virtual ~wxOutputStream();
26844
26845     void PutC(char c);
26846     virtual wxOutputStream& Write(const void *buffer, size_t size);
26847     wxOutputStream& Write(wxInputStream& stream_in);
26848
26849     virtual wxFileOffset SeekO(wxFileOffset pos, wxSeekMode mode = wxFromStart);
26850     virtual wxFileOffset TellO() const;
26851
26852     virtual size_t LastWrite() const { return wxStreamBase::m_lastcount; }
26853
26854     virtual void Sync();
26855     virtual bool Close() { return true; }
26856
26857     wxOutputStream& operator<<(wxInputStream& out) { return Write(out); }
26858     wxOutputStream& operator<<( __wxOutputManip func) { return func(*this); }
26859
26860 protected:
26861
26862
26863     virtual size_t OnSysWrite(const void *buffer, size_t bufsize);
26864
26865     friend class wxStreamBuffer;
26866
26867     private: wxOutputStream(const wxOutputStream&); wxOutputStream& operator=(const wxOutputStream&);
26868 };
26869 # 300 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stream.h"
26870 class wxCountingOutputStream : public wxOutputStream
26871 {
26872 public:
26873     wxCountingOutputStream();
26874
26875     wxFileOffset GetLength() const;
26876     bool Ok() const { return true; }
26877
26878 protected:
26879     virtual size_t OnSysWrite(const void *buffer, size_t size);
26880     virtual wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode);
26881     virtual wxFileOffset OnSysTell() const;
26882
26883     size_t m_currentPos;
26884
26885     private: wxCountingOutputStream(const wxCountingOutputStream&); wxCountingOutputStream& operator=(const wxCountingOutputStream&);
26886 };
26887
26888
26889
26890
26891
26892 class wxFilterInputStream : public wxInputStream
26893 {
26894 public:
26895     wxFilterInputStream();
26896     wxFilterInputStream(wxInputStream& stream);
26897     virtual ~wxFilterInputStream();
26898
26899     char Peek() { return m_parent_i_stream->Peek(); }
26900
26901     wxFileOffset GetLength() const { return m_parent_i_stream->GetLength(); }
26902
26903     wxInputStream *GetFilterInputStream() const { return m_parent_i_stream; }
26904
26905 protected:
26906     wxInputStream *m_parent_i_stream;
26907
26908     private: wxFilterInputStream(const wxFilterInputStream&); wxFilterInputStream& operator=(const wxFilterInputStream&);
26909 };
26910
26911 class wxFilterOutputStream : public wxOutputStream
26912 {
26913 public:
26914     wxFilterOutputStream();
26915     wxFilterOutputStream(wxOutputStream& stream);
26916     virtual ~wxFilterOutputStream();
26917
26918     wxFileOffset GetLength() const { return m_parent_o_stream->GetLength(); }
26919
26920     wxOutputStream *GetFilterOutputStream() const { return m_parent_o_stream; }
26921
26922 protected:
26923     wxOutputStream *m_parent_o_stream;
26924
26925     private: wxFilterOutputStream(const wxFilterOutputStream&); wxFilterOutputStream& operator=(const wxFilterOutputStream&);
26926 };
26927 # 367 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stream.h"
26928 class wxStreamBuffer
26929 {
26930 public:
26931     enum BufMode
26932     {
26933         read,
26934         write,
26935         read_write
26936     };
26937
26938     wxStreamBuffer(wxStreamBase& stream, BufMode mode);
26939     wxStreamBuffer(const wxStreamBuffer& buf);
26940     virtual ~wxStreamBuffer();
26941
26942
26943     virtual size_t Read(void *buffer, size_t size);
26944     size_t Read(wxStreamBuffer *buf);
26945     virtual size_t Write(const void *buffer, size_t size);
26946     size_t Write(wxStreamBuffer *buf);
26947
26948     virtual char Peek();
26949     virtual char GetChar();
26950     virtual void PutChar(char c);
26951     virtual wxFileOffset Tell() const;
26952     virtual wxFileOffset Seek(wxFileOffset pos, wxSeekMode mode);
26953
26954
26955     void ResetBuffer();
26956
26957
26958
26959     void SetBufferIO(void *start, void *end, bool takeOwnership = false);
26960     void SetBufferIO(void *start, size_t len, bool takeOwnership = false);
26961     void SetBufferIO(size_t bufsize);
26962     void *GetBufferStart() const { return m_buffer_start; }
26963     void *GetBufferEnd() const { return m_buffer_end; }
26964     void *GetBufferPos() const { return m_buffer_pos; }
26965     size_t GetBufferSize() const { return m_buffer_size; }
26966     size_t GetIntPosition() const { return m_buffer_pos - m_buffer_start; }
26967     void SetIntPosition(size_t pos) { m_buffer_pos = m_buffer_start + pos; }
26968     size_t GetLastAccess() const { return m_buffer_end - m_buffer_start; }
26969     size_t GetBytesLeft() const { return m_buffer_end - m_buffer_pos; }
26970
26971     void Fixed(bool fixed) { m_fixed = fixed; }
26972     void Flushable(bool f) { m_flushable = f; }
26973
26974     bool FlushBuffer();
26975     bool FillBuffer();
26976     size_t GetDataLeft();
26977
26978
26979     wxStreamBase *GetStream() const { return m_stream; }
26980     bool HasBuffer() const { return m_buffer_size != 0; }
26981
26982     bool IsFixed() const { return m_fixed; }
26983     bool IsFlushable() const { return m_flushable; }
26984
26985
26986     wxInputStream *GetInputStream() const;
26987     wxOutputStream *GetOutputStream() const;
26988
26989
26990     wxStreamBase *Stream() { return m_stream; }
26991
26992
26993
26994     wxStreamBuffer(BufMode mode);
26995
26996 protected:
26997     void GetFromBuffer(void *buffer, size_t size);
26998     void PutToBuffer(const void *buffer, size_t size);
26999
27000
27001     void SetError(wxStreamError err);
27002
27003
27004     void Init();
27005
27006
27007     void InitBuffer();
27008
27009
27010     void FreeBuffer();
27011
27012
27013
27014     char *m_buffer_start,
27015          *m_buffer_end,
27016          *m_buffer_pos;
27017
27018
27019
27020     size_t m_buffer_size;
27021
27022
27023     wxStreamBase *m_stream;
27024
27025
27026     BufMode m_mode;
27027
27028
27029     bool m_destroybuf,
27030          m_fixed,
27031          m_flushable;
27032
27033 private:
27034
27035
27036
27037
27038
27039     wxStreamBuffer& operator=(const wxStreamBuffer&);
27040 };
27041
27042
27043
27044
27045
27046 class wxBufferedInputStream : public wxFilterInputStream
27047 {
27048 public:
27049
27050     wxBufferedInputStream(wxInputStream& stream,
27051                           wxStreamBuffer *buffer = __null);
27052     virtual ~wxBufferedInputStream();
27053
27054     char Peek();
27055     wxInputStream& Read(void *buffer, size_t size);
27056
27057
27058     wxFileOffset SeekI(wxFileOffset pos, wxSeekMode mode = wxFromStart);
27059     wxFileOffset TellI() const;
27060     bool IsSeekable() const { return m_parent_i_stream->IsSeekable(); }
27061
27062
27063     void SetInputStreamBuffer(wxStreamBuffer *buffer);
27064     wxStreamBuffer *GetInputStreamBuffer() const { return m_i_streambuf; }
27065
27066
27067     wxStreamBuffer *InputStreamBuffer() const { return m_i_streambuf; }
27068
27069 protected:
27070     virtual size_t OnSysRead(void *buffer, size_t bufsize);
27071     virtual wxFileOffset OnSysSeek(wxFileOffset seek, wxSeekMode mode);
27072     virtual wxFileOffset OnSysTell() const;
27073
27074     wxStreamBuffer *m_i_streambuf;
27075
27076     private: wxBufferedInputStream(const wxBufferedInputStream&); wxBufferedInputStream& operator=(const wxBufferedInputStream&);
27077 };
27078
27079
27080
27081
27082
27083 class wxBufferedOutputStream : public wxFilterOutputStream
27084 {
27085 public:
27086
27087     wxBufferedOutputStream(wxOutputStream& stream,
27088                            wxStreamBuffer *buffer = __null);
27089     virtual ~wxBufferedOutputStream();
27090
27091     wxOutputStream& Write(const void *buffer, size_t size);
27092
27093
27094     wxFileOffset SeekO(wxFileOffset pos, wxSeekMode mode = wxFromStart);
27095     wxFileOffset TellO() const;
27096     bool IsSeekable() const { return m_parent_o_stream->IsSeekable(); }
27097
27098     void Sync();
27099     bool Close();
27100
27101     wxFileOffset GetLength() const;
27102
27103
27104     void SetOutputStreamBuffer(wxStreamBuffer *buffer);
27105     wxStreamBuffer *GetOutputStreamBuffer() const { return m_o_streambuf; }
27106
27107
27108     wxStreamBuffer *OutputStreamBuffer() const { return m_o_streambuf; }
27109
27110 protected:
27111     virtual size_t OnSysWrite(const void *buffer, size_t bufsize);
27112     virtual wxFileOffset OnSysSeek(wxFileOffset seek, wxSeekMode mode);
27113     virtual wxFileOffset OnSysTell() const;
27114
27115     wxStreamBuffer *m_o_streambuf;
27116
27117     private: wxBufferedOutputStream(const wxBufferedOutputStream&); wxBufferedOutputStream& operator=(const wxBufferedOutputStream&);
27118 };
27119 # 25 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/image.h" 2
27120 # 43 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/image.h"
27121 enum
27122 {
27123     wxIMAGE_RESOLUTION_INCHES = 1,
27124     wxIMAGE_RESOLUTION_CM = 2
27125 };
27126
27127
27128
27129
27130 const unsigned char wxIMAGE_ALPHA_TRANSPARENT = 0;
27131 const unsigned char wxIMAGE_ALPHA_THRESHOLD = 0x80;
27132 const unsigned char wxIMAGE_ALPHA_OPAQUE = 0xff;
27133
27134
27135
27136
27137
27138 class wxImageHandler;
27139 class wxImage;
27140 class wxPalette;
27141
27142
27143
27144
27145
27146 class wxImageHandler: public wxObject
27147 {
27148 public:
27149     wxImageHandler()
27150         : m_name(wxEmptyString), m_extension(wxEmptyString), m_mime(), m_type(0)
27151         { }
27152
27153
27154     virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 );
27155     virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=true );
27156
27157     virtual int GetImageCount( wxInputStream& stream );
27158
27159     bool CanRead( wxInputStream& stream ) { return CallDoCanRead(stream); }
27160     bool CanRead( const wxString& name );
27161
27162
27163     void SetName(const wxString& name) { m_name = name; }
27164     void SetExtension(const wxString& ext) { m_extension = ext; }
27165     void SetType(long type) { m_type = type; }
27166     void SetMimeType(const wxString& type) { m_mime = type; }
27167     wxString GetName() const { return m_name; }
27168     wxString GetExtension() const { return m_extension; }
27169     long GetType() const { return m_type; }
27170     wxString GetMimeType() const { return m_mime; }
27171
27172 protected:
27173
27174     virtual bool DoCanRead( wxInputStream& stream ) = 0;
27175
27176
27177     bool CallDoCanRead(wxInputStream& stream);
27178
27179
27180     wxString m_name;
27181     wxString m_extension;
27182     wxString m_mime;
27183     long m_type;
27184
27185 private:
27186     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
27187 };
27188
27189
27190
27191
27192
27193 class wxImageHistogramEntry
27194 {
27195 public:
27196     wxImageHistogramEntry() { index = value = 0; }
27197     unsigned long index;
27198     unsigned long value;
27199 };
27200
27201 class wxImageHistogramBase_wxImplementation_Pair { public: typedef unsigned long t1; typedef wxImageHistogramEntry t2; typedef const unsigned long const_t1; typedef const wxImageHistogramEntry const_t2; wxImageHistogramBase_wxImplementation_Pair( const const_t1& f, const const_t2& s ):first(t1(f)),second(t2(s)) {} t1 first; t2 second; }; class wxImageHistogramBase_wxImplementation_KeyEx { typedef unsigned long key_type; typedef wxImageHistogramBase_wxImplementation_Pair pair_type; typedef const key_type const_key_type; typedef const pair_type const_pair_type; typedef const_key_type& const_key_reference; typedef const_pair_type& const_pair_reference; public: wxImageHistogramBase_wxImplementation_KeyEx() { } const_key_reference operator()( const_pair_reference pair ) const { return pair.first; } wxImageHistogramBase_wxImplementation_KeyEx& operator=(const wxImageHistogramBase_wxImplementation_KeyEx&) { return *this; } }; class wxImageHistogramBase_wxImplementation_HashTable : protected _wxHashTableBase2 { public: typedef unsigned long key_type; typedef wxImageHistogramBase_wxImplementation_Pair value_type; typedef wxIntegerHash hasher; typedef wxIntegerEqual key_equal; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type& reference; typedef const value_type& const_reference; typedef const unsigned long const_key_type; typedef const wxImageHistogramBase_wxImplementation_Pair const_mapped_type; public: struct Node; typedef wxImageHistogramBase_wxImplementation_KeyEx key_extractor; typedef wxImageHistogramBase_wxImplementation_HashTable Self; protected: Node** m_table; size_t m_tableBuckets; size_t m_items; hasher m_hasher; key_equal m_equals; key_extractor m_getKey; public: struct Node:public _wxHashTable_NodeBase { public: Node( const value_type& value ) : m_value( value ) {} Node* m_next() { return (Node*)this->m_nxt; } value_type m_value; }; class Iterator; friend class Iterator; protected: static void DeleteNode( _wxHashTable_NodeBase* node ) { delete (Node*)node; } public: class Iterator { public: Node* m_node; Self* m_ht; Iterator() : m_node(0), m_ht(0) {} Iterator( Node* node, const Self* ht ) : m_node(node), m_ht((Self*)ht) {} bool operator ==( const Iterator& it ) const { return m_node == it.m_node; } bool operator !=( const Iterator& it ) const { return m_node != it.m_node; } protected: Node* GetNextNode() { size_type bucket = GetBucketForNode(m_ht,m_node); for( size_type i = bucket + 1; i < m_ht->m_tableBuckets; ++i ) { if( m_ht->m_table[i] ) return m_ht->m_table[i]; } return 0; } void PlusPlus() { Node* next = m_node->m_next(); m_node = next ? next : GetNextNode(); } }; public: class iterator : public Iterator { public: iterator() : Iterator() {} iterator( Node* node, Self* ht ) : Iterator( node, ht ) {} iterator& operator++() { PlusPlus(); return *this; } iterator operator++(int) { iterator it=*this;PlusPlus();return it; } reference operator *() const { return m_node->m_value; } pointer operator ->() const { return &(m_node->m_value); } }; class const_iterator : public Iterator { public: const_iterator() : Iterator() {} const_iterator( Node* node, const Self* ht ) : Iterator( node, (Self*)ht ) {} const_iterator& operator++() { PlusPlus();return *this; } const_iterator operator++(int) { const_iterator it=*this;PlusPlus();return it; } const_reference operator *() const { return m_node->m_value; } const_pointer operator ->() const { return &(m_node->m_value); } }; wxImageHistogramBase_wxImplementation_HashTable( size_type sz = 10, const hasher& hfun = hasher(), const key_equal& k_eq = key_equal(), const key_extractor& k_ex = key_extractor() ) : m_tableBuckets( GetNextPrime( (unsigned long) sz ) ), m_items( 0 ), m_hasher( hfun ), m_equals( k_eq ), m_getKey( k_ex ) { m_table = (Node**)AllocTable( m_tableBuckets ); } wxImageHistogramBase_wxImplementation_HashTable( const Self& ht ) : m_table( 0 ), m_tableBuckets( 0 ), m_items( ht.m_items ), m_hasher( ht.m_hasher ), m_equals( ht.m_equals ), m_getKey( ht.m_getKey ) { HashCopy( ht ); } const Self& operator=( const Self& ht ) { clear(); m_hasher = ht.m_hasher; m_equals = ht.m_equals; m_getKey = ht.m_getKey; m_items = ht.m_items; HashCopy( ht ); return *this; } ~wxImageHistogramBase_wxImplementation_HashTable() { clear(); FreeTable(m_table); } hasher hash_funct() { return m_hasher; } key_equal key_eq() { return m_equals; } void clear() { DeleteNodes( m_tableBuckets, (_wxHashTable_NodeBase**)m_table, DeleteNode ); m_items = 0; } size_type size() const { return m_items; } size_type max_size() const { return size_type(-1); } bool empty() const { return size() == 0; } const_iterator end() const { return const_iterator( 0, this ); } iterator end() { return iterator( 0, this ); } const_iterator begin() const { return const_iterator( (Node*)GetFirstNode( m_tableBuckets, (_wxHashTable_NodeBase**)m_table ), this ); }; iterator begin() { return iterator( (Node*)GetFirstNode( m_tableBuckets, (_wxHashTable_NodeBase**)m_table ), this ); }; size_type erase( const const_key_type& key ) { Node** node = GetNodePtr( key ); if( !node ) return 0; --m_items; Node* temp = (*node)->m_next(); delete *node; (*node) = temp; if( never_shrink( m_tableBuckets, m_items ) ) ResizeTable( GetPreviousPrime( (unsigned long) m_tableBuckets ) - 1 ); return 1; } protected: static size_type GetBucketForNode( Self* ht, Node* node ) { return ht->m_hasher( ht->m_getKey( node->m_value ) ) % ht->m_tableBuckets; } static Node* CopyNode( Node* node ) { return new Node( *node ); } Node* GetOrCreateNode( const value_type& value, bool& created ) { const const_key_type& key = m_getKey( value ); size_t bucket = m_hasher( key ) % m_tableBuckets; Node* node = m_table[bucket]; while( node ) { if( m_equals( m_getKey( node->m_value ), key ) ) { created = false; return node; } node = node->m_next(); } created = true; return CreateNode( value, bucket); } Node * CreateNode( const value_type& value, size_t bucket ) { Node* node = new Node( value ); node->m_nxt = m_table[bucket]; m_table[bucket] = node; ++m_items; if( grow_lf70( m_tableBuckets, m_items ) ) ResizeTable( m_tableBuckets ); return node; } void CreateNode( const value_type& value ) { CreateNode(value, m_hasher( m_getKey(value) ) % m_tableBuckets ); } Node** GetNodePtr( const const_key_type& key ) const { size_t bucket = m_hasher( key ) % m_tableBuckets; Node** node = &m_table[bucket]; while( *node ) { if( m_equals( m_getKey( (*node)->m_value ), key ) ) return node; node = (Node**)&(*node)->m_nxt; } return 0; } Node* GetNode( const const_key_type& key ) const { size_t bucket = m_hasher( key ) % m_tableBuckets; Node* node = m_table[bucket]; while( node ) { if( m_equals( m_getKey( node->m_value ), key ) ) return node; node = node->m_next(); } return 0; } void ResizeTable( size_t newSize ) { newSize = GetNextPrime( (unsigned long)newSize ); Node** srcTable = m_table; size_t srcBuckets = m_tableBuckets; m_table = (Node**)AllocTable( newSize ); m_tableBuckets = newSize; CopyHashTable( (_wxHashTable_NodeBase**)srcTable, srcBuckets, this, (_wxHashTable_NodeBase**)m_table, (BucketFromNode)GetBucketForNode, (ProcessNode)&DummyProcessNode ); FreeTable(srcTable); } void HashCopy( const Self& ht ) { ResizeTable( ht.size() ); CopyHashTable( (_wxHashTable_NodeBase**)ht.m_table, ht.m_tableBuckets, (_wxHashTableBase2*)this, (_wxHashTable_NodeBase**)m_table, (BucketFromNode)GetBucketForNode, (ProcessNode)CopyNode ); } }; class wxImageHistogramBase:public wxImageHistogramBase_wxImplementation_HashTable { public: typedef wxImageHistogramEntry mapped_type; class Insert_Result { public: typedef iterator t1; typedef bool t2; typedef const iterator const_t1; typedef const bool const_t2; Insert_Result( const const_t1& f, const const_t2& s ):first(t1(f)),second(t2(s)) {} t1 first; t2 second; }; explicit wxImageHistogramBase( size_type hint = 100, hasher hf = hasher(), key_equal eq = key_equal() ) : wxImageHistogramBase_wxImplementation_HashTable( hint, hf, eq, wxImageHistogramBase_wxImplementation_KeyEx() ) {} mapped_type& operator[]( const const_key_type& key ) { bool created; return GetOrCreateNode( wxImageHistogramBase_wxImplementation_Pair( key, mapped_type() ), created)->m_value.second; } const_iterator find( const const_key_type& key ) const { return const_iterator( GetNode( key ), this ); } iterator find( const const_key_type& key ) { return iterator( GetNode( key ), this ); } Insert_Result insert( const value_type& v ) { bool created; Node *node = GetOrCreateNode( wxImageHistogramBase_wxImplementation_Pair( v.first, v.second ), created); if ( !created ) node->m_value.second = v.second; return Insert_Result(iterator(node, this), created); } size_type erase( const key_type& k ) { return wxImageHistogramBase_wxImplementation_HashTable::erase( k ); } void erase( const iterator& it ) { erase( it->first ); } void erase( const const_iterator& it ) { erase( it->first ); } size_type count( const const_key_type& key ) { return GetNode( key ) ? 1 : 0; } };
27202
27203
27204
27205 class wxImageHistogram : public wxImageHistogramBase
27206 {
27207 public:
27208     wxImageHistogram() : wxImageHistogramBase(256) { }
27209
27210
27211     static unsigned long MakeKey(unsigned char r,
27212                                  unsigned char g,
27213                                  unsigned char b)
27214     {
27215         return (r << 16) | (g << 8) | b;
27216     }
27217
27218
27219
27220
27221
27222
27223     bool FindFirstUnusedColour(unsigned char *r,
27224                                unsigned char *g,
27225                                unsigned char *b,
27226                                unsigned char startR = 1,
27227                                unsigned char startG = 0,
27228                                unsigned char startB = 0 ) const;
27229 };
27230
27231
27232
27233
27234
27235 class wxImage: public wxObject
27236 {
27237 public:
27238
27239
27240
27241     class RGBValue
27242     {
27243     public:
27244       RGBValue(unsigned char r=0, unsigned char g=0, unsigned char b=0)
27245         : red(r), green(g), blue(b) {}
27246         unsigned char red;
27247         unsigned char green;
27248         unsigned char blue;
27249     };
27250
27251
27252     class HSVValue
27253     {
27254     public:
27255         HSVValue(double h=0.0, double s=0.0, double v=0.0)
27256             : hue(h), saturation(s), value(v) {}
27257         double hue;
27258         double saturation;
27259         double value;
27260     };
27261
27262
27263     wxImage(){}
27264     wxImage( int width, int height, bool clear = true );
27265     wxImage( int width, int height, unsigned char* data, bool static_data = false );
27266     wxImage( int width, int height, unsigned char* data, unsigned char* alpha, bool static_data = false );
27267     wxImage( const wxString& name, long type = wxBITMAP_TYPE_ANY, int index = -1 );
27268     wxImage( const wxString& name, const wxString& mimetype, int index = -1 );
27269     wxImage( const char** xpmData );
27270     wxImage( char** xpmData );
27271
27272
27273     wxImage( wxInputStream& stream, long type = wxBITMAP_TYPE_ANY, int index = -1 );
27274     wxImage( wxInputStream& stream, const wxString& mimetype, int index = -1 );
27275
27276
27277     wxImage( const wxImage& image );
27278     wxImage( const wxImage* image );
27279
27280     bool Create( int width, int height, bool clear = true );
27281     bool Create( int width, int height, unsigned char* data, bool static_data = false );
27282     bool Create( int width, int height, unsigned char* data, unsigned char* alpha, bool static_data = false );
27283     bool Create( const char** xpmData );
27284     void Destroy();
27285
27286
27287
27288     wxImage Copy() const;
27289
27290
27291     wxImage GetSubImage( const wxRect& rect) const;
27292
27293
27294
27295
27296
27297     wxImage Size( const wxSize& size, const wxPoint& pos,
27298                   int r = -1, int g = -1, int b = -1 ) const;
27299
27300
27301
27302     void Paste( const wxImage &image, int x, int y );
27303
27304
27305     wxImage Scale( int width, int height ) const;
27306
27307     wxImage ShrinkBy( int xFactor , int yFactor ) const ;
27308
27309
27310     wxImage& Rescale( int width, int height ) { return *this = Scale(width, height); }
27311
27312
27313     wxImage& Resize( const wxSize& size, const wxPoint& pos,
27314                      int r = -1, int g = -1, int b = -1 ) { return *this = Size(size, pos, r, g, b); }
27315
27316
27317
27318     wxImage Rotate(double angle, const wxPoint & centre_of_rotation,
27319                    bool interpolating = true, wxPoint * offset_after_rotation = (wxPoint*) __null) const;
27320
27321     wxImage Rotate90( bool clockwise = true ) const;
27322     wxImage Mirror( bool horizontally = true ) const;
27323
27324
27325     void Replace( unsigned char r1, unsigned char g1, unsigned char b1,
27326                   unsigned char r2, unsigned char g2, unsigned char b2 );
27327
27328
27329
27330     wxImage ConvertToMono( unsigned char r, unsigned char g, unsigned char b ) const;
27331
27332
27333     void SetRGB( int x, int y, unsigned char r, unsigned char g, unsigned char b );
27334     void SetRGB( const wxRect& rect, unsigned char r, unsigned char g, unsigned char b );
27335     unsigned char GetRed( int x, int y ) const;
27336     unsigned char GetGreen( int x, int y ) const;
27337     unsigned char GetBlue( int x, int y ) const;
27338
27339     void SetAlpha(int x, int y, unsigned char alpha);
27340     unsigned char GetAlpha(int x, int y) const;
27341
27342
27343
27344     bool FindFirstUnusedColour( unsigned char *r, unsigned char *g, unsigned char *b,
27345                                 unsigned char startR = 1, unsigned char startG = 0,
27346                                 unsigned char startB = 0 ) const;
27347
27348     bool SetMaskFromImage(const wxImage & mask,
27349                           unsigned char mr, unsigned char mg, unsigned char mb);
27350
27351
27352
27353     bool ConvertAlphaToMask(unsigned char threshold = wxIMAGE_ALPHA_THRESHOLD);
27354 # 287 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/image.h"
27355     bool ConvertColourToAlpha( unsigned char r, unsigned char g, unsigned char b );
27356
27357     static bool CanRead( const wxString& name );
27358     static int GetImageCount( const wxString& name, long type = wxBITMAP_TYPE_ANY );
27359     virtual bool LoadFile( const wxString& name, long type = wxBITMAP_TYPE_ANY, int index = -1 );
27360     virtual bool LoadFile( const wxString& name, const wxString& mimetype, int index = -1 );
27361
27362
27363     static bool CanRead( wxInputStream& stream );
27364     static int GetImageCount( wxInputStream& stream, long type = wxBITMAP_TYPE_ANY );
27365     virtual bool LoadFile( wxInputStream& stream, long type = wxBITMAP_TYPE_ANY, int index = -1 );
27366     virtual bool LoadFile( wxInputStream& stream, const wxString& mimetype, int index = -1 );
27367
27368
27369     virtual bool SaveFile( const wxString& name ) const;
27370     virtual bool SaveFile( const wxString& name, int type ) const;
27371     virtual bool SaveFile( const wxString& name, const wxString& mimetype ) const;
27372
27373
27374     virtual bool SaveFile( wxOutputStream& stream, int type ) const;
27375     virtual bool SaveFile( wxOutputStream& stream, const wxString& mimetype ) const;
27376
27377
27378     bool Ok() const;
27379     int GetWidth() const;
27380     int GetHeight() const;
27381
27382
27383
27384     unsigned char *GetData() const;
27385     void SetData( unsigned char *data, bool static_data=false );
27386     void SetData( unsigned char *data, int new_width, int new_height, bool static_data=false );
27387
27388     unsigned char *GetAlpha() const;
27389     bool HasAlpha() const { return GetAlpha() != __null; }
27390     void SetAlpha(unsigned char *alpha = __null, bool static_data=false);
27391     void InitAlpha();
27392
27393
27394
27395     bool IsTransparent(int x, int y,
27396                        unsigned char threshold = wxIMAGE_ALPHA_THRESHOLD) const;
27397
27398
27399     void SetMaskColour( unsigned char r, unsigned char g, unsigned char b );
27400
27401
27402     bool GetOrFindMaskColour( unsigned char *r, unsigned char *g, unsigned char *b ) const;
27403     unsigned char GetMaskRed() const;
27404     unsigned char GetMaskGreen() const;
27405     unsigned char GetMaskBlue() const;
27406     void SetMask( bool mask = true );
27407     bool HasMask() const;
27408
27409
27410
27411     bool HasPalette() const;
27412     const wxPalette& GetPalette() const;
27413     void SetPalette(const wxPalette& palette);
27414
27415
27416
27417     void SetOption(const wxString& name, const wxString& value);
27418     void SetOption(const wxString& name, int value);
27419     wxString GetOption(const wxString& name) const;
27420     int GetOptionInt(const wxString& name) const;
27421     bool HasOption(const wxString& name) const;
27422
27423     unsigned long CountColours( unsigned long stopafter = (unsigned long) -1 ) const;
27424
27425
27426
27427
27428
27429
27430
27431     unsigned long ComputeHistogram( wxImageHistogram &h ) const;
27432
27433
27434
27435
27436     void RotateHue(double angle);
27437
27438
27439     wxImage& operator = (const wxImage& image)
27440     {
27441         if ( (*this) != image )
27442             Ref(image);
27443         return *this;
27444     }
27445
27446     bool operator == (const wxImage& image) const
27447         { return m_refData == image.m_refData; }
27448     bool operator != (const wxImage& image) const
27449         { return m_refData != image.m_refData; }
27450
27451     static wxList& GetHandlers() { return sm_handlers; }
27452     static void AddHandler( wxImageHandler *handler );
27453     static void InsertHandler( wxImageHandler *handler );
27454     static bool RemoveHandler( const wxString& name );
27455     static wxImageHandler *FindHandler( const wxString& name );
27456     static wxImageHandler *FindHandler( const wxString& extension, long imageType );
27457     static wxImageHandler *FindHandler( long imageType );
27458     static wxImageHandler *FindHandlerMime( const wxString& mimetype );
27459
27460     static wxString GetImageExtWildcard();
27461
27462     static void CleanUpHandlers();
27463     static void InitStandardHandlers();
27464
27465
27466     static HSVValue RGBtoHSV(const RGBValue& rgb);
27467     static RGBValue HSVtoRGB(const HSVValue& hsv);
27468
27469
27470
27471 protected:
27472     static wxList sm_handlers;
27473
27474
27475
27476
27477
27478     long XYToIndex(int x, int y) const;
27479
27480 private:
27481     friend class wxImageHandler;
27482
27483     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
27484 };
27485
27486
27487 extern void wxInitAllImageHandlers();
27488
27489 extern wxImage wxNullImage;
27490
27491
27492
27493
27494
27495 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imagbmp.h" 1
27496 # 17 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imagbmp.h"
27497 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/image.h" 1
27498 # 18 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imagbmp.h" 2
27499 # 36 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imagbmp.h"
27500 enum
27501 {
27502     wxBMP_24BPP = 24,
27503
27504     wxBMP_8BPP = 8,
27505     wxBMP_8BPP_GREY = 9,
27506     wxBMP_8BPP_GRAY = wxBMP_8BPP_GREY,
27507     wxBMP_8BPP_RED = 10,
27508     wxBMP_8BPP_PALETTE = 11,
27509     wxBMP_4BPP = 4,
27510     wxBMP_1BPP = 1,
27511     wxBMP_1BPP_BW = 2
27512 };
27513
27514
27515
27516
27517
27518 class wxBMPHandler : public wxImageHandler
27519 {
27520 public:
27521     wxBMPHandler()
27522     {
27523         m_name = "Windows bitmap file";
27524         m_extension = "bmp";
27525         m_type = wxBITMAP_TYPE_BMP;
27526         m_mime = "image/x-bmp";
27527     };
27528
27529
27530     virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=true );
27531     virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 );
27532     virtual bool DoCanRead( wxInputStream& stream );
27533
27534 protected:
27535     bool SaveDib(wxImage *image, wxOutputStream& stream, bool verbose,
27536                  bool IsBmp, bool IsMask);
27537     bool DoLoadDib(wxImage *image, int width, int height, int bpp, int ncolors,
27538                    int comp, wxFileOffset bmpOffset, wxInputStream& stream,
27539                    bool verbose, bool IsBmp, bool hasPalette);
27540     bool LoadDib(wxImage *image, wxInputStream& stream, bool verbose, bool IsBmp);
27541
27542
27543 private:
27544      public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
27545 };
27546
27547
27548
27549
27550
27551
27552 class wxICOHandler : public wxBMPHandler
27553 {
27554 public:
27555     wxICOHandler()
27556     {
27557         m_name = "Windows icon file";
27558         m_extension = "ico";
27559         m_type = wxBITMAP_TYPE_ICO;
27560         m_mime = "image/x-ico";
27561     };
27562
27563
27564     virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=true );
27565     virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 );
27566     virtual bool DoLoadFile( wxImage *image, wxInputStream& stream, bool verbose, int index );
27567     virtual bool DoCanRead( wxInputStream& stream );
27568     virtual int GetImageCount( wxInputStream& stream );
27569
27570
27571 private:
27572     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
27573 };
27574
27575
27576
27577
27578
27579
27580 class wxCURHandler : public wxICOHandler
27581 {
27582 public:
27583     wxCURHandler()
27584     {
27585         m_name = "Windows cursor file";
27586         m_extension = "cur";
27587         m_type = wxBITMAP_TYPE_CUR;
27588         m_mime = "image/x-cur";
27589     };
27590
27591
27592
27593
27594
27595
27596     virtual bool DoCanRead( wxInputStream& stream );
27597
27598
27599 private:
27600     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
27601 };
27602
27603
27604
27605
27606 class wxANIHandler : public wxCURHandler
27607 {
27608 public:
27609     wxANIHandler()
27610     {
27611         m_name = "Windows animated cursor file";
27612         m_extension = "ani";
27613         m_type = wxBITMAP_TYPE_ANI;
27614         m_mime = "image/x-ani";
27615     };
27616
27617
27618
27619     virtual bool SaveFile( wxImage *, wxOutputStream& , bool ){return false ;};
27620     virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 );
27621     virtual bool DoCanRead( wxInputStream& stream );
27622     virtual int GetImageCount( wxInputStream& stream );
27623
27624
27625 private:
27626     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
27627 };
27628 # 428 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/image.h" 2
27629 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imagpng.h" 1
27630 # 30 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imagpng.h"
27631 enum
27632 {
27633     wxPNG_TYPE_COLOUR = 0,
27634     wxPNG_TYPE_GREY = 2,
27635     wxPNG_TYPE_GREY_RED = 3
27636 };
27637
27638 class wxPNGHandler: public wxImageHandler
27639 {
27640 public:
27641     inline wxPNGHandler()
27642     {
27643         m_name = "PNG file";
27644         m_extension = "png";
27645         m_type = wxBITMAP_TYPE_PNG;
27646         m_mime = "image/png";
27647     }
27648
27649
27650     virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 );
27651     virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=true );
27652     virtual bool DoCanRead( wxInputStream& stream );
27653
27654
27655 private:
27656     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
27657 };
27658 # 429 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/image.h" 2
27659 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imaggif.h" 1
27660 # 26 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imaggif.h"
27661 class wxGIFHandler : public wxImageHandler
27662 {
27663 public:
27664     inline wxGIFHandler()
27665     {
27666         m_name = "GIF file";
27667         m_extension = "gif";
27668         m_type = wxBITMAP_TYPE_GIF;
27669         m_mime = "image/gif";
27670     }
27671
27672
27673     virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 );
27674     virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=true );
27675     virtual bool DoCanRead( wxInputStream& stream );
27676
27677
27678 private:
27679     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
27680 };
27681 # 430 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/image.h" 2
27682 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imagpcx.h" 1
27683 # 25 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imagpcx.h"
27684 class wxPCXHandler : public wxImageHandler
27685 {
27686 public:
27687     inline wxPCXHandler()
27688     {
27689         m_name = "PCX file";
27690         m_extension = "pcx";
27691         m_type = wxBITMAP_TYPE_PCX;
27692         m_mime = "image/pcx";
27693     }
27694
27695
27696     virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 );
27697     virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=true );
27698     virtual bool DoCanRead( wxInputStream& stream );
27699
27700
27701 private:
27702     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
27703 };
27704 # 431 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/image.h" 2
27705 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imagjpeg.h" 1
27706 # 27 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imagjpeg.h"
27707 class wxJPEGHandler: public wxImageHandler
27708 {
27709 public:
27710     inline wxJPEGHandler()
27711     {
27712         m_name = "JPEG file";
27713         m_extension = "jpg";
27714         m_type = wxBITMAP_TYPE_JPEG;
27715         m_mime = "image/jpeg";
27716     }
27717
27718
27719     virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 );
27720     virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=true );
27721     virtual bool DoCanRead( wxInputStream& stream );
27722
27723
27724 private:
27725     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
27726 };
27727 # 432 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/image.h" 2
27728 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imagtiff.h" 1
27729 # 33 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imagtiff.h"
27730 class wxTIFFHandler: public wxImageHandler
27731 {
27732 public:
27733     wxTIFFHandler();
27734
27735
27736     virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 );
27737     virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=true );
27738     virtual bool DoCanRead( wxInputStream& stream );
27739     virtual int GetImageCount( wxInputStream& stream );
27740
27741
27742 private:
27743     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
27744 };
27745 # 433 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/image.h" 2
27746 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imagpnm.h" 1
27747 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imagpnm.h"
27748 class wxPNMHandler : public wxImageHandler
27749 {
27750 public:
27751     inline wxPNMHandler()
27752     {
27753         m_name = "PNM file";
27754         m_extension = "pnm";
27755         m_type = wxBITMAP_TYPE_PNM;
27756         m_mime = "image/pnm";
27757     }
27758
27759
27760     virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 );
27761     virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=true );
27762     virtual bool DoCanRead( wxInputStream& stream );
27763
27764
27765 private:
27766     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
27767 };
27768 # 434 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/image.h" 2
27769 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imagxpm.h" 1
27770 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imagxpm.h"
27771 class wxXPMHandler : public wxImageHandler
27772 {
27773 public:
27774     inline wxXPMHandler()
27775     {
27776         m_name = "XPM file";
27777         m_extension = "xpm";
27778         m_type = wxBITMAP_TYPE_XPM;
27779         m_mime = "image/xpm";
27780     }
27781
27782
27783     virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 );
27784     virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=true );
27785     virtual bool DoCanRead( wxInputStream& stream );
27786
27787
27788 private:
27789     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
27790 };
27791 # 435 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/image.h" 2
27792 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/imagiff.h" 1
27793 # 436 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/image.h" 2
27794 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/cursor.h" 2
27795
27796
27797
27798
27799
27800
27801 class wxCursor: public wxObject
27802 {
27803 public:
27804
27805     wxCursor();
27806     wxCursor( int cursorId );
27807     wxCursor( const wxCursor &cursor );
27808
27809     wxCursor( const wxImage & image );
27810
27811     wxCursor( const char bits[], int width, int height,
27812               int hotSpotX=-1, int hotSpotY=-1,
27813               const char maskBits[]=0, wxColour *fg=0, wxColour *bg=0 );
27814     ~wxCursor();
27815     wxCursor& operator = ( const wxCursor& cursor );
27816     bool operator == ( const wxCursor& cursor ) const;
27817     bool operator != ( const wxCursor& cursor ) const;
27818     bool Ok() const;
27819
27820
27821
27822     GdkCursor *GetCursor() const;
27823
27824 private:
27825     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
27826 };
27827 # 25 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/cursor.h" 2
27828 # 37 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/cursor.h"
27829 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/utils.h" 1
27830 # 34 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/utils.h"
27831 class wxArrayString;
27832
27833
27834
27835 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/longlong.h" 1
27836 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/longlong.h"
27837 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/limits.h" 1 3 4
27838 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/longlong.h" 2
27839 # 85 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/longlong.h"
27840     class wxLongLongNative;
27841     class wxULongLongNative;
27842     typedef wxLongLongNative wxLongLong;
27843     typedef wxULongLongNative wxULongLong;
27844 # 99 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/longlong.h"
27845 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/iosfwrap.h" 1
27846 # 100 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/longlong.h" 2
27847
27848
27849
27850 class wxLongLongNative
27851 {
27852 public:
27853
27854
27855     wxLongLongNative() : m_ll(0) { }
27856
27857     wxLongLongNative(long ll) : m_ll(ll) { }
27858
27859     wxLongLongNative(long hi, unsigned long lo) : m_ll(0)
27860     {
27861
27862         m_ll = ((long) hi) << 32;
27863         m_ll |= (long) lo;
27864     }
27865 # 128 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/longlong.h"
27866     wxLongLongNative& operator=(long ll)
27867         { m_ll = ll; return *this; }
27868 # 138 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/longlong.h"
27869     wxLongLongNative& Assign(double d)
27870         { m_ll = (long)d; return *this; }
27871
27872
27873
27874
27875
27876     long GetHi() const
27877         { return (long)(m_ll >> 32); }
27878
27879     unsigned long GetLo() const
27880         { return (unsigned long)m_ll; }
27881
27882
27883     wxLongLongNative Abs() const { return wxLongLongNative(*this).Abs(); }
27884     wxLongLongNative& Abs() { if ( m_ll < 0 ) m_ll = -m_ll; return *this; }
27885
27886
27887     long GetValue() const { return m_ll; }
27888
27889
27890     long ToLong() const
27891     {
27892         ;
27893
27894
27895         return (long)m_ll;
27896     }
27897
27898
27899
27900     double ToDouble() const { return m_ll; }
27901 # 178 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/longlong.h"
27902     wxLongLongNative operator+(const wxLongLongNative& ll) const
27903         { return wxLongLongNative(m_ll + ll.m_ll); }
27904     wxLongLongNative& operator+=(const wxLongLongNative& ll)
27905         { m_ll += ll.m_ll; return *this; }
27906
27907     wxLongLongNative operator+(const long ll) const
27908         { return wxLongLongNative(m_ll + ll); }
27909     wxLongLongNative& operator+=(const long ll)
27910         { m_ll += ll; return *this; }
27911
27912
27913     wxLongLongNative& operator++()
27914         { m_ll++; return *this; }
27915
27916
27917     wxLongLongNative operator++(int)
27918         { wxLongLongNative value(*this); m_ll++; return value; }
27919
27920
27921     wxLongLongNative operator-() const
27922         { return wxLongLongNative(-m_ll); }
27923     wxLongLongNative& Negate() { m_ll = -m_ll; return *this; }
27924
27925
27926     wxLongLongNative operator-(const wxLongLongNative& ll) const
27927         { return wxLongLongNative(m_ll - ll.m_ll); }
27928     wxLongLongNative& operator-=(const wxLongLongNative& ll)
27929         { m_ll -= ll.m_ll; return *this; }
27930
27931     wxLongLongNative operator-(const long ll) const
27932         { return wxLongLongNative(m_ll - ll); }
27933     wxLongLongNative& operator-=(const long ll)
27934         { m_ll -= ll; return *this; }
27935
27936
27937     wxLongLongNative& operator--()
27938         { m_ll--; return *this; }
27939
27940
27941     wxLongLongNative operator--(int)
27942         { wxLongLongNative value(*this); m_ll--; return value; }
27943
27944
27945
27946     wxLongLongNative operator<<(int shift) const
27947         { return wxLongLongNative(m_ll << shift); }
27948     wxLongLongNative& operator<<=(int shift)
27949         { m_ll <<= shift; return *this; }
27950
27951
27952     wxLongLongNative operator>>(int shift) const
27953         { return wxLongLongNative(m_ll >> shift); }
27954     wxLongLongNative& operator>>=(int shift)
27955         { m_ll >>= shift; return *this; }
27956
27957
27958     wxLongLongNative operator&(const wxLongLongNative& ll) const
27959         { return wxLongLongNative(m_ll & ll.m_ll); }
27960     wxLongLongNative& operator&=(const wxLongLongNative& ll)
27961         { m_ll &= ll.m_ll; return *this; }
27962
27963     wxLongLongNative operator|(const wxLongLongNative& ll) const
27964         { return wxLongLongNative(m_ll | ll.m_ll); }
27965     wxLongLongNative& operator|=(const wxLongLongNative& ll)
27966         { m_ll |= ll.m_ll; return *this; }
27967
27968     wxLongLongNative operator^(const wxLongLongNative& ll) const
27969         { return wxLongLongNative(m_ll ^ ll.m_ll); }
27970     wxLongLongNative& operator^=(const wxLongLongNative& ll)
27971         { m_ll ^= ll.m_ll; return *this; }
27972
27973
27974     wxLongLongNative operator*(const wxLongLongNative& ll) const
27975         { return wxLongLongNative(m_ll * ll.m_ll); }
27976     wxLongLongNative operator*(long l) const
27977         { return wxLongLongNative(m_ll * l); }
27978     wxLongLongNative& operator*=(const wxLongLongNative& ll)
27979         { m_ll *= ll.m_ll; return *this; }
27980     wxLongLongNative& operator*=(long l)
27981         { m_ll *= l; return *this; }
27982
27983     wxLongLongNative operator/(const wxLongLongNative& ll) const
27984         { return wxLongLongNative(m_ll / ll.m_ll); }
27985     wxLongLongNative operator/(long l) const
27986         { return wxLongLongNative(m_ll / l); }
27987     wxLongLongNative& operator/=(const wxLongLongNative& ll)
27988         { m_ll /= ll.m_ll; return *this; }
27989     wxLongLongNative& operator/=(long l)
27990         { m_ll /= l; return *this; }
27991
27992     wxLongLongNative operator%(const wxLongLongNative& ll) const
27993         { return wxLongLongNative(m_ll % ll.m_ll); }
27994     wxLongLongNative operator%(long l) const
27995         { return wxLongLongNative(m_ll % l); }
27996
27997
27998     bool operator==(const wxLongLongNative& ll) const
27999         { return m_ll == ll.m_ll; }
28000     bool operator==(long l) const
28001         { return m_ll == l; }
28002     bool operator!=(const wxLongLongNative& ll) const
28003         { return m_ll != ll.m_ll; }
28004     bool operator!=(long l) const
28005         { return m_ll != l; }
28006     bool operator<(const wxLongLongNative& ll) const
28007         { return m_ll < ll.m_ll; }
28008     bool operator<(long l) const
28009         { return m_ll < l; }
28010     bool operator>(const wxLongLongNative& ll) const
28011         { return m_ll > ll.m_ll; }
28012     bool operator>(long l) const
28013         { return m_ll > l; }
28014     bool operator<=(const wxLongLongNative& ll) const
28015         { return m_ll <= ll.m_ll; }
28016     bool operator<=(long l) const
28017         { return m_ll <= l; }
28018     bool operator>=(const wxLongLongNative& ll) const
28019         { return m_ll >= ll.m_ll; }
28020     bool operator>=(long l) const
28021         { return m_ll >= l; }
28022
28023
28024
28025
28026     wxString ToString() const;
28027
28028
28029     void *asArray() const;
28030
28031
28032
28033     friend
28034     std:: ostream& operator<<(std:: ostream&, const wxLongLongNative&);
28035
28036
28037     friend
28038     wxString& operator<<(wxString&, const wxLongLongNative&);
28039
28040 private:
28041     long m_ll;
28042 };
28043
28044
28045 class wxULongLongNative
28046 {
28047 public:
28048
28049
28050     wxULongLongNative() : m_ll(0) { }
28051
28052     wxULongLongNative(unsigned long ll) : m_ll(ll) { }
28053
28054     wxULongLongNative(unsigned long hi, unsigned long lo) : m_ll(0)
28055     {
28056
28057         m_ll = ((unsigned long) hi) << 32;
28058         m_ll |= (unsigned long) lo;
28059     }
28060
28061
28062
28063
28064
28065
28066
28067     wxULongLongNative& operator=(unsigned long ll)
28068         { m_ll = ll; return *this; }
28069
28070
28071
28072
28073
28074     unsigned long GetHi() const
28075         { return (unsigned long)(m_ll >> 32); }
28076
28077     unsigned long GetLo() const
28078         { return (unsigned long)m_ll; }
28079
28080
28081     unsigned long GetValue() const { return m_ll; }
28082
28083
28084     unsigned long ToULong() const
28085     {
28086         ;
28087
28088
28089         return (unsigned long)m_ll;
28090     }
28091
28092
28093
28094     wxULongLongNative operator+(const wxULongLongNative& ll) const
28095         { return wxULongLongNative(m_ll + ll.m_ll); }
28096     wxULongLongNative& operator+=(const wxULongLongNative& ll)
28097         { m_ll += ll.m_ll; return *this; }
28098
28099     wxULongLongNative operator+(const unsigned long ll) const
28100         { return wxULongLongNative(m_ll + ll); }
28101     wxULongLongNative& operator+=(const unsigned long ll)
28102         { m_ll += ll; return *this; }
28103
28104
28105     wxULongLongNative& operator++()
28106         { m_ll++; return *this; }
28107
28108
28109     wxULongLongNative operator++(int)
28110         { wxULongLongNative value(*this); m_ll++; return value; }
28111
28112
28113     wxULongLongNative operator-(const wxULongLongNative& ll) const
28114         { return wxULongLongNative(m_ll - ll.m_ll); }
28115     wxULongLongNative& operator-=(const wxULongLongNative& ll)
28116         { m_ll -= ll.m_ll; return *this; }
28117
28118     wxULongLongNative operator-(const unsigned long ll) const
28119         { return wxULongLongNative(m_ll - ll); }
28120     wxULongLongNative& operator-=(const unsigned long ll)
28121         { m_ll -= ll; return *this; }
28122
28123
28124     wxULongLongNative& operator--()
28125         { m_ll--; return *this; }
28126
28127
28128     wxULongLongNative operator--(int)
28129         { wxULongLongNative value(*this); m_ll--; return value; }
28130
28131
28132
28133     wxULongLongNative operator<<(int shift) const
28134         { return wxULongLongNative(m_ll << shift); }
28135     wxULongLongNative& operator<<=(int shift)
28136         { m_ll <<= shift; return *this; }
28137
28138
28139     wxULongLongNative operator>>(int shift) const
28140         { return wxULongLongNative(m_ll >> shift); }
28141     wxULongLongNative& operator>>=(int shift)
28142         { m_ll >>= shift; return *this; }
28143
28144
28145     wxULongLongNative operator&(const wxULongLongNative& ll) const
28146         { return wxULongLongNative(m_ll & ll.m_ll); }
28147     wxULongLongNative& operator&=(const wxULongLongNative& ll)
28148         { m_ll &= ll.m_ll; return *this; }
28149
28150     wxULongLongNative operator|(const wxULongLongNative& ll) const
28151         { return wxULongLongNative(m_ll | ll.m_ll); }
28152     wxULongLongNative& operator|=(const wxULongLongNative& ll)
28153         { m_ll |= ll.m_ll; return *this; }
28154
28155     wxULongLongNative operator^(const wxULongLongNative& ll) const
28156         { return wxULongLongNative(m_ll ^ ll.m_ll); }
28157     wxULongLongNative& operator^=(const wxULongLongNative& ll)
28158         { m_ll ^= ll.m_ll; return *this; }
28159
28160
28161     wxULongLongNative operator*(const wxULongLongNative& ll) const
28162         { return wxULongLongNative(m_ll * ll.m_ll); }
28163     wxULongLongNative operator*(unsigned long l) const
28164         { return wxULongLongNative(m_ll * l); }
28165     wxULongLongNative& operator*=(const wxULongLongNative& ll)
28166         { m_ll *= ll.m_ll; return *this; }
28167     wxULongLongNative& operator*=(unsigned long l)
28168         { m_ll *= l; return *this; }
28169
28170     wxULongLongNative operator/(const wxULongLongNative& ll) const
28171         { return wxULongLongNative(m_ll / ll.m_ll); }
28172     wxULongLongNative operator/(unsigned long l) const
28173         { return wxULongLongNative(m_ll / l); }
28174     wxULongLongNative& operator/=(const wxULongLongNative& ll)
28175         { m_ll /= ll.m_ll; return *this; }
28176     wxULongLongNative& operator/=(unsigned long l)
28177         { m_ll /= l; return *this; }
28178
28179     wxULongLongNative operator%(const wxULongLongNative& ll) const
28180         { return wxULongLongNative(m_ll % ll.m_ll); }
28181     wxULongLongNative operator%(unsigned long l) const
28182         { return wxULongLongNative(m_ll % l); }
28183
28184
28185     bool operator==(const wxULongLongNative& ll) const
28186         { return m_ll == ll.m_ll; }
28187     bool operator==(unsigned long l) const
28188         { return m_ll == l; }
28189     bool operator!=(const wxULongLongNative& ll) const
28190         { return m_ll != ll.m_ll; }
28191     bool operator!=(unsigned long l) const
28192         { return m_ll != l; }
28193     bool operator<(const wxULongLongNative& ll) const
28194         { return m_ll < ll.m_ll; }
28195     bool operator<(unsigned long l) const
28196         { return m_ll < l; }
28197     bool operator>(const wxULongLongNative& ll) const
28198         { return m_ll > ll.m_ll; }
28199     bool operator>(unsigned long l) const
28200         { return m_ll > l; }
28201     bool operator<=(const wxULongLongNative& ll) const
28202         { return m_ll <= ll.m_ll; }
28203     bool operator<=(unsigned long l) const
28204         { return m_ll <= l; }
28205     bool operator>=(const wxULongLongNative& ll) const
28206         { return m_ll >= ll.m_ll; }
28207     bool operator>=(unsigned long l) const
28208         { return m_ll >= l; }
28209
28210
28211
28212
28213     wxString ToString() const;
28214
28215
28216     void *asArray() const;
28217
28218
28219
28220     friend
28221     std:: ostream& operator<<(std:: ostream&, const wxULongLongNative&);
28222
28223
28224     friend
28225     wxString& operator<<(wxString&, const wxULongLongNative&);
28226
28227 private:
28228     unsigned long m_ll;
28229 };
28230 # 912 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/longlong.h"
28231 inline bool operator<(long l, const wxLongLong& ll) { return ll > l; }
28232 inline bool operator>(long l, const wxLongLong& ll) { return ll < l; }
28233 inline bool operator<=(long l, const wxLongLong& ll) { return ll >= l; }
28234 inline bool operator>=(long l, const wxLongLong& ll) { return ll <= l; }
28235 inline bool operator==(long l, const wxLongLong& ll) { return ll == l; }
28236 inline bool operator!=(long l, const wxLongLong& ll) { return ll != l; }
28237
28238 inline wxLongLong operator+(long l, const wxLongLong& ll) { return ll + l; }
28239 inline wxLongLong operator-(long l, const wxLongLong& ll)
28240 {
28241     return wxLongLong(l) - ll;
28242 }
28243
28244 inline bool operator<(unsigned long l, const wxULongLong& ull) { return ull > l; }
28245 inline bool operator>(unsigned long l, const wxULongLong& ull) { return ull < l; }
28246 inline bool operator<=(unsigned long l, const wxULongLong& ull) { return ull >= l; }
28247 inline bool operator>=(unsigned long l, const wxULongLong& ull) { return ull <= l; }
28248 inline bool operator==(unsigned long l, const wxULongLong& ull) { return ull == l; }
28249 inline bool operator!=(unsigned long l, const wxULongLong& ull) { return ull != l; }
28250
28251 inline wxULongLong operator+(unsigned long l, const wxULongLong& ull) { return ull + l; }
28252
28253 inline wxLongLong operator-(unsigned long l, const wxULongLong& ull)
28254 {
28255     wxULongLong ret = wxULongLong(l) - ull;
28256     return wxLongLong((long)ret.GetHi(),ret.GetLo());
28257 }
28258 # 39 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/utils.h" 2
28259
28260
28261
28262
28263
28264
28265 # 1 "/usr/include/stdio.h" 1 3 4
28266 # 46 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/utils.h" 2
28267
28268
28269
28270
28271
28272 class wxProcess;
28273 class wxFrame;
28274 class wxWindow;
28275 class wxWindowList;
28276 class wxPoint;
28277 # 82 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/utils.h"
28278  wxChar* copystring(const wxChar *s) __attribute__ ((deprecated));
28279 # 95 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/utils.h"
28280  void wxBell();
28281
28282
28283
28284
28285
28286  wxString wxGetOsDescription();
28287
28288
28289  int wxGetOsVersion(int *majorVsn = (int *) __null,
28290                                int *minorVsn = (int *) __null);
28291
28292
28293  wxString wxNow();
28294
28295
28296  const wxChar *wxGetInstallPrefix();
28297
28298  wxString wxGetDataDir();
28299
28300
28301
28302
28303
28304
28305
28306  bool wxGetKeyState(wxKeyCode key);
28307
28308
28309
28310
28311
28312  bool wxSetDetectableAutoRepeat( bool flag );
28313
28314
28315
28316
28317
28318
28319 class wxMouseState
28320 {
28321 public:
28322     wxMouseState()
28323         : m_x(0), m_y(0),
28324           m_leftDown(false), m_middleDown(false), m_rightDown(false),
28325           m_controlDown(false), m_shiftDown(false), m_altDown(false),
28326           m_metaDown(false)
28327     {}
28328
28329     wxCoord GetX() { return m_x; }
28330     wxCoord GetY() { return m_y; }
28331
28332     bool LeftDown() { return m_leftDown; }
28333     bool MiddleDown() { return m_middleDown; }
28334     bool RightDown() { return m_rightDown; }
28335
28336     bool ControlDown() { return m_controlDown; }
28337     bool ShiftDown() { return m_shiftDown; }
28338     bool AltDown() { return m_altDown; }
28339     bool MetaDown() { return m_metaDown; }
28340     bool CmdDown()
28341     {
28342
28343
28344
28345         return ControlDown();
28346
28347     }
28348
28349     void SetX(wxCoord x) { m_x = x; }
28350     void SetY(wxCoord y) { m_y = y; }
28351
28352     void SetLeftDown(bool down) { m_leftDown = down; }
28353     void SetMiddleDown(bool down) { m_middleDown = down; }
28354     void SetRightDown(bool down) { m_rightDown = down; }
28355
28356     void SetControlDown(bool down) { m_controlDown = down; }
28357     void SetShiftDown(bool down) { m_shiftDown = down; }
28358     void SetAltDown(bool down) { m_altDown = down; }
28359     void SetMetaDown(bool down) { m_metaDown = down; }
28360
28361 private:
28362     wxCoord m_x;
28363     wxCoord m_y;
28364
28365     bool m_leftDown;
28366     bool m_middleDown;
28367     bool m_rightDown;
28368
28369     bool m_controlDown;
28370     bool m_shiftDown;
28371     bool m_altDown;
28372     bool m_metaDown;
28373 };
28374
28375
28376
28377  wxMouseState wxGetMouseState();
28378 # 201 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/utils.h"
28379  long wxNewId();
28380
28381
28382  void wxRegisterId(long id);
28383
28384
28385  long wxGetCurrentId();
28386 # 218 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/utils.h"
28387 extern const wxChar* wxFloatToStringStr;
28388 extern const wxChar* wxDoubleToStringStr;
28389
28390  void StringToFloat(const wxChar *s, float *number) __attribute__ ((deprecated));
28391  wxChar* FloatToString(float number, const wxChar *fmt = wxFloatToStringStr) __attribute__ ((deprecated));
28392  void StringToDouble(const wxChar *s, double *number) __attribute__ ((deprecated));
28393  wxChar* DoubleToString(double number, const wxChar *fmt = wxDoubleToStringStr) __attribute__ ((deprecated));
28394  void StringToInt(const wxChar *s, int *number) __attribute__ ((deprecated));
28395  void StringToLong(const wxChar *s, long *number) __attribute__ ((deprecated));
28396  wxChar* IntToString(int number) __attribute__ ((deprecated));
28397  wxChar* LongToString(long number) __attribute__ ((deprecated));
28398
28399
28400
28401
28402  int wxHexToDec(const wxString& buf);
28403
28404
28405  void wxDecToHex(int dec, wxChar *buf);
28406  wxString wxDecToHex(int dec);
28407 # 246 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/utils.h"
28408 enum
28409 {
28410
28411     wxEXEC_ASYNC = 0,
28412
28413
28414     wxEXEC_SYNC = 1,
28415
28416
28417
28418     wxEXEC_NOHIDE = 2,
28419
28420
28421
28422     wxEXEC_MAKE_GROUP_LEADER = 4,
28423
28424
28425
28426
28427     wxEXEC_NODISABLE = 8
28428 };
28429
28430
28431
28432
28433
28434
28435  long wxExecute(wxChar **argv, int flags = wxEXEC_ASYNC,
28436                            wxProcess *process = (wxProcess *) __null);
28437  long wxExecute(const wxString& command, int flags = wxEXEC_ASYNC,
28438                            wxProcess *process = (wxProcess *) __null);
28439
28440
28441
28442  long wxExecute(const wxString& command,
28443                                 wxArrayString& output,
28444                                 int flags = 0);
28445
28446
28447  long wxExecute(const wxString& command,
28448                                 wxArrayString& output,
28449                                 wxArrayString& error,
28450                                 int flags = 0);
28451
28452 enum wxSignal
28453 {
28454     wxSIGNONE = 0,
28455     wxSIGHUP,
28456     wxSIGINT,
28457     wxSIGQUIT,
28458     wxSIGILL,
28459     wxSIGTRAP,
28460     wxSIGABRT,
28461     wxSIGIOT = wxSIGABRT,
28462     wxSIGEMT,
28463     wxSIGFPE,
28464     wxSIGKILL,
28465     wxSIGBUS,
28466     wxSIGSEGV,
28467     wxSIGSYS,
28468     wxSIGPIPE,
28469     wxSIGALRM,
28470     wxSIGTERM
28471
28472
28473 };
28474
28475 enum wxKillError
28476 {
28477     wxKILL_OK,
28478     wxKILL_BAD_SIGNAL,
28479     wxKILL_ACCESS_DENIED,
28480     wxKILL_NO_PROCESS,
28481     wxKILL_ERROR
28482 };
28483
28484 enum wxKillFlags
28485 {
28486     wxKILL_NOCHILDREN = 0,
28487     wxKILL_CHILDREN = 1
28488 };
28489
28490 enum wxShutdownFlags
28491 {
28492     wxSHUTDOWN_POWEROFF,
28493     wxSHUTDOWN_REBOOT
28494 };
28495
28496
28497  bool wxShutdown(wxShutdownFlags wFlags);
28498
28499 enum wxPowerType
28500 {
28501     wxPOWER_SOCKET,
28502     wxPOWER_BATTERY,
28503     wxPOWER_UNKNOWN
28504 };
28505
28506  wxPowerType wxGetPowerType();
28507
28508 enum wxBatteryState
28509 {
28510     wxBATTERY_NORMAL_STATE,
28511     wxBATTERY_LOW_STATE,
28512     wxBATTERY_CRITICAL_STATE,
28513     wxBATTERY_SHUTDOWN_STATE,
28514     wxBATTERY_UNKNOWN_STATE
28515 };
28516
28517  wxBatteryState wxGetBatteryState();
28518
28519
28520
28521
28522
28523  int wxKill(long pid,
28524                        wxSignal sig = wxSIGTERM,
28525                        wxKillError *rc = __null,
28526                        int flags = wxKILL_NOCHILDREN);
28527
28528
28529
28530  bool wxShell(const wxString& command = wxEmptyString);
28531
28532
28533
28534  bool wxShell(const wxString& command, wxArrayString& output);
28535
28536
28537  void wxSleep(int nSecs);
28538
28539
28540  void wxMilliSleep(unsigned long milliseconds);
28541
28542
28543  void wxMicroSleep(unsigned long microseconds);
28544
28545
28546  void wxUsleep(unsigned long milliseconds) __attribute__ ((deprecated));
28547
28548
28549  unsigned long wxGetProcessId();
28550
28551
28552  long wxGetFreeMemory();
28553
28554
28555
28556
28557  bool wxHandleFatalExceptions(bool doit = true);
28558
28559
28560
28561
28562
28563  bool wxLaunchDefaultBrowser(const wxString& url);
28564 # 410 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/utils.h"
28565  bool wxGetEnv(const wxString& var, wxString *value);
28566
28567
28568  bool wxSetEnv(const wxString& var, const wxChar *value);
28569
28570
28571 inline bool wxUnsetEnv(const wxString& var) { return wxSetEnv(var, __null); }
28572 # 425 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/utils.h"
28573  bool wxGetEmailAddress(wxChar *buf, int maxSize);
28574  wxString wxGetEmailAddress();
28575
28576
28577  bool wxGetHostName(wxChar *buf, int maxSize);
28578  wxString wxGetHostName();
28579
28580
28581  wxString wxGetFullHostName();
28582  bool wxGetFullHostName(wxChar *buf, int maxSize);
28583
28584
28585  bool wxGetUserId(wxChar *buf, int maxSize);
28586  wxString wxGetUserId();
28587
28588
28589  bool wxGetUserName(wxChar *buf, int maxSize);
28590  wxString wxGetUserName();
28591
28592
28593  wxString wxGetHomeDir();
28594  const wxChar* wxGetHomeDir(wxString *pstr);
28595
28596
28597
28598
28599
28600
28601  wxChar* wxGetUserHome(const wxString& user = wxEmptyString);
28602
28603
28604
28605  bool wxGetDiskSpace(const wxString& path,
28606                                 wxLongLong *pTotal = __null,
28607                                 wxLongLong *pFree = __null);
28608
28609
28610
28611
28612
28613
28614
28615  wxChar* wxStripMenuCodes(const wxChar *in, wxChar *out = (wxChar *) __null);
28616  wxString wxStripMenuCodes(const wxString& str);
28617
28618
28619 class wxAcceleratorEntry;
28620  wxAcceleratorEntry *wxGetAccelFromString(const wxString& label);
28621
28622
28623
28624
28625
28626
28627
28628  int wxFindMenuItemId(wxFrame *frame, const wxString& menuString, const wxString& itemString);
28629
28630
28631
28632  wxWindow* wxGenericFindWindowAtPoint(const wxPoint& pt);
28633  wxWindow* wxFindWindowAtPoint(const wxPoint& pt);
28634
28635
28636
28637
28638
28639
28640  wxWindow* wxFindWindowByLabel(const wxString& title, wxWindow *parent = (wxWindow *) __null);
28641
28642
28643
28644
28645  wxWindow* wxFindWindowByName(const wxString& name, wxWindow *parent = (wxWindow *) __null);
28646
28647
28648
28649
28650
28651
28652  bool wxSafeYield(wxWindow *win = __null, bool onlyIfNeeded = false);
28653
28654
28655  void wxEnableTopLevelWindows(bool enable = true);
28656
28657
28658
28659  bool wxCheckForInterrupt(wxWindow *wnd);
28660
28661
28662  void wxFlushEvents();
28663
28664
28665
28666 class wxWindowDisabler
28667 {
28668 public:
28669     wxWindowDisabler(wxWindow *winToSkip = (wxWindow *)__null);
28670     ~wxWindowDisabler();
28671
28672 private:
28673     wxWindowList *m_winDisabled;
28674
28675     private: wxWindowDisabler(const wxWindowDisabler&); wxWindowDisabler& operator=(const wxWindowDisabler&);
28676 };
28677
28678
28679
28680
28681
28682
28683 class wxCursor;
28684 extern wxCursor* wxHOURGLASS_CURSOR;
28685  void wxBeginBusyCursor(wxCursor *cursor = wxHOURGLASS_CURSOR);
28686
28687
28688  void wxEndBusyCursor();
28689
28690
28691  bool wxIsBusy();
28692
28693
28694 class wxBusyCursor
28695 {
28696 public:
28697     wxBusyCursor(wxCursor* cursor = wxHOURGLASS_CURSOR)
28698         { wxBeginBusyCursor(cursor); }
28699     ~wxBusyCursor()
28700         { wxEndBusyCursor(); }
28701
28702
28703
28704
28705
28706
28707     static const wxCursor &GetStoredCursor();
28708     static const wxCursor GetBusyCursor();
28709 };
28710 # 580 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/utils.h"
28711 void wxGetMousePosition( int* x, int* y );
28712 # 594 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/utils.h"
28713     void *wxGetDisplay();
28714 # 623 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/utils.h"
28715  bool wxYield();
28716
28717
28718  bool wxYieldIfNeeded();
28719 # 38 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/cursor.h" 2
28720 # 56 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/cursor.h"
28721 class wxBusyCursorSuspender
28722 {
28723 public:
28724     wxBusyCursorSuspender()
28725     {
28726         if( wxIsBusy() )
28727         {
28728             wxSetCursor( wxBusyCursor::GetStoredCursor() );
28729         }
28730     }
28731     ~wxBusyCursorSuspender()
28732     {
28733         if( wxIsBusy() )
28734         {
28735             wxSetCursor( wxBusyCursor::GetBusyCursor() );
28736         }
28737     }
28738 };
28739 # 33 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h" 2
28740
28741
28742 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/thread.h" 1
28743 # 39 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/thread.h"
28744 enum wxMutexError
28745 {
28746     wxMUTEX_NO_ERROR = 0,
28747     wxMUTEX_INVALID,
28748     wxMUTEX_DEAD_LOCK,
28749     wxMUTEX_BUSY,
28750     wxMUTEX_UNLOCKED,
28751     wxMUTEX_MISC_ERROR
28752 };
28753
28754 enum wxCondError
28755 {
28756     wxCOND_NO_ERROR = 0,
28757     wxCOND_INVALID,
28758     wxCOND_TIMEOUT,
28759     wxCOND_MISC_ERROR
28760 };
28761
28762 enum wxSemaError
28763 {
28764     wxSEMA_NO_ERROR = 0,
28765     wxSEMA_INVALID,
28766     wxSEMA_BUSY,
28767     wxSEMA_TIMEOUT,
28768     wxSEMA_OVERFLOW,
28769     wxSEMA_MISC_ERROR
28770 };
28771
28772 enum wxThreadError
28773 {
28774     wxTHREAD_NO_ERROR = 0,
28775     wxTHREAD_NO_RESOURCE,
28776     wxTHREAD_RUNNING,
28777     wxTHREAD_NOT_RUNNING,
28778     wxTHREAD_KILLED,
28779     wxTHREAD_MISC_ERROR
28780 };
28781
28782 enum wxThreadKind
28783 {
28784     wxTHREAD_DETACHED,
28785     wxTHREAD_JOINABLE
28786 };
28787
28788
28789 enum
28790 {
28791     WXTHREAD_MIN_PRIORITY = 0u,
28792     WXTHREAD_DEFAULT_PRIORITY = 50u,
28793     WXTHREAD_MAX_PRIORITY = 100u
28794 };
28795 # 107 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/thread.h"
28796 enum wxMutexType
28797 {
28798
28799     wxMUTEX_DEFAULT,
28800
28801
28802     wxMUTEX_RECURSIVE
28803 };
28804
28805
28806 class wxThreadHelper;
28807 class wxConditionInternal;
28808 class wxMutexInternal;
28809 class wxSemaphoreInternal;
28810 class wxThreadInternal;
28811 # 132 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/thread.h"
28812 class wxMutex
28813 {
28814 public:
28815
28816
28817
28818
28819     wxMutex(wxMutexType mutexType = wxMUTEX_DEFAULT);
28820
28821
28822     ~wxMutex();
28823
28824
28825     bool IsOk() const;
28826 # 155 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/thread.h"
28827     wxMutexError Lock();
28828
28829
28830
28831     wxMutexError TryLock();
28832
28833
28834     wxMutexError Unlock();
28835
28836 protected:
28837     wxMutexInternal *m_internal;
28838
28839     friend class wxConditionInternal;
28840
28841     private: wxMutex(const wxMutex&); wxMutex& operator=(const wxMutex&);
28842 };
28843
28844
28845
28846
28847 class wxMutexLocker
28848 {
28849 public:
28850
28851     wxMutexLocker(wxMutex& mutex)
28852         : m_isOk(false), m_mutex(mutex)
28853         { m_isOk = ( m_mutex.Lock() == wxMUTEX_NO_ERROR ); }
28854
28855
28856     bool IsOk() const
28857         { return m_isOk; }
28858
28859
28860     ~wxMutexLocker()
28861         { if ( IsOk() ) m_mutex.Unlock(); }
28862
28863 private:
28864
28865     wxMutexLocker(const wxMutexLocker&);
28866     wxMutexLocker& operator=(const wxMutexLocker&);
28867
28868     bool m_isOk;
28869     wxMutex& m_mutex;
28870 };
28871 # 224 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/thread.h"
28872 class wxCriticalSection
28873 {
28874 public:
28875
28876     inline wxCriticalSection();
28877     inline ~wxCriticalSection();
28878
28879
28880     inline void Enter();
28881
28882
28883     inline void Leave();
28884
28885 private:
28886
28887     wxMutex m_mutex;
28888 # 268 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/thread.h"
28889     private: wxCriticalSection(const wxCriticalSection&); wxCriticalSection& operator=(const wxCriticalSection&);
28890 };
28891
28892
28893
28894     inline wxCriticalSection::wxCriticalSection() { }
28895     inline wxCriticalSection::~wxCriticalSection() { }
28896
28897     inline void wxCriticalSection::Enter() { (void)m_mutex.Lock(); }
28898     inline void wxCriticalSection::Leave() { (void)m_mutex.Unlock(); }
28899
28900
28901
28902
28903
28904
28905
28906 class wxCriticalSectionLocker
28907 {
28908 public:
28909     wxCriticalSectionLocker(wxCriticalSection& cs)
28910         : m_critsect(cs)
28911     {
28912         m_critsect.Enter();
28913     }
28914
28915     ~wxCriticalSectionLocker()
28916     {
28917         m_critsect.Leave();
28918     }
28919
28920 private:
28921     wxCriticalSection& m_critsect;
28922
28923     private: wxCriticalSectionLocker(const wxCriticalSectionLocker&); wxCriticalSectionLocker& operator=(const wxCriticalSectionLocker&);
28924 };
28925
28926
28927
28928
28929
28930
28931 class wxCondition
28932 {
28933 public:
28934
28935
28936     wxCondition(wxMutex& mutex);
28937
28938
28939     ~wxCondition();
28940
28941
28942     bool IsOk() const;
28943
28944
28945
28946
28947
28948
28949
28950     wxCondError Wait();
28951 # 338 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/thread.h"
28952     wxCondError WaitTimeout(unsigned long milliseconds);
28953
28954
28955
28956
28957
28958
28959
28960     wxCondError Signal();
28961
28962
28963
28964
28965
28966
28967
28968     wxCondError Broadcast();
28969
28970
28971
28972     bool Wait(unsigned long milliseconds)
28973         { return WaitTimeout(milliseconds) == wxCOND_NO_ERROR; }
28974
28975 private:
28976     wxConditionInternal *m_internal;
28977
28978     private: wxCondition(const wxCondition&); wxCondition& operator=(const wxCondition&);
28979 };
28980
28981
28982
28983
28984
28985
28986 class wxSemaphore
28987 {
28988 public:
28989
28990
28991     wxSemaphore( int initialcount = 0, int maxcount = 0 );
28992
28993
28994     ~wxSemaphore();
28995
28996
28997     bool IsOk() const;
28998
28999
29000
29001
29002     wxSemaError Wait();
29003
29004
29005
29006     wxSemaError TryWait();
29007
29008
29009
29010     wxSemaError WaitTimeout(unsigned long milliseconds);
29011
29012
29013     wxSemaError Post();
29014
29015 private:
29016     wxSemaphoreInternal *m_internal;
29017
29018     private: wxSemaphore(const wxSemaphore&); wxSemaphore& operator=(const wxSemaphore&);
29019 };
29020 # 424 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/thread.h"
29021    typedef unsigned long wxThreadIdType;
29022
29023
29024 class wxThread
29025 {
29026 public:
29027
29028     typedef void *ExitCode;
29029
29030
29031
29032
29033
29034
29035
29036     static wxThread *This();
29037
29038
29039     static bool IsMain();
29040
29041
29042     static void Yield();
29043
29044
29045
29046
29047     static void Sleep(unsigned long milliseconds);
29048
29049
29050
29051
29052
29053     static int GetCPUCount();
29054
29055
29056
29057
29058    static wxThreadIdType GetCurrentId();
29059 # 470 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/thread.h"
29060     static bool SetConcurrency(size_t level);
29061
29062
29063
29064     wxThread(wxThreadKind kind = wxTHREAD_DETACHED);
29065 # 484 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/thread.h"
29066     wxThreadError Create(unsigned int stackSize = 0);
29067
29068
29069
29070
29071     wxThreadError Run();
29072 # 501 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/thread.h"
29073     wxThreadError Delete(ExitCode *rc = (ExitCode *)__null);
29074
29075
29076
29077
29078
29079     ExitCode Wait();
29080 # 517 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/thread.h"
29081     wxThreadError Kill();
29082
29083
29084
29085     wxThreadError Pause();
29086
29087
29088     wxThreadError Resume();
29089
29090
29091
29092
29093
29094     void SetPriority(unsigned int prio);
29095
29096
29097     unsigned int GetPriority() const;
29098
29099
29100
29101     bool IsAlive() const;
29102
29103     bool IsRunning() const;
29104
29105     bool IsPaused() const;
29106
29107
29108     bool IsDetached() const { return m_isDetached; }
29109
29110
29111
29112     wxThreadIdType GetId() const;
29113
29114
29115
29116
29117     virtual void OnExit() { }
29118
29119
29120
29121
29122     virtual bool TestDestroy();
29123
29124
29125
29126     virtual ~wxThread();
29127
29128 protected:
29129
29130     void Exit(ExitCode exitcode = 0);
29131
29132
29133
29134     virtual void *Entry() = 0;
29135
29136 private:
29137
29138     wxThread(const wxThread&);
29139     wxThread& operator=(const wxThread&);
29140
29141     friend class wxThreadInternal;
29142
29143
29144     wxThreadInternal *m_internal;
29145
29146
29147     wxCriticalSection m_critsect;
29148
29149
29150     bool m_isDetached;
29151 };
29152
29153
29154
29155
29156 class wxThreadHelperThread : public wxThread
29157 {
29158 public:
29159
29160
29161     wxThreadHelperThread(wxThreadHelper& owner)
29162         : wxThread(wxTHREAD_JOINABLE), m_owner(owner)
29163         { }
29164
29165 protected:
29166
29167     virtual void *Entry();
29168
29169 private:
29170
29171     wxThreadHelper& m_owner;
29172
29173
29174     wxThreadHelperThread(const wxThreadHelperThread&);
29175     wxThreadHelperThread& operator=(const wxThreadHelperThread&);
29176 };
29177
29178
29179
29180
29181
29182
29183
29184 class wxThreadHelper
29185 {
29186 private:
29187     void KillThread()
29188     {
29189         if ( m_thread )
29190         {
29191             m_thread->Kill();
29192             delete m_thread;
29193         }
29194     }
29195
29196 public:
29197
29198     wxThreadHelper() : m_thread(__null) { }
29199
29200
29201     virtual ~wxThreadHelper() { KillThread(); }
29202
29203
29204
29205     wxThreadError Create(unsigned int stackSize = 0)
29206     {
29207         KillThread();
29208
29209         m_thread = new wxThreadHelperThread(*this);
29210
29211         return m_thread->Create(stackSize);
29212     }
29213
29214
29215
29216     virtual void *Entry() = 0;
29217
29218
29219     wxThread *GetThread() const { return m_thread; }
29220
29221 protected:
29222     wxThread *m_thread;
29223 };
29224
29225
29226 inline void *wxThreadHelperThread::Entry()
29227 {
29228     return m_owner.Entry();
29229 }
29230
29231
29232
29233
29234
29235
29236 void wxMutexGuiEnter();
29237 void wxMutexGuiLeave();
29238 # 685 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/thread.h"
29239 inline bool wxIsMainThread() { return wxThread::IsMain(); }
29240 # 728 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/thread.h"
29241 class wxMutexGuiLocker
29242 {
29243 public:
29244     wxMutexGuiLocker() { wxMutexGuiEnter(); }
29245    ~wxMutexGuiLocker() { wxMutexGuiLeave(); }
29246 };
29247 # 36 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h" 2
29248
29249
29250
29251
29252
29253
29254
29255 class wxList;
29256
29257
29258     class wxDC;
29259     class wxMenu;
29260     class wxWindow;
29261     class wxWindowBase;
29262
29263
29264 class wxEvtHandler;
29265
29266
29267
29268
29269
29270 typedef int wxEventType;
29271 # 122 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
29272 extern wxEventType wxNewEventType();
29273
29274
29275
29276
29277 # 135 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
29278     extern const wxEventType wxEVT_NULL;
29279     extern const wxEventType wxEVT_FIRST;
29280     extern const wxEventType wxEVT_USER_FIRST;
29281
29282
29283     extern const wxEventType wxEVT_COMMAND_BUTTON_CLICKED;
29284     extern const wxEventType wxEVT_COMMAND_CHECKBOX_CLICKED;
29285     extern const wxEventType wxEVT_COMMAND_CHOICE_SELECTED;
29286     extern const wxEventType wxEVT_COMMAND_LISTBOX_SELECTED;
29287     extern const wxEventType wxEVT_COMMAND_LISTBOX_DOUBLECLICKED;
29288     extern const wxEventType wxEVT_COMMAND_CHECKLISTBOX_TOGGLED;
29289
29290
29291
29292
29293
29294
29295
29296     extern const wxEventType wxEVT_COMMAND_MENU_SELECTED;
29297     extern const wxEventType wxEVT_COMMAND_SLIDER_UPDATED;
29298     extern const wxEventType wxEVT_COMMAND_RADIOBOX_SELECTED;
29299     extern const wxEventType wxEVT_COMMAND_RADIOBUTTON_SELECTED;
29300
29301
29302
29303
29304     extern const wxEventType wxEVT_COMMAND_SCROLLBAR_UPDATED;
29305     extern const wxEventType wxEVT_COMMAND_VLBOX_SELECTED;
29306     extern const wxEventType wxEVT_COMMAND_COMBOBOX_SELECTED;
29307     extern const wxEventType wxEVT_COMMAND_TOOL_RCLICKED;
29308     extern const wxEventType wxEVT_COMMAND_TOOL_ENTER;
29309     extern const wxEventType wxEVT_COMMAND_SPINCTRL_UPDATED;
29310
29311
29312     extern const wxEventType wxEVT_SOCKET;
29313     extern const wxEventType wxEVT_TIMER;
29314
29315
29316     extern const wxEventType wxEVT_LEFT_DOWN;
29317     extern const wxEventType wxEVT_LEFT_UP;
29318     extern const wxEventType wxEVT_MIDDLE_DOWN;
29319     extern const wxEventType wxEVT_MIDDLE_UP;
29320     extern const wxEventType wxEVT_RIGHT_DOWN;
29321     extern const wxEventType wxEVT_RIGHT_UP;
29322     extern const wxEventType wxEVT_MOTION;
29323     extern const wxEventType wxEVT_ENTER_WINDOW;
29324     extern const wxEventType wxEVT_LEAVE_WINDOW;
29325     extern const wxEventType wxEVT_LEFT_DCLICK;
29326     extern const wxEventType wxEVT_MIDDLE_DCLICK;
29327     extern const wxEventType wxEVT_RIGHT_DCLICK;
29328     extern const wxEventType wxEVT_SET_FOCUS;
29329     extern const wxEventType wxEVT_KILL_FOCUS;
29330     extern const wxEventType wxEVT_CHILD_FOCUS;
29331     extern const wxEventType wxEVT_MOUSEWHEEL;
29332
29333
29334     extern const wxEventType wxEVT_NC_LEFT_DOWN;
29335     extern const wxEventType wxEVT_NC_LEFT_UP;
29336     extern const wxEventType wxEVT_NC_MIDDLE_DOWN;
29337     extern const wxEventType wxEVT_NC_MIDDLE_UP;
29338     extern const wxEventType wxEVT_NC_RIGHT_DOWN;
29339     extern const wxEventType wxEVT_NC_RIGHT_UP;
29340     extern const wxEventType wxEVT_NC_MOTION;
29341     extern const wxEventType wxEVT_NC_ENTER_WINDOW;
29342     extern const wxEventType wxEVT_NC_LEAVE_WINDOW;
29343     extern const wxEventType wxEVT_NC_LEFT_DCLICK;
29344     extern const wxEventType wxEVT_NC_MIDDLE_DCLICK;
29345     extern const wxEventType wxEVT_NC_RIGHT_DCLICK;
29346
29347
29348     extern const wxEventType wxEVT_CHAR;
29349     extern const wxEventType wxEVT_CHAR_HOOK;
29350     extern const wxEventType wxEVT_NAVIGATION_KEY;
29351     extern const wxEventType wxEVT_KEY_DOWN;
29352     extern const wxEventType wxEVT_KEY_UP;
29353
29354
29355
29356
29357     extern const wxEventType wxEVT_SET_CURSOR;
29358
29359
29360     extern const wxEventType wxEVT_SCROLL_TOP;
29361     extern const wxEventType wxEVT_SCROLL_BOTTOM;
29362     extern const wxEventType wxEVT_SCROLL_LINEUP;
29363     extern const wxEventType wxEVT_SCROLL_LINEDOWN;
29364     extern const wxEventType wxEVT_SCROLL_PAGEUP;
29365     extern const wxEventType wxEVT_SCROLL_PAGEDOWN;
29366     extern const wxEventType wxEVT_SCROLL_THUMBTRACK;
29367     extern const wxEventType wxEVT_SCROLL_THUMBRELEASE;
29368
29369     extern const wxEventType wxEVT_SCROLL_CHANGED;
29370
29371
29372
29373     extern const wxEventType wxEVT_SCROLLWIN_TOP;
29374     extern const wxEventType wxEVT_SCROLLWIN_BOTTOM;
29375     extern const wxEventType wxEVT_SCROLLWIN_LINEUP;
29376     extern const wxEventType wxEVT_SCROLLWIN_LINEDOWN;
29377     extern const wxEventType wxEVT_SCROLLWIN_PAGEUP;
29378     extern const wxEventType wxEVT_SCROLLWIN_PAGEDOWN;
29379     extern const wxEventType wxEVT_SCROLLWIN_THUMBTRACK;
29380     extern const wxEventType wxEVT_SCROLLWIN_THUMBRELEASE;
29381
29382
29383     extern const wxEventType wxEVT_SIZE;
29384     extern const wxEventType wxEVT_MOVE;
29385     extern const wxEventType wxEVT_CLOSE_WINDOW;
29386     extern const wxEventType wxEVT_END_SESSION;
29387     extern const wxEventType wxEVT_QUERY_END_SESSION;
29388     extern const wxEventType wxEVT_ACTIVATE_APP;
29389     extern const wxEventType wxEVT_POWER;
29390     extern const wxEventType wxEVT_ACTIVATE;
29391     extern const wxEventType wxEVT_CREATE;
29392     extern const wxEventType wxEVT_DESTROY;
29393     extern const wxEventType wxEVT_SHOW;
29394     extern const wxEventType wxEVT_ICONIZE;
29395     extern const wxEventType wxEVT_MAXIMIZE;
29396     extern const wxEventType wxEVT_MOUSE_CAPTURE_CHANGED;
29397     extern const wxEventType wxEVT_PAINT;
29398     extern const wxEventType wxEVT_ERASE_BACKGROUND;
29399     extern const wxEventType wxEVT_NC_PAINT;
29400     extern const wxEventType wxEVT_PAINT_ICON;
29401     extern const wxEventType wxEVT_MENU_OPEN;
29402     extern const wxEventType wxEVT_MENU_CLOSE;
29403     extern const wxEventType wxEVT_MENU_HIGHLIGHT;
29404
29405     extern const wxEventType wxEVT_CONTEXT_MENU;
29406     extern const wxEventType wxEVT_SYS_COLOUR_CHANGED;
29407     extern const wxEventType wxEVT_DISPLAY_CHANGED;
29408     extern const wxEventType wxEVT_SETTING_CHANGED;
29409     extern const wxEventType wxEVT_QUERY_NEW_PALETTE;
29410     extern const wxEventType wxEVT_PALETTE_CHANGED;
29411     extern const wxEventType wxEVT_JOY_BUTTON_DOWN;
29412     extern const wxEventType wxEVT_JOY_BUTTON_UP;
29413     extern const wxEventType wxEVT_JOY_MOVE;
29414     extern const wxEventType wxEVT_JOY_ZMOVE;
29415     extern const wxEventType wxEVT_DROP_FILES;
29416     extern const wxEventType wxEVT_DRAW_ITEM;
29417     extern const wxEventType wxEVT_MEASURE_ITEM;
29418     extern const wxEventType wxEVT_COMPARE_ITEM;
29419     extern const wxEventType wxEVT_INIT_DIALOG;
29420     extern const wxEventType wxEVT_IDLE;
29421     extern const wxEventType wxEVT_UPDATE_UI;
29422     extern const wxEventType wxEVT_SIZING;
29423     extern const wxEventType wxEVT_MOVING;
29424     extern const wxEventType wxEVT_HIBERNATE;
29425
29426
29427
29428     extern const wxEventType wxEVT_COMMAND_LEFT_CLICK;
29429     extern const wxEventType wxEVT_COMMAND_LEFT_DCLICK;
29430     extern const wxEventType wxEVT_COMMAND_RIGHT_CLICK;
29431     extern const wxEventType wxEVT_COMMAND_RIGHT_DCLICK;
29432     extern const wxEventType wxEVT_COMMAND_SET_FOCUS;
29433     extern const wxEventType wxEVT_COMMAND_KILL_FOCUS;
29434     extern const wxEventType wxEVT_COMMAND_ENTER;
29435
29436
29437     extern const wxEventType wxEVT_HELP;
29438     extern const wxEventType wxEVT_DETAILED_HELP;
29439
29440
29441 # 311 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
29442     extern const wxEventType wxEVT_COMMAND_TEXT_UPDATED;
29443
29444
29445
29446
29447 enum Propagation_state
29448 {
29449
29450     wxEVENT_PROPAGATE_NONE = 0,
29451
29452
29453     wxEVENT_PROPAGATE_MAX = 2147483647
29454 };
29455 # 337 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
29456 class wxEvent : public wxObject
29457 {
29458 private:
29459     wxEvent& operator=(const wxEvent&);
29460
29461 protected:
29462     wxEvent(const wxEvent&);
29463
29464 public:
29465     wxEvent(int winid = 0, wxEventType commandType = wxEVT_NULL );
29466
29467     void SetEventType(wxEventType typ) { m_eventType = typ; }
29468     wxEventType GetEventType() const { return m_eventType; }
29469     wxObject *GetEventObject() const { return m_eventObject; }
29470     void SetEventObject(wxObject *obj) { m_eventObject = obj; }
29471     long GetTimestamp() const { return m_timeStamp; }
29472     void SetTimestamp(long ts = 0) { m_timeStamp = ts; }
29473     int GetId() const { return m_id; }
29474     void SetId(int Id) { m_id = Id; }
29475
29476
29477
29478
29479
29480     void Skip(bool skip = true) { m_skipped = skip; }
29481     bool GetSkipped() const { return m_skipped; };
29482
29483
29484
29485
29486     virtual wxEvent *Clone() const = 0;
29487
29488
29489
29490     bool IsCommandEvent() const { return m_isCommandEvent; }
29491
29492
29493     bool ShouldPropagate() const
29494         { return m_propagationLevel != wxEVENT_PROPAGATE_NONE; }
29495
29496
29497
29498     int StopPropagation()
29499     {
29500         int propagationLevel = m_propagationLevel;
29501         m_propagationLevel = wxEVENT_PROPAGATE_NONE;
29502         return propagationLevel;
29503     }
29504
29505
29506
29507     void ResumePropagation(int propagationLevel)
29508     {
29509         m_propagationLevel = propagationLevel;
29510     }
29511
29512
29513 public:
29514
29515
29516
29517     wxObject* m_eventObject;
29518     wxEventType m_eventType;
29519     long m_timeStamp;
29520     int m_id;
29521
29522 public:
29523
29524     wxObject* m_callbackUserData;
29525
29526 protected:
29527
29528
29529
29530
29531
29532     int m_propagationLevel;
29533
29534
29535 public:
29536
29537
29538
29539     bool m_skipped;
29540     bool m_isCommandEvent;
29541
29542 private:
29543
29544     friend class wxPropagateOnce;
29545
29546     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const;
29547 };
29548
29549
29550
29551
29552 class wxPropagationDisabler
29553 {
29554 public:
29555     wxPropagationDisabler(wxEvent& event) : m_event(event)
29556     {
29557         m_propagationLevelOld = m_event.StopPropagation();
29558     }
29559
29560     ~wxPropagationDisabler()
29561     {
29562         m_event.ResumePropagation(m_propagationLevelOld);
29563     }
29564
29565 private:
29566     wxEvent& m_event;
29567     int m_propagationLevelOld;
29568
29569     private: wxPropagationDisabler(const wxPropagationDisabler&); wxPropagationDisabler& operator=(const wxPropagationDisabler&);
29570 };
29571
29572
29573
29574
29575 class wxPropagateOnce
29576 {
29577 public:
29578     wxPropagateOnce(wxEvent& event) : m_event(event)
29579     {
29580         ;
29581
29582
29583         m_event.m_propagationLevel--;
29584     }
29585
29586     ~wxPropagateOnce()
29587     {
29588         m_event.m_propagationLevel++;
29589     }
29590
29591 private:
29592     wxEvent& m_event;
29593
29594     private: wxPropagateOnce(const wxPropagateOnce&); wxPropagateOnce& operator=(const wxPropagateOnce&);
29595 };
29596 # 502 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
29597 class wxCommandEvent;
29598
29599 class wxCommandEventStringHelper
29600 {
29601 public:
29602     wxCommandEventStringHelper(wxCommandEvent * evt)
29603         : m_evt(evt)
29604         { }
29605
29606     void operator=(const wxString &str);
29607     operator wxString();
29608     const wxChar* c_str() const;
29609
29610 private:
29611     wxCommandEvent* m_evt;
29612 };
29613 # 528 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
29614 class wxCommandEvent : public wxEvent
29615 {
29616 public:
29617     wxCommandEvent(wxEventType commandType = wxEVT_NULL, int winid = 0);
29618
29619     wxCommandEvent(const wxCommandEvent& event)
29620         : wxEvent(event),
29621
29622           m_commandString(this),
29623
29624           m_cmdString(event.m_cmdString),
29625           m_commandInt(event.m_commandInt),
29626           m_extraLong(event.m_extraLong),
29627           m_clientData(event.m_clientData),
29628           m_clientObject(event.m_clientObject)
29629         { }
29630
29631
29632     void SetClientData(void* clientData) { m_clientData = clientData; }
29633     void *GetClientData() const { return m_clientData; }
29634
29635
29636     void SetClientObject(wxClientData* clientObject) { m_clientObject = clientObject; }
29637     wxClientData *GetClientObject() const { return m_clientObject; }
29638
29639
29640     int GetSelection() const { return m_commandInt; }
29641
29642
29643     void SetString(const wxString& s) { m_cmdString = s; }
29644     wxString GetString() const;
29645
29646
29647     bool IsChecked() const { return m_commandInt != 0; }
29648
29649
29650     bool IsSelection() const { return (m_extraLong != 0); }
29651
29652     void SetExtraLong(long extraLong) { m_extraLong = extraLong; }
29653     long GetExtraLong() const { return m_extraLong; }
29654
29655     void SetInt(int i) { m_commandInt = i; }
29656     long GetInt() const { return m_commandInt; }
29657
29658     virtual wxEvent *Clone() const { return new wxCommandEvent(*this); }
29659
29660
29661 public:
29662     wxCommandEventStringHelper m_commandString;
29663
29664
29665
29666     wxString m_cmdString;
29667     int m_commandInt;
29668     long m_extraLong;
29669     void* m_clientData;
29670     wxClientData* m_clientObject;
29671
29672 private:
29673     private: wxCommandEvent& operator=(const wxCommandEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
29674 };
29675
29676
29677
29678
29679
29680
29681 inline void wxCommandEventStringHelper::operator=(const wxString &str)
29682 {
29683     m_evt->SetString(str);
29684 }
29685
29686 inline wxCommandEventStringHelper::operator wxString()
29687 {
29688     return m_evt->GetString();
29689 }
29690
29691 inline const wxChar* wxCommandEventStringHelper::c_str() const
29692 {
29693     return m_evt->GetString().c_str();
29694 }
29695
29696
29697
29698
29699 class wxNotifyEvent : public wxCommandEvent
29700 {
29701 public:
29702     wxNotifyEvent(wxEventType commandType = wxEVT_NULL, int winid = 0)
29703         : wxCommandEvent(commandType, winid)
29704         { m_bAllow = true; }
29705
29706     wxNotifyEvent(const wxNotifyEvent& event)
29707         : wxCommandEvent(event)
29708         { m_bAllow = event.m_bAllow; }
29709
29710
29711     void Veto() { m_bAllow = false; }
29712
29713
29714     void Allow() { m_bAllow = true; }
29715
29716
29717     bool IsAllowed() const { return m_bAllow; }
29718
29719     virtual wxEvent *Clone() const { return new wxNotifyEvent(*this); }
29720
29721 private:
29722     bool m_bAllow;
29723
29724 private:
29725     private: wxNotifyEvent& operator=(const wxNotifyEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
29726 };
29727 # 656 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
29728 class wxScrollEvent : public wxCommandEvent
29729 {
29730 public:
29731     wxScrollEvent(wxEventType commandType = wxEVT_NULL,
29732                   int winid = 0, int pos = 0, int orient = 0);
29733
29734     int GetOrientation() const { return (int) m_extraLong; }
29735     int GetPosition() const { return m_commandInt; }
29736     void SetOrientation(int orient) { m_extraLong = (long) orient; }
29737     void SetPosition(int pos) { m_commandInt = pos; }
29738
29739     virtual wxEvent *Clone() const { return new wxScrollEvent(*this); }
29740
29741 private:
29742     private: wxScrollEvent& operator=(const wxScrollEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
29743 };
29744 # 686 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
29745 class wxScrollWinEvent : public wxEvent
29746 {
29747 public:
29748     wxScrollWinEvent(wxEventType commandType = wxEVT_NULL,
29749                      int pos = 0, int orient = 0);
29750     wxScrollWinEvent(const wxScrollWinEvent & event) : wxEvent(event)
29751         { m_commandInt = event.m_commandInt;
29752             m_extraLong = event.m_extraLong; }
29753
29754     int GetOrientation() const { return (int) m_extraLong; }
29755     int GetPosition() const { return m_commandInt; }
29756     void SetOrientation(int orient) { m_extraLong = (long) orient; }
29757     void SetPosition(int pos) { m_commandInt = pos; }
29758
29759     virtual wxEvent *Clone() const { return new wxScrollWinEvent(*this); }
29760
29761
29762 public:
29763
29764
29765
29766     int m_commandInt;
29767     long m_extraLong;
29768
29769 private:
29770     private: wxScrollWinEvent& operator=(const wxScrollWinEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
29771 };
29772 # 744 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
29773 enum
29774 {
29775     wxMOUSE_BTN_ANY = -1,
29776     wxMOUSE_BTN_NONE = 0,
29777     wxMOUSE_BTN_LEFT = 1,
29778     wxMOUSE_BTN_MIDDLE = 2,
29779     wxMOUSE_BTN_RIGHT = 3
29780 };
29781
29782 class wxMouseEvent : public wxEvent
29783 {
29784 public:
29785     wxMouseEvent(wxEventType mouseType = wxEVT_NULL);
29786     wxMouseEvent(const wxMouseEvent& event) : wxEvent(event)
29787         { Assign(event); }
29788
29789
29790     bool IsButton() const { return Button(wxMOUSE_BTN_ANY); }
29791
29792
29793     bool ButtonDown(int but = wxMOUSE_BTN_ANY) const;
29794
29795
29796     bool ButtonDClick(int but = wxMOUSE_BTN_ANY) const;
29797
29798
29799     bool ButtonUp(int but = wxMOUSE_BTN_ANY) const;
29800
29801
29802     bool Button(int but) const;
29803
29804
29805     bool ButtonIsDown(int but) const;
29806
29807
29808     int GetButton() const;
29809
29810
29811     bool ControlDown() const { return m_controlDown; }
29812     bool MetaDown() const { return m_metaDown; }
29813     bool AltDown() const { return m_altDown; }
29814     bool ShiftDown() const { return m_shiftDown; }
29815     bool CmdDown() const
29816     {
29817
29818
29819
29820         return ControlDown();
29821
29822     }
29823
29824
29825     bool LeftDown() const { return (m_eventType == wxEVT_LEFT_DOWN); }
29826     bool MiddleDown() const { return (m_eventType == wxEVT_MIDDLE_DOWN); }
29827     bool RightDown() const { return (m_eventType == wxEVT_RIGHT_DOWN); }
29828
29829     bool LeftUp() const { return (m_eventType == wxEVT_LEFT_UP); }
29830     bool MiddleUp() const { return (m_eventType == wxEVT_MIDDLE_UP); }
29831     bool RightUp() const { return (m_eventType == wxEVT_RIGHT_UP); }
29832
29833     bool LeftDClick() const { return (m_eventType == wxEVT_LEFT_DCLICK); }
29834     bool MiddleDClick() const { return (m_eventType == wxEVT_MIDDLE_DCLICK); }
29835     bool RightDClick() const { return (m_eventType == wxEVT_RIGHT_DCLICK); }
29836
29837
29838
29839     bool LeftIsDown() const { return m_leftDown; }
29840     bool MiddleIsDown() const { return m_middleDown; }
29841     bool RightIsDown() const { return m_rightDown; }
29842
29843
29844     bool Dragging() const
29845     {
29846         return (m_eventType == wxEVT_MOTION) && ButtonIsDown(wxMOUSE_BTN_ANY);
29847     }
29848
29849
29850     bool Moving() const
29851     {
29852         return (m_eventType == wxEVT_MOTION) && !ButtonIsDown(wxMOUSE_BTN_ANY);
29853     }
29854
29855
29856     bool Entering() const { return (m_eventType == wxEVT_ENTER_WINDOW); }
29857
29858
29859     bool Leaving() const { return (m_eventType == wxEVT_LEAVE_WINDOW); }
29860
29861
29862     void GetPosition(wxCoord *xpos, wxCoord *ypos) const
29863     {
29864         if (xpos)
29865             *xpos = m_x;
29866         if (ypos)
29867             *ypos = m_y;
29868     }
29869
29870     void GetPosition(long *xpos, long *ypos) const
29871     {
29872         if (xpos)
29873             *xpos = (long)m_x;
29874         if (ypos)
29875             *ypos = (long)m_y;
29876     }
29877
29878
29879     wxPoint GetPosition() const { return wxPoint(m_x, m_y); }
29880
29881
29882     wxPoint GetLogicalPosition(const wxDC& dc) const;
29883
29884
29885     wxCoord GetX() const { return m_x; }
29886
29887
29888     wxCoord GetY() const { return m_y; }
29889 # 868 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
29890     int GetWheelRotation() const { return m_wheelRotation; }
29891
29892
29893
29894
29895     int GetWheelDelta() const { return m_wheelDelta; }
29896
29897
29898
29899     int GetLinesPerAction() const { return m_linesPerAction; }
29900
29901
29902     bool IsPageScroll() const { return ((unsigned int)m_linesPerAction == (2147483647 * 2U + 1U)); }
29903
29904     virtual wxEvent *Clone() const { return new wxMouseEvent(*this); }
29905
29906     wxMouseEvent& operator=(const wxMouseEvent& event) { Assign(event); return *this; }
29907
29908 public:
29909     wxCoord m_x, m_y;
29910
29911     bool m_leftDown;
29912     bool m_middleDown;
29913     bool m_rightDown;
29914
29915     bool m_controlDown;
29916     bool m_shiftDown;
29917     bool m_altDown;
29918     bool m_metaDown;
29919
29920     int m_wheelRotation;
29921     int m_wheelDelta;
29922     int m_linesPerAction;
29923
29924 protected:
29925     void Assign(const wxMouseEvent& evt);
29926
29927 private:
29928     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
29929 };
29930
29931
29932
29933
29934
29935
29936
29937 class wxSetCursorEvent : public wxEvent
29938 {
29939 public:
29940     wxSetCursorEvent(wxCoord x = 0, wxCoord y = 0)
29941         : wxEvent(0, wxEVT_SET_CURSOR),
29942           m_x(x), m_y(y), m_cursor()
29943         { }
29944
29945     wxSetCursorEvent(const wxSetCursorEvent & event)
29946         : wxEvent(event),
29947           m_x(event.m_x),
29948           m_y(event.m_y),
29949           m_cursor(event.m_cursor)
29950         { }
29951
29952     wxCoord GetX() const { return m_x; }
29953     wxCoord GetY() const { return m_y; }
29954
29955     void SetCursor(const wxCursor& cursor) { m_cursor = cursor; }
29956     const wxCursor& GetCursor() const { return m_cursor; }
29957     bool HasCursor() const { return m_cursor.Ok(); }
29958
29959     virtual wxEvent *Clone() const { return new wxSetCursorEvent(*this); }
29960
29961 private:
29962     wxCoord m_x, m_y;
29963     wxCursor m_cursor;
29964
29965 private:
29966     private: wxSetCursorEvent& operator=(const wxSetCursorEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
29967 };
29968 # 957 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
29969 class wxKeyEvent : public wxEvent
29970 {
29971 public:
29972     wxKeyEvent(wxEventType keyType = wxEVT_NULL);
29973     wxKeyEvent(const wxKeyEvent& evt);
29974
29975
29976     bool ControlDown() const { return m_controlDown; }
29977     bool MetaDown() const { return m_metaDown; }
29978     bool AltDown() const { return m_altDown; }
29979     bool ShiftDown() const { return m_shiftDown; }
29980
29981
29982
29983
29984
29985
29986     bool CmdDown() const
29987     {
29988
29989
29990
29991         return ControlDown();
29992
29993     }
29994
29995
29996
29997
29998     bool HasModifiers() const { return ControlDown() || AltDown(); }
29999
30000
30001     int GetKeyCode() const { return (int)m_keyCode; }
30002
30003
30004
30005
30006
30007
30008
30009     wxUint32 GetRawKeyCode() const { return m_rawCode; }
30010
30011
30012     wxUint32 GetRawKeyFlags() const { return m_rawFlags; }
30013
30014
30015     void GetPosition(wxCoord *xpos, wxCoord *ypos) const
30016     {
30017         if (xpos) *xpos = m_x;
30018         if (ypos) *ypos = m_y;
30019     }
30020
30021     void GetPosition(long *xpos, long *ypos) const
30022     {
30023         if (xpos) *xpos = (long)m_x;
30024         if (ypos) *ypos = (long)m_y;
30025     }
30026
30027     wxPoint GetPosition() const
30028         { return wxPoint(m_x, m_y); }
30029
30030
30031     wxCoord GetX() const { return m_x; }
30032
30033
30034     wxCoord GetY() const { return m_y; }
30035
30036
30037     long KeyCode() const __attribute__ ((deprecated));
30038
30039     virtual wxEvent *Clone() const { return new wxKeyEvent(*this); }
30040
30041
30042
30043     wxKeyEvent& operator=(const wxKeyEvent& evt)
30044     {
30045         m_x = evt.m_x;
30046         m_y = evt.m_y;
30047
30048         m_keyCode = evt.m_keyCode;
30049
30050         m_controlDown = evt.m_controlDown;
30051         m_shiftDown = evt.m_shiftDown;
30052         m_altDown = evt.m_altDown;
30053         m_metaDown = evt.m_metaDown;
30054         m_scanCode = evt.m_scanCode;
30055         m_rawCode = evt.m_rawCode;
30056         m_rawFlags = evt.m_rawFlags;
30057
30058
30059
30060
30061         return *this;
30062     }
30063
30064 public:
30065     wxCoord m_x, m_y;
30066
30067     long m_keyCode;
30068
30069     bool m_controlDown;
30070     bool m_shiftDown;
30071     bool m_altDown;
30072     bool m_metaDown;
30073     bool m_scanCode;
30074 # 1071 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
30075     wxUint32 m_rawCode;
30076     wxUint32 m_rawFlags;
30077
30078 private:
30079     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30080 };
30081
30082
30083
30084
30085
30086
30087 class wxSizeEvent : public wxEvent
30088 {
30089 public:
30090     wxSizeEvent() : wxEvent(0, wxEVT_SIZE)
30091         { }
30092     wxSizeEvent(const wxSize& sz, int winid = 0)
30093         : wxEvent(winid, wxEVT_SIZE),
30094           m_size(sz)
30095         { }
30096     wxSizeEvent(const wxSizeEvent & event)
30097         : wxEvent(event),
30098           m_size(event.m_size), m_rect(event.m_rect)
30099         { }
30100     wxSizeEvent(const wxRect& rect, int id = 0)
30101         : m_size(rect.GetSize()), m_rect(rect)
30102         { m_eventType = wxEVT_SIZING; m_id = id; }
30103
30104     wxSize GetSize() const { return m_size; }
30105     wxRect GetRect() const { return m_rect; }
30106     void SetRect(wxRect rect) { m_rect = rect; }
30107
30108     virtual wxEvent *Clone() const { return new wxSizeEvent(*this); }
30109
30110 public:
30111
30112     wxSize m_size;
30113     wxRect m_rect;
30114
30115 private:
30116     private: wxSizeEvent& operator=(const wxSizeEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30117 };
30118
30119
30120
30121
30122
30123
30124
30125 class wxMoveEvent : public wxEvent
30126 {
30127 public:
30128     wxMoveEvent()
30129         : wxEvent(0, wxEVT_MOVE)
30130         { }
30131     wxMoveEvent(const wxPoint& pos, int winid = 0)
30132         : wxEvent(winid, wxEVT_MOVE),
30133           m_pos(pos)
30134         { }
30135     wxMoveEvent(const wxMoveEvent& event)
30136         : wxEvent(event),
30137           m_pos(event.m_pos)
30138     { }
30139     wxMoveEvent(const wxRect& rect, int id = 0)
30140         : m_pos(rect.GetPosition()), m_rect(rect)
30141         { m_eventType = wxEVT_MOVING; m_id = id; }
30142
30143     wxPoint GetPosition() const { return m_pos; }
30144     void SetPosition(const wxPoint& pos) { m_pos = pos; }
30145     wxRect GetRect() const { return m_rect; }
30146     void SetRect(wxRect rect) { m_rect = rect; }
30147
30148     virtual wxEvent *Clone() const { return new wxMoveEvent(*this); }
30149
30150
30151 public:
30152
30153
30154
30155     wxPoint m_pos;
30156     wxRect m_rect;
30157
30158 private:
30159     private: wxMoveEvent& operator=(const wxMoveEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30160 };
30161 # 1170 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
30162 class wxPaintEvent : public wxEvent
30163 {
30164 public:
30165     wxPaintEvent(int Id = 0)
30166         : wxEvent(Id, wxEVT_PAINT)
30167     {
30168
30169
30170
30171
30172     }
30173 # 1197 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
30174     virtual wxEvent *Clone() const { return new wxPaintEvent(*this); }
30175
30176 private:
30177     private: wxPaintEvent& operator=(const wxPaintEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30178 };
30179
30180 class wxNcPaintEvent : public wxEvent
30181 {
30182 public:
30183     wxNcPaintEvent(int winid = 0)
30184         : wxEvent(winid, wxEVT_NC_PAINT)
30185         { }
30186
30187     virtual wxEvent *Clone() const { return new wxNcPaintEvent(*this); }
30188
30189 private:
30190     private: wxNcPaintEvent& operator=(const wxNcPaintEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30191 };
30192
30193
30194
30195
30196
30197
30198 class wxEraseEvent : public wxEvent
30199 {
30200 public:
30201     wxEraseEvent(int Id = 0, wxDC *dc = (wxDC *) __null)
30202         : wxEvent(Id, wxEVT_ERASE_BACKGROUND),
30203           m_dc(dc)
30204         { }
30205
30206     wxEraseEvent(const wxEraseEvent& event)
30207         : wxEvent(event),
30208           m_dc(event.m_dc)
30209         { }
30210
30211     wxDC *GetDC() const { return m_dc; }
30212
30213     virtual wxEvent *Clone() const { return new wxEraseEvent(*this); }
30214
30215
30216 public:
30217
30218
30219
30220     wxDC *m_dc;
30221
30222 private:
30223     private: wxEraseEvent& operator=(const wxEraseEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30224 };
30225
30226
30227
30228
30229
30230
30231
30232 class wxFocusEvent : public wxEvent
30233 {
30234 public:
30235     wxFocusEvent(wxEventType type = wxEVT_NULL, int winid = 0)
30236         : wxEvent(winid, type)
30237         { m_win = __null; }
30238
30239     wxFocusEvent(const wxFocusEvent& event)
30240         : wxEvent(event)
30241         { m_win = event.m_win; }
30242
30243
30244
30245
30246     wxWindow *GetWindow() const { return m_win; }
30247     void SetWindow(wxWindow *win) { m_win = win; }
30248
30249     virtual wxEvent *Clone() const { return new wxFocusEvent(*this); }
30250
30251 private:
30252     wxWindow *m_win;
30253
30254 private:
30255     private: wxFocusEvent& operator=(const wxFocusEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30256 };
30257
30258
30259
30260 class wxChildFocusEvent : public wxCommandEvent
30261 {
30262 public:
30263     wxChildFocusEvent(wxWindow *win = __null);
30264
30265     wxWindow *GetWindow() const { return (wxWindow *)GetEventObject(); }
30266
30267     virtual wxEvent *Clone() const { return new wxChildFocusEvent(*this); }
30268
30269 private:
30270     private: wxChildFocusEvent& operator=(const wxChildFocusEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30271 };
30272 # 1303 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
30273 class wxActivateEvent : public wxEvent
30274 {
30275 public:
30276     wxActivateEvent(wxEventType type = wxEVT_NULL, bool active = true, int Id = 0)
30277         : wxEvent(Id, type)
30278         { m_active = active; }
30279     wxActivateEvent(const wxActivateEvent& event)
30280         : wxEvent(event)
30281     { m_active = event.m_active; }
30282
30283     bool GetActive() const { return m_active; }
30284
30285     virtual wxEvent *Clone() const { return new wxActivateEvent(*this); }
30286
30287 private:
30288     bool m_active;
30289
30290 private:
30291     private: wxActivateEvent& operator=(const wxActivateEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30292 };
30293
30294
30295
30296
30297
30298
30299 class wxInitDialogEvent : public wxEvent
30300 {
30301 public:
30302     wxInitDialogEvent(int Id = 0)
30303         : wxEvent(Id, wxEVT_INIT_DIALOG)
30304         { }
30305
30306     virtual wxEvent *Clone() const { return new wxInitDialogEvent(*this); }
30307
30308 private:
30309     private: wxInitDialogEvent& operator=(const wxInitDialogEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30310 };
30311 # 1349 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
30312 class wxMenuEvent : public wxEvent
30313 {
30314 public:
30315     wxMenuEvent(wxEventType type = wxEVT_NULL, int winid = 0, wxMenu* menu = __null)
30316         : wxEvent(winid, type)
30317         { m_menuId = winid; m_menu = menu; }
30318     wxMenuEvent(const wxMenuEvent & event)
30319         : wxEvent(event)
30320     { m_menuId = event.m_menuId; m_menu = event.m_menu; }
30321
30322
30323     int GetMenuId() const { return m_menuId; }
30324
30325
30326     bool IsPopup() const { return m_menuId == wxID_ANY; }
30327
30328
30329     wxMenu* GetMenu() const { return m_menu; }
30330
30331     virtual wxEvent *Clone() const { return new wxMenuEvent(*this); }
30332
30333 private:
30334     int m_menuId;
30335     wxMenu* m_menu;
30336
30337     private: wxMenuEvent& operator=(const wxMenuEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30338 };
30339 # 1384 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
30340 class wxCloseEvent : public wxEvent
30341 {
30342 public:
30343     wxCloseEvent(wxEventType type = wxEVT_NULL, int winid = 0)
30344         : wxEvent(winid, type),
30345           m_loggingOff(true),
30346           m_veto(false),
30347           m_canVeto(true) {}
30348
30349     wxCloseEvent(const wxCloseEvent & event)
30350         : wxEvent(event),
30351         m_loggingOff(event.m_loggingOff),
30352         m_veto(event.m_veto),
30353         m_canVeto(event.m_canVeto) {}
30354
30355     void SetLoggingOff(bool logOff) { m_loggingOff = logOff; }
30356     bool GetLoggingOff() const
30357     {
30358
30359
30360         ;
30361
30362
30363         return m_loggingOff;
30364     }
30365
30366     void Veto(bool veto = true)
30367     {
30368
30369         if (!(m_canVeto)) {; return; };
30370
30371
30372         m_veto = veto;
30373     }
30374     void SetCanVeto(bool canVeto) { m_canVeto = canVeto; }
30375     bool CanVeto() const { return m_canVeto; }
30376     bool GetVeto() const { return m_canVeto && m_veto; }
30377
30378     virtual wxEvent *Clone() const { return new wxCloseEvent(*this); }
30379
30380 protected:
30381     bool m_loggingOff,
30382          m_veto,
30383          m_canVeto;
30384
30385 private:
30386     private: wxCloseEvent& operator=(const wxCloseEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30387 };
30388
30389
30390
30391
30392
30393 class wxShowEvent : public wxEvent
30394 {
30395 public:
30396     wxShowEvent(int winid = 0, bool show = false)
30397         : wxEvent(winid, wxEVT_SHOW)
30398         { m_show = show; }
30399     wxShowEvent(const wxShowEvent & event)
30400         : wxEvent(event)
30401     { m_show = event.m_show; }
30402
30403     void SetShow(bool show) { m_show = show; }
30404     bool GetShow() const { return m_show; }
30405
30406     virtual wxEvent *Clone() const { return new wxShowEvent(*this); }
30407
30408 protected:
30409     bool m_show;
30410
30411 private:
30412     private: wxShowEvent& operator=(const wxShowEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30413 };
30414
30415
30416
30417
30418
30419 class wxIconizeEvent : public wxEvent
30420 {
30421 public:
30422     wxIconizeEvent(int winid = 0, bool iconized = true)
30423         : wxEvent(winid, wxEVT_ICONIZE)
30424         { m_iconized = iconized; }
30425     wxIconizeEvent(const wxIconizeEvent & event)
30426         : wxEvent(event)
30427     { m_iconized = event.m_iconized; }
30428
30429
30430     bool Iconized() const { return m_iconized; }
30431
30432     virtual wxEvent *Clone() const { return new wxIconizeEvent(*this); }
30433
30434 protected:
30435     bool m_iconized;
30436
30437 private:
30438     private: wxIconizeEvent& operator=(const wxIconizeEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30439 };
30440
30441
30442
30443
30444 class wxMaximizeEvent : public wxEvent
30445 {
30446 public:
30447     wxMaximizeEvent(int winid = 0)
30448         : wxEvent(winid, wxEVT_MAXIMIZE)
30449         { }
30450
30451     virtual wxEvent *Clone() const { return new wxMaximizeEvent(*this); }
30452
30453 private:
30454     private: wxMaximizeEvent& operator=(const wxMaximizeEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30455 };
30456 # 1510 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
30457 enum
30458 {
30459     wxJOYSTICK1,
30460     wxJOYSTICK2
30461 };
30462
30463
30464 enum
30465 {
30466     wxJOY_BUTTON_ANY = -1,
30467     wxJOY_BUTTON1 = 1,
30468     wxJOY_BUTTON2 = 2,
30469     wxJOY_BUTTON3 = 4,
30470     wxJOY_BUTTON4 = 8
30471 };
30472
30473 class wxJoystickEvent : public wxEvent
30474 {
30475
30476 public:
30477
30478
30479
30480     wxPoint m_pos;
30481     int m_zPosition;
30482     int m_buttonChange;
30483     int m_buttonState;
30484     int m_joyStick;
30485
30486 public:
30487     wxJoystickEvent(wxEventType type = wxEVT_NULL,
30488                     int state = 0,
30489                     int joystick = wxJOYSTICK1,
30490                     int change = 0)
30491         : wxEvent(0, type),
30492           m_pos(),
30493           m_zPosition(0),
30494           m_buttonChange(change),
30495           m_buttonState(state),
30496           m_joyStick(joystick)
30497     {
30498     }
30499     wxJoystickEvent(const wxJoystickEvent & event)
30500         : wxEvent(event),
30501           m_pos(event.m_pos),
30502           m_zPosition(event.m_zPosition),
30503           m_buttonChange(event.m_buttonChange),
30504           m_buttonState(event.m_buttonState),
30505           m_joyStick(event.m_joyStick)
30506     { }
30507
30508     wxPoint GetPosition() const { return m_pos; }
30509     int GetZPosition() const { return m_zPosition; }
30510     int GetButtonState() const { return m_buttonState; }
30511     int GetButtonChange() const { return m_buttonChange; }
30512     int GetJoystick() const { return m_joyStick; }
30513
30514     void SetJoystick(int stick) { m_joyStick = stick; }
30515     void SetButtonState(int state) { m_buttonState = state; }
30516     void SetButtonChange(int change) { m_buttonChange = change; }
30517     void SetPosition(const wxPoint& pos) { m_pos = pos; }
30518     void SetZPosition(int zPos) { m_zPosition = zPos; }
30519
30520
30521     bool IsButton() const { return ((GetEventType() == wxEVT_JOY_BUTTON_DOWN) ||
30522             (GetEventType() == wxEVT_JOY_BUTTON_UP)); }
30523
30524
30525     bool IsMove() const { return (GetEventType() == wxEVT_JOY_MOVE); }
30526
30527
30528     bool IsZMove() const { return (GetEventType() == wxEVT_JOY_ZMOVE); }
30529
30530
30531     bool ButtonDown(int but = wxJOY_BUTTON_ANY) const
30532     { return ((GetEventType() == wxEVT_JOY_BUTTON_DOWN) &&
30533             ((but == wxJOY_BUTTON_ANY) || (but == m_buttonChange))); }
30534
30535
30536     bool ButtonUp(int but = wxJOY_BUTTON_ANY) const
30537     { return ((GetEventType() == wxEVT_JOY_BUTTON_UP) &&
30538             ((but == wxJOY_BUTTON_ANY) || (but == m_buttonChange))); }
30539
30540
30541     bool ButtonIsDown(int but = wxJOY_BUTTON_ANY) const
30542     { return (((but == wxJOY_BUTTON_ANY) && (m_buttonState != 0)) ||
30543             ((m_buttonState & but) == but)); }
30544
30545     virtual wxEvent *Clone() const { return new wxJoystickEvent(*this); }
30546
30547 private:
30548     private: wxJoystickEvent& operator=(const wxJoystickEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30549 };
30550
30551
30552
30553
30554
30555
30556 class wxDropFilesEvent : public wxEvent
30557 {
30558 public:
30559     int m_noFiles;
30560     wxPoint m_pos;
30561     wxString* m_files;
30562
30563     wxDropFilesEvent(wxEventType type = wxEVT_NULL,
30564                      int noFiles = 0,
30565                      wxString *files = (wxString *) __null)
30566         : wxEvent(0, type),
30567           m_noFiles(noFiles),
30568           m_pos(),
30569           m_files(files)
30570         { }
30571
30572
30573     wxDropFilesEvent(const wxDropFilesEvent& other)
30574         : wxEvent(other),
30575           m_noFiles(other.m_noFiles),
30576           m_pos(other.m_pos),
30577           m_files(__null)
30578     {
30579         m_files = new wxString[m_noFiles];
30580         for ( int n = 0; n < m_noFiles; n++ )
30581         {
30582             m_files[n] = other.m_files[n];
30583         }
30584     }
30585
30586     virtual ~wxDropFilesEvent()
30587     {
30588         delete [] m_files;
30589     }
30590
30591     wxPoint GetPosition() const { return m_pos; }
30592     int GetNumberOfFiles() const { return m_noFiles; }
30593     wxString *GetFiles() const { return m_files; }
30594
30595     virtual wxEvent *Clone() const { return new wxDropFilesEvent(*this); }
30596
30597 private:
30598     private: wxDropFilesEvent& operator=(const wxDropFilesEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30599 };
30600 # 1663 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
30601 enum wxUpdateUIMode
30602 {
30603
30604     wxUPDATE_UI_PROCESS_ALL,
30605
30606
30607
30608     wxUPDATE_UI_PROCESS_SPECIFIED
30609 };
30610
30611 class wxUpdateUIEvent : public wxCommandEvent
30612 {
30613 public:
30614     wxUpdateUIEvent(wxWindowID commandId = 0)
30615         : wxCommandEvent(wxEVT_UPDATE_UI, commandId)
30616     {
30617         m_checked =
30618         m_enabled =
30619         m_setEnabled =
30620         m_setText =
30621         m_setChecked = false;
30622     }
30623     wxUpdateUIEvent(const wxUpdateUIEvent & event)
30624         : wxCommandEvent(event),
30625           m_checked(event.m_checked),
30626           m_enabled(event.m_enabled),
30627           m_setEnabled(event.m_setEnabled),
30628           m_setText(event.m_setText),
30629           m_setChecked(event.m_setChecked),
30630           m_text(event.m_text)
30631     { }
30632
30633     bool GetChecked() const { return m_checked; }
30634     bool GetEnabled() const { return m_enabled; }
30635     wxString GetText() const { return m_text; }
30636     bool GetSetText() const { return m_setText; }
30637     bool GetSetChecked() const { return m_setChecked; }
30638     bool GetSetEnabled() const { return m_setEnabled; }
30639
30640     void Check(bool check) { m_checked = check; m_setChecked = true; }
30641     void Enable(bool enable) { m_enabled = enable; m_setEnabled = true; }
30642     void SetText(const wxString& text) { m_text = text; m_setText = true; }
30643
30644
30645
30646     static void SetUpdateInterval(long updateInterval) { sm_updateInterval = updateInterval; }
30647
30648
30649     static long GetUpdateInterval() { return sm_updateInterval; }
30650
30651
30652     static bool CanUpdate(wxWindowBase *win);
30653
30654
30655
30656     static void ResetUpdateTime();
30657
30658
30659
30660
30661     static void SetMode(wxUpdateUIMode mode) { sm_updateMode = mode; }
30662
30663
30664     static wxUpdateUIMode GetMode() { return sm_updateMode; }
30665
30666     virtual wxEvent *Clone() const { return new wxUpdateUIEvent(*this); }
30667
30668 protected:
30669     bool m_checked;
30670     bool m_enabled;
30671     bool m_setEnabled;
30672     bool m_setText;
30673     bool m_setChecked;
30674     wxString m_text;
30675
30676     static wxLongLong sm_lastUpdate;
30677
30678     static long sm_updateInterval;
30679     static wxUpdateUIMode sm_updateMode;
30680
30681 private:
30682     private: wxUpdateUIEvent& operator=(const wxUpdateUIEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30683 };
30684
30685
30686
30687
30688
30689
30690 class wxSysColourChangedEvent : public wxEvent
30691 {
30692 public:
30693     wxSysColourChangedEvent()
30694         : wxEvent(0, wxEVT_SYS_COLOUR_CHANGED)
30695         { }
30696
30697     virtual wxEvent *Clone() const { return new wxSysColourChangedEvent(*this); }
30698
30699 private:
30700     private: wxSysColourChangedEvent& operator=(const wxSysColourChangedEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30701 };
30702
30703
30704
30705
30706
30707
30708
30709 class wxMouseCaptureChangedEvent : public wxEvent
30710 {
30711 public:
30712     wxMouseCaptureChangedEvent(wxWindowID winid = 0, wxWindow* gainedCapture = __null)
30713         : wxEvent(winid, wxEVT_MOUSE_CAPTURE_CHANGED),
30714           m_gainedCapture(gainedCapture)
30715         { }
30716
30717     wxMouseCaptureChangedEvent(const wxMouseCaptureChangedEvent& event)
30718         : wxEvent(event),
30719           m_gainedCapture(event.m_gainedCapture)
30720         { }
30721
30722     virtual wxEvent *Clone() const { return new wxMouseCaptureChangedEvent(*this); }
30723
30724     wxWindow* GetCapturedWindow() const { return m_gainedCapture; };
30725
30726 private:
30727     wxWindow* m_gainedCapture;
30728
30729     private: wxMouseCaptureChangedEvent& operator=(const wxMouseCaptureChangedEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30730 };
30731
30732
30733
30734
30735 class wxDisplayChangedEvent : public wxEvent
30736 {
30737 private:
30738     private: wxDisplayChangedEvent& operator=(const wxDisplayChangedEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30739
30740 public:
30741     wxDisplayChangedEvent()
30742         : wxEvent(0, wxEVT_DISPLAY_CHANGED)
30743         { }
30744
30745     virtual wxEvent *Clone() const { return new wxDisplayChangedEvent(*this); }
30746 };
30747
30748
30749
30750
30751
30752 class wxPaletteChangedEvent : public wxEvent
30753 {
30754 public:
30755     wxPaletteChangedEvent(wxWindowID winid = 0)
30756         : wxEvent(winid, wxEVT_PALETTE_CHANGED),
30757           m_changedWindow((wxWindow *) __null)
30758         { }
30759
30760     wxPaletteChangedEvent(const wxPaletteChangedEvent& event)
30761         : wxEvent(event),
30762           m_changedWindow(event.m_changedWindow)
30763         { }
30764
30765     void SetChangedWindow(wxWindow* win) { m_changedWindow = win; }
30766     wxWindow* GetChangedWindow() const { return m_changedWindow; }
30767
30768     virtual wxEvent *Clone() const { return new wxPaletteChangedEvent(*this); }
30769
30770 protected:
30771     wxWindow* m_changedWindow;
30772
30773 private:
30774     private: wxPaletteChangedEvent& operator=(const wxPaletteChangedEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30775 };
30776
30777
30778
30779
30780
30781
30782 class wxQueryNewPaletteEvent : public wxEvent
30783 {
30784 public:
30785     wxQueryNewPaletteEvent(wxWindowID winid = 0)
30786         : wxEvent(winid, wxEVT_QUERY_NEW_PALETTE),
30787           m_paletteRealized(false)
30788         { }
30789     wxQueryNewPaletteEvent(const wxQueryNewPaletteEvent & event)
30790         : wxEvent(event),
30791         m_paletteRealized(event.m_paletteRealized)
30792     { }
30793
30794
30795     void SetPaletteRealized(bool realized) { m_paletteRealized = realized; }
30796     bool GetPaletteRealized() const { return m_paletteRealized; }
30797
30798     virtual wxEvent *Clone() const { return new wxQueryNewPaletteEvent(*this); }
30799
30800 protected:
30801     bool m_paletteRealized;
30802
30803 private:
30804     private: wxQueryNewPaletteEvent& operator=(const wxQueryNewPaletteEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30805 };
30806
30807
30808
30809
30810
30811
30812 class wxNavigationKeyEvent : public wxEvent
30813 {
30814 public:
30815     wxNavigationKeyEvent()
30816         : wxEvent(0, wxEVT_NAVIGATION_KEY),
30817           m_flags(IsForward | FromTab),
30818           m_focus((wxWindow *)__null)
30819         {
30820             m_propagationLevel = wxEVENT_PROPAGATE_NONE;
30821         }
30822
30823     wxNavigationKeyEvent(const wxNavigationKeyEvent& event)
30824         : wxEvent(event),
30825           m_flags(event.m_flags),
30826           m_focus(event.m_focus)
30827         { }
30828
30829
30830     bool GetDirection() const
30831         { return (m_flags & IsForward) != 0; }
30832     void SetDirection(bool bForward)
30833         { if ( bForward ) m_flags |= IsForward; else m_flags &= ~IsForward; }
30834
30835
30836
30837     bool IsWindowChange() const
30838         { return (m_flags & WinChange) != 0; }
30839     void SetWindowChange(bool bIs)
30840         { if ( bIs ) m_flags |= WinChange; else m_flags &= ~WinChange; }
30841
30842
30843
30844     bool IsFromTab() const
30845         { return (m_flags & FromTab) != 0; }
30846     void SetFromTab(bool bIs)
30847         { if ( bIs ) m_flags |= FromTab; else m_flags &= ~FromTab; }
30848
30849
30850
30851     wxWindow* GetCurrentFocus() const { return m_focus; }
30852     void SetCurrentFocus(wxWindow *win) { m_focus = win; }
30853
30854
30855     void SetFlags(long flags) { m_flags = flags; }
30856
30857     virtual wxEvent *Clone() const { return new wxNavigationKeyEvent(*this); }
30858
30859     enum
30860     {
30861         IsBackward = 0x0000,
30862         IsForward = 0x0001,
30863         WinChange = 0x0002,
30864         FromTab = 0x0004
30865     };
30866
30867     long m_flags;
30868     wxWindow *m_focus;
30869
30870 private:
30871     private: wxNavigationKeyEvent& operator=(const wxNavigationKeyEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30872 };
30873 # 1946 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
30874 class wxWindowCreateEvent : public wxCommandEvent
30875 {
30876 public:
30877     wxWindowCreateEvent(wxWindow *win = __null);
30878
30879     wxWindow *GetWindow() const { return (wxWindow *)GetEventObject(); }
30880
30881     virtual wxEvent *Clone() const { return new wxWindowCreateEvent(*this); }
30882
30883 private:
30884     private: wxWindowCreateEvent& operator=(const wxWindowCreateEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30885 };
30886
30887 class wxWindowDestroyEvent : public wxCommandEvent
30888 {
30889 public:
30890     wxWindowDestroyEvent(wxWindow *win = __null);
30891
30892     wxWindow *GetWindow() const { return (wxWindow *)GetEventObject(); }
30893
30894     virtual wxEvent *Clone() const { return new wxWindowDestroyEvent(*this); }
30895
30896 private:
30897     private: wxWindowDestroyEvent& operator=(const wxWindowDestroyEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30898 };
30899
30900
30901
30902
30903
30904
30905
30906 class wxHelpEvent : public wxCommandEvent
30907 {
30908 public:
30909     wxHelpEvent(wxEventType type = wxEVT_NULL,
30910                 wxWindowID winid = 0,
30911                 const wxPoint& pt = wxDefaultPosition)
30912         : wxCommandEvent(type, winid),
30913           m_pos(pt), m_target(), m_link()
30914     { }
30915     wxHelpEvent(const wxHelpEvent & event)
30916         : wxCommandEvent(event),
30917           m_pos(event.m_pos),
30918           m_target(event.m_target),
30919           m_link(event.m_link)
30920     { }
30921
30922
30923     const wxPoint& GetPosition() const { return m_pos; }
30924     void SetPosition(const wxPoint& pos) { m_pos = pos; }
30925
30926
30927     const wxString& GetLink() const { return m_link; }
30928     void SetLink(const wxString& link) { m_link = link; }
30929
30930
30931     const wxString& GetTarget() const { return m_target; }
30932     void SetTarget(const wxString& target) { m_target = target; }
30933
30934     virtual wxEvent *Clone() const { return new wxHelpEvent(*this); }
30935
30936 protected:
30937     wxPoint m_pos;
30938     wxString m_target;
30939     wxString m_link;
30940
30941 private:
30942     private: wxHelpEvent& operator=(const wxHelpEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30943 };
30944 # 2025 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
30945 class wxContextMenuEvent : public wxCommandEvent
30946 {
30947 public:
30948     wxContextMenuEvent(wxEventType type = wxEVT_NULL,
30949                        wxWindowID winid = 0,
30950                        const wxPoint& pt = wxDefaultPosition)
30951         : wxCommandEvent(type, winid),
30952           m_pos(pt)
30953     { }
30954     wxContextMenuEvent(const wxContextMenuEvent & event)
30955         : wxCommandEvent(event),
30956         m_pos(event.m_pos)
30957     { }
30958
30959
30960     const wxPoint& GetPosition() const { return m_pos; }
30961     void SetPosition(const wxPoint& pos) { m_pos = pos; }
30962
30963     virtual wxEvent *Clone() const { return new wxContextMenuEvent(*this); }
30964
30965 protected:
30966     wxPoint m_pos;
30967
30968 private:
30969     private: wxContextMenuEvent& operator=(const wxContextMenuEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
30970 };
30971 # 2061 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
30972 enum wxIdleMode
30973 {
30974
30975     wxIDLE_PROCESS_ALL,
30976
30977
30978
30979     wxIDLE_PROCESS_SPECIFIED
30980 };
30981
30982 class wxIdleEvent : public wxEvent
30983 {
30984 public:
30985     wxIdleEvent()
30986         : wxEvent(0, wxEVT_IDLE),
30987           m_requestMore(false)
30988         { }
30989     wxIdleEvent(const wxIdleEvent & event)
30990         : wxEvent(event),
30991           m_requestMore(event.m_requestMore)
30992     { }
30993
30994     void RequestMore(bool needMore = true) { m_requestMore = needMore; }
30995     bool MoreRequested() const { return m_requestMore; }
30996
30997     virtual wxEvent *Clone() const { return new wxIdleEvent(*this); }
30998
30999
31000
31001
31002     static void SetMode(wxIdleMode mode) { sm_idleMode = mode; }
31003
31004
31005     static wxIdleMode GetMode() { return sm_idleMode; }
31006
31007
31008     static bool CanSend(wxWindow* win);
31009
31010 protected:
31011     bool m_requestMore;
31012     static wxIdleMode sm_idleMode;
31013
31014 private:
31015     private: wxIdleEvent& operator=(const wxIdleEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
31016 };
31017 # 2128 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
31018 typedef void (wxObject::*wxObjectEventFunction)(wxEvent&);
31019 # 2151 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
31020 struct wxEventTableEntryBase
31021 {
31022 private:
31023     wxEventTableEntryBase& operator=(const wxEventTableEntryBase& event);
31024
31025 public:
31026     wxEventTableEntryBase(int winid, int idLast,
31027                           wxObjectEventFunction fn, wxObject *data)
31028         : m_id(winid),
31029           m_lastId(idLast),
31030           m_fn(fn),
31031           m_callbackUserData(data)
31032     { }
31033
31034     wxEventTableEntryBase(const wxEventTableEntryBase& event)
31035         : m_id(event.m_id),
31036           m_lastId(event.m_lastId),
31037           m_fn(event.m_fn),
31038           m_callbackUserData(event.m_callbackUserData)
31039     { }
31040
31041
31042
31043     int m_id,
31044         m_lastId;
31045
31046
31047     wxObjectEventFunction m_fn;
31048
31049
31050     wxObject* m_callbackUserData;
31051 };
31052
31053
31054 struct wxEventTableEntry : public wxEventTableEntryBase
31055 {
31056     wxEventTableEntry(const int& evType, int winid, int idLast,
31057                       wxObjectEventFunction fn, wxObject *data)
31058         : wxEventTableEntryBase(winid, idLast, fn, data),
31059         m_eventType(evType)
31060     { }
31061
31062
31063
31064
31065
31066
31067
31068     const int& m_eventType;
31069
31070 private:
31071     wxEventTableEntry& operator=(const wxEventTableEntry&);
31072 };
31073
31074
31075 struct wxDynamicEventTableEntry : public wxEventTableEntryBase
31076 {
31077     wxDynamicEventTableEntry(int evType, int winid, int idLast,
31078                              wxObjectEventFunction fn, wxObject *data, wxEvtHandler* eventSink)
31079         : wxEventTableEntryBase(winid, idLast, fn, data),
31080           m_eventType(evType),
31081           m_eventSink(eventSink)
31082     { }
31083
31084
31085
31086
31087     int m_eventType;
31088
31089
31090
31091
31092     wxEvtHandler* m_eventSink;
31093
31094     private: wxDynamicEventTableEntry(const wxDynamicEventTableEntry&); wxDynamicEventTableEntry& operator=(const wxDynamicEventTableEntry&);
31095 };
31096
31097
31098
31099
31100
31101
31102
31103 struct wxEventTable
31104 {
31105     const wxEventTable *baseTable;
31106     const wxEventTableEntry *entries;
31107 };
31108
31109
31110
31111
31112
31113 typedef const wxEventTableEntry* _wxArraywxEventTableEntryPointerArray; struct wxAssert_wxEventTableEntryPointerArray { unsigned int TypeTooBigToBeStoredInwxBaseArrayPtrVoid: sizeof(_wxArraywxEventTableEntryPointerArray) <= sizeof(wxBaseArrayPtrVoid::base_type); }; typedef int ( *CMPFUNC_wxArraywxEventTableEntryPointerArray)(_wxArraywxEventTableEntryPointerArray *pItem1, _wxArraywxEventTableEntryPointerArray *pItem2); class wxEventTableEntryPointerArray : public wxBaseArrayPtrVoid { public: wxEventTableEntryPointerArray() { } ~wxEventTableEntryPointerArray() { } wxEventTableEntryPointerArray& operator=(const wxEventTableEntryPointerArray& src) { wxBaseArrayPtrVoid* temp = (wxBaseArrayPtrVoid*) this; (*temp) = ((const wxBaseArrayPtrVoid&)src); return *this; } _wxArraywxEventTableEntryPointerArray& operator[](size_t uiIndex) const { return (_wxArraywxEventTableEntryPointerArray&)(wxBaseArrayPtrVoid::operator[](uiIndex)); } _wxArraywxEventTableEntryPointerArray& Item(size_t uiIndex) const { return (_wxArraywxEventTableEntryPointerArray&)(wxBaseArrayPtrVoid::operator[](uiIndex)); } _wxArraywxEventTableEntryPointerArray& Last() const { return (_wxArraywxEventTableEntryPointerArray&)(wxBaseArrayPtrVoid::operator[](Count() - 1)); } int Index(_wxArraywxEventTableEntryPointerArray lItem, bool bFromEnd = false) const { return wxBaseArrayPtrVoid::Index((base_type)lItem, bFromEnd); } void Add(_wxArraywxEventTableEntryPointerArray lItem, size_t nInsert = 1) { wxBaseArrayPtrVoid::Add((base_type)lItem, nInsert); } void Insert(_wxArraywxEventTableEntryPointerArray lItem, size_t uiIndex, size_t nInsert = 1) { wxBaseArrayPtrVoid::Insert((base_type)lItem, uiIndex, nInsert) ; } void RemoveAt(size_t uiIndex, size_t nRemove = 1) { wxBaseArrayPtrVoid::RemoveAt(uiIndex, nRemove); } void Remove(_wxArraywxEventTableEntryPointerArray lItem) { int iIndex = Index(lItem); if (!(iIndex != (-1))) {; return; }; wxBaseArrayPtrVoid::RemoveAt((size_t)iIndex); } void Sort(CMPFUNC_wxArraywxEventTableEntryPointerArray fCmp) { wxBaseArrayPtrVoid::Sort((CMPFUNC)fCmp); } private: typedef wxBaseArrayPtrVoid::iterator biterator; typedef wxBaseArrayPtrVoid::const_iterator bconst_iterator; typedef wxBaseArrayPtrVoid::value_type bvalue_type; typedef wxBaseArrayPtrVoid::const_reference bconst_reference; public: typedef _wxArraywxEventTableEntryPointerArray value_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type* iterator; typedef const value_type* const_iterator; typedef value_type& reference; typedef const value_type& const_reference; typedef wxBaseArrayPtrVoid::difference_type difference_type; typedef wxBaseArrayPtrVoid::size_type size_type; class reverse_iterator { typedef _wxArraywxEventTableEntryPointerArray value_type; typedef value_type& reference; typedef value_type* pointer; typedef reverse_iterator itor; friend inline itor operator+(int o, const itor& it) { return it.m_ptr - o; } friend inline itor operator+(const itor& it, int o) { return it.m_ptr - o; } friend inline itor operator-(const itor& it, int o) { return it.m_ptr + o; } friend inline difference_type operator-(const itor& i1, const itor& i2) { return i1.m_ptr - i2.m_ptr; } public: pointer m_ptr; reverse_iterator() : m_ptr(__null) { } reverse_iterator(pointer ptr) : m_ptr(ptr) { } reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { } reference operator*() const { return *m_ptr; } itor& operator++() { --m_ptr; return *this; } const itor operator++(int) { reverse_iterator tmp = *this; --m_ptr; return tmp; } itor& operator--() { ++m_ptr; return *this; } const itor operator--(int) { itor tmp = *this; ++m_ptr; return tmp; } bool operator ==(const itor& it) { return m_ptr == it.m_ptr; } bool operator !=(const itor& it) { return m_ptr != it.m_ptr; } }; class const_reverse_iterator { typedef _wxArraywxEventTableEntryPointerArray value_type; typedef const value_type& reference; typedef const value_type* pointer; typedef const_reverse_iterator itor; friend inline itor operator+(int o, const itor& it) { return it.m_ptr - o; } friend inline itor operator+(const itor& it, int o) { return it.m_ptr - o; } friend inline itor operator-(const itor& it, int o) { return it.m_ptr + o; } friend inline difference_type operator-(const itor& i1, const itor& i2) { return i1.m_ptr - i2.m_ptr; } public: pointer m_ptr; const_reverse_iterator() : m_ptr(__null) { } const_reverse_iterator(pointer ptr) : m_ptr(ptr) { } const_reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { } const_reverse_iterator(const reverse_iterator& it) : m_ptr(it.m_ptr) { } reference operator*() const { return *m_ptr; } itor& operator++() { --m_ptr; return *this; } const itor operator++(int) { itor tmp = *this; --m_ptr; return tmp; } itor& operator--() { ++m_ptr; return *this; } const itor operator--(int) { itor tmp = *this; ++m_ptr; return tmp; } bool operator ==(const itor& it) { return m_ptr == it.m_ptr; } bool operator !=(const itor& it) { return m_ptr != it.m_ptr; } }; wxEventTableEntryPointerArray(size_type n, const_reference v) { assign(n, v); } wxEventTableEntryPointerArray(const_iterator first, const_iterator last) { assign(first, last); } void assign(const_iterator first, const_iterator last) { wxBaseArrayPtrVoid::assign((bconst_iterator)first, (bconst_iterator)last); } void assign(size_type n, const_reference v) { wxBaseArrayPtrVoid::assign(n, (bconst_reference)v); } reference back() { return *(end() - 1); } const_reference back() const { return *(end() - 1); } iterator begin() { return (iterator)wxBaseArrayPtrVoid::begin(); } const_iterator begin() const { return (const_iterator)wxBaseArrayPtrVoid::begin(); } size_type capacity() const { return wxBaseArrayPtrVoid::capacity(); } iterator end() { return (iterator)wxBaseArrayPtrVoid::end(); } const_iterator end() const { return (const_iterator)wxBaseArrayPtrVoid::end(); } iterator erase(iterator first, iterator last) { return (iterator)wxBaseArrayPtrVoid::erase((biterator)first, (biterator)last); } iterator erase(iterator it) { return (iterator)wxBaseArrayPtrVoid::erase((biterator)it); } reference front() { return *begin(); } const_reference front() const { return *begin(); } void insert(iterator it, size_type n, const_reference v) { wxBaseArrayPtrVoid::insert((biterator)it, n, (bconst_reference)v); } iterator insert(iterator it, const_reference v = value_type()) { return (iterator)wxBaseArrayPtrVoid::insert((biterator)it, (bconst_reference)v); } void insert(iterator it, const_iterator first, const_iterator last) { wxBaseArrayPtrVoid::insert((biterator)it, (bconst_iterator)first, (bconst_iterator)last); } void pop_back() { wxBaseArrayPtrVoid::pop_back(); } void push_back(const_reference v) { wxBaseArrayPtrVoid::push_back((bconst_reference)v); } reverse_iterator rbegin() { return reverse_iterator(end() - 1); } const_reverse_iterator rbegin() const; reverse_iterator rend() { return reverse_iterator(begin() - 1); } const_reverse_iterator rend() const; void reserve(size_type n) { wxBaseArrayPtrVoid::reserve(n); }; void resize(size_type n, value_type v = value_type()); };
31114
31115 class wxEventHashTable
31116 {
31117 private:
31118
31119     struct EventTypeTable
31120     {
31121         wxEventType eventType;
31122         wxEventTableEntryPointerArray eventEntryTable;
31123     };
31124     typedef EventTypeTable* EventTypeTablePointer;
31125
31126 public:
31127
31128
31129
31130
31131     wxEventHashTable(const wxEventTable &table);
31132
31133     ~wxEventHashTable();
31134
31135
31136
31137     bool HandleEvent(wxEvent &event, wxEvtHandler *self);
31138
31139
31140     void Clear();
31141
31142
31143     static void ClearAll();
31144
31145 protected:
31146
31147     void InitHashTable();
31148
31149     void AddEntry(const wxEventTableEntry &entry);
31150
31151     void AllocEventTypeTable(size_t size);
31152
31153
31154     void GrowEventTypeTable();
31155
31156 protected:
31157     const wxEventTable &m_table;
31158     bool m_rebuildHash;
31159
31160     size_t m_size;
31161     EventTypeTablePointer *m_eventTypeTable;
31162
31163     static wxEventHashTable* sm_first;
31164     wxEventHashTable* m_previous;
31165     wxEventHashTable* m_next;
31166
31167     private: wxEventHashTable(const wxEventHashTable&); wxEventHashTable& operator=(const wxEventHashTable&);
31168 };
31169
31170
31171
31172
31173
31174 class wxEvtHandler : public wxObject
31175 {
31176 public:
31177     wxEvtHandler();
31178     virtual ~wxEvtHandler();
31179
31180     wxEvtHandler *GetNextHandler() const { return m_nextHandler; }
31181     wxEvtHandler *GetPreviousHandler() const { return m_previousHandler; }
31182     void SetNextHandler(wxEvtHandler *handler) { m_nextHandler = handler; }
31183     void SetPreviousHandler(wxEvtHandler *handler) { m_previousHandler = handler; }
31184
31185     void SetEvtHandlerEnabled(bool enabled) { m_enabled = enabled; }
31186     bool GetEvtHandlerEnabled() const { return m_enabled; }
31187
31188
31189     virtual bool ProcessEvent(wxEvent& event);
31190
31191
31192     void AddPendingEvent(wxEvent& event);
31193
31194
31195     void ProcessPendingEvents();
31196
31197
31198     bool ProcessThreadEvent(wxEvent& event);
31199
31200
31201
31202
31203     void Connect(int winid,
31204                  int lastId,
31205                  int eventType,
31206                  wxObjectEventFunction func,
31207                  wxObject *userData = (wxObject *) __null,
31208                  wxEvtHandler *eventSink = (wxEvtHandler *) __null);
31209
31210
31211     void Connect(int winid,
31212                  int eventType,
31213                  wxObjectEventFunction func,
31214                  wxObject *userData = (wxObject *) __null,
31215                  wxEvtHandler *eventSink = (wxEvtHandler *) __null)
31216         { Connect(winid, wxID_ANY, eventType, func, userData, eventSink); }
31217
31218
31219     void Connect(int eventType,
31220                  wxObjectEventFunction func,
31221                  wxObject *userData = (wxObject *) __null,
31222                  wxEvtHandler *eventSink = (wxEvtHandler *) __null)
31223         { Connect(wxID_ANY, wxID_ANY, eventType, func, userData, eventSink); }
31224
31225     bool Disconnect(int winid,
31226                     int lastId,
31227                     wxEventType eventType,
31228                     wxObjectEventFunction func = __null,
31229                     wxObject *userData = (wxObject *) __null,
31230                     wxEvtHandler *eventSink = (wxEvtHandler *) __null);
31231
31232     bool Disconnect(int winid = wxID_ANY,
31233                     wxEventType eventType = wxEVT_NULL,
31234                     wxObjectEventFunction func = __null,
31235                     wxObject *userData = (wxObject *) __null,
31236                     wxEvtHandler *eventSink = (wxEvtHandler *) __null)
31237         { return Disconnect(winid, wxID_ANY, eventType, func, userData, eventSink); }
31238
31239     bool Disconnect(wxEventType eventType,
31240                     wxObjectEventFunction func,
31241                     wxObject *userData = (wxObject *) __null,
31242                     wxEvtHandler *eventSink = (wxEvtHandler *) __null)
31243         { return Disconnect(wxID_ANY, eventType, func, userData, eventSink); }
31244
31245     wxList* GetDynamicEventTable() const { return m_dynamicEvents ; }
31246
31247
31248     void SetClientObject( wxClientData *data ) { DoSetClientObject(data); }
31249     wxClientData *GetClientObject() const { return DoGetClientObject(); }
31250
31251     void SetClientData( void *data ) { DoSetClientData(data); }
31252     void *GetClientData() const { return DoGetClientData(); }
31253
31254
31255
31256
31257
31258
31259     static bool ProcessEventIfMatches(const wxEventTableEntryBase& tableEntry,
31260                                       wxEvtHandler *handler,
31261                                       wxEvent& event);
31262
31263
31264     virtual bool SearchEventTable(wxEventTable& table, wxEvent& event);
31265     bool SearchDynamicEventTable( wxEvent& event );
31266
31267
31268     void ClearEventLocker();
31269
31270
31271
31272     void ClearEventHashTable() { GetEventHashTable().Clear(); }
31273
31274 private:
31275     static const wxEventTableEntry sm_eventTableEntries[];
31276
31277 protected:
31278 # 2420 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
31279     virtual bool TryValidator(wxEvent& ) { return false; }
31280
31281
31282
31283
31284
31285     virtual bool TryParent(wxEvent& event);
31286
31287
31288     static const wxEventTable sm_eventTable;
31289     virtual const wxEventTable *GetEventTable() const;
31290
31291     static wxEventHashTable sm_eventHashTable;
31292     virtual wxEventHashTable& GetEventHashTable() const;
31293
31294     wxEvtHandler* m_nextHandler;
31295     wxEvtHandler* m_previousHandler;
31296     wxList* m_dynamicEvents;
31297     wxList* m_pendingEvents;
31298 # 2447 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
31299     const wxCriticalSection& Lock() const { return *m_eventsLocker; }
31300     wxCriticalSection& Lock() { return *m_eventsLocker; }
31301
31302     wxCriticalSection* m_eventsLocker;
31303
31304
31305
31306
31307     bool m_enabled;
31308
31309
31310
31311
31312
31313
31314
31315     union
31316     {
31317         wxClientData *m_clientObject;
31318         void *m_clientData;
31319     };
31320
31321
31322     wxClientDataType m_clientDataType;
31323
31324
31325     virtual void DoSetClientObject( wxClientData *data );
31326     virtual wxClientData *DoGetClientObject() const;
31327
31328     virtual void DoSetClientData( void *data );
31329     virtual void *DoGetClientData() const;
31330
31331 private:
31332     private: wxEvtHandler(const wxEvtHandler&); wxEvtHandler& operator=(const wxEvtHandler&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
31333 };
31334
31335
31336
31337 inline void wxPostEvent(wxEvtHandler *dest, wxEvent& event)
31338 {
31339     if (!(dest)) {; return; };
31340
31341     dest->AddPendingEvent(event);
31342 }
31343
31344 typedef void (wxEvtHandler::*wxEventFunction)(wxEvent&);
31345
31346
31347
31348
31349
31350
31351 typedef void (wxEvtHandler::*wxCommandEventFunction)(wxCommandEvent&);
31352 typedef void (wxEvtHandler::*wxScrollEventFunction)(wxScrollEvent&);
31353 typedef void (wxEvtHandler::*wxScrollWinEventFunction)(wxScrollWinEvent&);
31354 typedef void (wxEvtHandler::*wxSizeEventFunction)(wxSizeEvent&);
31355 typedef void (wxEvtHandler::*wxMoveEventFunction)(wxMoveEvent&);
31356 typedef void (wxEvtHandler::*wxPaintEventFunction)(wxPaintEvent&);
31357 typedef void (wxEvtHandler::*wxNcPaintEventFunction)(wxNcPaintEvent&);
31358 typedef void (wxEvtHandler::*wxEraseEventFunction)(wxEraseEvent&);
31359 typedef void (wxEvtHandler::*wxMouseEventFunction)(wxMouseEvent&);
31360 typedef void (wxEvtHandler::*wxCharEventFunction)(wxKeyEvent&);
31361 typedef void (wxEvtHandler::*wxFocusEventFunction)(wxFocusEvent&);
31362 typedef void (wxEvtHandler::*wxChildFocusEventFunction)(wxChildFocusEvent&);
31363 typedef void (wxEvtHandler::*wxActivateEventFunction)(wxActivateEvent&);
31364 typedef void (wxEvtHandler::*wxMenuEventFunction)(wxMenuEvent&);
31365 typedef void (wxEvtHandler::*wxJoystickEventFunction)(wxJoystickEvent&);
31366 typedef void (wxEvtHandler::*wxDropFilesEventFunction)(wxDropFilesEvent&);
31367 typedef void (wxEvtHandler::*wxInitDialogEventFunction)(wxInitDialogEvent&);
31368 typedef void (wxEvtHandler::*wxSysColourChangedEventFunction)(wxSysColourChangedEvent&);
31369 typedef void (wxEvtHandler::*wxDisplayChangedEventFunction)(wxDisplayChangedEvent&);
31370 typedef void (wxEvtHandler::*wxUpdateUIEventFunction)(wxUpdateUIEvent&);
31371 typedef void (wxEvtHandler::*wxIdleEventFunction)(wxIdleEvent&);
31372 typedef void (wxEvtHandler::*wxCloseEventFunction)(wxCloseEvent&);
31373 typedef void (wxEvtHandler::*wxShowEventFunction)(wxShowEvent&);
31374 typedef void (wxEvtHandler::*wxIconizeEventFunction)(wxIconizeEvent&);
31375 typedef void (wxEvtHandler::*wxMaximizeEventFunction)(wxMaximizeEvent&);
31376 typedef void (wxEvtHandler::*wxNavigationKeyEventFunction)(wxNavigationKeyEvent&);
31377 typedef void (wxEvtHandler::*wxPaletteChangedEventFunction)(wxPaletteChangedEvent&);
31378 typedef void (wxEvtHandler::*wxQueryNewPaletteEventFunction)(wxQueryNewPaletteEvent&);
31379 typedef void (wxEvtHandler::*wxWindowCreateEventFunction)(wxWindowCreateEvent&);
31380 typedef void (wxEvtHandler::*wxWindowDestroyEventFunction)(wxWindowDestroyEvent&);
31381 typedef void (wxEvtHandler::*wxSetCursorEventFunction)(wxSetCursorEvent&);
31382 typedef void (wxEvtHandler::*wxNotifyEventFunction)(wxNotifyEvent&);
31383 typedef void (wxEvtHandler::*wxHelpEventFunction)(wxHelpEvent&);
31384 typedef void (wxEvtHandler::*wxContextMenuEventFunction)(wxContextMenuEvent&);
31385 typedef void (wxEvtHandler::*wxMouseCaptureChangedEventFunction)(wxMouseCaptureChangedEvent&);
31386
31387
31388
31389
31390     typedef wxSysColourChangedEventFunction wxSysColourChangedFunction;
31391     typedef wxDisplayChangedEventFunction wxDisplayChangedFunction;
31392 # 2922 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
31393 extern wxList *wxPendingEvents;
31394
31395     extern wxCriticalSection *wxPendingEventsLocker;
31396 # 2935 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/event.h"
31397 wxWindow* wxFindFocusDescendant(wxWindow* ancestor);
31398 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
31399 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h" 1
31400 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h"
31401 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h" 1
31402 # 28 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h"
31403 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/font.h" 1
31404 # 25 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/font.h"
31405 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gdiobj.h" 1
31406 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gdiobj.h"
31407 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/gdiobj.h" 1
31408 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/gdiobj.h"
31409 class wxGDIObject : public wxObject
31410 {
31411 public:
31412     inline wxGDIObject() { m_visible = 0; };
31413     inline ~wxGDIObject() {}
31414
31415     virtual bool GetVisible() { return m_visible; }
31416     virtual void SetVisible( bool visible ) { m_visible = visible; }
31417
31418     bool IsNull() const { return (m_refData == 0); }
31419
31420 protected:
31421     bool m_visible;
31422
31423 private:
31424     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
31425 };
31426 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gdiobj.h" 2
31427 # 26 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/font.h" 2
31428
31429
31430
31431
31432
31433 class wxFontData;
31434 class wxFontBase;
31435 class wxFont;
31436 class wxSize;
31437 # 44 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/font.h"
31438 enum wxFontFamily
31439 {
31440     wxFONTFAMILY_DEFAULT = wxDEFAULT,
31441     wxFONTFAMILY_DECORATIVE = wxDECORATIVE,
31442     wxFONTFAMILY_ROMAN = wxROMAN,
31443     wxFONTFAMILY_SCRIPT = wxSCRIPT,
31444     wxFONTFAMILY_SWISS = wxSWISS,
31445     wxFONTFAMILY_MODERN = wxMODERN,
31446     wxFONTFAMILY_TELETYPE = wxTELETYPE,
31447     wxFONTFAMILY_MAX,
31448     wxFONTFAMILY_UNKNOWN = wxFONTFAMILY_MAX
31449 };
31450
31451
31452 enum wxFontStyle
31453 {
31454     wxFONTSTYLE_NORMAL = wxNORMAL,
31455     wxFONTSTYLE_ITALIC = wxITALIC,
31456     wxFONTSTYLE_SLANT = wxSLANT,
31457     wxFONTSTYLE_MAX
31458 };
31459
31460
31461 enum wxFontWeight
31462 {
31463     wxFONTWEIGHT_NORMAL = wxNORMAL,
31464     wxFONTWEIGHT_LIGHT = wxLIGHT,
31465     wxFONTWEIGHT_BOLD = wxBOLD,
31466     wxFONTWEIGHT_MAX
31467 };
31468
31469
31470 enum
31471 {
31472
31473     wxFONTFLAG_DEFAULT = 0,
31474
31475
31476     wxFONTFLAG_ITALIC = 1 << 0,
31477     wxFONTFLAG_SLANT = 1 << 1,
31478
31479
31480     wxFONTFLAG_LIGHT = 1 << 2,
31481     wxFONTFLAG_BOLD = 1 << 3,
31482
31483
31484     wxFONTFLAG_ANTIALIASED = 1 << 4,
31485     wxFONTFLAG_NOT_ANTIALIASED = 1 << 5,
31486
31487
31488     wxFONTFLAG_UNDERLINED = 1 << 6,
31489     wxFONTFLAG_STRIKETHROUGH = 1 << 7,
31490
31491
31492     wxFONTFLAG_MASK = wxFONTFLAG_ITALIC |
31493                       wxFONTFLAG_SLANT |
31494                       wxFONTFLAG_LIGHT |
31495                       wxFONTFLAG_BOLD |
31496                       wxFONTFLAG_ANTIALIASED |
31497                       wxFONTFLAG_NOT_ANTIALIASED |
31498                       wxFONTFLAG_UNDERLINED |
31499                       wxFONTFLAG_STRIKETHROUGH
31500 };
31501
31502
31503
31504
31505
31506 class wxFontRefData;
31507 struct wxNativeFontInfo;
31508
31509 class wxFontBase : public wxGDIObject
31510 {
31511 public:
31512
31513     virtual ~wxFontBase();
31514
31515
31516     static wxFont *New(
31517         int pointSize,
31518         int family,
31519         int style,
31520         int weight,
31521         bool underlined = false,
31522         const wxString& face = wxEmptyString,
31523         wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
31524
31525
31526
31527     static wxFont *New(int pointSize,
31528                        wxFontFamily family,
31529                        int flags = wxFONTFLAG_DEFAULT,
31530                        const wxString& face = wxEmptyString,
31531                        wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
31532
31533
31534     static wxFont *New(
31535         const wxSize& pixelSize,
31536         int family,
31537         int style,
31538         int weight,
31539         bool underlined = false,
31540         const wxString& face = wxEmptyString,
31541         wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
31542
31543
31544
31545     static wxFont *New(const wxSize& pixelSize,
31546                        wxFontFamily family,
31547                        int flags = wxFONTFLAG_DEFAULT,
31548                        const wxString& face = wxEmptyString,
31549                        wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
31550
31551
31552     static wxFont *New(const wxNativeFontInfo& nativeFontDesc);
31553
31554
31555     static wxFont *New(const wxString& strNativeFontDesc);
31556
31557
31558     bool Ok() const { return m_refData != __null; }
31559
31560
31561     bool operator == (const wxFont& font) const;
31562     bool operator != (const wxFont& font) const;
31563
31564
31565     virtual int GetPointSize() const = 0;
31566     virtual wxSize GetPixelSize() const;
31567     virtual bool IsUsingSizeInPixels() const;
31568     virtual int GetFamily() const = 0;
31569     virtual int GetStyle() const = 0;
31570     virtual int GetWeight() const = 0;
31571     virtual bool GetUnderlined() const = 0;
31572     virtual wxString GetFaceName() const = 0;
31573     virtual wxFontEncoding GetEncoding() const = 0;
31574     virtual const wxNativeFontInfo *GetNativeFontInfo() const = 0;
31575
31576     virtual bool IsFixedWidth() const;
31577
31578     wxString GetNativeFontInfoDesc() const;
31579     wxString GetNativeFontInfoUserDesc() const;
31580
31581
31582     virtual void SetPointSize( int pointSize ) = 0;
31583     virtual void SetPixelSize( const wxSize& pixelSize );
31584     virtual void SetFamily( int family ) = 0;
31585     virtual void SetStyle( int style ) = 0;
31586     virtual void SetWeight( int weight ) = 0;
31587     virtual void SetFaceName( const wxString& faceName ) = 0;
31588     virtual void SetUnderlined( bool underlined ) = 0;
31589     virtual void SetEncoding(wxFontEncoding encoding) = 0;
31590     void SetNativeFontInfo(const wxNativeFontInfo& info)
31591         { DoSetNativeFontInfo(info); }
31592
31593     void SetNativeFontInfo(const wxString& info);
31594     void SetNativeFontInfoUserDesc(const wxString& info);
31595
31596
31597
31598     wxString GetFamilyString() const;
31599     wxString GetStyleString() const;
31600     wxString GetWeightString() const;
31601
31602
31603     virtual void SetNoAntiAliasing( bool = true ) { }
31604     virtual bool GetNoAntiAliasing() const { return false; }
31605
31606
31607
31608     static wxFontEncoding GetDefaultEncoding() { return ms_encodingDefault; }
31609     static void SetDefaultEncoding(wxFontEncoding encoding);
31610
31611 protected:
31612
31613     wxFontRefData *GetFontData() const
31614         { return (wxFontRefData *)m_refData; }
31615
31616
31617     virtual void DoSetNativeFontInfo(const wxNativeFontInfo& info);
31618
31619 private:
31620
31621
31622
31623
31624     static wxFontEncoding ms_encodingDefault;
31625 };
31626 # 241 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/font.h"
31627 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/font.h" 1
31628 # 17 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/font.h"
31629 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/hash.h" 1
31630 # 18 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/font.h" 2
31631
31632
31633
31634
31635
31636 class wxDC;
31637 class wxPaintDC;
31638 class wxWindow;
31639
31640 class wxFont;
31641
31642
31643
31644
31645
31646 class wxFont : public wxFontBase
31647 {
31648 public:
31649
31650     wxFont() { Init(); }
31651     wxFont(const wxFont& font) : wxFontBase() { Init(); Ref(font); }
31652
31653
31654     wxFont(const wxString& fontname)
31655     {
31656         Init();
31657
31658         Create(fontname);
31659     }
31660
31661     wxFont(const wxNativeFontInfo& info);
31662
31663     wxFont(int size,
31664            int family,
31665            int style,
31666            int weight,
31667            bool underlined = false,
31668            const wxString& face = wxEmptyString,
31669            wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
31670     {
31671         Init();
31672
31673         (void)Create(size, family, style, weight, underlined, face, encoding);
31674     }
31675
31676     bool Create(int size,
31677                 int family,
31678                 int style,
31679                 int weight,
31680                 bool underlined = false,
31681                 const wxString& face = wxEmptyString,
31682                 wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
31683
31684
31685     bool Create(const wxString& fontname);
31686
31687     ~wxFont();
31688
31689
31690     wxFont& operator=(const wxFont& font);
31691
31692
31693     virtual int GetPointSize() const;
31694     virtual int GetFamily() const;
31695     virtual int GetStyle() const;
31696     virtual int GetWeight() const;
31697     virtual wxString GetFaceName() const;
31698     virtual bool GetUnderlined() const;
31699     virtual wxFontEncoding GetEncoding() const;
31700     virtual const wxNativeFontInfo *GetNativeFontInfo() const;
31701     virtual bool IsFixedWidth() const;
31702
31703     virtual void SetPointSize( int pointSize );
31704     virtual void SetFamily( int family );
31705     virtual void SetStyle( int style );
31706     virtual void SetWeight( int weight );
31707     virtual void SetFaceName( const wxString& faceName );
31708     virtual void SetUnderlined( bool underlined );
31709     virtual void SetEncoding(wxFontEncoding encoding);
31710
31711     virtual void SetNoAntiAliasing( bool no = true );
31712     virtual bool GetNoAntiAliasing() const ;
31713
31714
31715     void Unshare();
31716
31717
31718
31719
31720
31721
31722
31723 protected:
31724     virtual void DoSetNativeFontInfo( const wxNativeFontInfo& info );
31725
31726
31727     void Init();
31728
31729 private:
31730     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
31731 };
31732 # 242 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/font.h" 2
31733 # 29 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h" 2
31734 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/colour.h" 1
31735 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/colour.h"
31736 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/colour.h" 1
31737 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/colour.h"
31738 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/string.h" 1
31739 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/colour.h" 2
31740 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gdiobj.h" 1
31741 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/colour.h" 2
31742 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/palette.h" 1
31743 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/palette.h"
31744 class wxPaletteBase: public wxGDIObject
31745 {
31746 public:
31747     virtual ~wxPaletteBase() { }
31748
31749     virtual bool Ok() const = 0;
31750     virtual int GetColoursCount() const { ; return 0; };
31751 };
31752 # 39 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/palette.h"
31753 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/paletteg.h" 1
31754 # 19 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/paletteg.h"
31755 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/defs.h" 1
31756 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/paletteg.h" 2
31757 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/object.h" 1
31758 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/paletteg.h" 2
31759 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gdiobj.h" 1
31760 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/paletteg.h" 2
31761 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gdicmn.h" 1
31762 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/paletteg.h" 2
31763
31764
31765
31766
31767
31768 class wxPalette;
31769
31770
31771
31772
31773
31774 class wxPalette: public wxPaletteBase
31775 {
31776   public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
31777
31778   public:
31779
31780     wxPalette();
31781     wxPalette( int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue );
31782     wxPalette( const wxPalette& palette );
31783     ~wxPalette();
31784     wxPalette& operator = ( const wxPalette& palette );
31785     bool operator == ( const wxPalette& palette );
31786     bool operator != ( const wxPalette& palette );
31787     virtual bool Ok() const;
31788
31789     bool Create( int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue);
31790     int GetPixel( const unsigned char red, const unsigned char green, const unsigned char blue ) const;
31791     bool GetRGB( int pixel, unsigned char *red, unsigned char *green, unsigned char *blue ) const;
31792
31793
31794 };
31795 # 40 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/palette.h" 2
31796 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/colour.h" 2
31797
31798
31799
31800
31801
31802 class wxDC;
31803 class wxPaintDC;
31804 class wxBitmap;
31805 class wxWindow;
31806
31807 class wxColour;
31808
31809
31810
31811
31812
31813 class wxColour: public wxGDIObject
31814 {
31815 public:
31816     wxColour() { }
31817
31818
31819     wxColour( unsigned char red, unsigned char green, unsigned char blue );
31820     wxColour( unsigned long colRGB ) { Set(colRGB); }
31821
31822
31823     wxColour( const wxString &colourName ) { InitFromName(colourName); }
31824     wxColour( const char *colourName ) { InitFromName( wxString::FromAscii(colourName) ); }
31825
31826
31827
31828
31829
31830     wxColour( const wxColour& col )
31831         : wxGDIObject()
31832         { Ref(col); }
31833     wxColour& operator = ( const wxColour& col ) { Ref(col); return *this; }
31834
31835     ~wxColour();
31836
31837     bool Ok() const { return m_refData != __null; }
31838
31839     bool operator == ( const wxColour& col ) const;
31840     bool operator != ( const wxColour& col ) const { return !(*this == col); }
31841
31842     void Set( unsigned char red, unsigned char green, unsigned char blue );
31843     void Set( unsigned long colRGB )
31844     {
31845
31846
31847         Set((unsigned char)colRGB,
31848             (unsigned char)(colRGB >> 8),
31849             (unsigned char)(colRGB >> 16));
31850     }
31851
31852     unsigned char Red() const;
31853     unsigned char Green() const;
31854     unsigned char Blue() const;
31855
31856
31857
31858     static wxColour CreateByName(const wxString& name);
31859
31860
31861     void CalcPixel( GdkColormap *cmap );
31862     int GetPixel() const;
31863     GdkColor *GetColor() const;
31864
31865     void InitFromName(const wxString& colourName);
31866
31867 protected:
31868
31869     virtual wxObjectRefData *CreateRefData() const;
31870     virtual wxObjectRefData *CloneRefData(const wxObjectRefData *data) const;
31871
31872
31873 private:
31874     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
31875 };
31876 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/colour.h" 2
31877 # 30 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h" 2
31878 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/region.h" 1
31879 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/region.h"
31880 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/region.h" 1
31881 # 17 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/region.h"
31882 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/list.h" 1
31883 # 18 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/region.h" 2
31884
31885
31886
31887
31888
31889
31890
31891 class wxRegion;
31892
31893
31894
31895
31896
31897 enum wxRegionContain
31898 {
31899     wxOutRegion = 0,
31900     wxPartRegion = 1,
31901     wxInRegion = 2
31902 };
31903
31904
31905 enum wxRegionOp
31906 {
31907    wxRGN_AND,
31908    wxRGN_COPY,
31909    wxRGN_DIFF,
31910    wxRGN_OR,
31911    wxRGN_XOR
31912 };
31913
31914
31915
31916
31917
31918 class wxRegion : public wxGDIObject
31919 {
31920 public:
31921     wxRegion() { }
31922
31923     wxRegion( wxCoord x, wxCoord y, wxCoord w, wxCoord h )
31924     {
31925         InitRect(x, y, w, h);
31926     }
31927
31928     wxRegion( const wxPoint& topLeft, const wxPoint& bottomRight )
31929     {
31930         InitRect(topLeft.x, topLeft.y,
31931                  bottomRight.x - topLeft.x, bottomRight.y - topLeft.y);
31932     }
31933
31934     wxRegion( const wxRect& rect )
31935     {
31936         InitRect(rect.x, rect.y, rect.width, rect.height);
31937     }
31938
31939     wxRegion( size_t n, const wxPoint *points, int fillStyle = wxODDEVEN_RULE );
31940
31941     wxRegion( const wxBitmap& bmp)
31942     {
31943         Union(bmp);
31944     }
31945     wxRegion( const wxBitmap& bmp,
31946               const wxColour& transColour, int tolerance = 0)
31947     {
31948         Union(bmp, transColour, tolerance);
31949     }
31950
31951     ~wxRegion();
31952
31953     wxRegion( const wxRegion& region )
31954         : wxGDIObject()
31955         { Ref(region); }
31956     wxRegion& operator = ( const wxRegion& region ) { Ref(region); return *this; }
31957
31958     bool Ok() const { return m_refData != __null; }
31959
31960     bool operator == ( const wxRegion& region );
31961     bool operator != ( const wxRegion& region ) { return !(*this == region); }
31962
31963     void Clear();
31964
31965     bool Offset( wxCoord x, wxCoord y );
31966
31967     bool Union( wxCoord x, wxCoord y, wxCoord width, wxCoord height );
31968     bool Union( const wxRect& rect );
31969     bool Union( const wxRegion& region );
31970
31971     bool Intersect( wxCoord x, wxCoord y, wxCoord width, wxCoord height );
31972     bool Intersect( const wxRect& rect );
31973     bool Intersect( const wxRegion& region );
31974
31975     bool Subtract( wxCoord x, wxCoord y, wxCoord width, wxCoord height );
31976     bool Subtract( const wxRect& rect );
31977     bool Subtract( const wxRegion& region );
31978
31979     bool Xor( wxCoord x, wxCoord y, wxCoord width, wxCoord height );
31980     bool Xor( const wxRect& rect );
31981     bool Xor( const wxRegion& region );
31982
31983     void GetBox( wxCoord& x, wxCoord& y, wxCoord&w, wxCoord &h ) const;
31984     wxRect GetBox() const ;
31985
31986     bool Empty() const;
31987     bool IsEmpty() const { return Empty(); }
31988
31989     wxRegionContain Contains( wxCoord x, wxCoord y ) const;
31990     wxRegionContain Contains( wxCoord x, wxCoord y, wxCoord w, wxCoord h ) const;
31991     wxRegionContain Contains(const wxPoint& pt) const;
31992     wxRegionContain Contains(const wxRect& rect) const;
31993
31994
31995
31996     wxBitmap ConvertToBitmap() const;
31997
31998
31999
32000
32001
32002
32003     bool Union(const wxBitmap& bmp);
32004     bool Union(const wxBitmap& bmp,
32005                const wxColour& transColour, int tolerance = 0);
32006
32007
32008 public:
32009
32010
32011     wxRegion( GdkRegion *region );
32012
32013     GdkRegion *GetRegion() const;
32014
32015 protected:
32016
32017     virtual wxObjectRefData *CreateRefData() const;
32018     virtual wxObjectRefData *CloneRefData(const wxObjectRefData *data) const;
32019
32020
32021     void InitRect(wxCoord x, wxCoord y, wxCoord w, wxCoord h);
32022
32023 private:
32024     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
32025 };
32026
32027
32028
32029
32030
32031 class wxRegionIterator: public wxObject
32032 {
32033 public:
32034     wxRegionIterator();
32035     wxRegionIterator(const wxRegion& region);
32036
32037     void Reset() { m_current = 0u; }
32038     void Reset(const wxRegion& region);
32039
32040     bool HaveRects() const;
32041     operator bool () const { return HaveRects(); }
32042
32043     wxRegionIterator& operator ++ ();
32044     wxRegionIterator operator ++ (int);
32045
32046     wxCoord GetX() const;
32047     wxCoord GetY() const;
32048     wxCoord GetW() const;
32049     wxCoord GetWidth() const { return GetW(); }
32050     wxCoord GetH() const;
32051     wxCoord GetHeight() const { return GetH(); }
32052     wxRect GetRect() const;
32053
32054 private:
32055     size_t m_current;
32056     wxRegion m_region;
32057
32058 private:
32059     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
32060 };
32061 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/region.h" 2
32062 # 31 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h" 2
32063
32064
32065 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/validate.h" 1
32066 # 25 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/validate.h"
32067 class wxWindow;
32068 class wxWindowBase;
32069 # 40 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/validate.h"
32070 class wxValidator : public wxEvtHandler
32071 {
32072 public:
32073     wxValidator();
32074     virtual ~wxValidator();
32075
32076
32077
32078
32079
32080     virtual wxObject *Clone() const
32081         { return (wxValidator *)__null; }
32082     bool Copy(const wxValidator& val)
32083         { m_validatorWindow = val.m_validatorWindow; return true; }
32084
32085
32086
32087     virtual bool Validate(wxWindow *) { return false; };
32088
32089
32090     virtual bool TransferToWindow() { return false; }
32091
32092
32093     virtual bool TransferFromWindow() { return false; };
32094
32095
32096     wxWindow *GetWindow() const { return (wxWindow *)m_validatorWindow; }
32097     void SetWindow(wxWindowBase *win) { m_validatorWindow = win; }
32098
32099
32100
32101     static bool IsSilent() { return ms_isSilent; }
32102     static void SetBellOnError(bool doIt = true) { ms_isSilent = doIt; }
32103
32104 protected:
32105     wxWindowBase *m_validatorWindow;
32106
32107 private:
32108     static bool ms_isSilent;
32109
32110     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
32111     private: wxValidator(const wxValidator&); wxValidator& operator=(const wxValidator&);
32112 };
32113
32114 extern const wxValidator wxDefaultValidator;
32115 # 34 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h" 2
32116
32117
32118 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/palette.h" 1
32119 # 37 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h" 2
32120
32121
32122
32123 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/accel.h" 1
32124 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/accel.h"
32125 class wxAcceleratorTable;
32126 class wxMenuItem;
32127 class wxKeyEvent;
32128
32129
32130
32131
32132
32133
32134 enum
32135 {
32136     wxACCEL_NORMAL = 0x0000,
32137     wxACCEL_ALT = 0x0001,
32138     wxACCEL_CTRL = 0x0002,
32139     wxACCEL_SHIFT = 0x0004
32140 };
32141
32142
32143
32144
32145
32146 class wxAcceleratorEntry
32147 {
32148 public:
32149     wxAcceleratorEntry(int flags = 0, int keyCode = 0, int cmd = 0,
32150                        wxMenuItem *item = __null)
32151         : m_flags(flags)
32152         , m_keyCode(keyCode)
32153         , m_command(cmd)
32154         , m_item(item)
32155         { }
32156
32157     wxAcceleratorEntry(const wxAcceleratorEntry& entry)
32158         : m_flags(entry.m_flags)
32159         , m_keyCode(entry.m_keyCode)
32160         , m_command(entry.m_command)
32161         , m_item(entry.m_item)
32162         { }
32163
32164     wxAcceleratorEntry& operator=(const wxAcceleratorEntry& entry)
32165     {
32166         Set(entry.m_flags, entry.m_keyCode, entry.m_command, entry.m_item);
32167         return *this;
32168     }
32169
32170     void Set(int flags, int keyCode, int cmd, wxMenuItem *item = __null)
32171     {
32172         m_flags = flags;
32173         m_keyCode = keyCode;
32174         m_command = cmd;
32175         m_item = item;
32176     }
32177
32178     void SetMenuItem(wxMenuItem *item) { m_item = item; }
32179
32180     int GetFlags() const { return m_flags; }
32181     int GetKeyCode() const { return m_keyCode; }
32182     int GetCommand() const { return m_command; }
32183
32184     wxMenuItem *GetMenuItem() const { return m_item; }
32185
32186     bool operator==(const wxAcceleratorEntry& entry) const
32187     {
32188         return m_flags == entry.m_flags &&
32189                m_keyCode == entry.m_keyCode &&
32190                m_command == entry.m_command &&
32191                m_item == entry.m_item;
32192     }
32193
32194     bool operator!=(const wxAcceleratorEntry& entry) const
32195         { return !(*this == entry); }
32196
32197
32198
32199
32200
32201
32202 private:
32203     int m_flags;
32204     int m_keyCode;
32205     int m_command;
32206
32207
32208     wxMenuItem *m_item;
32209
32210
32211     friend class wxMenu;
32212 };
32213 # 122 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/accel.h"
32214 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/accel.h" 1
32215 # 15 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/accel.h"
32216 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/accel.h" 1
32217 # 17 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/accel.h"
32218 class wxKeyEvent;
32219
32220
32221
32222
32223
32224 class wxAcceleratorTable : public wxObject
32225 {
32226 public:
32227     wxAcceleratorTable();
32228     wxAcceleratorTable(int n, const wxAcceleratorEntry entries[]);
32229     virtual ~wxAcceleratorTable();
32230
32231     wxAcceleratorTable(const wxAcceleratorTable& accel)
32232         : wxObject()
32233         { Ref(accel); }
32234     wxAcceleratorTable& operator=(const wxAcceleratorTable& accel)
32235       { if ( m_refData != accel.m_refData ) Ref(accel); return *this; }
32236
32237
32238     bool operator==(const wxAcceleratorTable& accel) const
32239         { return m_refData == accel.m_refData; }
32240     bool operator!=(const wxAcceleratorTable& accel) const
32241         { return !(*this == accel); }
32242
32243
32244     bool Ok() const;
32245
32246     void Add(const wxAcceleratorEntry& entry);
32247     void Remove(const wxAcceleratorEntry& entry);
32248
32249
32250
32251
32252     wxMenuItem *GetMenuItem(const wxKeyEvent& event) const;
32253     int GetCommand(const wxKeyEvent& event) const;
32254
32255     const wxAcceleratorEntry *GetEntry(const wxKeyEvent& event) const;
32256
32257 protected:
32258
32259     virtual wxObjectRefData *CreateRefData() const;
32260     virtual wxObjectRefData *CloneRefData(const wxObjectRefData *data) const;
32261
32262 private:
32263     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
32264 };
32265 # 15 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/accel.h" 2
32266 # 123 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/accel.h" 2
32267 # 131 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/accel.h"
32268 extern wxAcceleratorTable wxNullAcceleratorTable;
32269 # 41 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h" 2
32270 # 59 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h"
32271 class wxCaret;
32272 class wxControl;
32273 class wxCursor;
32274 class wxDC;
32275 class wxDropTarget;
32276 class wxItemResource;
32277 class wxLayoutConstraints;
32278 class wxResourceTable;
32279 class wxSizer;
32280 class wxToolTip;
32281 class wxWindowBase;
32282 class wxWindow;
32283 # 81 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h"
32284 struct wxVisualAttributes
32285 {
32286
32287     wxFont font;
32288
32289
32290     wxColour colFg;
32291
32292
32293
32294     wxColour colBg;
32295 };
32296
32297
32298
32299 enum wxWindowVariant
32300 {
32301     wxWINDOW_VARIANT_NORMAL,
32302     wxWINDOW_VARIANT_SMALL,
32303     wxWINDOW_VARIANT_MINI,
32304     wxWINDOW_VARIANT_LARGE,
32305     wxWINDOW_VARIANT_MAX
32306 };
32307 # 113 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h"
32308 typedef int (*wxSortFuncFor_wxWindowList)(const wxWindow **, const wxWindow **); class wxWindowListNode : public wxNodeBase { public: wxWindowListNode(wxListBase *list = (wxListBase *)__null, wxWindowListNode *previous = (wxWindowListNode *)__null, wxWindowListNode *next = (wxWindowListNode *)__null, wxWindow *data = (wxWindow *)__null, const wxListKey& key = wxDefaultListKey) : wxNodeBase(list, previous, next, data, key) { } wxWindowListNode *GetNext() const { return (wxWindowListNode *)wxNodeBase::GetNext(); } wxWindowListNode *GetPrevious() const { return (wxWindowListNode *)wxNodeBase::GetPrevious(); } wxWindow *GetData() const { return (wxWindow *)wxNodeBase::GetData(); } void SetData(wxWindow *data) { wxNodeBase::SetData(data); } protected: virtual void DeleteData(); private: wxWindowListNode(const wxWindowListNode&); wxWindowListNode& operator=(const wxWindowListNode&); }; class wxWindowList : public wxListBase { public: typedef wxWindowListNode Node; typedef Node* compatibility_iterator; wxWindowList(wxKeyType keyType = wxKEY_NONE) : wxListBase(keyType) { } wxWindowList(const wxWindowList& list) : wxListBase(list.GetKeyType()) { Assign(list); } wxWindowList(size_t count, wxWindow *elements[]) : wxListBase(count, (void **)elements) { } wxWindowList& operator=(const wxWindowList& list) { Assign(list); return *this; } wxWindowListNode *GetFirst() const { return (wxWindowListNode *)wxListBase::GetFirst(); } wxWindowListNode *GetLast() const { return (wxWindowListNode *)wxListBase::GetLast(); } wxWindowListNode *Item(size_t index) const { return (wxWindowListNode *)wxListBase::Item(index); } wxWindow *operator[](size_t index) const { wxWindowListNode *node = Item(index); return node ? (wxWindow*)(node->GetData()) : (wxWindow*)__null; } wxWindowListNode *Append(wxWindowBase *object) { return (wxWindowListNode *)wxListBase::Append(object); } wxWindowListNode *Insert(wxWindowBase *object) { return (wxWindowListNode *)Insert((wxWindowListNode*)__null, object); } wxWindowListNode *Insert(size_t pos, wxWindowBase *object) { return (wxWindowListNode *)wxListBase::Insert(pos, object); } wxWindowListNode *Insert(wxWindowListNode *prev, wxWindowBase *object) { return (wxWindowListNode *)wxListBase::Insert(prev, object); } wxWindowListNode *Append(long key, void *object) { return (wxWindowListNode *)wxListBase::Append(key, object); } wxWindowListNode *Append(const wxChar *key, void *object) { return (wxWindowListNode *)wxListBase::Append(key, object); } wxWindowListNode *DetachNode(wxWindowListNode *node) { return (wxWindowListNode *)wxListBase::DetachNode(node); } bool DeleteNode(wxWindowListNode *node) { return wxListBase::DeleteNode(node); } bool DeleteObject(wxWindowBase *object) { return wxListBase::DeleteObject(object); } void Erase(compatibility_iterator it) { DeleteNode(it); } wxWindowListNode *Find(const wxWindowBase *object) const { return (wxWindowListNode *)wxListBase::Find(object); } virtual wxWindowListNode *Find(const wxListKey& key) const { return (wxWindowListNode *)wxListBase::Find(key); } int IndexOf(wxWindowBase *object) const { return wxListBase::IndexOf(object); } void Sort(wxSortCompareFunction func) { wxListBase::Sort(func); } void Sort(wxSortFuncFor_wxWindowList func) { Sort((wxSortCompareFunction)func); } protected: virtual wxNodeBase *CreateNode(wxNodeBase *prev, wxNodeBase *next, void *data, const wxListKey& key = wxDefaultListKey) { return new wxWindowListNode(this, (wxWindowListNode *)prev, (wxWindowListNode *)next, (wxWindow *)data, key); } public: typedef size_t size_type; typedef int difference_type; typedef wxWindow* value_type; typedef wxWindowBase* base_value_type; typedef value_type& reference; typedef const value_type& const_reference; typedef base_value_type& base_reference; typedef const base_value_type& const_base_reference; class iterator { typedef wxWindowList list; public: typedef wxWindowListNode Node; typedef iterator itor; typedef wxWindow* value_type; typedef value_type* ptr_type; typedef value_type& reference; Node* m_node; Node* m_init; public: typedef reference reference_type; typedef ptr_type pointer_type; iterator(Node* node, Node* init) : m_node(node), m_init(init) {} iterator() : m_node(__null), m_init(__null) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetNext(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetNext(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetPrevious() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetPrevious() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class const_iterator { typedef wxWindowList list; public: typedef wxWindowListNode Node; typedef wxWindow* value_type; typedef const value_type& const_reference; typedef const_iterator itor; typedef value_type* ptr_type; Node* m_node; Node* m_init; public: typedef const_reference reference_type; typedef const ptr_type pointer_type; const_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } const_iterator() : m_node(__null), m_init(__null) { } const_iterator(const iterator& it) : m_node(it.m_node), m_init(it.m_init) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetNext(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetNext(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetPrevious() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetPrevious() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class reverse_iterator { typedef wxWindowList list; public: typedef wxWindowListNode Node; typedef wxWindow* value_type; typedef reverse_iterator itor; typedef value_type* ptr_type; typedef value_type& reference; Node* m_node; Node* m_init; public: typedef reference reference_type; typedef ptr_type pointer_type; reverse_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } reverse_iterator() : m_node(__null), m_init(__null) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetPrevious(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetPrevious(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetNext() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetNext() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class const_reverse_iterator { typedef wxWindowList list; public: typedef wxWindowListNode Node; typedef wxWindow* value_type; typedef const_reverse_iterator itor; typedef value_type* ptr_type; typedef const value_type& const_reference; Node* m_node; Node* m_init; public: typedef const_reference reference_type; typedef const ptr_type pointer_type; const_reverse_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } const_reverse_iterator() : m_node(__null), m_init(__null) { } const_reverse_iterator(const reverse_iterator& it) : m_node(it.m_node), m_init(it.m_init) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetPrevious(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetPrevious(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetNext() : m_init; return *this;} const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetNext() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; explicit wxWindowList(size_type n, const_reference v = value_type()) { assign(n, v); } wxWindowList(const const_iterator& first, const const_iterator& last) { assign(first, last); } iterator begin() { return iterator(GetFirst(), GetLast()); } const_iterator begin() const { return const_iterator(GetFirst(), GetLast()); } iterator end() { return iterator(__null, GetLast()); } const_iterator end() const { return const_iterator(__null, GetLast()); } reverse_iterator rbegin() { return reverse_iterator(GetLast(), GetFirst()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(GetLast(), GetFirst()); } reverse_iterator rend() { return reverse_iterator(__null, GetFirst()); } const_reverse_iterator rend() const { return const_reverse_iterator(__null, GetFirst()); } void resize(size_type n, value_type v = value_type()) { while (n < size()) pop_back(); while (n > size()) push_back(v); } size_type size() const { return GetCount(); } size_type max_size() const { return 2147483647; } bool empty() const { return IsEmpty(); } reference front() { return *begin(); } const_reference front() const { return *begin(); } reference back() { iterator tmp = end(); return *--tmp; } const_reference back() const { const_iterator tmp = end(); return *--tmp; } void push_front(const_reference v = value_type()) { Insert(GetFirst(), (const_base_reference)v); } void pop_front() { DeleteNode(GetFirst()); } void push_back(const_reference v = value_type()) { Append((const_base_reference)v); } void pop_back() { DeleteNode(GetLast()); } void assign(const_iterator first, const const_iterator& last) { clear(); for(; first != last; ++first) Append((const_base_reference)*first); } void assign(size_type n, const_reference v = value_type()) { clear(); for(size_type i = 0; i < n; ++i) Append((const_base_reference)v); } iterator insert(const iterator& it, const_reference v = value_type()) { Insert(it.m_node, (const_base_reference)v); return iterator(it.m_node->GetPrevious(), GetLast()); } void insert(const iterator& it, size_type n, const_reference v = value_type()) { for(size_type i = 0; i < n; ++i) Insert(it.m_node, (const_base_reference)v); } void insert(const iterator& it, const_iterator first, const const_iterator& last) { for(; first != last; ++first) Insert(it.m_node, (const_base_reference)*first); } iterator erase(const iterator& it) { iterator next = iterator(it.m_node->GetNext(), GetLast()); DeleteNode(it.m_node); return next; } iterator erase(const iterator& first, const iterator& last) { iterator next = last; ++next; DeleteNodes(first.m_node, last.m_node); return next; } void clear() { Clear(); } void splice(const iterator& it, wxWindowList& l, const iterator& first, const iterator& last) { insert(it, first, last); l.erase(first, last); } void splice(const iterator& it, wxWindowList& l) { splice(it, l, l.begin(), l.end() ); } void splice(const iterator& it, wxWindowList& l, const iterator& first) { iterator tmp = first; ++tmp; if(it == first || it == tmp) return; insert(it, *first); l.erase(first); } void remove(const_reference v) { DeleteObject((const_base_reference)v); } void reverse() { Reverse(); } };
32309
32310
32311
32312
32313
32314 extern wxWindowList wxTopLevelWindows;
32315 # 132 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h"
32316 class wxWindowBase : public wxEvtHandler
32317 {
32318 public:
32319
32320
32321
32322
32323
32324     wxWindowBase() ;
32325
32326
32327     bool CreateBase(wxWindowBase *parent,
32328                     wxWindowID winid,
32329                     const wxPoint& pos = wxDefaultPosition,
32330                     const wxSize& size = wxDefaultSize,
32331                     long style = 0,
32332                     const wxValidator& validator = wxDefaultValidator,
32333                     const wxString& name = wxPanelNameStr);
32334
32335     virtual ~wxWindowBase();
32336
32337
32338
32339
32340
32341
32342     bool Close( bool force = false );
32343
32344
32345
32346
32347
32348
32349     virtual bool Destroy();
32350
32351     bool DestroyChildren();
32352
32353
32354     bool IsBeingDeleted() const { return m_isBeingDeleted; }
32355 # 181 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h"
32356     virtual void SetTitle( const wxString& ) {}
32357     virtual wxString GetTitle() const { return wxEmptyString; }
32358
32359
32360
32361     virtual void SetLabel(const wxString& label) { SetTitle(label); }
32362     virtual wxString GetLabel() const { return GetTitle(); }
32363
32364
32365
32366     virtual void SetName( const wxString &name ) { m_windowName = name; }
32367     virtual wxString GetName() const { return m_windowName; }
32368
32369
32370     void SetWindowVariant( wxWindowVariant variant ) ;
32371     wxWindowVariant GetWindowVariant() const { return m_windowVariant ; }
32372
32373
32374
32375
32376     void SetId( wxWindowID winid ) { m_windowId = winid; }
32377     wxWindowID GetId() const { return m_windowId; }
32378
32379
32380
32381     static int NewControlId() { return --ms_lastControlId; }
32382
32383
32384     static int NextControlId(int winid) { return winid - 1; }
32385
32386
32387     static int PrevControlId(int winid) { return winid + 1; }
32388
32389
32390
32391
32392
32393     void SetSize( int x, int y, int width, int height,
32394                   int sizeFlags = (0x0001|0x0002) )
32395         { DoSetSize(x, y, width, height, sizeFlags); }
32396
32397     void SetSize( int width, int height )
32398         { DoSetSize( wxDefaultCoord, wxDefaultCoord, width, height, 0x0000 ); }
32399
32400     void SetSize( const wxSize& size )
32401         { SetSize( size.x, size.y); }
32402
32403     void SetSize(const wxRect& rect, int sizeFlags = (0x0001|0x0002))
32404         { DoSetSize(rect.x, rect.y, rect.width, rect.height, sizeFlags); }
32405
32406     void Move(int x, int y, int flags = 0x0000)
32407         { DoSetSize(x, y, wxDefaultCoord, wxDefaultCoord, flags); }
32408
32409     void Move(const wxPoint& pt, int flags = 0x0000)
32410         { Move(pt.x, pt.y, flags); }
32411
32412
32413     virtual void Raise() = 0;
32414     virtual void Lower() = 0;
32415
32416
32417     void SetClientSize( int width, int height )
32418         { DoSetClientSize(width, height); }
32419
32420     void SetClientSize( const wxSize& size )
32421         { DoSetClientSize(size.x, size.y); }
32422
32423     void SetClientSize(const wxRect& rect)
32424         { SetClientSize( rect.width, rect.height ); }
32425
32426
32427     void GetPosition( int *x, int *y ) const { DoGetPosition(x, y); }
32428     wxPoint GetPosition() const
32429     {
32430         int w, h;
32431         DoGetPosition(&w, &h);
32432
32433         return wxPoint(w, h);
32434     }
32435
32436     void SetPosition( const wxPoint& pt ) { Move( pt ) ; }
32437
32438     void GetSize( int *w, int *h ) const { DoGetSize(w, h); }
32439     wxSize GetSize() const
32440     {
32441         int w, h;
32442         DoGetSize(& w, & h);
32443         return wxSize(w, h);
32444     }
32445
32446     wxRect GetRect() const
32447     {
32448         int x, y, w, h;
32449         GetPosition(& x, & y);
32450         GetSize(& w, & h);
32451
32452         return wxRect(x, y, w, h);
32453     }
32454
32455     void GetClientSize( int *w, int *h ) const { DoGetClientSize(w, h); }
32456     wxSize GetClientSize() const
32457     {
32458         int w, h;
32459         DoGetClientSize(& w, & h);
32460
32461         return wxSize(w, h);
32462     }
32463
32464
32465
32466
32467     virtual wxPoint GetClientAreaOrigin() const;
32468
32469
32470     wxRect GetClientRect() const
32471     {
32472         return wxRect(GetClientAreaOrigin(), GetClientSize());
32473     }
32474
32475
32476
32477
32478     wxSize GetBestSize() const
32479     {
32480         if (m_bestSizeCache.IsFullySpecified())
32481             return m_bestSizeCache;
32482         return DoGetBestSize();
32483     }
32484     void GetBestSize(int *w, int *h) const
32485     {
32486         wxSize s = GetBestSize();
32487         if ( w )
32488             *w = s.x;
32489         if ( h )
32490             *h = s.y;
32491     }
32492
32493
32494
32495     void InvalidateBestSize();
32496     void CacheBestSize(const wxSize& size) const
32497         { const_cast<wxWindowBase *>(this)->m_bestSizeCache = size; }
32498
32499
32500
32501
32502
32503
32504     wxSize GetAdjustedBestSize() const
32505     {
32506         wxSize s( GetBestSize() );
32507         return wxSize( (((s.x) > (GetMinWidth())) ? (s.x) : (GetMinWidth())), (((s.y) > (GetMinHeight())) ? (s.y) : (GetMinHeight())) );
32508     }
32509
32510
32511
32512
32513     wxSize GetBestFittingSize() const;
32514
32515
32516
32517     void SetBestFittingSize(const wxSize& size=wxDefaultSize);
32518
32519
32520
32521
32522     void Centre( int direction = wxBOTH );
32523     void Center( int direction = wxBOTH ) { Centre(direction); }
32524
32525
32526     void CentreOnScreen(int dir = wxBOTH) { Centre(dir | 0x0002); }
32527     void CenterOnScreen(int dir = wxBOTH) { CentreOnScreen(dir); }
32528
32529
32530     void CentreOnParent(int dir = wxBOTH) { Centre(dir | 0x0000); }
32531     void CenterOnParent(int dir = wxBOTH) { CentreOnParent(dir); }
32532
32533
32534     virtual void Fit();
32535
32536
32537     virtual void FitInside();
32538
32539
32540     virtual void SetSizeHints( int minW, int minH,
32541                                int maxW = wxDefaultCoord, int maxH = wxDefaultCoord,
32542                                int incW = wxDefaultCoord, int incH = wxDefaultCoord )
32543     {
32544         DoSetSizeHints(minW, minH, maxW, maxH, incW, incH);
32545     }
32546
32547     void SetSizeHints( const wxSize& minSize,
32548                        const wxSize& maxSize=wxDefaultSize,
32549                        const wxSize& incSize=wxDefaultSize)
32550     {
32551         DoSetSizeHints(minSize.x, minSize.y,
32552                        maxSize.x, maxSize.y,
32553                        incSize.x, incSize.y);
32554     }
32555
32556     virtual void DoSetSizeHints(int minW, int minH,
32557                                 int maxW = wxDefaultCoord, int maxH = wxDefaultCoord,
32558                                int incW = wxDefaultCoord, int incH = wxDefaultCoord );
32559
32560     virtual void SetVirtualSizeHints( int minW, int minH,
32561                                       int maxW = wxDefaultCoord, int maxH = wxDefaultCoord );
32562     void SetVirtualSizeHints( const wxSize& minSize,
32563                               const wxSize& maxSize=wxDefaultSize)
32564     {
32565         SetVirtualSizeHints(minSize.x, minSize.y, maxSize.x, maxSize.y);
32566     }
32567
32568     virtual int GetMinWidth() const { return m_minWidth; }
32569     virtual int GetMinHeight() const { return m_minHeight; }
32570     int GetMaxWidth() const { return m_maxWidth; }
32571     int GetMaxHeight() const { return m_maxHeight; }
32572
32573
32574     virtual wxSize GetMaxSize() const { return wxSize( m_maxWidth, m_maxHeight ); }
32575     virtual wxSize GetMinSize() const { return wxSize( m_minWidth, m_minHeight ); }
32576
32577     void SetMinSize(const wxSize& minSize) { SetSizeHints(minSize); }
32578     void SetMaxSize(const wxSize& maxSize) { SetSizeHints(GetMinSize(), maxSize); }
32579
32580
32581
32582
32583
32584
32585
32586     void SetVirtualSize( const wxSize &size ) { DoSetVirtualSize( size.x, size.y ); }
32587     void SetVirtualSize( int x, int y ) { DoSetVirtualSize( x, y ); }
32588
32589     wxSize GetVirtualSize() const { return DoGetVirtualSize(); }
32590     void GetVirtualSize( int *x, int *y ) const
32591     {
32592         wxSize s( DoGetVirtualSize() );
32593
32594         if( x )
32595             *x = s.GetWidth();
32596         if( y )
32597             *y = s.GetHeight();
32598     }
32599
32600
32601
32602
32603
32604     virtual void DoSetVirtualSize( int x, int y );
32605     virtual wxSize DoGetVirtualSize() const;
32606
32607
32608
32609
32610     virtual wxSize GetBestVirtualSize() const
32611     {
32612         wxSize client( GetClientSize() );
32613         wxSize best( GetBestSize() );
32614
32615         return wxSize( (((client.x) > (best.x)) ? (client.x) : (best.x)), (((client.y) > (best.y)) ? (client.y) : (best.y)) );
32616     }
32617
32618
32619
32620
32621
32622
32623     virtual bool Show( bool show = true );
32624     bool Hide() { return Show(false); }
32625
32626
32627     virtual bool Enable( bool enable = true );
32628     bool Disable() { return Enable(false); }
32629
32630     virtual bool IsShown() const { return m_isShown; }
32631     virtual bool IsEnabled() const { return m_isEnabled; }
32632
32633
32634
32635     virtual void SetWindowStyleFlag( long style ) { m_windowStyle = style; }
32636     virtual long GetWindowStyleFlag() const { return m_windowStyle; }
32637
32638
32639     void SetWindowStyle( long style ) { SetWindowStyleFlag(style); }
32640     long GetWindowStyle() const { return GetWindowStyleFlag(); }
32641
32642     bool HasFlag(int flag) const { return (m_windowStyle & flag) != 0; }
32643     virtual bool IsRetained() const { return HasFlag(0x00000000); }
32644
32645
32646
32647     virtual void SetExtraStyle(long exStyle) { m_exStyle = exStyle; }
32648     long GetExtraStyle() const { return m_exStyle; }
32649
32650
32651     virtual void MakeModal(bool modal = true);
32652
32653
32654
32655
32656
32657     virtual void SetThemeEnabled(bool enableTheme) { m_themeEnabled = enableTheme; }
32658     virtual bool GetThemeEnabled() const { return m_themeEnabled; }
32659
32660
32661
32662
32663
32664
32665     virtual void SetFocus() = 0;
32666
32667
32668     virtual void SetFocusFromKbd() { SetFocus(); }
32669
32670
32671     static wxWindow *FindFocus();
32672
32673     static wxWindow *DoFindFocus() ;
32674
32675
32676     virtual bool AcceptsFocus() const { return IsShown() && IsEnabled(); }
32677
32678
32679
32680
32681     virtual bool AcceptsFocusFromKeyboard() const { return AcceptsFocus(); }
32682
32683
32684
32685
32686
32687
32688     virtual wxWindow *GetDefaultItem() const { return __null; }
32689
32690
32691     virtual wxWindow *SetDefaultItem(wxWindow * )
32692         { return __null; }
32693
32694
32695     virtual void SetTmpDefaultItem(wxWindow * ) { }
32696
32697
32698     virtual bool Navigate(int flags = wxNavigationKeyEvent::IsForward);
32699
32700
32701
32702     void MoveBeforeInTabOrder(wxWindow *win)
32703         { DoMoveInTabOrder(win, MoveBefore); }
32704     void MoveAfterInTabOrder(wxWindow *win)
32705         { DoMoveInTabOrder(win, MoveAfter); }
32706
32707
32708
32709
32710
32711
32712     const wxWindowList& GetChildren() const { return m_children; }
32713     wxWindowList& GetChildren() { return m_children; }
32714
32715
32716     const wxWindowList& GetWindowChildren() const { return GetChildren() ; }
32717
32718
32719     wxWindow *GetParent() const { return m_parent; }
32720     inline wxWindow *GetGrandParent() const;
32721
32722
32723     virtual bool IsTopLevel() const;
32724
32725
32726     void SetParent( wxWindowBase *parent ) { m_parent = (wxWindow *)parent; }
32727
32728
32729     virtual bool Reparent( wxWindowBase *newParent );
32730
32731
32732     virtual void AddChild( wxWindowBase *child );
32733     virtual void RemoveChild( wxWindowBase *child );
32734
32735
32736
32737
32738
32739
32740     wxWindow *FindWindow(long winid) const;
32741     wxWindow *FindWindow(const wxString& name) const;
32742
32743
32744     static wxWindow *FindWindowById( long winid, const wxWindow *parent = __null );
32745     static wxWindow *FindWindowByName( const wxString& name,
32746                                        const wxWindow *parent = __null );
32747     static wxWindow *FindWindowByLabel( const wxString& label,
32748                                         const wxWindow *parent = __null );
32749
32750
32751
32752
32753
32754     wxEvtHandler *GetEventHandler() const { return m_eventHandler; }
32755
32756
32757
32758     void SetEventHandler( wxEvtHandler *handler ) { m_eventHandler = handler; }
32759
32760
32761
32762     void PushEventHandler( wxEvtHandler *handler );
32763     wxEvtHandler *PopEventHandler( bool deleteHandler = false );
32764
32765
32766
32767
32768
32769
32770     bool RemoveEventHandler(wxEvtHandler *handler);
32771
32772
32773
32774
32775
32776
32777
32778     virtual void SetValidator( const wxValidator &validator );
32779     virtual wxValidator *GetValidator() { return m_windowValidator; }
32780
32781
32782
32783
32784
32785
32786
32787     virtual bool Validate();
32788
32789
32790     virtual bool TransferDataToWindow();
32791     virtual bool TransferDataFromWindow();
32792
32793     virtual void InitDialog();
32794
32795
32796
32797
32798     virtual void SetAcceleratorTable( const wxAcceleratorTable& accel )
32799         { m_acceleratorTable = accel; }
32800     wxAcceleratorTable *GetAcceleratorTable()
32801         { return &m_acceleratorTable; }
32802 # 642 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h"
32803     wxPoint ConvertPixelsToDialog( const wxPoint& pt );
32804     wxPoint ConvertDialogToPixels( const wxPoint& pt );
32805     wxSize ConvertPixelsToDialog( const wxSize& sz )
32806     {
32807         wxPoint pt(ConvertPixelsToDialog(wxPoint(sz.x, sz.y)));
32808
32809         return wxSize(pt.x, pt.y);
32810     }
32811
32812     wxSize ConvertDialogToPixels( const wxSize& sz )
32813     {
32814         wxPoint pt(ConvertDialogToPixels(wxPoint(sz.x, sz.y)));
32815
32816         return wxSize(pt.x, pt.y);
32817     }
32818
32819
32820
32821
32822
32823     virtual void WarpPointer(int x, int y) = 0;
32824
32825
32826
32827
32828
32829     void CaptureMouse();
32830     void ReleaseMouse();
32831
32832
32833     static wxWindow *GetCapture();
32834
32835
32836     virtual bool HasCapture() const
32837         { return (wxWindow *)this == GetCapture(); }
32838
32839
32840
32841
32842
32843
32844     virtual void Refresh( bool eraseBackground = true,
32845                           const wxRect *rect = (const wxRect *) __null ) = 0;
32846
32847
32848     void RefreshRect(const wxRect& rect, bool eraseBackground = true)
32849     {
32850         Refresh(eraseBackground, &rect);
32851     }
32852
32853
32854     virtual void Update() { }
32855
32856
32857     virtual void ClearBackground();
32858
32859
32860     virtual void Freeze() { }
32861
32862
32863     virtual void Thaw() { }
32864
32865
32866     virtual void PrepareDC( wxDC & ) { }
32867
32868
32869
32870     const wxRegion& GetUpdateRegion() const { return m_updateRegion; }
32871     wxRegion& GetUpdateRegion() { return m_updateRegion; }
32872
32873
32874     wxRect GetUpdateClientRect() const;
32875
32876
32877
32878     bool IsExposed( int x, int y ) const;
32879     bool IsExposed( int x, int y, int w, int h ) const;
32880
32881     bool IsExposed( const wxPoint& pt ) const
32882         { return IsExposed(pt.x, pt.y); }
32883     bool IsExposed( const wxRect& rect ) const
32884         { return IsExposed(rect.x, rect.y, rect.width, rect.height); }
32885 # 735 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h"
32886     virtual wxVisualAttributes GetDefaultAttributes() const
32887     {
32888         return GetClassDefaultAttributes(GetWindowVariant());
32889     }
32890
32891     static wxVisualAttributes
32892     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
32893
32894
32895
32896
32897
32898     virtual bool SetBackgroundColour(const wxColour& colour);
32899     void SetOwnBackgroundColour(const wxColour& colour)
32900     {
32901         if ( SetBackgroundColour(colour) )
32902             m_inheritBgCol = false;
32903     }
32904     wxColour GetBackgroundColour() const;
32905     bool InheritsBackgroundColour() const
32906     {
32907         return m_inheritBgCol;
32908     }
32909     bool UseBgCol() const
32910     {
32911         return m_hasBgCol;
32912     }
32913
32914     virtual bool SetForegroundColour(const wxColour& colour);
32915     void SetOwnForegroundColour(const wxColour& colour)
32916     {
32917         if ( SetForegroundColour(colour) )
32918             m_inheritFgCol = false;
32919     }
32920     wxColour GetForegroundColour() const;
32921
32922
32923
32924     virtual bool SetBackgroundStyle(wxBackgroundStyle style) { m_backgroundStyle = style; return true; }
32925     virtual wxBackgroundStyle GetBackgroundStyle() const { return m_backgroundStyle; }
32926
32927
32928
32929
32930     virtual bool HasTransparentBackground() { return false; }
32931
32932
32933
32934     virtual bool SetFont(const wxFont& font) = 0;
32935     void SetOwnFont(const wxFont& font)
32936     {
32937         if ( SetFont(font) )
32938             m_inheritFont = false;
32939     }
32940     wxFont GetFont() const;
32941
32942
32943
32944     virtual bool SetCursor( const wxCursor &cursor );
32945     const wxCursor& GetCursor() const { return m_cursor; }
32946
32947
32948
32949     void SetCaret(wxCaret *caret);
32950
32951     wxCaret *GetCaret() const { return m_caret; }
32952
32953
32954
32955     virtual int GetCharHeight() const = 0;
32956     virtual int GetCharWidth() const = 0;
32957
32958
32959
32960     virtual void GetTextExtent(const wxString& string,
32961                                int *x, int *y,
32962                                int *descent = (int *) __null,
32963                                int *externalLeading = (int *) __null,
32964                                const wxFont *theFont = (const wxFont *) __null)
32965                                const = 0;
32966
32967
32968
32969
32970
32971     void ClientToScreen( int *x, int *y ) const
32972         { DoClientToScreen(x, y); }
32973     void ScreenToClient( int *x, int *y ) const
32974         { DoScreenToClient(x, y); }
32975
32976
32977     wxPoint ClientToScreen(const wxPoint& pt) const
32978     {
32979         int x = pt.x, y = pt.y;
32980         DoClientToScreen(&x, &y);
32981
32982         return wxPoint(x, y);
32983     }
32984
32985     wxPoint ScreenToClient(const wxPoint& pt) const
32986     {
32987         int x = pt.x, y = pt.y;
32988         DoScreenToClient(&x, &y);
32989
32990         return wxPoint(x, y);
32991     }
32992
32993
32994     wxHitTest HitTest(wxCoord x, wxCoord y) const
32995         { return DoHitTest(x, y); }
32996
32997     wxHitTest HitTest(const wxPoint& pt) const
32998         { return DoHitTest(pt.x, pt.y); }
32999
33000
33001
33002
33003
33004
33005
33006     wxBorder GetBorder(long flags) const;
33007
33008
33009     wxBorder GetBorder() const { return GetBorder(GetWindowStyleFlag()); }
33010
33011
33012     virtual void UpdateWindowUI(long flags = wxUPDATE_UI_NONE);
33013
33014
33015     virtual void DoUpdateWindowUI(wxUpdateUIEvent& event) ;
33016
33017
33018     bool PopupMenu(wxMenu *menu, const wxPoint& pos = wxDefaultPosition)
33019         { return DoPopupMenu(menu, pos.x, pos.y); }
33020     bool PopupMenu(wxMenu *menu, int x, int y)
33021         { return DoPopupMenu(menu, x, y); }
33022
33023
33024
33025
33026
33027
33028     bool HasScrollbar(int orient) const
33029     {
33030         return (m_windowStyle &
33031                 (orient == wxHORIZONTAL ? 0x40000000 : 0x80000000)) != 0;
33032     }
33033
33034
33035     virtual void SetScrollbar( int orient,
33036                                int pos,
33037                                int thumbvisible,
33038                                int range,
33039                                bool refresh = true ) = 0;
33040     virtual void SetScrollPos( int orient, int pos, bool refresh = true ) = 0;
33041     virtual int GetScrollPos( int orient ) const = 0;
33042     virtual int GetScrollThumb( int orient ) const = 0;
33043     virtual int GetScrollRange( int orient ) const = 0;
33044
33045
33046     virtual void ScrollWindow( int dx, int dy,
33047                                const wxRect* rect = (wxRect *) __null ) = 0;
33048
33049
33050
33051
33052     virtual bool ScrollLines(int ) { return false; }
33053     virtual bool ScrollPages(int ) { return false; }
33054
33055
33056     bool LineUp() { return ScrollLines(-1); }
33057     bool LineDown() { return ScrollLines(1); }
33058     bool PageUp() { return ScrollPages(-1); }
33059     bool PageDown() { return ScrollPages(1); }
33060 # 917 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h"
33061     void SetHelpText(const wxString& text);
33062
33063
33064     void SetHelpTextForId(const wxString& text);
33065
33066     wxString GetHelpText() const;
33067 # 934 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h"
33068     void SetToolTip( const wxString &tip );
33069
33070     void SetToolTip( wxToolTip *tip ) { DoSetToolTip(tip); }
33071
33072     wxToolTip* GetToolTip() const { return m_tooltip; }
33073     wxString GetToolTipText() const ;
33074 # 951 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h"
33075     virtual void SetDropTarget( wxDropTarget *dropTarget ) = 0;
33076     virtual wxDropTarget *GetDropTarget() const { return m_dropTarget; }
33077
33078
33079
33080
33081
33082
33083     void SetConstraints( wxLayoutConstraints *constraints );
33084     wxLayoutConstraints *GetConstraints() const { return m_constraints; }
33085
33086
33087     void UnsetConstraints(wxLayoutConstraints *c);
33088     wxWindowList *GetConstraintsInvolvedIn() const
33089         { return m_constraintsInvolvedIn; }
33090     void AddConstraintReference(wxWindowBase *otherWin);
33091     void RemoveConstraintReference(wxWindowBase *otherWin);
33092     void DeleteRelatedConstraints();
33093     void ResetConstraints();
33094
33095
33096     virtual void SetConstraintSizes(bool recurse = true);
33097     virtual bool LayoutPhase1(int *noChanges);
33098     virtual bool LayoutPhase2(int *noChanges);
33099     virtual bool DoPhase(int phase);
33100
33101
33102     virtual void SetSizeConstraint(int x, int y, int w, int h);
33103     virtual void MoveConstraint(int x, int y);
33104     virtual void GetSizeConstraint(int *w, int *h) const ;
33105     virtual void GetClientSizeConstraint(int *w, int *h) const ;
33106     virtual void GetPositionConstraint(int *x, int *y) const ;
33107
33108
33109
33110
33111
33112
33113     void SetAutoLayout( bool autoLayout ) { m_autoLayout = autoLayout; }
33114     bool GetAutoLayout() const { return m_autoLayout; }
33115
33116
33117     virtual bool Layout();
33118
33119
33120     void SetSizer(wxSizer *sizer, bool deleteOld = true );
33121     void SetSizerAndFit( wxSizer *sizer, bool deleteOld = true );
33122
33123     wxSizer *GetSizer() const { return m_windowSizer; }
33124
33125
33126     void SetContainingSizer(wxSizer* sizer);
33127     wxSizer *GetContainingSizer() const { return m_containingSizer; }
33128 # 1025 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h"
33129     void OnSysColourChanged( wxSysColourChangedEvent& event );
33130     void OnInitDialog( wxInitDialogEvent &event );
33131     void OnMiddleClick( wxMouseEvent& event );
33132
33133     void OnHelp(wxHelpEvent& event);
33134
33135
33136
33137
33138         virtual void OnInternalIdle() {}
33139
33140
33141
33142
33143
33144
33145
33146     virtual WXWidget GetHandle() const = 0;
33147
33148     virtual void AssociateHandle(WXWidget ) { }
33149
33150     virtual void DissociateHandle() { }
33151
33152
33153
33154
33155     wxPalette GetPalette() const { return m_palette; }
33156
33157
33158
33159     void SetPalette(const wxPalette& pal);
33160
33161
33162     bool HasCustomPalette() const { return m_hasCustomPalette; }
33163
33164
33165     wxWindow *GetAncestorWithCustomPalette() const;
33166
33167
33168
33169
33170
33171     virtual void InheritAttributes();
33172
33173
33174
33175
33176
33177
33178     virtual bool ShouldInheritColours() const { return false; }
33179
33180
33181
33182     virtual void ReservedWindowFunc1() {}
33183     virtual void ReservedWindowFunc2() {}
33184     virtual void ReservedWindowFunc3() {}
33185     virtual void ReservedWindowFunc4() {}
33186     virtual void ReservedWindowFunc5() {}
33187     virtual void ReservedWindowFunc6() {}
33188     virtual void ReservedWindowFunc7() {}
33189     virtual void ReservedWindowFunc8() {}
33190     virtual void ReservedWindowFunc9() {}
33191
33192
33193 protected:
33194
33195     virtual bool TryValidator(wxEvent& event);
33196     virtual bool TryParent(wxEvent& event);
33197
33198
33199     enum MoveKind
33200     {
33201         MoveBefore,
33202         MoveAfter
33203     };
33204     virtual void DoMoveInTabOrder(wxWindow *win, MoveKind move);
33205
33206
33207
33208     void SatisfyConstraints();
33209
33210
33211
33212     void SendDestroyEvent();
33213
33214
33215
33216
33217     virtual wxWindow *GetMainWindowOfCompositeControl()
33218         { return (wxWindow*)this; }
33219
33220
33221
33222     wxWindowID m_windowId;
33223
33224
33225
33226     wxWindow *m_parent;
33227     wxWindowList m_children;
33228
33229
33230
33231     int m_minWidth,
33232                          m_minHeight,
33233                          m_maxWidth,
33234                          m_maxHeight;
33235
33236
33237
33238     wxEvtHandler *m_eventHandler;
33239
33240
33241
33242     wxValidator *m_windowValidator;
33243
33244
33245
33246     wxDropTarget *m_dropTarget;
33247
33248
33249
33250     wxCursor m_cursor;
33251     wxFont m_font;
33252     wxColour m_backgroundColour,
33253                          m_foregroundColour;
33254
33255
33256     wxCaret *m_caret;
33257
33258
33259
33260     wxRegion m_updateRegion;
33261
33262
33263
33264
33265     wxAcceleratorTable m_acceleratorTable;
33266
33267
33268
33269
33270     wxToolTip *m_tooltip;
33271
33272
33273
33274
33275
33276     wxLayoutConstraints *m_constraints;
33277
33278
33279     wxWindowList *m_constraintsInvolvedIn;
33280
33281
33282
33283     wxSizer *m_windowSizer;
33284
33285
33286     wxSizer *m_containingSizer;
33287
33288
33289     bool m_autoLayout:1;
33290
33291
33292     bool m_isShown:1;
33293     bool m_isEnabled:1;
33294     bool m_isBeingDeleted:1;
33295
33296
33297     bool m_hasBgCol:1;
33298     bool m_hasFgCol:1;
33299     bool m_hasFont:1;
33300
33301
33302     bool m_inheritBgCol:1;
33303     bool m_inheritFgCol:1;
33304     bool m_inheritFont:1;
33305
33306
33307     long m_windowStyle,
33308                          m_exStyle;
33309     wxString m_windowName;
33310     bool m_themeEnabled;
33311     wxBackgroundStyle m_backgroundStyle;
33312
33313     wxPalette m_palette;
33314     bool m_hasCustomPalette;
33315
33316
33317
33318
33319
33320
33321
33322     wxSize m_virtualSize;
33323
33324     int m_minVirtualWidth;
33325     int m_minVirtualHeight;
33326     int m_maxVirtualWidth;
33327     int m_maxVirtualHeight;
33328
33329     wxWindowVariant m_windowVariant ;
33330
33331
33332
33333     virtual wxBorder GetDefaultBorder() const;
33334
33335
33336
33337     static int WidthDefault(int w) { return w == wxDefaultCoord ? 20 : w; }
33338     static int HeightDefault(int h) { return h == wxDefaultCoord ? 20 : h; }
33339
33340
33341
33342
33343     wxSize m_bestSizeCache;
33344
33345
33346
33347     void SetBestSize(const wxSize& size) { SetBestFittingSize(size); }
33348 # 1252 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h"
33349     virtual void SetInitialBestSize(const wxSize& ) {}
33350 # 1269 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h"
33351     virtual void DoClientToScreen( int *x, int *y ) const = 0;
33352     virtual void DoScreenToClient( int *x, int *y ) const = 0;
33353
33354     virtual wxHitTest DoHitTest(wxCoord x, wxCoord y) const;
33355
33356
33357     virtual void DoCaptureMouse() = 0;
33358     virtual void DoReleaseMouse() = 0;
33359
33360
33361     virtual void DoGetPosition( int *x, int *y ) const = 0;
33362     virtual void DoGetSize( int *width, int *height ) const = 0;
33363     virtual void DoGetClientSize( int *width, int *height ) const = 0;
33364
33365
33366
33367
33368     virtual wxSize DoGetBestSize() const;
33369
33370
33371
33372
33373     virtual void DoSetSize(int x, int y,
33374                            int width, int height,
33375                            int sizeFlags = (0x0001|0x0002)) = 0;
33376
33377
33378     virtual void DoSetClientSize(int width, int height) = 0;
33379
33380
33381
33382
33383
33384     virtual void DoMoveWindow(int x, int y, int width, int height) = 0;
33385
33386
33387     virtual void DoSetToolTip( wxToolTip *tip );
33388
33389
33390
33391     virtual bool DoPopupMenu(wxMenu *menu, int x, int y) = 0;
33392
33393
33394
33395
33396
33397     virtual void AdjustForParentClientOrigin(int& x, int& y,
33398                                              int sizeFlags = 0) const;
33399
33400
33401     virtual void DoSetWindowVariant( wxWindowVariant variant ) ;
33402
33403
33404
33405     void* m_windowReserved;
33406
33407
33408 private:
33409
33410     static int ms_lastControlId;
33411
33412
33413     static struct wxWindowNext *ms_winCaptureNext;
33414
33415     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const;
33416     private: wxWindowBase(const wxWindowBase&); wxWindowBase& operator=(const wxWindowBase&);
33417     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
33418 };
33419 # 1365 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h"
33420 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/window.h" 1
33421 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/window.h"
33422 struct wxGtkIMData;
33423
33424
33425
33426
33427
33428 class wxWindow;
33429 typedef void (*wxInsertChildFunction)( wxWindow*, wxWindow* );
33430
33431
33432
33433
33434
33435 class wxWindow : public wxWindowBase
33436 {
33437 public:
33438
33439
33440     wxWindow();
33441     wxWindow(wxWindow *parent,
33442                 wxWindowID id,
33443                 const wxPoint& pos = wxDefaultPosition,
33444                 const wxSize& size = wxDefaultSize,
33445                 long style = 0,
33446                 const wxString& name = wxPanelNameStr);
33447     bool Create(wxWindow *parent,
33448                 wxWindowID id,
33449                 const wxPoint& pos = wxDefaultPosition,
33450                 const wxSize& size = wxDefaultSize,
33451                 long style = 0,
33452                 const wxString& name = wxPanelNameStr);
33453     virtual ~wxWindow();
33454
33455
33456
33457
33458     virtual bool Destroy();
33459
33460     virtual void Raise();
33461     virtual void Lower();
33462
33463     virtual bool Show( bool show = 1 );
33464     virtual bool Enable( bool enable = 1 );
33465
33466     virtual bool IsRetained() const;
33467
33468     virtual void SetFocus();
33469     virtual bool AcceptsFocus() const;
33470
33471     virtual bool Reparent( wxWindowBase *newParent );
33472
33473     virtual void WarpPointer(int x, int y);
33474
33475     virtual void Refresh( bool eraseBackground = 1,
33476                           const wxRect *rect = (const wxRect *) __null );
33477     virtual void Update();
33478     virtual void ClearBackground();
33479
33480     virtual bool SetBackgroundColour( const wxColour &colour );
33481     virtual bool SetForegroundColour( const wxColour &colour );
33482     virtual bool SetCursor( const wxCursor &cursor );
33483     virtual bool SetFont( const wxFont &font );
33484
33485     virtual bool SetBackgroundStyle(wxBackgroundStyle style) ;
33486
33487     virtual int GetCharHeight() const;
33488     virtual int GetCharWidth() const;
33489     virtual void GetTextExtent(const wxString& string,
33490                                int *x, int *y,
33491                                int *descent = (int *) __null,
33492                                int *externalLeading = (int *) __null,
33493                                const wxFont *theFont = (const wxFont *) __null)
33494                                const;
33495
33496
33497     virtual bool DoPopupMenu( wxMenu *menu, int x, int y );
33498
33499
33500     virtual void SetScrollbar( int orient, int pos, int thumbVisible,
33501                                int range, bool refresh = 1 );
33502     virtual void SetScrollPos( int orient, int pos, bool refresh = 1 );
33503     virtual int GetScrollPos( int orient ) const;
33504     virtual int GetScrollThumb( int orient ) const;
33505     virtual int GetScrollRange( int orient ) const;
33506     virtual void ScrollWindow( int dx, int dy,
33507                                const wxRect* rect = (wxRect *) __null );
33508
33509
33510     virtual void SetDropTarget( wxDropTarget *dropTarget );
33511
33512
33513
33514     virtual void AddChild( wxWindowBase *child );
33515     virtual void RemoveChild( wxWindowBase *child );
33516
33517
33518
33519
33520     void SetDoubleBuffered( bool on );
33521
33522
33523
33524
33525
33526
33527     virtual WXWidget GetHandle() const { return m_widget; }
33528
33529
33530
33531
33532     virtual void OnInternalIdle();
33533
33534
33535     void GtkUpdate();
33536
33537
33538     void OnIdle(wxIdleEvent& ) {}
33539
33540
33541
33542
33543     virtual void OnParentEnable( bool ) {}
33544
33545
33546     bool PreCreation( wxWindow *parent, const wxPoint &pos, const wxSize &size );
33547     void PostCreation();
33548
33549
33550
33551
33552     void DoAddChild(wxWindow *child);
33553
33554
33555
33556
33557
33558
33559     void GtkSendPaintEvents();
33560
33561
33562
33563
33564
33565
33566
33567     virtual GtkWidget* GetConnectWidget();
33568     virtual bool IsOwnGtkWindow( GdkWindow *window );
33569     void ConnectWidget( GtkWidget *widget );
33570
33571
33572
33573     PangoContext *GtkGetPangoDefaultContext();
33574
33575
33576
33577
33578
33579
33580
33581     PangoContext *GtkGetPangoX11Context();
33582     PangoContext *m_x11Context;
33583
33584
33585
33586     virtual void ApplyToolTip( GtkTooltips *tips, const wxChar *tip );
33587
33588
33589
33590
33591
33592     void GtkUpdateSize() { m_sizeSet = 0; }
33593
33594
33595     virtual void FixUpMouseEvent(GtkWidget * ,
33596                                  wxCoord& ,
33597                                  wxCoord& ) { }
33598
33599
33600     virtual bool IsTransparentForMouse() const { return 0; }
33601
33602
33603     virtual bool IsRadioButton() const { return 0; }
33604
33605
33606     int m_x, m_y;
33607     int m_width, m_height;
33608     int m_oldClientWidth,m_oldClientHeight;
33609
33610
33611     GtkWidget *m_widget;
33612     GtkWidget *m_wxwindow;
33613
33614
33615     GtkWidget *m_focusWidget;
33616
33617
33618     wxGtkIMData *m_imData;
33619 # 232 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/window.h"
33620     GtkAdjustment *m_hAdjust,*m_vAdjust;
33621     float m_oldHorizontalPos;
33622     float m_oldVerticalPos;
33623
33624
33625     bool m_needParent:1;
33626     bool m_noExpose:1;
33627     bool m_nativeSizeEvent:1;
33628     bool m_hasScrolling:1;
33629     bool m_hasVMT:1;
33630     bool m_sizeSet:1;
33631     bool m_resizing:1;
33632     bool m_acceptsFocus:1;
33633     bool m_hasFocus:1;
33634     bool m_isScrolling:1;
33635     bool m_clipPaintRegion:1;
33636
33637     bool m_dirtyTabOrder:1;
33638
33639
33640     bool m_needsStyleChange:1;
33641
33642
33643
33644
33645
33646     wxInsertChildFunction m_insertCallback;
33647
33648
33649     virtual void DoClientToScreen( int *x, int *y ) const;
33650     virtual void DoScreenToClient( int *x, int *y ) const;
33651     virtual void DoGetPosition( int *x, int *y ) const;
33652     virtual void DoGetSize( int *width, int *height ) const;
33653     virtual void DoGetClientSize( int *width, int *height ) const;
33654     virtual void DoSetSize(int x, int y,
33655                            int width, int height,
33656                            int sizeFlags = (0x0001|0x0002));
33657     virtual void DoSetClientSize(int width, int height);
33658     virtual void DoMoveWindow(int x, int y, int width, int height);
33659
33660     virtual void DoCaptureMouse();
33661     virtual void DoReleaseMouse();
33662
33663
33664     virtual void DoSetToolTip( wxToolTip *tip );
33665
33666
33667     void HandleScrollEvent(GtkAdjustment* adj);
33668
33669 protected:
33670
33671     void Init();
33672
33673
33674     virtual void DoMoveInTabOrder(wxWindow *win, MoveKind move);
33675
33676
33677     void RealizeTabOrder();
33678
33679
33680
33681
33682
33683
33684
33685     GtkRcStyle *CreateWidgetStyle(bool forceStyle = false);
33686
33687
33688     virtual void ApplyWidgetStyle(bool forceStyle = false);
33689
33690
33691
33692     virtual void DoApplyWidgetStyle(GtkRcStyle *style);
33693
33694 private:
33695     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
33696     private: wxWindow(const wxWindow&); wxWindow& operator=(const wxWindow&);
33697 };
33698
33699 extern wxWindow *wxFindFocusedChild(wxWindow *win);
33700 # 1366 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h" 2
33701 # 1418 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h"
33702 inline wxWindow *wxWindowBase::GetGrandParent() const
33703 {
33704     return m_parent ? m_parent->GetParent() : (wxWindow *)__null;
33705 }
33706
33707
33708
33709
33710
33711
33712
33713 extern wxWindow* wxFindWindowAtPointer(wxPoint& pt);
33714
33715
33716 extern wxPoint wxGetMousePosition();
33717
33718
33719 extern wxWindow *wxGetActiveWindow();
33720
33721
33722  wxWindow* wxGetTopLevelParent(wxWindow *win);
33723
33724
33725 inline int NewControlId() { return wxWindowBase::NewControlId(); }
33726 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h" 2
33727
33728 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/vidmode.h" 1
33729 # 19 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/vidmode.h"
33730 struct wxVideoMode
33731 {
33732     wxVideoMode(int width = 0, int height = 0, int depth = 0, int freq = 0)
33733     {
33734         w = width;
33735         h = height;
33736
33737         bpp = depth;
33738
33739         refresh = freq;
33740     }
33741
33742
33743
33744     bool operator==(const wxVideoMode& m) const
33745     {
33746         return w == m.w && h == m.h && bpp == m.bpp && refresh == m.refresh;
33747     }
33748     bool operator!=(const wxVideoMode& mode) const
33749     {
33750         return !operator==(mode);
33751     }
33752
33753
33754
33755
33756     bool Matches(const wxVideoMode& other) const
33757     {
33758         return (!other.w || w == other.w) &&
33759                     (!other.h || h == other.h) &&
33760                         (!other.bpp || bpp == other.bpp) &&
33761                             (!other.refresh || refresh >= other.refresh);
33762     }
33763
33764
33765     int GetWidth() const { return w; }
33766     int GetHeight() const { return h; }
33767     int GetDepth() const { return bpp; }
33768
33769
33770     bool IsOk() const { return w && h; }
33771
33772
33773
33774     int w, h;
33775
33776
33777     int bpp;
33778
33779
33780     int refresh;
33781 };
33782 # 26 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h" 2
33783
33784
33785 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/build.h" 1
33786 # 132 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/build.h"
33787 class wxBuildOptions
33788 {
33789 public:
33790
33791
33792     wxBuildOptions() : m_signature("2" "." "6" " (" "no debug" "," "ANSI" ",compiler with C++ ABI " "1002" ",wx containers" ",compatible with 2.4" ")") {}
33793
33794 private:
33795     const char *m_signature;
33796
33797
33798     friend class wxAppConsole;
33799 };
33800 # 29 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h" 2
33801 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/init.h" 1
33802 # 29 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/init.h"
33803 extern bool wxEntryStart(int& argc, wxChar **argv);
33804
33805
33806
33807 extern void wxEntryCleanup();
33808 # 45 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/init.h"
33809 extern int wxEntry(int& argc, wxChar **argv);
33810 # 63 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/init.h"
33811 extern bool wxInitialize(int argc = 0, wxChar **argv = __null);
33812
33813
33814
33815 extern void wxUninitialize();
33816
33817
33818
33819 class wxInitializer
33820 {
33821 public:
33822
33823     wxInitializer(int argc = 0, wxChar **argv = __null)
33824     {
33825         m_ok = wxInitialize(argc, argv);
33826     }
33827
33828
33829     bool IsOk() const { return m_ok; }
33830
33831
33832     operator bool() const { return m_ok; }
33833
33834
33835     ~wxInitializer() { if ( m_ok ) wxUninitialize(); }
33836
33837 private:
33838     bool m_ok;
33839 };
33840 # 30 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h" 2
33841
33842 class wxAppConsole;
33843 class wxAppTraits;
33844 class wxCmdLineParser;
33845 class wxLog;
33846 class wxMessageOutput;
33847 # 44 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h"
33848     class wxEventLoop;
33849
33850
33851
33852
33853
33854
33855
33856 typedef wxAppConsole* (*wxAppInitializerFunction)();
33857
33858
33859
33860
33861
33862 enum
33863 {
33864     wxPRINT_WINDOWS = 1,
33865     wxPRINT_POSTSCRIPT = 2
33866 };
33867
33868
33869
33870
33871
33872 class wxAppConsole : public wxEvtHandler
33873 {
33874 public:
33875
33876     wxAppConsole();
33877     virtual ~wxAppConsole();
33878 # 84 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h"
33879     virtual bool Initialize(int& argc, wxChar **argv);
33880
33881
33882     virtual bool CallOnInit() { return OnInit(); }
33883
33884
33885
33886
33887
33888     virtual bool OnInit();
33889
33890
33891     virtual bool OnInitGui() { return true; }
33892
33893
33894
33895     virtual int OnRun() = 0;
33896
33897
33898
33899     virtual int OnExit();
33900
33901
33902
33903
33904     virtual void CleanUp();
33905
33906
33907
33908
33909
33910
33911
33912     virtual void OnFatalException() { }
33913
33914
33915
33916
33917
33918
33919     virtual bool OnExceptionInMainLoop();
33920
33921
33922
33923
33924
33925     virtual void OnUnhandledException() { }
33926
33927
33928
33929     virtual void Exit();
33930 # 145 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h"
33931     wxString GetAppName() const
33932     {
33933         return m_appName.empty() ? m_className : m_appName;
33934     }
33935     void SetAppName(const wxString& name) { m_appName = name; }
33936
33937
33938     wxString GetClassName() const { return m_className; }
33939     void SetClassName(const wxString& name) { m_className = name; }
33940
33941
33942     const wxString& GetVendorName() const { return m_vendorName; }
33943     void SetVendorName(const wxString& name) { m_vendorName = name; }
33944 # 174 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h"
33945     virtual void OnInitCmdLine(wxCmdLineParser& parser);
33946
33947
33948
33949
33950     virtual bool OnCmdLineParsed(wxCmdLineParser& parser);
33951
33952
33953
33954     virtual bool OnCmdLineHelp(wxCmdLineParser& parser);
33955
33956
33957
33958     virtual bool OnCmdLineError(wxCmdLineParser& parser);
33959 # 199 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h"
33960     wxAppTraits *GetTraits();
33961 # 209 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h"
33962     virtual wxLog *CreateLogTarget() __attribute__ ((deprecated));
33963
33964
33965
33966
33967     virtual wxMessageOutput *CreateMessageOutput() __attribute__ ((deprecated));
33968 # 229 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h"
33969     virtual int FilterEvent(wxEvent& event);
33970
33971
33972
33973
33974
33975
33976
33977     virtual void HandleEvent(wxEvtHandler *handler,
33978                              wxEventFunction func,
33979                              wxEvent& event) const;
33980
33981
33982
33983
33984
33985
33986     virtual void ProcessPendingEvents();
33987
33988
33989     virtual bool Yield(bool = false) { return true; }
33990
33991
33992     virtual void WakeUpIdle() { }
33993
33994
33995
33996     static bool IsMainLoopRunning() { return false; }
33997 # 278 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h"
33998     static bool CheckBuildOptions(const char *optionsSignature,
33999                                   const char *componentName);
34000
34001     static bool CheckBuildOptions(const wxBuildOptions& buildOptions) __attribute__ ((deprecated));
34002
34003
34004
34005
34006
34007
34008     static void SetInitializerFunction(wxAppInitializerFunction fn)
34009         { ms_appInitFn = fn; }
34010     static wxAppInitializerFunction GetInitializerFunction()
34011         { return ms_appInitFn; }
34012
34013
34014
34015
34016
34017     static wxAppConsole *GetInstance() { return ms_appInstance; }
34018     static void SetInstance(wxAppConsole *app) { ms_appInstance = app; }
34019
34020
34021
34022     int argc;
34023     wxChar **argv;
34024
34025 protected:
34026
34027
34028     virtual wxAppTraits *CreateTraits();
34029
34030
34031
34032     static wxAppInitializerFunction ms_appInitFn;
34033
34034
34035     static wxAppConsole *ms_appInstance;
34036
34037
34038
34039     wxString m_vendorName,
34040              m_appName,
34041              m_className;
34042
34043
34044
34045     wxAppTraits *m_traits;
34046
34047
34048
34049
34050     private: wxAppConsole(const wxAppConsole&); wxAppConsole& operator=(const wxAppConsole&);
34051 };
34052
34053
34054
34055
34056
34057
34058
34059 class wxAppBase : public wxAppConsole
34060 {
34061 public:
34062     wxAppBase();
34063     virtual ~wxAppBase();
34064
34065
34066
34067
34068
34069
34070
34071     virtual bool Initialize(int& argc, wxChar **argv);
34072
34073
34074
34075
34076
34077     virtual bool OnInitGui();
34078 # 366 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h"
34079     virtual int OnRun();
34080
34081
34082     virtual int OnExit();
34083
34084
34085
34086
34087     virtual void CleanUp();
34088
34089
34090
34091
34092
34093
34094
34095     static bool IsMainLoopRunning()
34096     {
34097
34098         wxAppBase *app = static_cast<wxAppBase *>(GetInstance());
34099         return app && app->m_mainLoop != __null;
34100
34101
34102
34103     }
34104
34105
34106     virtual int MainLoop();
34107
34108
34109     virtual void Exit();
34110
34111
34112
34113     virtual void ExitMainLoop();
34114
34115
34116     virtual bool Pending();
34117
34118
34119
34120
34121
34122     virtual bool Dispatch();
34123 # 420 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h"
34124     virtual bool Yield(bool onlyIfNeeded = false) = 0;
34125
34126
34127
34128
34129
34130
34131     virtual bool ProcessIdle();
34132
34133
34134
34135     virtual bool SendIdleEvents(wxWindow* win, wxIdleEvent& event);
34136
34137
34138     void OnIdle(wxIdleEvent& event);
34139
34140
34141
34142
34143
34144
34145     virtual bool IsActive() const { return m_isActive; }
34146
34147
34148     void SetTopWindow(wxWindow *win) { m_topWindow = win; }
34149
34150
34151
34152
34153     virtual wxWindow *GetTopWindow() const
34154     {
34155         if (m_topWindow)
34156             return m_topWindow;
34157         else if (wxTopLevelWindows.GetCount() > 0)
34158             return wxTopLevelWindows.GetFirst()->GetData();
34159         else
34160             return (wxWindow *)__null;
34161     }
34162
34163
34164
34165
34166
34167
34168     void SetExitOnFrameDelete(bool flag)
34169         { m_exitOnFrameDelete = flag ? Yes : No; }
34170     bool GetExitOnFrameDelete() const
34171         { return m_exitOnFrameDelete == Yes; }
34172
34173
34174
34175
34176
34177
34178
34179     virtual wxVideoMode GetDisplayMode() const { return wxVideoMode(); }
34180
34181
34182
34183     virtual bool SetDisplayMode(const wxVideoMode& ) { return true; }
34184
34185
34186     void SetUseBestVisual( bool flag ) { m_useBestVisual = flag; }
34187     bool GetUseBestVisual() const { return m_useBestVisual; }
34188
34189
34190
34191
34192
34193     virtual void SetPrintMode(int ) { }
34194     int GetPrintMode() const { return wxPRINT_POSTSCRIPT; }
34195
34196
34197
34198
34199
34200
34201     virtual bool OnCmdLineParsed(wxCmdLineParser& parser);
34202     virtual void OnInitCmdLine(wxCmdLineParser& parser);
34203 # 507 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h"
34204     virtual void SetActive(bool isActive, wxWindow *lastFocus);
34205
34206
34207
34208
34209     bool Initialized() { return true; }
34210
34211
34212 protected:
34213
34214     void DeletePendingObjects();
34215
34216
34217     virtual wxAppTraits *CreateTraits();
34218
34219
34220
34221
34222
34223     wxEventLoop *m_mainLoop;
34224
34225
34226
34227     wxWindow *m_topWindow;
34228
34229
34230
34231
34232
34233     enum
34234     {
34235         Later = -1,
34236         No,
34237         Yes
34238     } m_exitOnFrameDelete;
34239
34240
34241
34242     bool m_useBestVisual;
34243
34244
34245     bool m_isActive;
34246
34247
34248     private: wxAppBase(const wxAppBase&); wxAppBase& operator=(const wxAppBase&);
34249 };
34250 # 570 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h"
34251 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/app.h" 1
34252 # 17 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/app.h"
34253 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/frame.h" 1
34254 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/frame.h"
34255 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/toplevel.h" 1
34256 # 26 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/toplevel.h"
34257 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/iconbndl.h" 1
34258 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/iconbndl.h"
34259 class wxIcon;
34260 class wxString;
34261
34262 typedef wxIcon _wxObjArraywxIconArray; typedef int ( *CMPFUNC_wxObjArraywxIconArray)(_wxObjArraywxIconArray **pItem1, _wxObjArraywxIconArray **pItem2); class wxIconArray : protected wxArrayPtrVoid { typedef int ( *CMPFUNCwxArrayPtrVoid)(void **pItem1, void **pItem2); typedef wxArrayPtrVoid base_array; public: wxIconArray() { } wxIconArray(const wxIconArray& src); wxIconArray& operator=(const wxIconArray& src); ~wxIconArray(); void Alloc(size_t count) { reserve(count); } size_t GetCount() const { return base_array::size(); } size_t size() const { return base_array::size(); } bool IsEmpty() const { return base_array::empty(); } bool empty() const { return base_array::empty(); } size_t Count() const { return base_array::size(); } void Shrink() { wxArrayPtrVoid::Shrink(); } _wxObjArraywxIconArray& operator[](size_t uiIndex) const { return *(_wxObjArraywxIconArray*)wxArrayPtrVoid::operator[](uiIndex); } _wxObjArraywxIconArray& Item(size_t uiIndex) const { return *(_wxObjArraywxIconArray*)wxArrayPtrVoid::operator[](uiIndex); } _wxObjArraywxIconArray& Last() const { return *(_wxObjArraywxIconArray*)(wxArrayPtrVoid::operator[](size() - 1)); } int Index(const _wxObjArraywxIconArray& lItem, bool bFromEnd = false) const; void Add(const _wxObjArraywxIconArray& lItem, size_t nInsert = 1); void Add(const _wxObjArraywxIconArray* pItem) { wxArrayPtrVoid::push_back((_wxObjArraywxIconArray*)pItem); } void push_back(const _wxObjArraywxIconArray* pItem) { wxArrayPtrVoid::push_back((_wxObjArraywxIconArray*)pItem); } void push_back(const _wxObjArraywxIconArray& lItem) { Add(lItem); } void Insert(const _wxObjArraywxIconArray& lItem, size_t uiIndex, size_t nInsert = 1); void Insert(const _wxObjArraywxIconArray* pItem, size_t uiIndex) { wxArrayPtrVoid::insert(begin() + uiIndex, (_wxObjArraywxIconArray*)pItem); } void Empty() { DoEmpty(); wxArrayPtrVoid::clear(); } void Clear() { DoEmpty(); wxArrayPtrVoid::clear(); } _wxObjArraywxIconArray* Detach(size_t uiIndex) { _wxObjArraywxIconArray* p = (_wxObjArraywxIconArray*)wxArrayPtrVoid::operator[](uiIndex); wxArrayPtrVoid::erase(begin() + uiIndex); return p; } void RemoveAt(size_t uiIndex, size_t nRemove = 1); void Sort(CMPFUNC_wxObjArraywxIconArray fCmp) { wxArrayPtrVoid::Sort((CMPFUNCwxArrayPtrVoid)fCmp); } private: void DoEmpty(); void DoCopy(const wxIconArray& src); };
34263
34264
34265
34266
34267 class wxIconBundle
34268 {
34269 public:
34270
34271     wxIconBundle() : m_icons() {}
34272
34273     wxIconBundle( const wxString& file, long type ) : m_icons()
34274         { AddIcon( file, type ); }
34275
34276     wxIconBundle( const wxIcon& icon ) : m_icons()
34277         { AddIcon( icon ); }
34278
34279     const wxIconBundle& operator =( const wxIconBundle& ic );
34280     wxIconBundle( const wxIconBundle& ic ) : m_icons()
34281         { *this = ic; }
34282
34283     ~wxIconBundle() { DeleteIcons(); }
34284
34285
34286
34287
34288     void AddIcon( const wxString& file, long type );
34289
34290
34291
34292     void AddIcon( const wxIcon& icon );
34293
34294
34295
34296
34297     const wxIcon& GetIcon( const wxSize& size ) const;
34298
34299     const wxIcon& GetIcon( wxCoord size = wxDefaultCoord ) const
34300         { return GetIcon( wxSize( size, size ) ); }
34301 private:
34302
34303     void DeleteIcons();
34304 public:
34305     wxIconArray m_icons;
34306 };
34307 # 27 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/toplevel.h" 2
34308
34309
34310 extern const wxChar* wxFrameNameStr;
34311
34312 class wxTopLevelWindowBase;
34313 # 94 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/toplevel.h"
34314 enum
34315 {
34316     wxFULLSCREEN_NOMENUBAR = 0x0001,
34317     wxFULLSCREEN_NOTOOLBAR = 0x0002,
34318     wxFULLSCREEN_NOSTATUSBAR = 0x0004,
34319     wxFULLSCREEN_NOBORDER = 0x0008,
34320     wxFULLSCREEN_NOCAPTION = 0x0010,
34321
34322     wxFULLSCREEN_ALL = wxFULLSCREEN_NOMENUBAR | wxFULLSCREEN_NOTOOLBAR |
34323                                wxFULLSCREEN_NOSTATUSBAR | wxFULLSCREEN_NOBORDER |
34324                                wxFULLSCREEN_NOCAPTION
34325 };
34326
34327
34328 enum
34329 {
34330     wxUSER_ATTENTION_INFO = 1,
34331     wxUSER_ATTENTION_ERROR = 2
34332 };
34333
34334
34335
34336
34337
34338 class wxTopLevelWindowBase : public wxWindow
34339 {
34340 public:
34341
34342     wxTopLevelWindowBase();
34343     virtual ~wxTopLevelWindowBase();
34344
34345
34346
34347
34348
34349     virtual void Maximize(bool maximize = true) = 0;
34350
34351
34352     virtual void Restore() = 0;
34353
34354
34355     virtual void Iconize(bool iconize = true) = 0;
34356
34357
34358     virtual bool IsMaximized() const = 0;
34359
34360
34361     virtual bool IsIconized() const = 0;
34362
34363
34364     const wxIcon& GetIcon() const { return m_icons.GetIcon( -1 ); }
34365
34366
34367     const wxIconBundle& GetIcons() const { return m_icons; }
34368
34369
34370     virtual void SetIcon(const wxIcon& icon) { m_icons = wxIconBundle( icon ); }
34371
34372
34373     virtual void SetIcons(const wxIconBundle& icons ) { m_icons = icons; }
34374
34375
34376     virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL) = 0;
34377
34378
34379     virtual bool IsFullScreen() const = 0;
34380 # 172 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/toplevel.h"
34381     virtual bool SetShape(const wxRegion& ) { return false; }
34382
34383
34384
34385     virtual void RequestUserAttention(int flags = wxUSER_ATTENTION_INFO);
34386
34387
34388     virtual bool IsActive()
34389         { return (wxGetTopLevelParent(FindFocus()) == this); }
34390 # 191 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/toplevel.h"
34391     virtual bool Destroy();
34392     virtual bool IsTopLevel() const { return true; }
34393     virtual wxSize GetMaxSize() const;
34394
34395
34396     void OnCloseWindow(wxCloseEvent& event);
34397     void OnSize(wxSizeEvent& ) { DoLayout(); }
34398
34399
34400     virtual void GetRectForTopLevelChildren(int *x, int *y, int *w, int *h);
34401
34402
34403
34404     void OnActivate(wxActivateEvent &) { }
34405
34406
34407     virtual void DoUpdateWindowUI(wxUpdateUIEvent& event) ;
34408
34409
34410
34411     virtual void ReservedTopLevelWindowFunc1() {}
34412     virtual void ReservedTopLevelWindowFunc2() {}
34413     virtual void ReservedTopLevelWindowFunc3() {}
34414     virtual void ReservedTopLevelWindowFunc4() {}
34415     virtual void ReservedTopLevelWindowFunc5() {}
34416     virtual void ReservedTopLevelWindowFunc6() {}
34417     virtual void ReservedTopLevelWindowFunc7() {}
34418     virtual void ReservedTopLevelWindowFunc8() {}
34419     virtual void ReservedTopLevelWindowFunc9() {}
34420
34421
34422 protected:
34423
34424
34425     virtual void DoClientToScreen(int *x, int *y) const;
34426     virtual void DoScreenToClient(int *x, int *y) const;
34427
34428
34429
34430     virtual bool IsOneOfBars(const wxWindow *) const
34431         { return false; }
34432
34433
34434
34435     bool IsLastBeforeExit() const;
34436
34437
34438     bool SendIconizeEvent(bool iconized = true);
34439
34440
34441
34442     void DoLayout();
34443
34444
34445
34446
34447     static wxSize GetDefaultSize();
34448     static int WidthDefault(int w) { return w == wxDefaultCoord ? GetDefaultSize().x : w; }
34449     static int HeightDefault(int h) { return h == wxDefaultCoord ? GetDefaultSize().y : h; }
34450
34451
34452     wxIconBundle m_icons;
34453
34454     private: wxTopLevelWindowBase(const wxTopLevelWindowBase&); wxTopLevelWindowBase& operator=(const wxTopLevelWindowBase&);
34455     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
34456 };
34457 # 267 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/toplevel.h"
34458 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/toplevel.h" 1
34459 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/toplevel.h"
34460 class wxTopLevelWindowGTK : public wxTopLevelWindowBase
34461 {
34462 public:
34463
34464     wxTopLevelWindowGTK() { Init(); }
34465     wxTopLevelWindowGTK(wxWindow *parent,
34466                         wxWindowID id,
34467                         const wxString& title,
34468                         const wxPoint& pos = wxDefaultPosition,
34469                         const wxSize& size = wxDefaultSize,
34470                         long style = (0x0800 | 0x0040 | 0x0400 | 0x0200 | 0x1000 | 0x20000000 | 0x00400000),
34471                         const wxString& name = wxFrameNameStr)
34472     {
34473         Init();
34474
34475         Create(parent, id, title, pos, size, style, name);
34476     }
34477
34478     bool Create(wxWindow *parent,
34479                 wxWindowID id,
34480                 const wxString& title,
34481                 const wxPoint& pos = wxDefaultPosition,
34482                 const wxSize& size = wxDefaultSize,
34483                 long style = (0x0800 | 0x0040 | 0x0400 | 0x0200 | 0x1000 | 0x20000000 | 0x00400000),
34484                 const wxString& name = wxFrameNameStr);
34485
34486     virtual ~wxTopLevelWindowGTK();
34487
34488
34489     virtual void Maximize(bool maximize = 1);
34490     virtual bool IsMaximized() const;
34491     virtual void Iconize(bool iconize = 1);
34492     virtual bool IsIconized() const;
34493     virtual void SetIcon(const wxIcon& icon);
34494     virtual void SetIcons(const wxIconBundle& icons);
34495     virtual void Restore();
34496
34497     virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL);
34498     virtual bool IsFullScreen() const { return m_fsIsShowing; };
34499
34500     virtual bool SetShape(const wxRegion& region);
34501
34502
34503     virtual void RequestUserAttention(int flags = wxUSER_ATTENTION_INFO);
34504
34505
34506     virtual bool Show(bool show = 1);
34507
34508     virtual void Raise();
34509
34510     virtual bool IsActive();
34511
34512     virtual void SetTitle( const wxString &title );
34513     virtual wxString GetTitle() const { return m_title; }
34514
34515
34516
34517     virtual void AddGrab();
34518     virtual void RemoveGrab();
34519     virtual bool IsGrabbed() const { return m_grabbed; }
34520
34521
34522
34523
34524
34525
34526     virtual void DoMoveWindow(int x, int y, int width, int height);
34527
34528
34529     virtual void GtkOnSize( int x, int y, int width, int height );
34530     virtual void OnInternalIdle();
34531
34532
34533     void SetIconizeState(bool iconic);
34534
34535     wxString m_title;
34536     int m_miniEdge,
34537                   m_miniTitle;
34538     GtkWidget *m_mainWidget;
34539     bool m_insertInClientArea;
34540
34541     bool m_fsIsShowing;
34542     long m_fsSaveGdkFunc, m_fsSaveGdkDecor;
34543     long m_fsSaveFlag;
34544     wxRect m_fsSaveFrame;
34545
34546
34547     long m_gdkFunc,
34548                   m_gdkDecor;
34549
34550 protected:
34551
34552     void Init();
34553
34554
34555     virtual void DoSetSize(int x, int y,
34556                            int width, int height,
34557                            int sizeFlags = (0x0001|0x0002));
34558
34559     virtual void DoSetClientSize(int width, int height);
34560     virtual void DoGetClientSize( int *width, int *height ) const;
34561
34562
34563     bool m_isIconized;
34564
34565
34566     bool m_grabbed;
34567 };
34568 # 268 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/toplevel.h" 2
34569 # 293 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/toplevel.h"
34570         class wxTopLevelWindow : public wxTopLevelWindowGTK
34571         {
34572         public:
34573
34574             wxTopLevelWindow() { Init(); }
34575             wxTopLevelWindow(wxWindow *parent,
34576                        wxWindowID winid,
34577                        const wxString& title,
34578                        const wxPoint& pos = wxDefaultPosition,
34579                        const wxSize& size = wxDefaultSize,
34580                        long style = (0x0800 | 0x0040 | 0x0400 | 0x0200 | 0x1000 | 0x20000000 | 0x00400000),
34581                        const wxString& name = wxFrameNameStr)
34582             {
34583                 Init();
34584                 Create(parent, winid, title, pos, size, style, name);
34585             }
34586
34587             private: wxTopLevelWindow(const wxTopLevelWindow&); wxTopLevelWindow& operator=(const wxTopLevelWindow&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
34588         };
34589 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/frame.h" 2
34590
34591
34592 extern const wxChar* wxFrameNameStr;
34593 extern const wxChar* wxStatusLineNameStr;
34594 extern const wxChar* wxToolBarNameStr;
34595
34596 class wxFrame;
34597 class wxMenuBar;
34598 class wxStatusBar;
34599 class wxToolBar;
34600 # 57 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/frame.h"
34601 class wxFrameBase : public wxTopLevelWindow
34602 {
34603 public:
34604
34605     wxFrameBase();
34606     virtual ~wxFrameBase();
34607
34608     wxFrame *New(wxWindow *parent,
34609                  wxWindowID winid,
34610                  const wxString& title,
34611                  const wxPoint& pos = wxDefaultPosition,
34612                  const wxSize& size = wxDefaultSize,
34613                  long style = (0x0800 | 0x0040 | 0x0400 | 0x0200 | 0x1000 | 0x20000000 | 0x00400000),
34614                  const wxString& name = wxFrameNameStr);
34615
34616
34617
34618
34619
34620
34621     virtual wxPoint GetClientAreaOrigin() const;
34622
34623
34624
34625     virtual void SendSizeEvent();
34626
34627
34628
34629
34630
34631     virtual void SetMenuBar(wxMenuBar *menubar);
34632     virtual wxMenuBar *GetMenuBar() const { return m_frameMenuBar; }
34633
34634
34635
34636     bool ProcessCommand(int winid);
34637
34638
34639
34640
34641
34642     virtual wxStatusBar* CreateStatusBar(int number = 1,
34643                                          long style = 0x0010|0x00010000,
34644                                          wxWindowID winid = 0,
34645                                          const wxString& name =
34646                                             wxStatusLineNameStr);
34647
34648     virtual wxStatusBar *OnCreateStatusBar(int number,
34649                                            long style,
34650                                            wxWindowID winid,
34651                                            const wxString& name);
34652
34653     virtual wxStatusBar *GetStatusBar() const { return m_frameStatusBar; }
34654
34655
34656     virtual void SetStatusBar(wxStatusBar *statBar);
34657
34658
34659     virtual void SetStatusText(const wxString &text, int number = 0);
34660     virtual void SetStatusWidths(int n, const int widths_field[]);
34661     void PushStatusText(const wxString &text, int number = 0);
34662     void PopStatusText(int number = 0);
34663
34664
34665     void SetStatusBarPane(int n) { m_statusBarPane = n; }
34666     int GetStatusBarPane() const { return m_statusBarPane; }
34667
34668
34669
34670
34671
34672
34673
34674     virtual wxToolBar* CreateToolBar(long style = -1,
34675                                      wxWindowID winid = wxID_ANY,
34676                                      const wxString& name = wxToolBarNameStr);
34677
34678     virtual wxToolBar *OnCreateToolBar(long style,
34679                                        wxWindowID winid,
34680                                        const wxString& name );
34681
34682
34683     virtual wxToolBar *GetToolBar() const { return m_frameToolBar; }
34684     virtual void SetToolBar(wxToolBar *toolbar);
34685 # 149 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/frame.h"
34686     void OnMenuOpen(wxMenuEvent& event);
34687     void OnMenuClose(wxMenuEvent& event);
34688     void OnMenuHighlight(wxMenuEvent& event);
34689
34690
34691
34692
34693     virtual void DoMenuUpdates(wxMenu* menu = __null);
34694
34695
34696
34697     virtual void UpdateWindowUI(long flags = wxUPDATE_UI_NONE);
34698
34699
34700     virtual void OnInternalIdle();
34701 # 178 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/frame.h"
34702     virtual void DoGiveHelp(const wxString& text, bool show);
34703
34704
34705
34706
34707
34708
34709 protected:
34710
34711
34712
34713
34714
34715     void DeleteAllBars();
34716
34717
34718     virtual bool IsOneOfBars(const wxWindow *win) const;
34719
34720
34721
34722     virtual void PositionMenuBar() { }
34723
34724
34725
34726     virtual void DetachMenuBar();
34727
34728
34729
34730     virtual void AttachMenuBar(wxMenuBar *menubar);
34731
34732     wxMenuBar *m_frameMenuBar;
34733
34734
34735
34736     wxString m_oldStatusText;
34737
34738
34739
34740
34741
34742
34743     virtual void PositionStatusBar() { }
34744
34745
34746
34747     bool ShowMenuHelp(wxStatusBar *statbar, int helpid);
34748
34749     wxStatusBar *m_frameStatusBar;
34750
34751
34752
34753     int m_statusBarPane;
34754
34755
34756
34757
34758     virtual void PositionToolBar() { }
34759
34760     wxToolBar *m_frameToolBar;
34761
34762
34763
34764     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
34765
34766
34767     private: wxFrameBase(const wxFrameBase&); wxFrameBase& operator=(const wxFrameBase&);
34768 };
34769 # 255 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/frame.h"
34770 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/frame.h" 1
34771 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/frame.h"
34772 class wxMDIChildFrame;
34773 class wxMDIClientWindow;
34774 class wxMenu;
34775 class wxMenuBar;
34776 class wxToolBar;
34777 class wxStatusBar;
34778
34779
34780
34781
34782
34783 class wxFrame : public wxFrameBase
34784 {
34785 public:
34786
34787     wxFrame() { Init(); }
34788     wxFrame(wxWindow *parent,
34789                wxWindowID id,
34790                const wxString& title,
34791                const wxPoint& pos = wxDefaultPosition,
34792                const wxSize& size = wxDefaultSize,
34793                long style = (0x0800 | 0x0040 | 0x0400 | 0x0200 | 0x1000 | 0x20000000 | 0x00400000),
34794                const wxString& name = wxFrameNameStr)
34795     {
34796         Init();
34797
34798         Create(parent, id, title, pos, size, style, name);
34799     }
34800
34801     bool Create(wxWindow *parent,
34802                 wxWindowID id,
34803                 const wxString& title,
34804                 const wxPoint& pos = wxDefaultPosition,
34805                 const wxSize& size = wxDefaultSize,
34806                 long style = (0x0800 | 0x0040 | 0x0400 | 0x0200 | 0x1000 | 0x20000000 | 0x00400000),
34807                 const wxString& name = wxFrameNameStr);
34808
34809     virtual ~wxFrame();
34810
34811
34812     virtual void PositionStatusBar();
34813
34814     virtual wxStatusBar* CreateStatusBar(int number = 1,
34815                                          long style = 0x0010|0x00010000,
34816                                          wxWindowID id = 0,
34817                                          const wxString& name = wxStatusLineNameStr);
34818
34819     void SetStatusBar(wxStatusBar *statbar);
34820
34821
34822
34823     virtual wxToolBar* CreateToolBar(long style = -1,
34824                                      wxWindowID id = -1,
34825                                      const wxString& name = wxToolBarNameStr);
34826     void SetToolBar(wxToolBar *toolbar);
34827
34828
34829     wxPoint GetClientAreaOrigin() const { return wxPoint(0, 0); }
34830
34831
34832
34833
34834
34835     virtual void GtkOnSize( int x, int y, int width, int height );
34836     virtual void OnInternalIdle();
34837
34838     bool m_menuBarDetached;
34839     int m_menuBarHeight;
34840     bool m_toolBarDetached;
34841
34842 protected:
34843
34844     void Init();
34845
34846
34847     virtual void DoSetClientSize(int width, int height);
34848     virtual void DoGetClientSize( int *width, int *height ) const;
34849
34850
34851
34852     virtual void DetachMenuBar();
34853     virtual void AttachMenuBar(wxMenuBar *menubar);
34854
34855 public:
34856
34857     void UpdateMenuBarSize();
34858
34859
34860
34861     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
34862 };
34863 # 256 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/frame.h" 2
34864 # 18 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/app.h" 2
34865 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/icon.h" 1
34866 # 15 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/icon.h"
34867 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/iconloc.h" 1
34868 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/iconloc.h"
34869 class wxIconLocationBase
34870 {
34871 public:
34872
34873     explicit wxIconLocationBase(const wxString& filename = wxEmptyString)
34874         : m_filename(filename) { }
34875
34876
34877
34878
34879
34880     bool IsOk() const { return !m_filename.empty(); }
34881
34882
34883     void SetFileName(const wxString& filename) { m_filename = filename; }
34884     const wxString& GetFileName() const { return m_filename; }
34885
34886 private:
34887     wxString m_filename;
34888 };
34889 # 71 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/iconloc.h"
34890 class wxIconLocation : public wxIconLocationBase
34891 {
34892 public:
34893     explicit wxIconLocation(const wxString& filename = wxEmptyString)
34894         : wxIconLocationBase(filename) { }
34895 };
34896 # 16 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/icon.h" 2
34897 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/icon.h"
34898 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/icon.h" 1
34899 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/icon.h"
34900 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/bitmap.h" 1
34901 # 29 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/bitmap.h"
34902 class wxBitmap;
34903 class wxBitmapHandler;
34904 class wxImage;
34905 class wxMask;
34906 class wxPalette;
34907 # 49 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/bitmap.h"
34908 class wxBitmapHandlerBase : public wxObject
34909 {
34910 public:
34911     wxBitmapHandlerBase()
34912         : m_name()
34913         , m_extension()
34914         , m_type(wxBITMAP_TYPE_INVALID)
34915     { }
34916
34917     virtual ~wxBitmapHandlerBase() { }
34918
34919     virtual bool Create(wxBitmap *bitmap, void *data, long flags,
34920                           int width, int height, int depth = 1) = 0;
34921     virtual bool LoadFile(wxBitmap *bitmap, const wxString& name, long flags,
34922                           int desiredWidth, int desiredHeight) = 0;
34923     virtual bool SaveFile(const wxBitmap *bitmap, const wxString& name,
34924                           int type, const wxPalette *palette = __null) = 0;
34925
34926     void SetName(const wxString& name) { m_name = name; }
34927     void SetExtension(const wxString& ext) { m_extension = ext; }
34928     void SetType(wxBitmapType type) { m_type = type; }
34929     wxString GetName() const { return m_name; }
34930     wxString GetExtension() const { return m_extension; }
34931     wxBitmapType GetType() const { return m_type; }
34932
34933 private:
34934     wxString m_name;
34935     wxString m_extension;
34936     wxBitmapType m_type;
34937
34938 private:
34939     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const;
34940 };
34941
34942 class wxBitmapBase : public wxGDIObject
34943 {
34944 public:
34945     wxBitmapBase() : wxGDIObject() {}
34946     virtual ~wxBitmapBase() {}
34947 # 109 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/bitmap.h"
34948     virtual bool Ok() const = 0;
34949
34950     virtual int GetHeight() const = 0;
34951     virtual int GetWidth() const = 0;
34952     virtual int GetDepth() const = 0;
34953
34954     virtual wxImage ConvertToImage() const = 0;
34955
34956     virtual wxMask *GetMask() const = 0;
34957     virtual void SetMask(wxMask *mask) = 0;
34958
34959     virtual wxBitmap GetSubBitmap(const wxRect& rect) const = 0;
34960
34961     virtual bool SaveFile(const wxString &name, wxBitmapType type,
34962                           const wxPalette *palette = (wxPalette *)__null) const = 0;
34963     virtual bool LoadFile(const wxString &name, wxBitmapType type) = 0;
34964 # 135 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/bitmap.h"
34965     virtual wxPalette *GetPalette() const = 0;
34966     virtual void SetPalette(const wxPalette& palette) = 0;
34967
34968
34969
34970     virtual bool CopyFromIcon(const wxIcon& icon) = 0;
34971
34972
34973     virtual void SetHeight(int height) = 0;
34974     virtual void SetWidth(int width) = 0;
34975     virtual void SetDepth(int depth) = 0;
34976
34977
34978     static inline wxList& GetHandlers() { return sm_handlers; }
34979     static void AddHandler(wxBitmapHandlerBase *handler);
34980     static void InsertHandler(wxBitmapHandlerBase *handler);
34981     static bool RemoveHandler(const wxString& name);
34982     static wxBitmapHandler *FindHandler(const wxString& name);
34983     static wxBitmapHandler *FindHandler(const wxString& extension, wxBitmapType bitmapType);
34984     static wxBitmapHandler *FindHandler(wxBitmapType bitmapType);
34985
34986
34987
34988
34989     static void CleanUpHandlers();
34990
34991 protected:
34992     static wxList sm_handlers;
34993
34994     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const;
34995 };
34996 # 175 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/bitmap.h"
34997 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/bitmap.h" 1
34998 # 25 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/bitmap.h"
34999 typedef struct _GdkPixbuf GdkPixbuf;
35000
35001
35002 class wxPixelDataBase;
35003
35004
35005
35006
35007
35008 class wxMask;
35009 class wxBitmap;
35010 class wxImage;
35011
35012
35013
35014
35015
35016 class wxMask: public wxObject
35017 {
35018 public:
35019     wxMask();
35020     wxMask( const wxBitmap& bitmap, const wxColour& colour );
35021
35022     wxMask( const wxBitmap& bitmap, int paletteIndex );
35023
35024     wxMask( const wxBitmap& bitmap );
35025     ~wxMask();
35026
35027     bool Create( const wxBitmap& bitmap, const wxColour& colour );
35028
35029     bool Create( const wxBitmap& bitmap, int paletteIndex );
35030
35031     bool Create( const wxBitmap& bitmap );
35032
35033
35034     GdkBitmap *m_bitmap;
35035
35036     GdkBitmap *GetBitmap() const;
35037
35038 private:
35039     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
35040 };
35041
35042
35043
35044
35045
35046 class wxBitmap: public wxBitmapBase
35047 {
35048 public:
35049     wxBitmap();
35050     wxBitmap( int width, int height, int depth = -1 );
35051     wxBitmap( const char bits[], int width, int height, int depth = 1 );
35052     wxBitmap( const char **bits ) { (void)CreateFromXpm(bits); }
35053     wxBitmap( char **bits ) { (void)CreateFromXpm((const char **)bits); }
35054     wxBitmap( const wxBitmap& bmp );
35055     wxBitmap( const wxString &filename, wxBitmapType type = wxBITMAP_TYPE_XPM );
35056     wxBitmap( const wxImage& image, int depth = -1 ) { (void)CreateFromImage(image, depth); }
35057     ~wxBitmap();
35058     wxBitmap& operator = ( const wxBitmap& bmp );
35059     bool operator == ( const wxBitmap& bmp ) const;
35060     bool operator != ( const wxBitmap& bmp ) const;
35061     bool Ok() const;
35062
35063     bool Create(int width, int height, int depth = -1);
35064
35065     int GetHeight() const;
35066     int GetWidth() const;
35067     int GetDepth() const;
35068
35069     wxImage ConvertToImage() const;
35070
35071
35072     virtual bool CopyFromIcon(const wxIcon& icon);
35073
35074     wxMask *GetMask() const;
35075     void SetMask( wxMask *mask );
35076
35077     wxBitmap GetSubBitmap( const wxRect& rect ) const;
35078
35079     bool SaveFile(const wxString &name, wxBitmapType type,
35080                           const wxPalette *palette = (wxPalette *)__null) const;
35081     bool LoadFile(const wxString &name, wxBitmapType type = wxBITMAP_TYPE_XPM );
35082
35083
35084     wxPalette *GetPalette() const;
35085     void SetPalette(const wxPalette& palette);
35086     wxPalette *GetColourMap() const { return GetPalette(); };
35087
35088
35089     static void InitStandardHandlers();
35090
35091
35092
35093
35094     void SetHeight( int height );
35095     void SetWidth( int width );
35096     void SetDepth( int depth );
35097     void SetPixmap( GdkPixmap *pixmap );
35098     void SetBitmap( GdkBitmap *bitmap );
35099
35100     void SetPixbuf(GdkPixbuf *pixbuf);
35101
35102
35103     GdkPixmap *GetPixmap() const;
35104     GdkBitmap *GetBitmap() const;
35105     bool HasPixmap() const;
35106
35107     bool HasPixbuf() const;
35108     GdkPixbuf *GetPixbuf() const;
35109
35110
35111
35112     wxBitmap Rescale( int clipx, int clipy, int clipwidth, int clipheight, int width, int height );
35113
35114
35115     void *GetRawData(wxPixelDataBase& data, int bpp);
35116     void UngetRawData(wxPixelDataBase& data);
35117
35118     bool HasAlpha() const;
35119     void UseAlpha();
35120
35121 protected:
35122     bool CreateFromXpm(const char **bits);
35123     bool CreateFromImage(const wxImage& image, int depth);
35124
35125 private:
35126
35127     bool CreateFromImageAsBitmap(const wxImage& image);
35128     bool CreateFromImageAsPixmap(const wxImage& image);
35129
35130
35131     bool CreateFromImageAsPixbuf(const wxImage& image);
35132
35133     enum Representation
35134     {
35135         Pixmap,
35136         Pixbuf
35137     };
35138
35139
35140     void PurgeOtherRepresentations(Representation keep);
35141
35142     friend class wxMemoryDC;
35143
35144     friend class wxBitmapHandler;
35145
35146 private:
35147     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
35148 };
35149
35150
35151
35152
35153
35154 class wxBitmapHandler: public wxBitmapHandlerBase
35155 {
35156 public:
35157     wxBitmapHandler() { }
35158     virtual ~wxBitmapHandler();
35159
35160     virtual bool Create(wxBitmap *bitmap, void *data, long flags, int width, int height, int depth = 1);
35161     virtual bool LoadFile(wxBitmap *bitmap, const wxString& name, long flags,
35162         int desiredWidth, int desiredHeight);
35163     virtual bool SaveFile(const wxBitmap *bitmap, const wxString& name, int type, const wxPalette *palette = __null);
35164
35165 private:
35166     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
35167 };
35168 # 176 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/bitmap.h" 2
35169 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/icon.h" 2
35170
35171
35172
35173
35174
35175 class wxIcon;
35176
35177
35178
35179
35180
35181 class wxIcon: public wxBitmap
35182 {
35183 public:
35184     wxIcon();
35185     wxIcon( const wxIcon& icon);
35186     wxIcon( const char **bits, int width=-1, int height=-1 );
35187
35188
35189
35190     wxIcon( const wxString& filename, wxBitmapType type = wxBITMAP_TYPE_XPM,
35191             int =-1, int =-1 ) :
35192         wxBitmap(filename, type)
35193     {
35194     }
35195     wxIcon( char **bits, int width=-1, int height=-1 );
35196
35197     wxIcon(const wxIconLocation& loc)
35198         : wxBitmap(loc.GetFileName(), wxBITMAP_TYPE_ANY)
35199     {
35200     }
35201
35202     wxIcon& operator=(const wxIcon& icon);
35203     bool operator==(const wxIcon& icon) const { return m_refData == icon.m_refData; }
35204     bool operator!=(const wxIcon& icon) const { return !(*this == icon); }
35205
35206
35207
35208
35209     void CopyFromBitmap(const wxBitmap& bmp);
35210
35211 private:
35212     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
35213 };
35214 # 25 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/icon.h" 2
35215 # 19 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/app.h" 2
35216 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/strconv.h" 1
35217 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/app.h" 2
35218
35219
35220
35221
35222
35223 class wxApp;
35224 class wxLog;
35225
35226
35227
35228
35229
35230 class wxApp: public wxAppBase
35231 {
35232 public:
35233     wxApp();
35234     virtual ~wxApp();
35235
35236
35237
35238
35239
35240     virtual bool OnInitGui();
35241
35242
35243     virtual bool Yield(bool onlyIfNeeded = 0);
35244     virtual void WakeUpIdle();
35245
35246     virtual bool Initialize(int& argc, wxChar **argv);
35247     virtual void CleanUp();
35248
35249     static bool InitialzeVisual();
35250
35251
35252
35253
35254
35255
35256
35257     gint m_idleTag;
35258     void RemoveIdleTag();
35259
35260     unsigned char *m_colorCube;
35261
35262
35263
35264     void *m_glVisualInfo;
35265     void *m_glFBCInfo;
35266
35267
35268     GdkVisual *GetGdkVisual();
35269
35270 private:
35271
35272
35273
35274
35275
35276     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
35277     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
35278 };
35279 # 571 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h" 2
35280 # 608 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h"
35281 extern void wxExit();
35282
35283
35284 extern bool wxYield();
35285
35286
35287 extern void wxWakeUpIdle();
35288 # 624 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/app.h"
35289 class wxAppInitializer
35290 {
35291 public:
35292     wxAppInitializer(wxAppInitializerFunction fn)
35293         { wxApp::SetInitializerFunction(fn); }
35294 };
35295 # 25 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
35296
35297
35298
35299
35300
35301
35302 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/panel.h" 1
35303 # 15 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/panel.h"
35304 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/panelg.h" 1
35305 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/panelg.h"
35306 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h" 1
35307 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/panelg.h" 2
35308 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/containr.h" 1
35309 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/containr.h"
35310 class wxFocusEvent;
35311 class wxNavigationKeyEvent;
35312 class wxWindow;
35313 class wxWindowBase;
35314 # 38 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/containr.h"
35315 class wxControlContainer
35316 {
35317 public:
35318
35319     wxControlContainer(wxWindow *winParent = __null);
35320     void SetContainerWindow(wxWindow *winParent) { m_winParent = winParent; }
35321 # 52 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/containr.h"
35322     wxWindow *GetDefaultItem() const
35323         { return m_winTmpDefault ? m_winTmpDefault : m_winDefault; }
35324
35325
35326     wxWindow *SetDefaultItem(wxWindow *win)
35327         { wxWindow *winOld = m_winDefault; m_winDefault = win; return winOld; }
35328
35329
35330
35331     void SetTmpDefaultItem(wxWindow *win) { m_winTmpDefault = win; }
35332
35333
35334     void HandleOnNavigationKey(wxNavigationKeyEvent& event);
35335     void HandleOnFocus(wxFocusEvent& event);
35336     void HandleOnWindowDestroy(wxWindowBase *child);
35337
35338
35339
35340     bool DoSetFocus();
35341
35342
35343     bool AcceptsFocus() const;
35344
35345
35346
35347     void SetLastFocus(wxWindow *win);
35348
35349 protected:
35350
35351     bool SetFocusToChild();
35352
35353
35354     wxWindow *m_winParent;
35355
35356
35357     wxWindow *m_winLastFocused;
35358
35359
35360     wxWindow *m_winDefault;
35361
35362
35363     wxWindow *m_winTmpDefault;
35364
35365
35366     bool m_inSetFocus;
35367
35368     private: wxControlContainer(const wxControlContainer&); wxControlContainer& operator=(const wxControlContainer&);
35369 };
35370
35371
35372 extern bool wxSetFocusToChild(wxWindow *win, wxWindow **child);
35373 # 25 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/panelg.h" 2
35374
35375 class wxControlContainer;
35376
35377 extern const wxChar* wxPanelNameStr;
35378
35379
35380
35381
35382
35383 class wxPanel : public wxWindow
35384 {
35385 public:
35386     wxPanel() { Init(); }
35387
35388
35389
35390     wxPanel(wxWindow *parent,
35391             int x, int y, int width, int height,
35392             long style = 0x00080000 | wxBORDER_NONE,
35393             const wxString& name = wxPanelNameStr)
35394     {
35395         Init();
35396
35397         Create(parent, wxID_ANY, wxPoint(x, y), wxSize(width, height), style, name);
35398     }
35399
35400
35401     wxPanel(wxWindow *parent,
35402             wxWindowID winid = wxID_ANY,
35403             const wxPoint& pos = wxDefaultPosition,
35404             const wxSize& size = wxDefaultSize,
35405             long style = 0x00080000 | wxBORDER_NONE,
35406             const wxString& name = wxPanelNameStr)
35407     {
35408         Init();
35409
35410         Create(parent, winid, pos, size, style, name);
35411     }
35412
35413
35414     bool Create(wxWindow *parent, wxWindowID winid,
35415                 const wxPoint& pos = wxDefaultPosition,
35416                 const wxSize& size = wxDefaultSize,
35417                 long style = 0x00080000 | wxBORDER_NONE,
35418                 const wxString& name = wxPanelNameStr);
35419
35420     virtual ~wxPanel();
35421
35422
35423
35424
35425
35426     void OnSize(wxSizeEvent& event);
35427
35428     virtual void InitDialog();
35429
35430
35431
35432
35433
35434
35435     public: void OnNavigationKey(wxNavigationKeyEvent& event); void OnFocus(wxFocusEvent& event); virtual void OnChildFocus(wxChildFocusEvent& event); virtual void SetFocus(); virtual void SetFocusIgnoringChildren(); virtual void RemoveChild(wxWindowBase *child); virtual wxWindow *GetDefaultItem() const; virtual wxWindow *SetDefaultItem(wxWindow *child); virtual void SetTmpDefaultItem(wxWindow *win); virtual bool AcceptsFocus() const; protected: wxControlContainer m_container;
35436
35437 protected:
35438
35439     void Init();
35440
35441 private:
35442     private: wxPanel(const wxPanel&); wxPanel& operator=(const wxPanel&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
35443     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
35444 };
35445 # 16 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/panel.h" 2
35446 # 32 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
35447 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/frame.h" 1
35448 # 33 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
35449 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dc.h" 1
35450 # 28 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dc.h"
35451 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/bitmap.h" 1
35452 # 29 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dc.h" 2
35453 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/brush.h" 1
35454 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/brush.h"
35455 class wxBrushBase: public wxGDIObject
35456 {
35457 public:
35458     virtual ~wxBrushBase() { }
35459
35460     virtual int GetStyle() const = 0;
35461
35462     virtual bool IsHatch() const
35463         { return (GetStyle()>=wxFIRST_HATCH) && (GetStyle()<=wxLAST_HATCH); }
35464 };
35465 # 38 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/brush.h"
35466 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/brush.h" 1
35467 # 28 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/brush.h"
35468 class wxBrush;
35469
35470
35471
35472
35473
35474 class wxBrush: public wxBrushBase
35475 {
35476 public:
35477     wxBrush() { }
35478
35479     wxBrush( const wxColour &colour, int style = wxSOLID );
35480     wxBrush( const wxBitmap &stippleBitmap );
35481     ~wxBrush();
35482
35483     wxBrush( const wxBrush &brush )
35484         : wxBrushBase()
35485         { Ref(brush); }
35486     wxBrush& operator = ( const wxBrush& brush ) { Ref(brush); return *this; }
35487
35488     bool Ok() const { return m_refData != __null; }
35489
35490     bool operator == ( const wxBrush& brush ) const;
35491     bool operator != (const wxBrush& brush) const { return !(*this == brush); }
35492
35493     virtual int GetStyle() const;
35494     wxColour &GetColour() const;
35495     wxBitmap *GetStipple() const;
35496
35497     void SetColour( const wxColour& col );
35498     void SetColour( unsigned char r, unsigned char g, unsigned char b );
35499     void SetStyle( int style );
35500     void SetStipple( const wxBitmap& stipple );
35501
35502 private:
35503
35504     virtual wxObjectRefData *CreateRefData() const;
35505     virtual wxObjectRefData *CloneRefData(const wxObjectRefData *data) const;
35506
35507     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
35508 };
35509 # 39 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/brush.h" 2
35510 # 30 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dc.h" 2
35511 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/pen.h" 1
35512 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/pen.h"
35513 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/pen.h" 1
35514 # 28 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/pen.h"
35515 class wxPen;
35516
35517
35518 typedef gint8 wxGTKDash;
35519 # 40 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/pen.h"
35520 class wxPen: public wxGDIObject
35521 {
35522 public:
35523     wxPen() { }
35524
35525     wxPen( const wxColour &colour, int width = 1, int style = wxSOLID );
35526     ~wxPen();
35527
35528     wxPen( const wxPen& pen )
35529         : wxGDIObject()
35530         { Ref(pen); }
35531     wxPen& operator = ( const wxPen& pen ) { Ref(pen); return *this; }
35532
35533     bool Ok() const { return m_refData != __null; }
35534
35535     bool operator == ( const wxPen& pen ) const;
35536     bool operator != (const wxPen& pen) const { return !(*this == pen); }
35537
35538     void SetColour( const wxColour &colour );
35539     void SetColour( int red, int green, int blue );
35540     void SetCap( int capStyle );
35541     void SetJoin( int joinStyle );
35542     void SetStyle( int style );
35543     void SetWidth( int width );
35544     void SetDashes( int number_of_dashes, const wxDash *dash );
35545
35546     wxColour &GetColour() const;
35547     int GetCap() const;
35548     int GetJoin() const;
35549     int GetStyle() const;
35550     int GetWidth() const;
35551     int GetDashes(wxDash **ptr) const;
35552     int GetDashCount() const;
35553     wxDash* GetDash() const;
35554
35555 private:
35556
35557     virtual wxObjectRefData *CreateRefData() const;
35558     virtual wxObjectRefData *CloneRefData(const wxObjectRefData *data) const;
35559
35560     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
35561 };
35562 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/pen.h" 2
35563 # 31 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dc.h" 2
35564
35565
35566
35567 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/math.h" 1
35568 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/math.h"
35569 # 1 "/usr/include/math.h" 1 3 4
35570
35571
35572
35573
35574
35575
35576
35577 # 1 "/usr/include/gentoo-multilib/amd64/math.h" 1 3 4
35578 # 28 "/usr/include/gentoo-multilib/amd64/math.h" 3 4
35579 # 1 "/usr/include/features.h" 1 3 4
35580 # 29 "/usr/include/gentoo-multilib/amd64/math.h" 2 3 4
35581
35582 extern "C" {
35583
35584
35585
35586 # 1 "/usr/include/bits/huge_val.h" 1 3 4
35587
35588
35589
35590
35591
35592
35593
35594 # 1 "/usr/include/gentoo-multilib/amd64/bits/huge_val.h" 1 3 4
35595 # 9 "/usr/include/bits/huge_val.h" 2 3 4
35596 # 35 "/usr/include/gentoo-multilib/amd64/math.h" 2 3 4
35597
35598 # 1 "/usr/include/bits/huge_valf.h" 1 3 4
35599
35600
35601
35602
35603
35604
35605
35606 # 1 "/usr/include/gentoo-multilib/amd64/bits/huge_valf.h" 1 3 4
35607 # 9 "/usr/include/bits/huge_valf.h" 2 3 4
35608 # 37 "/usr/include/gentoo-multilib/amd64/math.h" 2 3 4
35609 # 1 "/usr/include/bits/huge_vall.h" 1 3 4
35610
35611
35612
35613
35614
35615
35616
35617 # 1 "/usr/include/gentoo-multilib/amd64/bits/huge_vall.h" 1 3 4
35618 # 9 "/usr/include/bits/huge_vall.h" 2 3 4
35619 # 38 "/usr/include/gentoo-multilib/amd64/math.h" 2 3 4
35620
35621
35622 # 1 "/usr/include/bits/inf.h" 1 3 4
35623
35624
35625
35626
35627
35628
35629
35630 # 1 "/usr/include/gentoo-multilib/amd64/bits/inf.h" 1 3 4
35631 # 9 "/usr/include/bits/inf.h" 2 3 4
35632 # 41 "/usr/include/gentoo-multilib/amd64/math.h" 2 3 4
35633
35634
35635 # 1 "/usr/include/bits/nan.h" 1 3 4
35636
35637
35638
35639
35640
35641
35642
35643 # 1 "/usr/include/gentoo-multilib/amd64/bits/nan.h" 1 3 4
35644 # 9 "/usr/include/bits/nan.h" 2 3 4
35645 # 44 "/usr/include/gentoo-multilib/amd64/math.h" 2 3 4
35646
35647
35648
35649 # 1 "/usr/include/bits/mathdef.h" 1 3 4
35650
35651
35652
35653
35654
35655
35656
35657 # 1 "/usr/include/gentoo-multilib/amd64/bits/mathdef.h" 1 3 4
35658 # 26 "/usr/include/gentoo-multilib/amd64/bits/mathdef.h" 3 4
35659 # 1 "/usr/include/bits/wordsize.h" 1 3 4
35660
35661
35662
35663
35664
35665
35666
35667 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
35668 # 9 "/usr/include/bits/wordsize.h" 2 3 4
35669 # 27 "/usr/include/gentoo-multilib/amd64/bits/mathdef.h" 2 3 4
35670
35671
35672
35673
35674 typedef float float_t;
35675 typedef double double_t;
35676 # 9 "/usr/include/bits/mathdef.h" 2 3 4
35677 # 48 "/usr/include/gentoo-multilib/amd64/math.h" 2 3 4
35678 # 71 "/usr/include/gentoo-multilib/amd64/math.h" 3 4
35679 # 1 "/usr/include/bits/mathcalls.h" 1 3 4
35680
35681
35682
35683
35684
35685
35686
35687 # 1 "/usr/include/gentoo-multilib/amd64/bits/mathcalls.h" 1 3 4
35688 # 53 "/usr/include/gentoo-multilib/amd64/bits/mathcalls.h" 3 4
35689
35690
35691 extern double acos (double __x) throw (); extern double __acos (double __x) throw ();
35692
35693 extern double asin (double __x) throw (); extern double __asin (double __x) throw ();
35694
35695 extern double atan (double __x) throw (); extern double __atan (double __x) throw ();
35696
35697 extern double atan2 (double __y, double __x) throw (); extern double __atan2 (double __y, double __x) throw ();
35698
35699
35700 extern double cos (double __x) throw (); extern double __cos (double __x) throw ();
35701
35702 extern double sin (double __x) throw (); extern double __sin (double __x) throw ();
35703
35704 extern double tan (double __x) throw (); extern double __tan (double __x) throw ();
35705
35706
35707
35708
35709 extern double cosh (double __x) throw (); extern double __cosh (double __x) throw ();
35710
35711 extern double sinh (double __x) throw (); extern double __sinh (double __x) throw ();
35712
35713 extern double tanh (double __x) throw (); extern double __tanh (double __x) throw ();
35714
35715
35716
35717
35718 extern void sincos (double __x, double *__sinx, double *__cosx) throw (); extern void __sincos (double __x, double *__sinx, double *__cosx) throw ();
35719
35720
35721
35722
35723
35724
35725 extern double acosh (double __x) throw (); extern double __acosh (double __x) throw ();
35726
35727 extern double asinh (double __x) throw (); extern double __asinh (double __x) throw ();
35728
35729 extern double atanh (double __x) throw (); extern double __atanh (double __x) throw ();
35730
35731
35732
35733
35734
35735
35736
35737 extern double exp (double __x) throw (); extern double __exp (double __x) throw ();
35738
35739
35740 extern double frexp (double __x, int *__exponent) throw (); extern double __frexp (double __x, int *__exponent) throw ();
35741
35742
35743 extern double ldexp (double __x, int __exponent) throw (); extern double __ldexp (double __x, int __exponent) throw ();
35744
35745
35746 extern double log (double __x) throw (); extern double __log (double __x) throw ();
35747
35748
35749 extern double log10 (double __x) throw (); extern double __log10 (double __x) throw ();
35750
35751
35752 extern double modf (double __x, double *__iptr) throw (); extern double __modf (double __x, double *__iptr) throw ();
35753
35754
35755
35756
35757 extern double exp10 (double __x) throw (); extern double __exp10 (double __x) throw ();
35758
35759 extern double pow10 (double __x) throw (); extern double __pow10 (double __x) throw ();
35760
35761
35762
35763
35764
35765 extern double expm1 (double __x) throw (); extern double __expm1 (double __x) throw ();
35766
35767
35768 extern double log1p (double __x) throw (); extern double __log1p (double __x) throw ();
35769
35770
35771 extern double logb (double __x) throw (); extern double __logb (double __x) throw ();
35772
35773
35774
35775
35776
35777
35778 extern double exp2 (double __x) throw (); extern double __exp2 (double __x) throw ();
35779
35780
35781 extern double log2 (double __x) throw (); extern double __log2 (double __x) throw ();
35782
35783
35784
35785
35786
35787
35788
35789
35790 extern double pow (double __x, double __y) throw (); extern double __pow (double __x, double __y) throw ();
35791
35792
35793 extern double sqrt (double __x) throw (); extern double __sqrt (double __x) throw ();
35794
35795
35796
35797
35798
35799 extern double hypot (double __x, double __y) throw (); extern double __hypot (double __x, double __y) throw ();
35800
35801
35802
35803
35804
35805
35806 extern double cbrt (double __x) throw (); extern double __cbrt (double __x) throw ();
35807
35808
35809
35810
35811
35812
35813
35814
35815 extern double ceil (double __x) throw () __attribute__ ((__const__)); extern double __ceil (double __x) throw () __attribute__ ((__const__));
35816
35817
35818 extern double fabs (double __x) throw () __attribute__ ((__const__)); extern double __fabs (double __x) throw () __attribute__ ((__const__));
35819
35820
35821 extern double floor (double __x) throw () __attribute__ ((__const__)); extern double __floor (double __x) throw () __attribute__ ((__const__));
35822
35823
35824 extern double fmod (double __x, double __y) throw (); extern double __fmod (double __x, double __y) throw ();
35825
35826
35827
35828
35829 extern int __isinf (double __value) throw () __attribute__ ((__const__));
35830
35831
35832 extern int __finite (double __value) throw () __attribute__ ((__const__));
35833
35834
35835
35836
35837
35838 extern int isinf (double __value) throw () __attribute__ ((__const__));
35839
35840
35841 extern int finite (double __value) throw () __attribute__ ((__const__));
35842
35843
35844 extern double drem (double __x, double __y) throw (); extern double __drem (double __x, double __y) throw ();
35845
35846
35847
35848 extern double significand (double __x) throw (); extern double __significand (double __x) throw ();
35849
35850
35851
35852
35853
35854 extern double copysign (double __x, double __y) throw () __attribute__ ((__const__)); extern double __copysign (double __x, double __y) throw () __attribute__ ((__const__));
35855
35856
35857
35858
35859
35860
35861 extern double nan (__const char *__tagb) throw () __attribute__ ((__const__)); extern double __nan (__const char *__tagb) throw () __attribute__ ((__const__));
35862
35863
35864
35865
35866
35867 extern int __isnan (double __value) throw () __attribute__ ((__const__));
35868
35869
35870
35871 extern int isnan (double __value) throw () __attribute__ ((__const__));
35872
35873
35874 extern double j0 (double) throw (); extern double __j0 (double) throw ();
35875 extern double j1 (double) throw (); extern double __j1 (double) throw ();
35876 extern double jn (int, double) throw (); extern double __jn (int, double) throw ();
35877 extern double y0 (double) throw (); extern double __y0 (double) throw ();
35878 extern double y1 (double) throw (); extern double __y1 (double) throw ();
35879 extern double yn (int, double) throw (); extern double __yn (int, double) throw ();
35880
35881
35882
35883
35884
35885
35886 extern double erf (double) throw (); extern double __erf (double) throw ();
35887 extern double erfc (double) throw (); extern double __erfc (double) throw ();
35888 extern double lgamma (double) throw (); extern double __lgamma (double) throw ();
35889
35890
35891
35892
35893
35894
35895 extern double tgamma (double) throw (); extern double __tgamma (double) throw ();
35896
35897
35898
35899
35900
35901 extern double gamma (double) throw (); extern double __gamma (double) throw ();
35902
35903
35904
35905
35906
35907
35908 extern double lgamma_r (double, int *__signgamp) throw (); extern double __lgamma_r (double, int *__signgamp) throw ();
35909
35910
35911
35912
35913
35914
35915
35916 extern double rint (double __x) throw (); extern double __rint (double __x) throw ();
35917
35918
35919 extern double nextafter (double __x, double __y) throw () __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) throw () __attribute__ ((__const__));
35920
35921 extern double nexttoward (double __x, long double __y) throw () __attribute__ ((__const__)); extern double __nexttoward (double __x, long double __y) throw () __attribute__ ((__const__));
35922
35923
35924
35925 extern double remainder (double __x, double __y) throw (); extern double __remainder (double __x, double __y) throw ();
35926
35927
35928
35929 extern double scalbn (double __x, int __n) throw (); extern double __scalbn (double __x, int __n) throw ();
35930
35931
35932
35933 extern int ilogb (double __x) throw (); extern int __ilogb (double __x) throw ();
35934
35935
35936
35937
35938 extern double scalbln (double __x, long int __n) throw (); extern double __scalbln (double __x, long int __n) throw ();
35939
35940
35941
35942 extern double nearbyint (double __x) throw (); extern double __nearbyint (double __x) throw ();
35943
35944
35945
35946 extern double round (double __x) throw () __attribute__ ((__const__)); extern double __round (double __x) throw () __attribute__ ((__const__));
35947
35948
35949
35950 extern double trunc (double __x) throw () __attribute__ ((__const__)); extern double __trunc (double __x) throw () __attribute__ ((__const__));
35951
35952
35953
35954
35955 extern double remquo (double __x, double __y, int *__quo) throw (); extern double __remquo (double __x, double __y, int *__quo) throw ();
35956
35957
35958
35959
35960
35961
35962 extern long int lrint (double __x) throw (); extern long int __lrint (double __x) throw ();
35963 extern long long int llrint (double __x) throw (); extern long long int __llrint (double __x) throw ();
35964
35965
35966
35967 extern long int lround (double __x) throw (); extern long int __lround (double __x) throw ();
35968 extern long long int llround (double __x) throw (); extern long long int __llround (double __x) throw ();
35969
35970
35971
35972 extern double fdim (double __x, double __y) throw (); extern double __fdim (double __x, double __y) throw ();
35973
35974
35975 extern double fmax (double __x, double __y) throw (); extern double __fmax (double __x, double __y) throw ();
35976
35977
35978 extern double fmin (double __x, double __y) throw (); extern double __fmin (double __x, double __y) throw ();
35979
35980
35981
35982 extern int __fpclassify (double __value) throw ()
35983      __attribute__ ((__const__));
35984
35985
35986 extern int __signbit (double __value) throw ()
35987      __attribute__ ((__const__));
35988
35989
35990
35991 extern double fma (double __x, double __y, double __z) throw (); extern double __fma (double __x, double __y, double __z) throw ();
35992
35993
35994
35995
35996
35997
35998
35999
36000 extern double scalb (double __x, double __n) throw (); extern double __scalb (double __x, double __n) throw ();
36001 # 9 "/usr/include/bits/mathcalls.h" 2 3 4
36002 # 72 "/usr/include/gentoo-multilib/amd64/math.h" 2 3 4
36003 # 94 "/usr/include/gentoo-multilib/amd64/math.h" 3 4
36004 # 1 "/usr/include/bits/mathcalls.h" 1 3 4
36005
36006
36007
36008
36009
36010
36011
36012 # 1 "/usr/include/gentoo-multilib/amd64/bits/mathcalls.h" 1 3 4
36013 # 53 "/usr/include/gentoo-multilib/amd64/bits/mathcalls.h" 3 4
36014
36015
36016 extern float acosf (float __x) throw (); extern float __acosf (float __x) throw ();
36017
36018 extern float asinf (float __x) throw (); extern float __asinf (float __x) throw ();
36019
36020 extern float atanf (float __x) throw (); extern float __atanf (float __x) throw ();
36021
36022 extern float atan2f (float __y, float __x) throw (); extern float __atan2f (float __y, float __x) throw ();
36023
36024
36025 extern float cosf (float __x) throw (); extern float __cosf (float __x) throw ();
36026
36027 extern float sinf (float __x) throw (); extern float __sinf (float __x) throw ();
36028
36029 extern float tanf (float __x) throw (); extern float __tanf (float __x) throw ();
36030
36031
36032
36033
36034 extern float coshf (float __x) throw (); extern float __coshf (float __x) throw ();
36035
36036 extern float sinhf (float __x) throw (); extern float __sinhf (float __x) throw ();
36037
36038 extern float tanhf (float __x) throw (); extern float __tanhf (float __x) throw ();
36039
36040
36041
36042
36043 extern void sincosf (float __x, float *__sinx, float *__cosx) throw (); extern void __sincosf (float __x, float *__sinx, float *__cosx) throw ();
36044
36045
36046
36047
36048
36049
36050 extern float acoshf (float __x) throw (); extern float __acoshf (float __x) throw ();
36051
36052 extern float asinhf (float __x) throw (); extern float __asinhf (float __x) throw ();
36053
36054 extern float atanhf (float __x) throw (); extern float __atanhf (float __x) throw ();
36055
36056
36057
36058
36059
36060
36061
36062 extern float expf (float __x) throw (); extern float __expf (float __x) throw ();
36063
36064
36065 extern float frexpf (float __x, int *__exponent) throw (); extern float __frexpf (float __x, int *__exponent) throw ();
36066
36067
36068 extern float ldexpf (float __x, int __exponent) throw (); extern float __ldexpf (float __x, int __exponent) throw ();
36069
36070
36071 extern float logf (float __x) throw (); extern float __logf (float __x) throw ();
36072
36073
36074 extern float log10f (float __x) throw (); extern float __log10f (float __x) throw ();
36075
36076
36077 extern float modff (float __x, float *__iptr) throw (); extern float __modff (float __x, float *__iptr) throw ();
36078
36079
36080
36081
36082 extern float exp10f (float __x) throw (); extern float __exp10f (float __x) throw ();
36083
36084 extern float pow10f (float __x) throw (); extern float __pow10f (float __x) throw ();
36085
36086
36087
36088
36089
36090 extern float expm1f (float __x) throw (); extern float __expm1f (float __x) throw ();
36091
36092
36093 extern float log1pf (float __x) throw (); extern float __log1pf (float __x) throw ();
36094
36095
36096 extern float logbf (float __x) throw (); extern float __logbf (float __x) throw ();
36097
36098
36099
36100
36101
36102
36103 extern float exp2f (float __x) throw (); extern float __exp2f (float __x) throw ();
36104
36105
36106 extern float log2f (float __x) throw (); extern float __log2f (float __x) throw ();
36107
36108
36109
36110
36111
36112
36113
36114
36115 extern float powf (float __x, float __y) throw (); extern float __powf (float __x, float __y) throw ();
36116
36117
36118 extern float sqrtf (float __x) throw (); extern float __sqrtf (float __x) throw ();
36119
36120
36121
36122
36123
36124 extern float hypotf (float __x, float __y) throw (); extern float __hypotf (float __x, float __y) throw ();
36125
36126
36127
36128
36129
36130
36131 extern float cbrtf (float __x) throw (); extern float __cbrtf (float __x) throw ();
36132
36133
36134
36135
36136
36137
36138
36139
36140 extern float ceilf (float __x) throw () __attribute__ ((__const__)); extern float __ceilf (float __x) throw () __attribute__ ((__const__));
36141
36142
36143 extern float fabsf (float __x) throw () __attribute__ ((__const__)); extern float __fabsf (float __x) throw () __attribute__ ((__const__));
36144
36145
36146 extern float floorf (float __x) throw () __attribute__ ((__const__)); extern float __floorf (float __x) throw () __attribute__ ((__const__));
36147
36148
36149 extern float fmodf (float __x, float __y) throw (); extern float __fmodf (float __x, float __y) throw ();
36150
36151
36152
36153
36154 extern int __isinff (float __value) throw () __attribute__ ((__const__));
36155
36156
36157 extern int __finitef (float __value) throw () __attribute__ ((__const__));
36158
36159
36160
36161
36162
36163 extern int isinff (float __value) throw () __attribute__ ((__const__));
36164
36165
36166 extern int finitef (float __value) throw () __attribute__ ((__const__));
36167
36168
36169 extern float dremf (float __x, float __y) throw (); extern float __dremf (float __x, float __y) throw ();
36170
36171
36172
36173 extern float significandf (float __x) throw (); extern float __significandf (float __x) throw ();
36174
36175
36176
36177
36178
36179 extern float copysignf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) throw () __attribute__ ((__const__));
36180
36181
36182
36183
36184
36185
36186 extern float nanf (__const char *__tagb) throw () __attribute__ ((__const__)); extern float __nanf (__const char *__tagb) throw () __attribute__ ((__const__));
36187
36188
36189
36190
36191
36192 extern int __isnanf (float __value) throw () __attribute__ ((__const__));
36193
36194
36195
36196 extern int isnanf (float __value) throw () __attribute__ ((__const__));
36197
36198
36199 extern float j0f (float) throw (); extern float __j0f (float) throw ();
36200 extern float j1f (float) throw (); extern float __j1f (float) throw ();
36201 extern float jnf (int, float) throw (); extern float __jnf (int, float) throw ();
36202 extern float y0f (float) throw (); extern float __y0f (float) throw ();
36203 extern float y1f (float) throw (); extern float __y1f (float) throw ();
36204 extern float ynf (int, float) throw (); extern float __ynf (int, float) throw ();
36205
36206
36207
36208
36209
36210
36211 extern float erff (float) throw (); extern float __erff (float) throw ();
36212 extern float erfcf (float) throw (); extern float __erfcf (float) throw ();
36213 extern float lgammaf (float) throw (); extern float __lgammaf (float) throw ();
36214
36215
36216
36217
36218
36219
36220 extern float tgammaf (float) throw (); extern float __tgammaf (float) throw ();
36221
36222
36223
36224
36225
36226 extern float gammaf (float) throw (); extern float __gammaf (float) throw ();
36227
36228
36229
36230
36231
36232
36233 extern float lgammaf_r (float, int *__signgamp) throw (); extern float __lgammaf_r (float, int *__signgamp) throw ();
36234
36235
36236
36237
36238
36239
36240
36241 extern float rintf (float __x) throw (); extern float __rintf (float __x) throw ();
36242
36243
36244 extern float nextafterf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) throw () __attribute__ ((__const__));
36245
36246 extern float nexttowardf (float __x, long double __y) throw () __attribute__ ((__const__)); extern float __nexttowardf (float __x, long double __y) throw () __attribute__ ((__const__));
36247
36248
36249
36250 extern float remainderf (float __x, float __y) throw (); extern float __remainderf (float __x, float __y) throw ();
36251
36252
36253
36254 extern float scalbnf (float __x, int __n) throw (); extern float __scalbnf (float __x, int __n) throw ();
36255
36256
36257
36258 extern int ilogbf (float __x) throw (); extern int __ilogbf (float __x) throw ();
36259
36260
36261
36262
36263 extern float scalblnf (float __x, long int __n) throw (); extern float __scalblnf (float __x, long int __n) throw ();
36264
36265
36266
36267 extern float nearbyintf (float __x) throw (); extern float __nearbyintf (float __x) throw ();
36268
36269
36270
36271 extern float roundf (float __x) throw () __attribute__ ((__const__)); extern float __roundf (float __x) throw () __attribute__ ((__const__));
36272
36273
36274
36275 extern float truncf (float __x) throw () __attribute__ ((__const__)); extern float __truncf (float __x) throw () __attribute__ ((__const__));
36276
36277
36278
36279
36280 extern float remquof (float __x, float __y, int *__quo) throw (); extern float __remquof (float __x, float __y, int *__quo) throw ();
36281
36282
36283
36284
36285
36286
36287 extern long int lrintf (float __x) throw (); extern long int __lrintf (float __x) throw ();
36288 extern long long int llrintf (float __x) throw (); extern long long int __llrintf (float __x) throw ();
36289
36290
36291
36292 extern long int lroundf (float __x) throw (); extern long int __lroundf (float __x) throw ();
36293 extern long long int llroundf (float __x) throw (); extern long long int __llroundf (float __x) throw ();
36294
36295
36296
36297 extern float fdimf (float __x, float __y) throw (); extern float __fdimf (float __x, float __y) throw ();
36298
36299
36300 extern float fmaxf (float __x, float __y) throw (); extern float __fmaxf (float __x, float __y) throw ();
36301
36302
36303 extern float fminf (float __x, float __y) throw (); extern float __fminf (float __x, float __y) throw ();
36304
36305
36306
36307 extern int __fpclassifyf (float __value) throw ()
36308      __attribute__ ((__const__));
36309
36310
36311 extern int __signbitf (float __value) throw ()
36312      __attribute__ ((__const__));
36313
36314
36315
36316 extern float fmaf (float __x, float __y, float __z) throw (); extern float __fmaf (float __x, float __y, float __z) throw ();
36317
36318
36319
36320
36321
36322
36323
36324
36325 extern float scalbf (float __x, float __n) throw (); extern float __scalbf (float __x, float __n) throw ();
36326 # 9 "/usr/include/bits/mathcalls.h" 2 3 4
36327 # 95 "/usr/include/gentoo-multilib/amd64/math.h" 2 3 4
36328 # 141 "/usr/include/gentoo-multilib/amd64/math.h" 3 4
36329 # 1 "/usr/include/bits/mathcalls.h" 1 3 4
36330
36331
36332
36333
36334
36335
36336
36337 # 1 "/usr/include/gentoo-multilib/amd64/bits/mathcalls.h" 1 3 4
36338 # 53 "/usr/include/gentoo-multilib/amd64/bits/mathcalls.h" 3 4
36339
36340
36341 extern long double acosl (long double __x) throw (); extern long double __acosl (long double __x) throw ();
36342
36343 extern long double asinl (long double __x) throw (); extern long double __asinl (long double __x) throw ();
36344
36345 extern long double atanl (long double __x) throw (); extern long double __atanl (long double __x) throw ();
36346
36347 extern long double atan2l (long double __y, long double __x) throw (); extern long double __atan2l (long double __y, long double __x) throw ();
36348
36349
36350 extern long double cosl (long double __x) throw (); extern long double __cosl (long double __x) throw ();
36351
36352 extern long double sinl (long double __x) throw (); extern long double __sinl (long double __x) throw ();
36353
36354 extern long double tanl (long double __x) throw (); extern long double __tanl (long double __x) throw ();
36355
36356
36357
36358
36359 extern long double coshl (long double __x) throw (); extern long double __coshl (long double __x) throw ();
36360
36361 extern long double sinhl (long double __x) throw (); extern long double __sinhl (long double __x) throw ();
36362
36363 extern long double tanhl (long double __x) throw (); extern long double __tanhl (long double __x) throw ();
36364
36365
36366
36367
36368 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 ();
36369
36370
36371
36372
36373
36374
36375 extern long double acoshl (long double __x) throw (); extern long double __acoshl (long double __x) throw ();
36376
36377 extern long double asinhl (long double __x) throw (); extern long double __asinhl (long double __x) throw ();
36378
36379 extern long double atanhl (long double __x) throw (); extern long double __atanhl (long double __x) throw ();
36380
36381
36382
36383
36384
36385
36386
36387 extern long double expl (long double __x) throw (); extern long double __expl (long double __x) throw ();
36388
36389
36390 extern long double frexpl (long double __x, int *__exponent) throw (); extern long double __frexpl (long double __x, int *__exponent) throw ();
36391
36392
36393 extern long double ldexpl (long double __x, int __exponent) throw (); extern long double __ldexpl (long double __x, int __exponent) throw ();
36394
36395
36396 extern long double logl (long double __x) throw (); extern long double __logl (long double __x) throw ();
36397
36398
36399 extern long double log10l (long double __x) throw (); extern long double __log10l (long double __x) throw ();
36400
36401
36402 extern long double modfl (long double __x, long double *__iptr) throw (); extern long double __modfl (long double __x, long double *__iptr) throw ();
36403
36404
36405
36406
36407 extern long double exp10l (long double __x) throw (); extern long double __exp10l (long double __x) throw ();
36408
36409 extern long double pow10l (long double __x) throw (); extern long double __pow10l (long double __x) throw ();
36410
36411
36412
36413
36414
36415 extern long double expm1l (long double __x) throw (); extern long double __expm1l (long double __x) throw ();
36416
36417
36418 extern long double log1pl (long double __x) throw (); extern long double __log1pl (long double __x) throw ();
36419
36420
36421 extern long double logbl (long double __x) throw (); extern long double __logbl (long double __x) throw ();
36422
36423
36424
36425
36426
36427
36428 extern long double exp2l (long double __x) throw (); extern long double __exp2l (long double __x) throw ();
36429
36430
36431 extern long double log2l (long double __x) throw (); extern long double __log2l (long double __x) throw ();
36432
36433
36434
36435
36436
36437
36438
36439
36440 extern long double powl (long double __x, long double __y) throw (); extern long double __powl (long double __x, long double __y) throw ();
36441
36442
36443 extern long double sqrtl (long double __x) throw (); extern long double __sqrtl (long double __x) throw ();
36444
36445
36446
36447
36448
36449 extern long double hypotl (long double __x, long double __y) throw (); extern long double __hypotl (long double __x, long double __y) throw ();
36450
36451
36452
36453
36454
36455
36456 extern long double cbrtl (long double __x) throw (); extern long double __cbrtl (long double __x) throw ();
36457
36458
36459
36460
36461
36462
36463
36464
36465 extern long double ceill (long double __x) throw () __attribute__ ((__const__)); extern long double __ceill (long double __x) throw () __attribute__ ((__const__));
36466
36467
36468 extern long double fabsl (long double __x) throw () __attribute__ ((__const__)); extern long double __fabsl (long double __x) throw () __attribute__ ((__const__));
36469
36470
36471 extern long double floorl (long double __x) throw () __attribute__ ((__const__)); extern long double __floorl (long double __x) throw () __attribute__ ((__const__));
36472
36473
36474 extern long double fmodl (long double __x, long double __y) throw (); extern long double __fmodl (long double __x, long double __y) throw ();
36475
36476
36477
36478
36479 extern int __isinfl (long double __value) throw () __attribute__ ((__const__));
36480
36481
36482 extern int __finitel (long double __value) throw () __attribute__ ((__const__));
36483
36484
36485
36486
36487
36488 extern int isinfl (long double __value) throw () __attribute__ ((__const__));
36489
36490
36491 extern int finitel (long double __value) throw () __attribute__ ((__const__));
36492
36493
36494 extern long double dreml (long double __x, long double __y) throw (); extern long double __dreml (long double __x, long double __y) throw ();
36495
36496
36497
36498 extern long double significandl (long double __x) throw (); extern long double __significandl (long double __x) throw ();
36499
36500
36501
36502
36503
36504 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__));
36505
36506
36507
36508
36509
36510
36511 extern long double nanl (__const char *__tagb) throw () __attribute__ ((__const__)); extern long double __nanl (__const char *__tagb) throw () __attribute__ ((__const__));
36512
36513
36514
36515
36516
36517 extern int __isnanl (long double __value) throw () __attribute__ ((__const__));
36518
36519
36520
36521 extern int isnanl (long double __value) throw () __attribute__ ((__const__));
36522
36523
36524 extern long double j0l (long double) throw (); extern long double __j0l (long double) throw ();
36525 extern long double j1l (long double) throw (); extern long double __j1l (long double) throw ();
36526 extern long double jnl (int, long double) throw (); extern long double __jnl (int, long double) throw ();
36527 extern long double y0l (long double) throw (); extern long double __y0l (long double) throw ();
36528 extern long double y1l (long double) throw (); extern long double __y1l (long double) throw ();
36529 extern long double ynl (int, long double) throw (); extern long double __ynl (int, long double) throw ();
36530
36531
36532
36533
36534
36535
36536 extern long double erfl (long double) throw (); extern long double __erfl (long double) throw ();
36537 extern long double erfcl (long double) throw (); extern long double __erfcl (long double) throw ();
36538 extern long double lgammal (long double) throw (); extern long double __lgammal (long double) throw ();
36539
36540
36541
36542
36543
36544
36545 extern long double tgammal (long double) throw (); extern long double __tgammal (long double) throw ();
36546
36547
36548
36549
36550
36551 extern long double gammal (long double) throw (); extern long double __gammal (long double) throw ();
36552
36553
36554
36555
36556
36557
36558 extern long double lgammal_r (long double, int *__signgamp) throw (); extern long double __lgammal_r (long double, int *__signgamp) throw ();
36559
36560
36561
36562
36563
36564
36565
36566 extern long double rintl (long double __x) throw (); extern long double __rintl (long double __x) throw ();
36567
36568
36569 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__));
36570
36571 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__));
36572
36573
36574
36575 extern long double remainderl (long double __x, long double __y) throw (); extern long double __remainderl (long double __x, long double __y) throw ();
36576
36577
36578
36579 extern long double scalbnl (long double __x, int __n) throw (); extern long double __scalbnl (long double __x, int __n) throw ();
36580
36581
36582
36583 extern int ilogbl (long double __x) throw (); extern int __ilogbl (long double __x) throw ();
36584
36585
36586
36587
36588 extern long double scalblnl (long double __x, long int __n) throw (); extern long double __scalblnl (long double __x, long int __n) throw ();
36589
36590
36591
36592 extern long double nearbyintl (long double __x) throw (); extern long double __nearbyintl (long double __x) throw ();
36593
36594
36595
36596 extern long double roundl (long double __x) throw () __attribute__ ((__const__)); extern long double __roundl (long double __x) throw () __attribute__ ((__const__));
36597
36598
36599
36600 extern long double truncl (long double __x) throw () __attribute__ ((__const__)); extern long double __truncl (long double __x) throw () __attribute__ ((__const__));
36601
36602
36603
36604
36605 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 ();
36606
36607
36608
36609
36610
36611
36612 extern long int lrintl (long double __x) throw (); extern long int __lrintl (long double __x) throw ();
36613 extern long long int llrintl (long double __x) throw (); extern long long int __llrintl (long double __x) throw ();
36614
36615
36616
36617 extern long int lroundl (long double __x) throw (); extern long int __lroundl (long double __x) throw ();
36618 extern long long int llroundl (long double __x) throw (); extern long long int __llroundl (long double __x) throw ();
36619
36620
36621
36622 extern long double fdiml (long double __x, long double __y) throw (); extern long double __fdiml (long double __x, long double __y) throw ();
36623
36624
36625 extern long double fmaxl (long double __x, long double __y) throw (); extern long double __fmaxl (long double __x, long double __y) throw ();
36626
36627
36628 extern long double fminl (long double __x, long double __y) throw (); extern long double __fminl (long double __x, long double __y) throw ();
36629
36630
36631
36632 extern int __fpclassifyl (long double __value) throw ()
36633      __attribute__ ((__const__));
36634
36635
36636 extern int __signbitl (long double __value) throw ()
36637      __attribute__ ((__const__));
36638
36639
36640
36641 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 ();
36642
36643
36644
36645
36646
36647
36648
36649
36650 extern long double scalbl (long double __x, long double __n) throw (); extern long double __scalbl (long double __x, long double __n) throw ();
36651 # 9 "/usr/include/bits/mathcalls.h" 2 3 4
36652 # 142 "/usr/include/gentoo-multilib/amd64/math.h" 2 3 4
36653 # 157 "/usr/include/gentoo-multilib/amd64/math.h" 3 4
36654 extern int signgam;
36655 # 198 "/usr/include/gentoo-multilib/amd64/math.h" 3 4
36656 enum
36657   {
36658     FP_NAN,
36659
36660     FP_INFINITE,
36661
36662     FP_ZERO,
36663
36664     FP_SUBNORMAL,
36665
36666     FP_NORMAL
36667
36668   };
36669 # 284 "/usr/include/gentoo-multilib/amd64/math.h" 3 4
36670 typedef enum
36671 {
36672   _IEEE_ = -1,
36673   _SVID_,
36674   _XOPEN_,
36675   _POSIX_,
36676   _ISOC_
36677 } _LIB_VERSION_TYPE;
36678
36679
36680
36681
36682 extern _LIB_VERSION_TYPE _LIB_VERSION;
36683 # 307 "/usr/include/gentoo-multilib/amd64/math.h" 3 4
36684 struct __exception
36685
36686
36687
36688   {
36689     int type;
36690     char *name;
36691     double arg1;
36692     double arg2;
36693     double retval;
36694   };
36695
36696
36697 extern int matherr (struct __exception *__exc) throw ();
36698 # 409 "/usr/include/gentoo-multilib/amd64/math.h" 3 4
36699 # 1 "/usr/include/bits/mathinline.h" 1 3 4
36700
36701
36702
36703
36704
36705
36706
36707 # 1 "/usr/include/gentoo-multilib/amd64/bits/mathinline.h" 1 3 4
36708 # 35 "/usr/include/gentoo-multilib/amd64/bits/mathinline.h" 3 4
36709 __inline int
36710 __signbitf (float __x) throw ()
36711 {
36712   __extension__ union { float __f; int __i; } __u = { __f: __x };
36713   return __u.__i < 0;
36714 }
36715 __inline int
36716 __signbit (double __x) throw ()
36717 {
36718   __extension__ union { double __d; int __i[2]; } __u = { __d: __x };
36719   return __u.__i[1] < 0;
36720 }
36721 __inline int
36722 __signbitl (long double __x) throw ()
36723 {
36724   __extension__ union { long double __l; int __i[3]; } __u = { __l: __x };
36725   return (__u.__i[2] & 0x8000) != 0;
36726 }
36727 # 9 "/usr/include/bits/mathinline.h" 2 3 4
36728 # 410 "/usr/include/gentoo-multilib/amd64/math.h" 2 3 4
36729 # 465 "/usr/include/gentoo-multilib/amd64/math.h" 3 4
36730 }
36731 # 9 "/usr/include/math.h" 2 3 4
36732 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/math.h" 2
36733 # 102 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/math.h"
36734 inline bool wxIsSameDouble(double x, double y) { return x == y; }
36735
36736
36737 inline bool wxIsNullDouble(double x) { return wxIsSameDouble(x, 0.); }
36738 # 35 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dc.h" 2
36739
36740 class wxDC;
36741 class wxDCBase;
36742
36743 class wxDrawObject
36744 {
36745 public:
36746
36747     wxDrawObject()
36748         : m_isBBoxValid(false)
36749         , m_minX(0), m_minY(0), m_maxX(0), m_maxY(0)
36750     { }
36751
36752     virtual ~wxDrawObject() { }
36753
36754     virtual void Draw(wxDCBase&) const { }
36755
36756     virtual void CalcBoundingBox(wxCoord x, wxCoord y)
36757     {
36758       if ( m_isBBoxValid )
36759       {
36760          if ( x < m_minX ) m_minX = x;
36761          if ( y < m_minY ) m_minY = y;
36762          if ( x > m_maxX ) m_maxX = x;
36763          if ( y > m_maxY ) m_maxY = y;
36764       }
36765       else
36766       {
36767          m_isBBoxValid = true;
36768
36769          m_minX = x;
36770          m_minY = y;
36771          m_maxX = x;
36772          m_maxY = y;
36773       }
36774     }
36775
36776     void ResetBoundingBox()
36777     {
36778         m_isBBoxValid = false;
36779
36780         m_minX = m_maxX = m_minY = m_maxY = 0;
36781     }
36782
36783
36784
36785     wxCoord MinX() const { return m_minX; }
36786     wxCoord MaxX() const { return m_maxX; }
36787     wxCoord MinY() const { return m_minY; }
36788     wxCoord MaxY() const { return m_maxY; }
36789
36790
36791     virtual int GetType()=0;
36792
36793 protected:
36794
36795     bool m_isBBoxValid:1;
36796
36797     wxCoord m_minX, m_minY, m_maxX, m_maxY;
36798 };
36799
36800
36801
36802
36803
36804 extern int wxPageNumber;
36805
36806
36807
36808
36809
36810 class wxDCBase : public wxObject
36811 {
36812 public:
36813     wxDCBase()
36814         : m_colour(wxColourDisplay())
36815         , m_ok(true)
36816         , m_clipping(false)
36817         , m_isInteractive(0)
36818         , m_isBBoxValid(false)
36819         , m_logicalOriginX(0), m_logicalOriginY(0)
36820         , m_deviceOriginX(0), m_deviceOriginY(0)
36821         , m_logicalScaleX(1.0), m_logicalScaleY(1.0)
36822         , m_userScaleX(1.0), m_userScaleY(1.0)
36823         , m_scaleX(1.0), m_scaleY(1.0)
36824         , m_signX(1), m_signY(1)
36825         , m_minX(0), m_minY(0), m_maxX(0), m_maxY(0)
36826         , m_clipX1(0), m_clipY1(0), m_clipX2(0), m_clipY2(0)
36827         , m_logicalFunction(wxCOPY)
36828         , m_backgroundMode(wxTRANSPARENT)
36829         , m_mappingMode(wxMM_TEXT)
36830         , m_pen()
36831         , m_brush()
36832         , m_backgroundBrush(*wxTRANSPARENT_BRUSH)
36833         , m_textForegroundColour(*wxBLACK)
36834         , m_textBackgroundColour(*wxWHITE)
36835         , m_font()
36836
36837         , m_palette()
36838         , m_hasCustomPalette(false)
36839
36840     {
36841         ResetBoundingBox();
36842         ResetClipping();
36843     }
36844
36845     ~wxDCBase() { }
36846
36847     virtual void BeginDrawing() { }
36848     virtual void EndDrawing() { }
36849
36850
36851
36852
36853     virtual void DrawObject(wxDrawObject* drawobject)
36854     {
36855         drawobject->Draw(*this);
36856         CalcBoundingBox(drawobject->MinX(),drawobject->MinY());
36857         CalcBoundingBox(drawobject->MaxX(),drawobject->MaxY());
36858     }
36859
36860     bool FloodFill(wxCoord x, wxCoord y, const wxColour& col,
36861                    int style = wxFLOOD_SURFACE)
36862         { return DoFloodFill(x, y, col, style); }
36863     bool FloodFill(const wxPoint& pt, const wxColour& col,
36864                    int style = wxFLOOD_SURFACE)
36865         { return DoFloodFill(pt.x, pt.y, col, style); }
36866
36867     bool GetPixel(wxCoord x, wxCoord y, wxColour *col) const
36868         { return DoGetPixel(x, y, col); }
36869     bool GetPixel(const wxPoint& pt, wxColour *col) const
36870         { return DoGetPixel(pt.x, pt.y, col); }
36871
36872     void DrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2)
36873         { DoDrawLine(x1, y1, x2, y2); }
36874     void DrawLine(const wxPoint& pt1, const wxPoint& pt2)
36875         { DoDrawLine(pt1.x, pt1.y, pt2.x, pt2.y); }
36876
36877     void CrossHair(wxCoord x, wxCoord y)
36878         { DoCrossHair(x, y); }
36879     void CrossHair(const wxPoint& pt)
36880         { DoCrossHair(pt.x, pt.y); }
36881
36882     void DrawArc(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2,
36883                  wxCoord xc, wxCoord yc)
36884         { DoDrawArc(x1, y1, x2, y2, xc, yc); }
36885     void DrawArc(const wxPoint& pt1, const wxPoint& pt2, const wxPoint& centre)
36886         { DoDrawArc(pt1.x, pt1.y, pt2.x, pt2.y, centre.x, centre.y); }
36887
36888     void DrawCheckMark(wxCoord x, wxCoord y,
36889                        wxCoord width, wxCoord height)
36890         { DoDrawCheckMark(x, y, width, height); }
36891     void DrawCheckMark(const wxRect& rect)
36892         { DoDrawCheckMark(rect.x, rect.y, rect.width, rect.height); }
36893
36894     void DrawEllipticArc(wxCoord x, wxCoord y, wxCoord w, wxCoord h,
36895                          double sa, double ea)
36896         { DoDrawEllipticArc(x, y, w, h, sa, ea); }
36897     void DrawEllipticArc(const wxPoint& pt, const wxSize& sz,
36898                          double sa, double ea)
36899         { DoDrawEllipticArc(pt.x, pt.y, sz.x, sz.y, sa, ea); }
36900
36901     void DrawPoint(wxCoord x, wxCoord y)
36902         { DoDrawPoint(x, y); }
36903     void DrawPoint(const wxPoint& pt)
36904         { DoDrawPoint(pt.x, pt.y); }
36905
36906     void DrawLines(int n, wxPoint points[],
36907                    wxCoord xoffset = 0, wxCoord yoffset = 0)
36908         { DoDrawLines(n, points, xoffset, yoffset); }
36909     void DrawLines(const wxList *list,
36910                    wxCoord xoffset = 0, wxCoord yoffset = 0);
36911
36912     void DrawPolygon(int n, wxPoint points[],
36913                      wxCoord xoffset = 0, wxCoord yoffset = 0,
36914                      int fillStyle = wxODDEVEN_RULE)
36915         { DoDrawPolygon(n, points, xoffset, yoffset, fillStyle); }
36916
36917     void DrawPolygon(const wxList *list,
36918                      wxCoord xoffset = 0, wxCoord yoffset = 0,
36919                      int fillStyle = wxODDEVEN_RULE);
36920
36921     void DrawPolyPolygon(int n, int count[], wxPoint points[],
36922                          wxCoord xoffset = 0, wxCoord yoffset = 0,
36923                          int fillStyle = wxODDEVEN_RULE)
36924         { DoDrawPolyPolygon(n, count, points, xoffset, yoffset, fillStyle); }
36925
36926     void DrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
36927         { DoDrawRectangle(x, y, width, height); }
36928     void DrawRectangle(const wxPoint& pt, const wxSize& sz)
36929         { DoDrawRectangle(pt.x, pt.y, sz.x, sz.y); }
36930     void DrawRectangle(const wxRect& rect)
36931         { DoDrawRectangle(rect.x, rect.y, rect.width, rect.height); }
36932
36933     void DrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height,
36934                               double radius)
36935         { DoDrawRoundedRectangle(x, y, width, height, radius); }
36936     void DrawRoundedRectangle(const wxPoint& pt, const wxSize& sz,
36937                              double radius)
36938         { DoDrawRoundedRectangle(pt.x, pt.y, sz.x, sz.y, radius); }
36939     void DrawRoundedRectangle(const wxRect& r, double radius)
36940         { DoDrawRoundedRectangle(r.x, r.y, r.width, r.height, radius); }
36941
36942     void DrawCircle(wxCoord x, wxCoord y, wxCoord radius)
36943         { DoDrawEllipse(x - radius, y - radius, 2*radius, 2*radius); }
36944     void DrawCircle(const wxPoint& pt, wxCoord radius)
36945         { DrawCircle(pt.x, pt.y, radius); }
36946
36947     void DrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
36948         { DoDrawEllipse(x, y, width, height); }
36949     void DrawEllipse(const wxPoint& pt, const wxSize& sz)
36950         { DoDrawEllipse(pt.x, pt.y, sz.x, sz.y); }
36951     void DrawEllipse(const wxRect& rect)
36952         { DoDrawEllipse(rect.x, rect.y, rect.width, rect.height); }
36953
36954     void DrawIcon(const wxIcon& icon, wxCoord x, wxCoord y)
36955         { DoDrawIcon(icon, x, y); }
36956     void DrawIcon(const wxIcon& icon, const wxPoint& pt)
36957         { DoDrawIcon(icon, pt.x, pt.y); }
36958
36959     void DrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y,
36960                     bool useMask = false)
36961         { DoDrawBitmap(bmp, x, y, useMask); }
36962     void DrawBitmap(const wxBitmap &bmp, const wxPoint& pt,
36963                     bool useMask = false)
36964         { DoDrawBitmap(bmp, pt.x, pt.y, useMask); }
36965
36966     void DrawText(const wxString& text, wxCoord x, wxCoord y)
36967         { DoDrawText(text, x, y); }
36968     void DrawText(const wxString& text, const wxPoint& pt)
36969         { DoDrawText(text, pt.x, pt.y); }
36970
36971     void DrawRotatedText(const wxString& text, wxCoord x, wxCoord y, double angle)
36972         { DoDrawRotatedText(text, x, y, angle); }
36973     void DrawRotatedText(const wxString& text, const wxPoint& pt, double angle)
36974         { DoDrawRotatedText(text, pt.x, pt.y, angle); }
36975
36976
36977
36978
36979
36980     virtual void DrawLabel(const wxString& text,
36981                            const wxBitmap& image,
36982                            const wxRect& rect,
36983                            int alignment = wxALIGN_LEFT | wxALIGN_TOP,
36984                            int indexAccel = -1,
36985                            wxRect *rectBounding = __null);
36986
36987     void DrawLabel(const wxString& text, const wxRect& rect,
36988                    int alignment = wxALIGN_LEFT | wxALIGN_TOP,
36989                    int indexAccel = -1)
36990         { DrawLabel(text, wxNullBitmap, rect, alignment, indexAccel); }
36991
36992     bool Blit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
36993               wxDC *source, wxCoord xsrc, wxCoord ysrc,
36994               int rop = wxCOPY, bool useMask = false, wxCoord xsrcMask = wxDefaultCoord, wxCoord ysrcMask = wxDefaultCoord)
36995     {
36996         return DoBlit(xdest, ydest, width, height,
36997                       source, xsrc, ysrc, rop, useMask, xsrcMask, ysrcMask);
36998     }
36999     bool Blit(const wxPoint& destPt, const wxSize& sz,
37000               wxDC *source, const wxPoint& srcPt,
37001               int rop = wxCOPY, bool useMask = false, const wxPoint& srcPtMask = wxDefaultPosition)
37002     {
37003         return DoBlit(destPt.x, destPt.y, sz.x, sz.y,
37004                       source, srcPt.x, srcPt.y, rop, useMask, srcPtMask.x, srcPtMask.y);
37005     }
37006
37007
37008
37009     void DrawSpline(wxCoord x1, wxCoord y1,
37010                     wxCoord x2, wxCoord y2,
37011                     wxCoord x3, wxCoord y3);
37012     void DrawSpline(int n, wxPoint points[]);
37013
37014     void DrawSpline(wxList *points) { DoDrawSpline(points); }
37015 # 364 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dc.h"
37016     virtual void Clear() = 0;
37017
37018     virtual bool StartDoc(const wxString& ) { return true; }
37019     virtual void EndDoc() { }
37020
37021     virtual void StartPage() { }
37022     virtual void EndPage() { }
37023
37024
37025
37026
37027     virtual void SetFont(const wxFont& font) = 0;
37028     virtual void SetPen(const wxPen& pen) = 0;
37029     virtual void SetBrush(const wxBrush& brush) = 0;
37030     virtual void SetBackground(const wxBrush& brush) = 0;
37031     virtual void SetBackgroundMode(int mode) = 0;
37032
37033     virtual void SetPalette(const wxPalette& palette) = 0;
37034
37035
37036
37037
37038
37039     void SetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
37040         { DoSetClippingRegion(x, y, width, height); }
37041     void SetClippingRegion(const wxPoint& pt, const wxSize& sz)
37042         { DoSetClippingRegion(pt.x, pt.y, sz.x, sz.y); }
37043     void SetClippingRegion(const wxRect& rect)
37044         { DoSetClippingRegion(rect.x, rect.y, rect.width, rect.height); }
37045     void SetClippingRegion(const wxRegion& region)
37046         { DoSetClippingRegionAsRegion(region); }
37047
37048     virtual void DestroyClippingRegion() { ResetClipping(); }
37049
37050     void GetClippingBox(wxCoord *x, wxCoord *y, wxCoord *w, wxCoord *h) const
37051         { DoGetClippingBox(x, y, w, h); }
37052     void GetClippingBox(wxRect& rect) const
37053         {
37054           DoGetClippingBox(&rect.x, &rect.y, &rect.width, &rect.height);
37055         }
37056
37057
37058
37059
37060     virtual wxCoord GetCharHeight() const = 0;
37061     virtual wxCoord GetCharWidth() const = 0;
37062
37063
37064     void GetTextExtent(const wxString& string,
37065                        wxCoord *x, wxCoord *y,
37066                        wxCoord *descent = __null,
37067                        wxCoord *externalLeading = __null,
37068                        wxFont *theFont = __null) const
37069         { DoGetTextExtent(string, x, y, descent, externalLeading, theFont); }
37070
37071
37072     virtual void GetMultiLineTextExtent(const wxString& text,
37073                                         wxCoord *width,
37074                                         wxCoord *height,
37075                                         wxCoord *heightLine = __null,
37076                                         wxFont *font = __null);
37077
37078
37079     bool GetPartialTextExtents(const wxString& text, wxArrayInt& widths) const
37080         { return DoGetPartialTextExtents(text, widths); }
37081
37082
37083
37084
37085
37086
37087     void GetSize(int *width, int *height) const
37088         { DoGetSize(width, height); }
37089     wxSize GetSize() const
37090     {
37091         int w, h;
37092         DoGetSize(&w, &h);
37093
37094         return wxSize(w, h);
37095     }
37096
37097
37098     void GetSizeMM(int* width, int* height) const
37099         { DoGetSizeMM(width, height); }
37100     wxSize GetSizeMM() const
37101     {
37102         int w, h;
37103         DoGetSizeMM(&w, &h);
37104
37105         return wxSize(w, h);
37106     }
37107
37108
37109
37110
37111
37112
37113     wxCoord DeviceToLogicalX(wxCoord x) const;
37114     wxCoord DeviceToLogicalY(wxCoord y) const;
37115     wxCoord DeviceToLogicalXRel(wxCoord x) const;
37116     wxCoord DeviceToLogicalYRel(wxCoord y) const;
37117     wxCoord LogicalToDeviceX(wxCoord x) const;
37118     wxCoord LogicalToDeviceY(wxCoord y) const;
37119     wxCoord LogicalToDeviceXRel(wxCoord x) const;
37120     wxCoord LogicalToDeviceYRel(wxCoord y) const;
37121
37122
37123
37124
37125     virtual bool CanDrawBitmap() const = 0;
37126     virtual bool CanGetTextExtent() const = 0;
37127
37128
37129     virtual int GetDepth() const = 0;
37130
37131
37132     virtual wxSize GetPPI() const = 0;
37133
37134     virtual bool Ok() const { return m_ok; }
37135
37136
37137
37138
37139     int GetBackgroundMode() const { return m_backgroundMode; }
37140     const wxBrush& GetBackground() const { return m_backgroundBrush; }
37141     const wxBrush& GetBrush() const { return m_brush; }
37142     const wxFont& GetFont() const { return m_font; }
37143     const wxPen& GetPen() const { return m_pen; }
37144
37145     const wxColour& GetTextForeground() const { return m_textForegroundColour; }
37146     const wxColour& GetTextBackground() const { return m_textBackgroundColour; }
37147     virtual void SetTextForeground(const wxColour& colour)
37148         { m_textForegroundColour = colour; }
37149     virtual void SetTextBackground(const wxColour& colour)
37150         { m_textBackgroundColour = colour; }
37151
37152     int GetMapMode() const { return m_mappingMode; }
37153     virtual void SetMapMode(int mode) = 0;
37154
37155     virtual void GetUserScale(double *x, double *y) const
37156     {
37157         if ( x ) *x = m_userScaleX;
37158         if ( y ) *y = m_userScaleY;
37159     }
37160     virtual void SetUserScale(double x, double y) = 0;
37161
37162     virtual void GetLogicalScale(double *x, double *y)
37163     {
37164         if ( x ) *x = m_logicalScaleX;
37165         if ( y ) *y = m_logicalScaleY;
37166     }
37167     virtual void SetLogicalScale(double x, double y)
37168     {
37169         m_logicalScaleX = x;
37170         m_logicalScaleY = y;
37171     }
37172
37173     void GetLogicalOrigin(wxCoord *x, wxCoord *y) const
37174         { DoGetLogicalOrigin(x, y); }
37175     wxPoint GetLogicalOrigin() const
37176         { wxCoord x, y; DoGetLogicalOrigin(&x, &y); return wxPoint(x, y); }
37177     virtual void SetLogicalOrigin(wxCoord x, wxCoord y) = 0;
37178
37179     void GetDeviceOrigin(wxCoord *x, wxCoord *y) const
37180         { DoGetDeviceOrigin(x, y); }
37181     wxPoint GetDeviceOrigin() const
37182         { wxCoord x, y; DoGetDeviceOrigin(&x, &y); return wxPoint(x, y); }
37183     virtual void SetDeviceOrigin(wxCoord x, wxCoord y) = 0;
37184
37185     virtual void ComputeScaleAndOrigin() {}
37186
37187     virtual void SetAxisOrientation(bool xLeftRight, bool yBottomUp) = 0;
37188
37189     int GetLogicalFunction() const { return m_logicalFunction; }
37190     virtual void SetLogicalFunction(int function) = 0;
37191
37192
37193     virtual void SetOptimization(bool ) { }
37194     virtual bool GetOptimization() { return false; }
37195
37196
37197
37198
37199
37200     virtual void CalcBoundingBox(wxCoord x, wxCoord y)
37201     {
37202       if ( m_isBBoxValid )
37203       {
37204          if ( x < m_minX ) m_minX = x;
37205          if ( y < m_minY ) m_minY = y;
37206          if ( x > m_maxX ) m_maxX = x;
37207          if ( y > m_maxY ) m_maxY = y;
37208       }
37209       else
37210       {
37211          m_isBBoxValid = true;
37212
37213          m_minX = x;
37214          m_minY = y;
37215          m_maxX = x;
37216          m_maxY = y;
37217       }
37218     }
37219
37220     void ResetBoundingBox()
37221     {
37222         m_isBBoxValid = false;
37223
37224         m_minX = m_maxX = m_minY = m_maxY = 0;
37225     }
37226
37227
37228     wxCoord MinX() const { return m_minX; }
37229     wxCoord MaxX() const { return m_maxX; }
37230     wxCoord MinY() const { return m_minY; }
37231     wxCoord MaxY() const { return m_maxY; }
37232
37233
37234
37235
37236
37237     void GetTextExtent(const wxString& string,
37238                        long *x, long *y,
37239                        long *descent = __null,
37240                        long *externalLeading = __null,
37241                        wxFont *theFont = __null) const
37242     {
37243         wxCoord x2, y2, descent2, externalLeading2;
37244         DoGetTextExtent(string, &x2, &y2,
37245                         &descent2, &externalLeading2,
37246                         theFont);
37247         if ( x )
37248             *x = x2;
37249         if ( y )
37250             *y = y2;
37251         if ( descent )
37252             *descent = descent2;
37253         if ( externalLeading )
37254             *externalLeading = externalLeading2;
37255     }
37256
37257     void GetLogicalOrigin(long *x, long *y) const
37258     {
37259         wxCoord x2, y2;
37260         DoGetLogicalOrigin(&x2, &y2);
37261         if ( x )
37262             *x = x2;
37263         if ( y )
37264             *y = y2;
37265     }
37266
37267     void GetDeviceOrigin(long *x, long *y) const
37268     {
37269         wxCoord x2, y2;
37270         DoGetDeviceOrigin(&x2, &y2);
37271         if ( x )
37272             *x = x2;
37273         if ( y )
37274             *y = y2;
37275     }
37276     void GetClippingBox(long *x, long *y, long *w, long *h) const
37277     {
37278         wxCoord xx,yy,ww,hh;
37279         DoGetClippingBox(&xx, &yy, &ww, &hh);
37280         if (x) *x = xx;
37281         if (y) *y = yy;
37282         if (w) *w = ww;
37283         if (h) *h = hh;
37284     }
37285
37286
37287
37288     virtual void ReservedDCFunc1() {}
37289     virtual void ReservedDCFunc2() {}
37290     virtual void ReservedDCFunc3() {}
37291     virtual void ReservedDCFunc4() {}
37292     virtual void ReservedDCFunc5() {}
37293     virtual void ReservedDCFunc6() {}
37294     virtual void ReservedDCFunc7() {}
37295     virtual void ReservedDCFunc8() {}
37296     virtual void ReservedDCFunc9() {}
37297
37298
37299 protected:
37300
37301     virtual bool DoFloodFill(wxCoord x, wxCoord y, const wxColour& col,
37302                              int style = wxFLOOD_SURFACE) = 0;
37303
37304     virtual bool DoGetPixel(wxCoord x, wxCoord y, wxColour *col) const = 0;
37305
37306     virtual void DoDrawPoint(wxCoord x, wxCoord y) = 0;
37307     virtual void DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2) = 0;
37308
37309     virtual void DoDrawArc(wxCoord x1, wxCoord y1,
37310                            wxCoord x2, wxCoord y2,
37311                            wxCoord xc, wxCoord yc) = 0;
37312     virtual void DoDrawCheckMark(wxCoord x, wxCoord y,
37313                                  wxCoord width, wxCoord height);
37314     virtual void DoDrawEllipticArc(wxCoord x, wxCoord y, wxCoord w, wxCoord h,
37315                                    double sa, double ea) = 0;
37316
37317     virtual void DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height) = 0;
37318     virtual void DoDrawRoundedRectangle(wxCoord x, wxCoord y,
37319                                         wxCoord width, wxCoord height,
37320                                         double radius) = 0;
37321     virtual void DoDrawEllipse(wxCoord x, wxCoord y,
37322                                wxCoord width, wxCoord height) = 0;
37323
37324     virtual void DoCrossHair(wxCoord x, wxCoord y) = 0;
37325
37326     virtual void DoDrawIcon(const wxIcon& icon, wxCoord x, wxCoord y) = 0;
37327     virtual void DoDrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y,
37328                               bool useMask = false) = 0;
37329
37330     virtual void DoDrawText(const wxString& text, wxCoord x, wxCoord y) = 0;
37331     virtual void DoDrawRotatedText(const wxString& text,
37332                                    wxCoord x, wxCoord y, double angle) = 0;
37333
37334     virtual bool DoBlit(wxCoord xdest, wxCoord ydest,
37335                         wxCoord width, wxCoord height,
37336                         wxDC *source, wxCoord xsrc, wxCoord ysrc,
37337                         int rop = wxCOPY, bool useMask = false, wxCoord xsrcMask = wxDefaultCoord, wxCoord ysrcMask = wxDefaultCoord) = 0;
37338
37339     virtual void DoGetSize(int *width, int *height) const = 0;
37340     virtual void DoGetSizeMM(int* width, int* height) const = 0;
37341
37342     virtual void DoDrawLines(int n, wxPoint points[],
37343                              wxCoord xoffset, wxCoord yoffset) = 0;
37344     virtual void DoDrawPolygon(int n, wxPoint points[],
37345                                wxCoord xoffset, wxCoord yoffset,
37346                                int fillStyle = wxODDEVEN_RULE) = 0;
37347     virtual void DoDrawPolyPolygon(int n, int count[], wxPoint points[],
37348                                wxCoord xoffset, wxCoord yoffset,
37349                                int fillStyle);
37350
37351     virtual void DoSetClippingRegionAsRegion(const wxRegion& region) = 0;
37352     virtual void DoSetClippingRegion(wxCoord x, wxCoord y,
37353                                      wxCoord width, wxCoord height) = 0;
37354
37355
37356
37357     virtual void DoGetClippingRegion(wxCoord *x, wxCoord *y,
37358                                      wxCoord *w, wxCoord *h)
37359         { DoGetClippingBox(x, y, w, h); }
37360
37361
37362     virtual void DoGetClippingBox(wxCoord *x, wxCoord *y,
37363                                   wxCoord *w, wxCoord *h) const
37364     {
37365         if ( x )
37366             *x = m_clipX1;
37367         if ( y )
37368             *y = m_clipY1;
37369         if ( w )
37370             *w = m_clipX2 - m_clipX1;
37371         if ( h )
37372             *h = m_clipY2 - m_clipY1;
37373     }
37374
37375     virtual void DoGetLogicalOrigin(wxCoord *x, wxCoord *y) const
37376     {
37377         if ( x ) *x = m_logicalOriginX;
37378         if ( y ) *y = m_logicalOriginY;
37379     }
37380
37381     virtual void DoGetDeviceOrigin(wxCoord *x, wxCoord *y) const
37382     {
37383         if ( x ) *x = m_deviceOriginX;
37384         if ( y ) *y = m_deviceOriginY;
37385     }
37386
37387     virtual void DoGetTextExtent(const wxString& string,
37388                                  wxCoord *x, wxCoord *y,
37389                                  wxCoord *descent = __null,
37390                                  wxCoord *externalLeading = __null,
37391                                  wxFont *theFont = __null) const = 0;
37392
37393     virtual bool DoGetPartialTextExtents(const wxString& text, wxArrayInt& widths) const;
37394
37395
37396     virtual void DoDrawSpline(wxList *points);
37397
37398
37399 protected:
37400
37401     void ResetClipping()
37402     {
37403         m_clipping = false;
37404
37405         m_clipX1 = m_clipX2 = m_clipY1 = m_clipY2 = 0;
37406     }
37407
37408
37409     bool m_colour:1;
37410     bool m_ok:1;
37411     bool m_clipping:1;
37412     bool m_isInteractive:1;
37413     bool m_isBBoxValid:1;
37414
37415
37416
37417
37418
37419     wxCoord m_logicalOriginX, m_logicalOriginY;
37420     wxCoord m_deviceOriginX, m_deviceOriginY;
37421
37422     double m_logicalScaleX, m_logicalScaleY;
37423     double m_userScaleX, m_userScaleY;
37424     double m_scaleX, m_scaleY;
37425
37426
37427     int m_signX, m_signY;
37428
37429
37430     wxCoord m_minX, m_minY, m_maxX, m_maxY;
37431     wxCoord m_clipX1, m_clipY1, m_clipX2, m_clipY2;
37432
37433     int m_logicalFunction;
37434     int m_backgroundMode;
37435     int m_mappingMode;
37436
37437
37438     wxPen m_pen;
37439     wxBrush m_brush;
37440     wxBrush m_backgroundBrush;
37441     wxColour m_textForegroundColour;
37442     wxColour m_textBackgroundColour;
37443     wxFont m_font;
37444
37445
37446     wxPalette m_palette;
37447     bool m_hasCustomPalette;
37448
37449
37450 private:
37451     private: wxDCBase(const wxDCBase&); wxDCBase& operator=(const wxDCBase&);
37452     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const;
37453 };
37454 # 814 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dc.h"
37455 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/dc.h" 1
37456 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/dc.h"
37457 class wxDC;
37458 # 43 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/dc.h"
37459 class wxDC : public wxDCBase
37460 {
37461 public:
37462     wxDC();
37463     ~wxDC() { }
37464
37465
37466     void SetColourMap( const wxPalette& palette ) { SetPalette(palette); };
37467
37468
37469
37470     virtual wxSize GetPPI() const;
37471
37472     virtual bool StartDoc( const wxString& ) { return true; }
37473     virtual void EndDoc() { }
37474     virtual void StartPage() { }
37475     virtual void EndPage() { }
37476
37477     virtual void SetMapMode( int mode );
37478     virtual void SetUserScale( double x, double y );
37479     virtual void SetLogicalScale( double x, double y );
37480     virtual void SetLogicalOrigin( wxCoord x, wxCoord y );
37481     virtual void SetDeviceOrigin( wxCoord x, wxCoord y );
37482
37483     virtual void SetAxisOrientation( bool xLeftRight, bool yBottomUp );
37484
37485
37486
37487
37488     virtual void ComputeScaleAndOrigin();
37489
37490     wxCoord XDEV2LOG(wxCoord x) const
37491     {
37492         wxCoord new_x = x - m_deviceOriginX;
37493         if (new_x > 0)
37494             return (wxCoord)((double)(new_x) / m_scaleX + 0.5) * m_signX + m_logicalOriginX;
37495         else
37496             return (wxCoord)((double)(new_x) / m_scaleX - 0.5) * m_signX + m_logicalOriginX;
37497     }
37498     wxCoord XDEV2LOGREL(wxCoord x) const
37499     {
37500         if (x > 0)
37501             return (wxCoord)((double)(x) / m_scaleX + 0.5);
37502         else
37503             return (wxCoord)((double)(x) / m_scaleX - 0.5);
37504     }
37505     wxCoord YDEV2LOG(wxCoord y) const
37506     {
37507         wxCoord new_y = y - m_deviceOriginY;
37508         if (new_y > 0)
37509             return (wxCoord)((double)(new_y) / m_scaleY + 0.5) * m_signY + m_logicalOriginY;
37510         else
37511             return (wxCoord)((double)(new_y) / m_scaleY - 0.5) * m_signY + m_logicalOriginY;
37512     }
37513     wxCoord YDEV2LOGREL(wxCoord y) const
37514     {
37515         if (y > 0)
37516             return (wxCoord)((double)(y) / m_scaleY + 0.5);
37517         else
37518             return (wxCoord)((double)(y) / m_scaleY - 0.5);
37519     }
37520     wxCoord XLOG2DEV(wxCoord x) const
37521     {
37522         wxCoord new_x = x - m_logicalOriginX;
37523         if (new_x > 0)
37524             return (wxCoord)((double)(new_x) * m_scaleX + 0.5) * m_signX + m_deviceOriginX;
37525         else
37526             return (wxCoord)((double)(new_x) * m_scaleX - 0.5) * m_signX + m_deviceOriginX;
37527     }
37528     wxCoord XLOG2DEVREL(wxCoord x) const
37529     {
37530         if (x > 0)
37531             return (wxCoord)((double)(x) * m_scaleX + 0.5);
37532         else
37533             return (wxCoord)((double)(x) * m_scaleX - 0.5);
37534     }
37535     wxCoord YLOG2DEV(wxCoord y) const
37536     {
37537         wxCoord new_y = y - m_logicalOriginY;
37538         if (new_y > 0)
37539             return (wxCoord)((double)(new_y) * m_scaleY + 0.5) * m_signY + m_deviceOriginY;
37540         else
37541             return (wxCoord)((double)(new_y) * m_scaleY - 0.5) * m_signY + m_deviceOriginY;
37542     }
37543     wxCoord YLOG2DEVREL(wxCoord y) const
37544     {
37545         if (y > 0)
37546             return (wxCoord)((double)(y) * m_scaleY + 0.5);
37547         else
37548             return (wxCoord)((double)(y) * m_scaleY - 0.5);
37549     }
37550
37551 protected:
37552
37553     virtual void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
37554     virtual void DoGetSizeMM(int* width, int* height) const;
37555
37556 public:
37557
37558
37559
37560
37561     double m_mm_to_pix_x,
37562                  m_mm_to_pix_y;
37563
37564     bool m_needComputeScaleX,
37565                  m_needComputeScaleY;
37566
37567
37568 private:
37569     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const;
37570 };
37571 # 815 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dc.h" 2
37572 # 832 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dc.h"
37573 class wxDCTextColourChanger
37574 {
37575 public:
37576     wxDCTextColourChanger(wxDC& dc) : m_dc(dc), m_colFgOld() { }
37577
37578     ~wxDCTextColourChanger()
37579     {
37580         if ( m_colFgOld.Ok() )
37581             m_dc.SetTextForeground(m_colFgOld);
37582     }
37583
37584     void Set(const wxColour& col)
37585     {
37586         if ( !m_colFgOld.Ok() )
37587             m_colFgOld = m_dc.GetTextForeground();
37588         m_dc.SetTextForeground(col);
37589     }
37590
37591 private:
37592     wxDC& m_dc;
37593
37594     wxColour m_colFgOld;
37595
37596     private: wxDCTextColourChanger(const wxDCTextColourChanger&); wxDCTextColourChanger& operator=(const wxDCTextColourChanger&);
37597 };
37598
37599
37600
37601
37602
37603
37604 class wxDCClipper
37605 {
37606 public:
37607     wxDCClipper(wxDC& dc, const wxRect& r) : m_dc(dc)
37608         { dc.SetClippingRegion(r.x, r.y, r.width, r.height); }
37609     wxDCClipper(wxDC& dc, wxCoord x, wxCoord y, wxCoord w, wxCoord h) : m_dc(dc)
37610         { dc.SetClippingRegion(x, y, w, h); }
37611
37612     ~wxDCClipper() { m_dc.DestroyClippingRegion(); }
37613
37614 private:
37615     wxDC& m_dc;
37616
37617     private: wxDCClipper(const wxDCClipper&); wxDCClipper& operator=(const wxDCClipper&);
37618 };
37619 # 34 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
37620 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dcclient.h" 1
37621 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dcclient.h"
37622 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/dcclient.h" 1
37623 # 17 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/dcclient.h"
37624 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dc.h" 1
37625 # 18 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/dcclient.h" 2
37626 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/window.h" 1
37627 # 19 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/dcclient.h" 2
37628
37629
37630
37631
37632
37633 class wxWindowDC;
37634 class wxPaintDC;
37635 class wxClientDC;
37636
37637
37638
37639
37640
37641 class wxWindowDC : public wxDC
37642 {
37643 public:
37644     wxWindowDC();
37645     wxWindowDC( wxWindow *win );
37646
37647     virtual ~wxWindowDC();
37648
37649     virtual bool CanDrawBitmap() const { return true; }
37650     virtual bool CanGetTextExtent() const { return true; }
37651
37652 protected:
37653     virtual void DoGetSize(int *width, int *height) const;
37654     virtual bool DoFloodFill( wxCoord x, wxCoord y, const wxColour& col, int style=wxFLOOD_SURFACE );
37655     virtual bool DoGetPixel( wxCoord x1, wxCoord y1, wxColour *col ) const;
37656
37657     virtual void DoDrawLine( wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2 );
37658     virtual void DoCrossHair( wxCoord x, wxCoord y );
37659     virtual void DoDrawArc( wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2,
37660                             wxCoord xc, wxCoord yc );
37661     virtual void DoDrawEllipticArc( wxCoord x, wxCoord y, wxCoord width, wxCoord height,
37662                                     double sa, double ea );
37663     virtual void DoDrawPoint( wxCoord x, wxCoord y );
37664
37665     virtual void DoDrawLines(int n, wxPoint points[],
37666                              wxCoord xoffset, wxCoord yoffset);
37667     virtual void DoDrawPolygon(int n, wxPoint points[],
37668                                wxCoord xoffset, wxCoord yoffset,
37669                                int fillStyle = wxODDEVEN_RULE);
37670
37671     virtual void DoDrawRectangle( wxCoord x, wxCoord y, wxCoord width, wxCoord height );
37672     virtual void DoDrawRoundedRectangle( wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius = 20.0 );
37673     virtual void DoDrawEllipse( wxCoord x, wxCoord y, wxCoord width, wxCoord height );
37674
37675     virtual void DoDrawIcon( const wxIcon &icon, wxCoord x, wxCoord y );
37676     virtual void DoDrawBitmap( const wxBitmap &bitmap, wxCoord x, wxCoord y,
37677                                bool useMask = false );
37678
37679     virtual bool DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
37680                          wxDC *source, wxCoord xsrc, wxCoord ysrc,
37681                          int logical_func = wxCOPY, bool useMask = false, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1 );
37682
37683     virtual void DoDrawText( const wxString &text, wxCoord x, wxCoord y );
37684     virtual void DoDrawRotatedText(const wxString& text, wxCoord x, wxCoord y,
37685                                    double angle);
37686     virtual void DoGetTextExtent( const wxString &string,
37687                                 wxCoord *width, wxCoord *height,
37688                                 wxCoord *descent = (wxCoord *) __null,
37689                                 wxCoord *externalLeading = (wxCoord *) __null,
37690                                 wxFont *theFont = (wxFont *) __null) const;
37691
37692 public:
37693     virtual wxCoord GetCharWidth() const;
37694     virtual wxCoord GetCharHeight() const;
37695
37696     virtual void Clear();
37697
37698     virtual void SetFont( const wxFont &font );
37699     virtual void SetPen( const wxPen &pen );
37700     virtual void SetBrush( const wxBrush &brush );
37701     virtual void SetBackground( const wxBrush &brush );
37702     virtual void SetLogicalFunction( int function );
37703     virtual void SetTextForeground( const wxColour &col );
37704     virtual void SetTextBackground( const wxColour &col );
37705     virtual void SetBackgroundMode( int mode );
37706     virtual void SetPalette( const wxPalette& palette );
37707
37708     virtual void DoSetClippingRegion( wxCoord x, wxCoord y, wxCoord width, wxCoord height );
37709     virtual void DestroyClippingRegion();
37710     virtual void DoSetClippingRegionAsRegion( const wxRegion &region );
37711
37712
37713     virtual wxSize GetPPI() const;
37714     virtual int GetDepth() const;
37715
37716
37717
37718
37719     GdkWindow *m_window;
37720     GdkGC *m_penGC;
37721     GdkGC *m_brushGC;
37722     GdkGC *m_textGC;
37723     GdkGC *m_bgGC;
37724     GdkColormap *m_cmap;
37725     bool m_isMemDC;
37726     bool m_isScreenDC;
37727     wxWindow *m_owner;
37728     wxRegion m_currentClippingRegion;
37729     wxRegion m_paintClippingRegion;
37730
37731
37732
37733     PangoContext *m_context;
37734     PangoLayout *m_layout;
37735     PangoFontDescription *m_fontdesc;
37736
37737
37738     void SetUpDC();
37739     void Destroy();
37740     virtual void ComputeScaleAndOrigin();
37741
37742     GdkWindow *GetWindow() { return m_window; }
37743
37744 private:
37745     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
37746 };
37747
37748
37749
37750
37751
37752 class wxClientDC : public wxWindowDC
37753 {
37754 public:
37755     wxClientDC() { }
37756     wxClientDC( wxWindow *win );
37757
37758 protected:
37759     virtual void DoGetSize(int *width, int *height) const;
37760
37761 private:
37762     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
37763 };
37764
37765
37766
37767
37768
37769 class wxPaintDC : public wxClientDC
37770 {
37771 public:
37772     wxPaintDC() { }
37773     wxPaintDC( wxWindow *win );
37774
37775 private:
37776     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
37777 };
37778 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dcclient.h" 2
37779 # 35 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
37780 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dcmemory.h" 1
37781 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dcmemory.h"
37782 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/dcmemory.h" 1
37783 # 19 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/dcmemory.h"
37784 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dcclient.h" 1
37785 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/dcmemory.h" 2
37786
37787
37788
37789
37790
37791 class wxMemoryDC;
37792
37793
37794
37795
37796
37797 class wxMemoryDC : public wxWindowDC
37798 {
37799 public:
37800     wxMemoryDC();
37801     wxMemoryDC( wxDC *dc );
37802     ~wxMemoryDC();
37803     virtual void SelectObject( const wxBitmap& bitmap );
37804     void DoGetSize( int *width, int *height ) const;
37805
37806
37807
37808
37809
37810     virtual void SetPen( const wxPen &pen );
37811     virtual void SetBrush( const wxBrush &brush );
37812     virtual void SetBackground( const wxBrush &brush );
37813     virtual void SetTextForeground( const wxColour &col );
37814     virtual void SetTextBackground( const wxColour &col );
37815
37816
37817     wxBitmap m_selected;
37818
37819 private:
37820     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
37821 };
37822 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dcmemory.h" 2
37823 # 36 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
37824 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dcprint.h" 1
37825 # 37 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
37826 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dcscreen.h" 1
37827 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dcscreen.h"
37828 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/dcscreen.h" 1
37829 # 19 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/dcscreen.h"
37830 class wxScreenDC;
37831
37832
37833
37834
37835
37836 class wxScreenDC : public wxPaintDC
37837 {
37838 public:
37839     wxScreenDC();
37840     virtual ~wxScreenDC();
37841
37842     static bool StartDrawingOnTop( wxWindow *window );
37843     static bool StartDrawingOnTop( wxRect *rect = (wxRect *) __null );
37844     static bool EndDrawingOnTop();
37845
37846
37847
37848     static GdkWindow *sm_overlayWindow;
37849     static int sm_overlayWindowX;
37850     static int sm_overlayWindowY;
37851
37852 protected:
37853     virtual void DoGetSize(int *width, int *height) const;
37854
37855 private:
37856     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
37857 };
37858 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dcscreen.h" 2
37859 # 38 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
37860 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/button.h" 1
37861 # 46 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/button.h"
37862 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/control.h" 1
37863 # 29 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/control.h"
37864 extern const wxChar* wxControlNameStr;
37865
37866
37867
37868
37869
37870 class wxControlBase : public wxWindow
37871 {
37872 public:
37873     wxControlBase() { }
37874
37875     virtual ~wxControlBase();
37876
37877
37878     bool Create(wxWindow *parent, wxWindowID id,
37879                 const wxPoint& pos = wxDefaultPosition,
37880                 const wxSize& size = wxDefaultSize,
37881                 long style = 0,
37882                 const wxValidator& validator = wxDefaultValidator,
37883                 const wxString& name = wxControlNameStr);
37884
37885
37886     int GetAlignment() const { return m_windowStyle & wxALIGN_MASK; }
37887
37888
37889
37890
37891
37892     virtual bool ShouldInheritColours() const { return true; }
37893
37894
37895
37896
37897
37898
37899     virtual void Command(wxCommandEvent &event);
37900
37901     virtual void SetLabel( const wxString &label );
37902     virtual bool SetFont(const wxFont& font);
37903
37904
37905
37906     virtual void ReservedControlFunc1() {}
37907     virtual void ReservedControlFunc2() {}
37908     virtual void ReservedControlFunc3() {}
37909     virtual void ReservedControlFunc4() {}
37910     virtual void ReservedControlFunc5() {}
37911     virtual void ReservedControlFunc6() {}
37912     virtual void ReservedControlFunc7() {}
37913     virtual void ReservedControlFunc8() {}
37914     virtual void ReservedControlFunc9() {}
37915
37916
37917 protected:
37918
37919
37920     bool CreateControl(wxWindowBase *parent,
37921                        wxWindowID id,
37922                        const wxPoint& pos,
37923                        const wxSize& size,
37924                        long style,
37925                        const wxValidator& validator,
37926                        const wxString& name);
37927
37928
37929     void InitCommandEvent(wxCommandEvent& event) const;
37930
37931
37932
37933
37934
37935
37936
37937     virtual void SetInitialBestSize(const wxSize& size)
37938     {
37939         SetBestSize(size);
37940     }
37941
37942     private: wxControlBase(const wxControlBase&); wxControlBase& operator=(const wxControlBase&);
37943 };
37944 # 123 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/control.h"
37945 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/control.h" 1
37946 # 26 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/control.h"
37947 class wxControl;
37948
37949
37950
37951
37952
37953
37954 extern "C" {
37955     typedef GtkWidget* (*wxGtkWidgetNew_t)(void);
37956     typedef GtkWidget* (*wxGtkWidgetNewFromStr_t)(const gchar*);
37957     typedef GtkWidget* (*wxGtkWidgetNewFromAdj_t)(GtkAdjustment*);
37958 }
37959
37960 class wxControl : public wxControlBase
37961 {
37962 public:
37963     wxControl();
37964     wxControl(wxWindow *parent, wxWindowID id,
37965              const wxPoint& pos = wxDefaultPosition,
37966              const wxSize& size = wxDefaultSize, long style = 0,
37967              const wxValidator& validator = wxDefaultValidator,
37968              const wxString& name = wxControlNameStr)
37969     {
37970         Create(parent, id, pos, size, style, validator, name);
37971     }
37972
37973     bool Create(wxWindow *parent, wxWindowID id,
37974             const wxPoint& pos = wxDefaultPosition,
37975             const wxSize& size = wxDefaultSize, long style = 0,
37976             const wxValidator& validator = wxDefaultValidator,
37977             const wxString& name = wxControlNameStr);
37978
37979
37980
37981     virtual void SetLabel( const wxString &label );
37982     virtual wxString GetLabel() const;
37983
37984     virtual wxVisualAttributes GetDefaultAttributes() const;
37985
37986 protected:
37987     virtual wxSize DoGetBestSize() const;
37988     void PostCreation(const wxSize& size);
37989
37990
37991     wxString PrepareLabelMnemonics( const wxString &label ) const;
37992
37993
37994
37995     static wxVisualAttributes
37996         GetDefaultAttributesFromGTKWidget(GtkWidget* widget,
37997                                           bool useBase = false,
37998                                           int state = -1);
37999     static wxVisualAttributes
38000         GetDefaultAttributesFromGTKWidget(wxGtkWidgetNew_t,
38001                                           bool useBase = false,
38002                                           int state = -1);
38003     static wxVisualAttributes
38004         GetDefaultAttributesFromGTKWidget(wxGtkWidgetNewFromStr_t,
38005                                           bool useBase = false,
38006                                           int state = -1);
38007
38008     static wxVisualAttributes
38009         GetDefaultAttributesFromGTKWidget(wxGtkWidgetNewFromAdj_t,
38010                                           bool useBase = false,
38011                                           int state = -1);
38012
38013
38014
38015     virtual bool UseGTKStyleBase() const { return false; }
38016
38017     wxString m_label;
38018     char m_chAccel;
38019
38020 private:
38021     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
38022 };
38023 # 124 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/control.h" 2
38024 # 47 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/button.h" 2
38025
38026 class wxBitmap;
38027
38028 extern const wxChar* wxButtonNameStr;
38029
38030
38031
38032
38033
38034 class wxButtonBase : public wxControl
38035 {
38036 public:
38037     wxButtonBase() { }
38038
38039
38040     virtual void SetImageLabel(const wxBitmap& ) { }
38041
38042
38043     virtual void SetImageMargins(wxCoord , wxCoord ) { }
38044
38045
38046
38047     virtual void SetDefault() { }
38048
38049
38050
38051
38052     virtual bool ShouldInheritColours() const { return false; }
38053
38054
38055     static wxSize GetDefaultSize();
38056
38057 protected:
38058     private: wxButtonBase(const wxButtonBase&); wxButtonBase& operator=(const wxButtonBase&);
38059 };
38060 # 90 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/button.h"
38061 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/button.h" 1
38062 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/button.h"
38063 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/control.h" 1
38064 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/button.h" 2
38065
38066
38067
38068
38069
38070 class wxButton;
38071
38072
38073
38074
38075
38076 extern const wxChar *wxButtonNameStr;
38077
38078
38079
38080
38081
38082 class wxButton: public wxButtonBase
38083 {
38084 public:
38085     wxButton();
38086     wxButton(wxWindow *parent, wxWindowID id,
38087            const wxString& label = wxEmptyString,
38088            const wxPoint& pos = wxDefaultPosition,
38089            const wxSize& size = wxDefaultSize, long style = 0,
38090            const wxValidator& validator = wxDefaultValidator,
38091            const wxString& name = wxButtonNameStr)
38092     {
38093         Create(parent, id, label, pos, size, style, validator, name);
38094     }
38095
38096     virtual ~wxButton();
38097
38098     bool Create(wxWindow *parent, wxWindowID id,
38099            const wxString& label = wxEmptyString,
38100            const wxPoint& pos = wxDefaultPosition,
38101            const wxSize& size = wxDefaultSize, long style = 0,
38102            const wxValidator& validator = wxDefaultValidator,
38103            const wxString& name = wxButtonNameStr);
38104
38105     virtual void SetDefault();
38106     virtual void SetLabel( const wxString &label );
38107     virtual bool Enable( bool enable = 1 );
38108
38109
38110
38111
38112     void DoApplyWidgetStyle(GtkRcStyle *style);
38113     bool IsOwnGtkWindow( GdkWindow *window );
38114
38115
38116
38117     virtual bool ShouldInheritColours() const { return false; }
38118
38119     static wxVisualAttributes
38120     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
38121
38122 protected:
38123     virtual wxSize DoGetBestSize() const;
38124
38125 private:
38126     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
38127 };
38128 # 91 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/button.h" 2
38129 # 39 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
38130 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/menu.h" 1
38131 # 32 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/menu.h"
38132 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/menuitem.h" 1
38133 # 29 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/menuitem.h"
38134 class wxAcceleratorEntry;
38135 class wxMenuItem;
38136 class wxMenu;
38137
38138
38139
38140
38141
38142
38143 class wxMenuItemBase : public wxObject
38144 {
38145 public:
38146
38147     static wxMenuItem *New(wxMenu *parentMenu = (wxMenu *)__null,
38148                            int itemid = wxID_SEPARATOR,
38149                            const wxString& text = wxEmptyString,
38150                            const wxString& help = wxEmptyString,
38151                            wxItemKind kind = wxITEM_NORMAL,
38152                            wxMenu *subMenu = (wxMenu *)__null);
38153
38154
38155     virtual ~wxMenuItemBase();
38156
38157
38158     wxMenu *GetMenu() const { return m_parentMenu; }
38159     void SetMenu(wxMenu* menu) { m_parentMenu = menu; }
38160
38161
38162     void SetId(int itemid) { m_id = itemid; }
38163     int GetId() const { return m_id; }
38164     bool IsSeparator() const { return m_id == wxID_SEPARATOR; }
38165
38166
38167
38168
38169
38170
38171
38172     virtual void SetText(const wxString& str) { m_text = str; }
38173     wxString GetLabel() const { return GetLabelFromText(m_text); }
38174     const wxString& GetText() const { return m_text; }
38175
38176
38177     static wxString GetLabelFromText(const wxString& text);
38178
38179
38180     wxItemKind GetKind() const { return m_kind; }
38181     void SetKind(wxItemKind kind) { m_kind = kind; }
38182
38183     virtual void SetCheckable(bool checkable) { m_kind = checkable ? wxITEM_CHECK : wxITEM_NORMAL; }
38184     bool IsCheckable() const
38185         { return m_kind == wxITEM_CHECK || m_kind == wxITEM_RADIO; }
38186
38187     bool IsSubMenu() const { return m_subMenu != __null; }
38188     void SetSubMenu(wxMenu *menu) { m_subMenu = menu; }
38189     wxMenu *GetSubMenu() const { return m_subMenu; }
38190
38191
38192     virtual void Enable(bool enable = true) { m_isEnabled = enable; }
38193     virtual bool IsEnabled() const { return m_isEnabled; }
38194
38195     virtual void Check(bool check = true) { m_isChecked = check; }
38196     virtual bool IsChecked() const { return m_isChecked; }
38197     void Toggle() { Check(!m_isChecked); }
38198
38199
38200     void SetHelp(const wxString& str) { m_help = str; }
38201     const wxString& GetHelp() const { return m_help; }
38202
38203
38204
38205
38206     static wxAcceleratorEntry *GetAccelFromString(const wxString& label);
38207
38208
38209     virtual wxAcceleratorEntry *GetAccel() const;
38210
38211
38212
38213     virtual void SetAccel(wxAcceleratorEntry *accel);
38214
38215
38216
38217     void SetName(const wxString& str) { SetText(str); }
38218     const wxString& GetName() const { return GetText(); }
38219
38220     static wxMenuItem *New(wxMenu *parentMenu,
38221                            int itemid,
38222                            const wxString& text,
38223                            const wxString& help,
38224                            bool isCheckable,
38225                            wxMenu *subMenu = (wxMenu *)__null)
38226     {
38227         return New(parentMenu, itemid, text, help,
38228                    isCheckable ? wxITEM_CHECK : wxITEM_NORMAL, subMenu);
38229     }
38230
38231 protected:
38232     int m_id;
38233     wxMenu *m_parentMenu,
38234                  *m_subMenu;
38235     wxString m_text,
38236                   m_help;
38237     wxItemKind m_kind;
38238     bool m_isChecked;
38239     bool m_isEnabled;
38240
38241
38242     wxMenuItemBase(wxMenu *parentMenu = (wxMenu *)__null,
38243                    int itemid = wxID_SEPARATOR,
38244                    const wxString& text = wxEmptyString,
38245                    const wxString& help = wxEmptyString,
38246                    wxItemKind kind = wxITEM_NORMAL,
38247                    wxMenu *subMenu = (wxMenu *)__null);
38248
38249 private:
38250
38251
38252     wxMenuItemBase(const wxMenuItemBase& item);
38253     wxMenuItemBase& operator=(const wxMenuItemBase& item);
38254 };
38255 # 167 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/menuitem.h"
38256 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/menuitem.h" 1
38257 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/menuitem.h"
38258 class wxMenuItem : public wxMenuItemBase
38259 {
38260 public:
38261     wxMenuItem(wxMenu *parentMenu = (wxMenu *)__null,
38262                int id = wxID_SEPARATOR,
38263                const wxString& text = wxEmptyString,
38264                const wxString& help = wxEmptyString,
38265                wxItemKind kind = wxITEM_NORMAL,
38266                wxMenu *subMenu = (wxMenu *)__null);
38267     ~wxMenuItem();
38268
38269
38270     virtual void SetText( const wxString& str );
38271     virtual void Enable( bool enable = 1 );
38272     virtual void Check( bool check = 1 );
38273     virtual bool IsChecked() const;
38274     virtual void SetBitmap(const wxBitmap& bitmap) { m_bitmap = bitmap; }
38275     virtual const wxBitmap& GetBitmap() const { return m_bitmap; }
38276
38277
38278     virtual wxAcceleratorEntry *GetAccel() const;
38279
38280
38281
38282     void SetMenuItem(GtkWidget *menuItem) { m_menuItem = menuItem; }
38283     GtkWidget *GetMenuItem() const { return m_menuItem; }
38284     GtkWidget *GetLabelWidget() const { return m_labelWidget; }
38285     void SetLabelWidget(GtkWidget *labelWidget) { m_labelWidget = labelWidget; }
38286     wxString GetFactoryPath() const;
38287
38288     wxString GetHotKey() const { return m_hotKey; }
38289
38290
38291     wxMenuItem(wxMenu *parentMenu,
38292                int id,
38293                const wxString& text,
38294                const wxString& help,
38295                bool isCheckable,
38296                wxMenu *subMenu = (wxMenu *)__null);
38297
38298 private:
38299
38300     void Init(const wxString& text);
38301
38302
38303
38304     void DoSetText(const wxString& text);
38305
38306     wxString m_hotKey;
38307     wxBitmap m_bitmap;
38308
38309     GtkWidget *m_menuItem;
38310     GtkWidget* m_labelWidget;
38311
38312     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
38313 };
38314 # 168 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/menuitem.h" 2
38315 # 33 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/menu.h" 2
38316
38317 class wxMenu;
38318 class wxMenuBarBase;
38319 class wxMenuBar;
38320 class wxMenuItem;
38321
38322
38323 typedef wxMenu _WX_LIST_ITEM_TYPE_wxMenuList; typedef int (*wxSortFuncFor_wxMenuList)(const wxMenu **, const wxMenu **); class wxwxMenuListNode : public wxNodeBase { public: wxwxMenuListNode(wxListBase *list = (wxListBase *)__null, wxwxMenuListNode *previous = (wxwxMenuListNode *)__null, wxwxMenuListNode *next = (wxwxMenuListNode *)__null, wxMenu *data = (wxMenu *)__null, const wxListKey& key = wxDefaultListKey) : wxNodeBase(list, previous, next, data, key) { } wxwxMenuListNode *GetNext() const { return (wxwxMenuListNode *)wxNodeBase::GetNext(); } wxwxMenuListNode *GetPrevious() const { return (wxwxMenuListNode *)wxNodeBase::GetPrevious(); } wxMenu *GetData() const { return (wxMenu *)wxNodeBase::GetData(); } void SetData(wxMenu *data) { wxNodeBase::SetData(data); } protected: virtual void DeleteData(); private: wxwxMenuListNode(const wxwxMenuListNode&); wxwxMenuListNode& operator=(const wxwxMenuListNode&); }; class wxMenuList : public wxListBase { public: typedef wxwxMenuListNode Node; typedef Node* compatibility_iterator; wxMenuList(wxKeyType keyType = wxKEY_NONE) : wxListBase(keyType) { } wxMenuList(const wxMenuList& list) : wxListBase(list.GetKeyType()) { Assign(list); } wxMenuList(size_t count, wxMenu *elements[]) : wxListBase(count, (void **)elements) { } wxMenuList& operator=(const wxMenuList& list) { Assign(list); return *this; } wxwxMenuListNode *GetFirst() const { return (wxwxMenuListNode *)wxListBase::GetFirst(); } wxwxMenuListNode *GetLast() const { return (wxwxMenuListNode *)wxListBase::GetLast(); } wxwxMenuListNode *Item(size_t index) const { return (wxwxMenuListNode *)wxListBase::Item(index); } wxMenu *operator[](size_t index) const { wxwxMenuListNode *node = Item(index); return node ? (wxMenu*)(node->GetData()) : (wxMenu*)__null; } wxwxMenuListNode *Append(wxMenu *object) { return (wxwxMenuListNode *)wxListBase::Append(object); } wxwxMenuListNode *Insert(wxMenu *object) { return (wxwxMenuListNode *)Insert((wxwxMenuListNode*)__null, object); } wxwxMenuListNode *Insert(size_t pos, wxMenu *object) { return (wxwxMenuListNode *)wxListBase::Insert(pos, object); } wxwxMenuListNode *Insert(wxwxMenuListNode *prev, wxMenu *object) { return (wxwxMenuListNode *)wxListBase::Insert(prev, object); } wxwxMenuListNode *Append(long key, void *object) { return (wxwxMenuListNode *)wxListBase::Append(key, object); } wxwxMenuListNode *Append(const wxChar *key, void *object) { return (wxwxMenuListNode *)wxListBase::Append(key, object); } wxwxMenuListNode *DetachNode(wxwxMenuListNode *node) { return (wxwxMenuListNode *)wxListBase::DetachNode(node); } bool DeleteNode(wxwxMenuListNode *node) { return wxListBase::DeleteNode(node); } bool DeleteObject(wxMenu *object) { return wxListBase::DeleteObject(object); } void Erase(compatibility_iterator it) { DeleteNode(it); } wxwxMenuListNode *Find(const wxMenu *object) const { return (wxwxMenuListNode *)wxListBase::Find(object); } virtual wxwxMenuListNode *Find(const wxListKey& key) const { return (wxwxMenuListNode *)wxListBase::Find(key); } int IndexOf(wxMenu *object) const { return wxListBase::IndexOf(object); } void Sort(wxSortCompareFunction func) { wxListBase::Sort(func); } void Sort(wxSortFuncFor_wxMenuList func) { Sort((wxSortCompareFunction)func); } protected: virtual wxNodeBase *CreateNode(wxNodeBase *prev, wxNodeBase *next, void *data, const wxListKey& key = wxDefaultListKey) { return new wxwxMenuListNode(this, (wxwxMenuListNode *)prev, (wxwxMenuListNode *)next, (wxMenu *)data, key); } public: typedef size_t size_type; typedef int difference_type; typedef wxMenu* value_type; typedef wxMenu* base_value_type; typedef value_type& reference; typedef const value_type& const_reference; typedef base_value_type& base_reference; typedef const base_value_type& const_base_reference; class iterator { typedef wxMenuList list; public: typedef wxwxMenuListNode Node; typedef iterator itor; typedef wxMenu* value_type; typedef value_type* ptr_type; typedef value_type& reference; Node* m_node; Node* m_init; public: typedef reference reference_type; typedef ptr_type pointer_type; iterator(Node* node, Node* init) : m_node(node), m_init(init) {} iterator() : m_node(__null), m_init(__null) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetNext(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetNext(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetPrevious() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetPrevious() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class const_iterator { typedef wxMenuList list; public: typedef wxwxMenuListNode Node; typedef wxMenu* value_type; typedef const value_type& const_reference; typedef const_iterator itor; typedef value_type* ptr_type; Node* m_node; Node* m_init; public: typedef const_reference reference_type; typedef const ptr_type pointer_type; const_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } const_iterator() : m_node(__null), m_init(__null) { } const_iterator(const iterator& it) : m_node(it.m_node), m_init(it.m_init) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetNext(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetNext(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetPrevious() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetPrevious() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class reverse_iterator { typedef wxMenuList list; public: typedef wxwxMenuListNode Node; typedef wxMenu* value_type; typedef reverse_iterator itor; typedef value_type* ptr_type; typedef value_type& reference; Node* m_node; Node* m_init; public: typedef reference reference_type; typedef ptr_type pointer_type; reverse_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } reverse_iterator() : m_node(__null), m_init(__null) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetPrevious(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetPrevious(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetNext() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetNext() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class const_reverse_iterator { typedef wxMenuList list; public: typedef wxwxMenuListNode Node; typedef wxMenu* value_type; typedef const_reverse_iterator itor; typedef value_type* ptr_type; typedef const value_type& const_reference; Node* m_node; Node* m_init; public: typedef const_reference reference_type; typedef const ptr_type pointer_type; const_reverse_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } const_reverse_iterator() : m_node(__null), m_init(__null) { } const_reverse_iterator(const reverse_iterator& it) : m_node(it.m_node), m_init(it.m_init) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetPrevious(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetPrevious(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetNext() : m_init; return *this;} const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetNext() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; explicit wxMenuList(size_type n, const_reference v = value_type()) { assign(n, v); } wxMenuList(const const_iterator& first, const const_iterator& last) { assign(first, last); } iterator begin() { return iterator(GetFirst(), GetLast()); } const_iterator begin() const { return const_iterator(GetFirst(), GetLast()); } iterator end() { return iterator(__null, GetLast()); } const_iterator end() const { return const_iterator(__null, GetLast()); } reverse_iterator rbegin() { return reverse_iterator(GetLast(), GetFirst()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(GetLast(), GetFirst()); } reverse_iterator rend() { return reverse_iterator(__null, GetFirst()); } const_reverse_iterator rend() const { return const_reverse_iterator(__null, GetFirst()); } void resize(size_type n, value_type v = value_type()) { while (n < size()) pop_back(); while (n > size()) push_back(v); } size_type size() const { return GetCount(); } size_type max_size() const { return 2147483647; } bool empty() const { return IsEmpty(); } reference front() { return *begin(); } const_reference front() const { return *begin(); } reference back() { iterator tmp = end(); return *--tmp; } const_reference back() const { const_iterator tmp = end(); return *--tmp; } void push_front(const_reference v = value_type()) { Insert(GetFirst(), (const_base_reference)v); } void pop_front() { DeleteNode(GetFirst()); } void push_back(const_reference v = value_type()) { Append((const_base_reference)v); } void pop_back() { DeleteNode(GetLast()); } void assign(const_iterator first, const const_iterator& last) { clear(); for(; first != last; ++first) Append((const_base_reference)*first); } void assign(size_type n, const_reference v = value_type()) { clear(); for(size_type i = 0; i < n; ++i) Append((const_base_reference)v); } iterator insert(const iterator& it, const_reference v = value_type()) { Insert(it.m_node, (const_base_reference)v); return iterator(it.m_node->GetPrevious(), GetLast()); } void insert(const iterator& it, size_type n, const_reference v = value_type()) { for(size_type i = 0; i < n; ++i) Insert(it.m_node, (const_base_reference)v); } void insert(const iterator& it, const_iterator first, const const_iterator& last) { for(; first != last; ++first) Insert(it.m_node, (const_base_reference)*first); } iterator erase(const iterator& it) { iterator next = iterator(it.m_node->GetNext(), GetLast()); DeleteNode(it.m_node); return next; } iterator erase(const iterator& first, const iterator& last) { iterator next = last; ++next; DeleteNodes(first.m_node, last.m_node); return next; } void clear() { Clear(); } void splice(const iterator& it, wxMenuList& l, const iterator& first, const iterator& last) { insert(it, first, last); l.erase(first, last); } void splice(const iterator& it, wxMenuList& l) { splice(it, l, l.begin(), l.end() ); } void splice(const iterator& it, wxMenuList& l, const iterator& first) { iterator tmp = first; ++tmp; if(it == first || it == tmp) return; insert(it, *first); l.erase(first); } void remove(const_reference v) { DeleteObject((const_base_reference)v); } void reverse() { Reverse(); } };
38324 typedef wxMenuItem _WX_LIST_ITEM_TYPE_wxMenuItemList; typedef int (*wxSortFuncFor_wxMenuItemList)(const wxMenuItem **, const wxMenuItem **); class wxwxMenuItemListNode : public wxNodeBase { public: wxwxMenuItemListNode(wxListBase *list = (wxListBase *)__null, wxwxMenuItemListNode *previous = (wxwxMenuItemListNode *)__null, wxwxMenuItemListNode *next = (wxwxMenuItemListNode *)__null, wxMenuItem *data = (wxMenuItem *)__null, const wxListKey& key = wxDefaultListKey) : wxNodeBase(list, previous, next, data, key) { } wxwxMenuItemListNode *GetNext() const { return (wxwxMenuItemListNode *)wxNodeBase::GetNext(); } wxwxMenuItemListNode *GetPrevious() const { return (wxwxMenuItemListNode *)wxNodeBase::GetPrevious(); } wxMenuItem *GetData() const { return (wxMenuItem *)wxNodeBase::GetData(); } void SetData(wxMenuItem *data) { wxNodeBase::SetData(data); } protected: virtual void DeleteData(); private: wxwxMenuItemListNode(const wxwxMenuItemListNode&); wxwxMenuItemListNode& operator=(const wxwxMenuItemListNode&); }; class wxMenuItemList : public wxListBase { public: typedef wxwxMenuItemListNode Node; typedef Node* compatibility_iterator; wxMenuItemList(wxKeyType keyType = wxKEY_NONE) : wxListBase(keyType) { } wxMenuItemList(const wxMenuItemList& list) : wxListBase(list.GetKeyType()) { Assign(list); } wxMenuItemList(size_t count, wxMenuItem *elements[]) : wxListBase(count, (void **)elements) { } wxMenuItemList& operator=(const wxMenuItemList& list) { Assign(list); return *this; } wxwxMenuItemListNode *GetFirst() const { return (wxwxMenuItemListNode *)wxListBase::GetFirst(); } wxwxMenuItemListNode *GetLast() const { return (wxwxMenuItemListNode *)wxListBase::GetLast(); } wxwxMenuItemListNode *Item(size_t index) const { return (wxwxMenuItemListNode *)wxListBase::Item(index); } wxMenuItem *operator[](size_t index) const { wxwxMenuItemListNode *node = Item(index); return node ? (wxMenuItem*)(node->GetData()) : (wxMenuItem*)__null; } wxwxMenuItemListNode *Append(wxMenuItem *object) { return (wxwxMenuItemListNode *)wxListBase::Append(object); } wxwxMenuItemListNode *Insert(wxMenuItem *object) { return (wxwxMenuItemListNode *)Insert((wxwxMenuItemListNode*)__null, object); } wxwxMenuItemListNode *Insert(size_t pos, wxMenuItem *object) { return (wxwxMenuItemListNode *)wxListBase::Insert(pos, object); } wxwxMenuItemListNode *Insert(wxwxMenuItemListNode *prev, wxMenuItem *object) { return (wxwxMenuItemListNode *)wxListBase::Insert(prev, object); } wxwxMenuItemListNode *Append(long key, void *object) { return (wxwxMenuItemListNode *)wxListBase::Append(key, object); } wxwxMenuItemListNode *Append(const wxChar *key, void *object) { return (wxwxMenuItemListNode *)wxListBase::Append(key, object); } wxwxMenuItemListNode *DetachNode(wxwxMenuItemListNode *node) { return (wxwxMenuItemListNode *)wxListBase::DetachNode(node); } bool DeleteNode(wxwxMenuItemListNode *node) { return wxListBase::DeleteNode(node); } bool DeleteObject(wxMenuItem *object) { return wxListBase::DeleteObject(object); } void Erase(compatibility_iterator it) { DeleteNode(it); } wxwxMenuItemListNode *Find(const wxMenuItem *object) const { return (wxwxMenuItemListNode *)wxListBase::Find(object); } virtual wxwxMenuItemListNode *Find(const wxListKey& key) const { return (wxwxMenuItemListNode *)wxListBase::Find(key); } int IndexOf(wxMenuItem *object) const { return wxListBase::IndexOf(object); } void Sort(wxSortCompareFunction func) { wxListBase::Sort(func); } void Sort(wxSortFuncFor_wxMenuItemList func) { Sort((wxSortCompareFunction)func); } protected: virtual wxNodeBase *CreateNode(wxNodeBase *prev, wxNodeBase *next, void *data, const wxListKey& key = wxDefaultListKey) { return new wxwxMenuItemListNode(this, (wxwxMenuItemListNode *)prev, (wxwxMenuItemListNode *)next, (wxMenuItem *)data, key); } public: typedef size_t size_type; typedef int difference_type; typedef wxMenuItem* value_type; typedef wxMenuItem* base_value_type; typedef value_type& reference; typedef const value_type& const_reference; typedef base_value_type& base_reference; typedef const base_value_type& const_base_reference; class iterator { typedef wxMenuItemList list; public: typedef wxwxMenuItemListNode Node; typedef iterator itor; typedef wxMenuItem* value_type; typedef value_type* ptr_type; typedef value_type& reference; Node* m_node; Node* m_init; public: typedef reference reference_type; typedef ptr_type pointer_type; iterator(Node* node, Node* init) : m_node(node), m_init(init) {} iterator() : m_node(__null), m_init(__null) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetNext(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetNext(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetPrevious() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetPrevious() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class const_iterator { typedef wxMenuItemList list; public: typedef wxwxMenuItemListNode Node; typedef wxMenuItem* value_type; typedef const value_type& const_reference; typedef const_iterator itor; typedef value_type* ptr_type; Node* m_node; Node* m_init; public: typedef const_reference reference_type; typedef const ptr_type pointer_type; const_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } const_iterator() : m_node(__null), m_init(__null) { } const_iterator(const iterator& it) : m_node(it.m_node), m_init(it.m_init) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetNext(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetNext(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetPrevious() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetPrevious() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class reverse_iterator { typedef wxMenuItemList list; public: typedef wxwxMenuItemListNode Node; typedef wxMenuItem* value_type; typedef reverse_iterator itor; typedef value_type* ptr_type; typedef value_type& reference; Node* m_node; Node* m_init; public: typedef reference reference_type; typedef ptr_type pointer_type; reverse_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } reverse_iterator() : m_node(__null), m_init(__null) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetPrevious(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetPrevious(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetNext() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetNext() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class const_reverse_iterator { typedef wxMenuItemList list; public: typedef wxwxMenuItemListNode Node; typedef wxMenuItem* value_type; typedef const_reverse_iterator itor; typedef value_type* ptr_type; typedef const value_type& const_reference; Node* m_node; Node* m_init; public: typedef const_reference reference_type; typedef const ptr_type pointer_type; const_reverse_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } const_reverse_iterator() : m_node(__null), m_init(__null) { } const_reverse_iterator(const reverse_iterator& it) : m_node(it.m_node), m_init(it.m_init) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetPrevious(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetPrevious(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetNext() : m_init; return *this;} const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetNext() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; explicit wxMenuItemList(size_type n, const_reference v = value_type()) { assign(n, v); } wxMenuItemList(const const_iterator& first, const const_iterator& last) { assign(first, last); } iterator begin() { return iterator(GetFirst(), GetLast()); } const_iterator begin() const { return const_iterator(GetFirst(), GetLast()); } iterator end() { return iterator(__null, GetLast()); } const_iterator end() const { return const_iterator(__null, GetLast()); } reverse_iterator rbegin() { return reverse_iterator(GetLast(), GetFirst()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(GetLast(), GetFirst()); } reverse_iterator rend() { return reverse_iterator(__null, GetFirst()); } const_reverse_iterator rend() const { return const_reverse_iterator(__null, GetFirst()); } void resize(size_type n, value_type v = value_type()) { while (n < size()) pop_back(); while (n > size()) push_back(v); } size_type size() const { return GetCount(); } size_type max_size() const { return 2147483647; } bool empty() const { return IsEmpty(); } reference front() { return *begin(); } const_reference front() const { return *begin(); } reference back() { iterator tmp = end(); return *--tmp; } const_reference back() const { const_iterator tmp = end(); return *--tmp; } void push_front(const_reference v = value_type()) { Insert(GetFirst(), (const_base_reference)v); } void pop_front() { DeleteNode(GetFirst()); } void push_back(const_reference v = value_type()) { Append((const_base_reference)v); } void pop_back() { DeleteNode(GetLast()); } void assign(const_iterator first, const const_iterator& last) { clear(); for(; first != last; ++first) Append((const_base_reference)*first); } void assign(size_type n, const_reference v = value_type()) { clear(); for(size_type i = 0; i < n; ++i) Append((const_base_reference)v); } iterator insert(const iterator& it, const_reference v = value_type()) { Insert(it.m_node, (const_base_reference)v); return iterator(it.m_node->GetPrevious(), GetLast()); } void insert(const iterator& it, size_type n, const_reference v = value_type()) { for(size_type i = 0; i < n; ++i) Insert(it.m_node, (const_base_reference)v); } void insert(const iterator& it, const_iterator first, const const_iterator& last) { for(; first != last; ++first) Insert(it.m_node, (const_base_reference)*first); } iterator erase(const iterator& it) { iterator next = iterator(it.m_node->GetNext(), GetLast()); DeleteNode(it.m_node); return next; } iterator erase(const iterator& first, const iterator& last) { iterator next = last; ++next; DeleteNodes(first.m_node, last.m_node); return next; } void clear() { Clear(); } void splice(const iterator& it, wxMenuItemList& l, const iterator& first, const iterator& last) { insert(it, first, last); l.erase(first, last); } void splice(const iterator& it, wxMenuItemList& l) { splice(it, l, l.begin(), l.end() ); } void splice(const iterator& it, wxMenuItemList& l, const iterator& first) { iterator tmp = first; ++tmp; if(it == first || it == tmp) return; insert(it, *first); l.erase(first); } void remove(const_reference v) { DeleteObject((const_base_reference)v); } void reverse() { Reverse(); } };
38325
38326
38327
38328
38329
38330 class wxMenuBase : public wxEvtHandler
38331 {
38332 public:
38333
38334     static wxMenu *New(const wxString& title = wxEmptyString, long style = 0);
38335
38336
38337     wxMenuBase(const wxString& title, long style = 0) : m_title(title)
38338         { Init(style); }
38339     wxMenuBase(long style = 0)
38340         { Init(style); }
38341
38342
38343     virtual ~wxMenuBase();
38344
38345
38346
38347
38348
38349     wxMenuItem* Append(int itemid,
38350                        const wxString& text,
38351                        const wxString& help = wxEmptyString,
38352                        wxItemKind kind = wxITEM_NORMAL)
38353     {
38354         return DoAppend(wxMenuItem::New((wxMenu *)this, itemid, text, help, kind));
38355     }
38356
38357
38358     wxMenuItem* AppendSeparator() { return Append(wxID_SEPARATOR, wxEmptyString); }
38359
38360
38361     wxMenuItem* AppendCheckItem(int itemid,
38362                                 const wxString& text,
38363                                 const wxString& help = wxEmptyString)
38364     {
38365         return Append(itemid, text, help, wxITEM_CHECK);
38366     }
38367
38368
38369     wxMenuItem* AppendRadioItem(int itemid,
38370                                 const wxString& text,
38371                                 const wxString& help = wxEmptyString)
38372     {
38373         return Append(itemid, text, help, wxITEM_RADIO);
38374     }
38375
38376
38377     wxMenuItem* Append(int itemid,
38378                        const wxString& text,
38379                        wxMenu *submenu,
38380                        const wxString& help = wxEmptyString)
38381     {
38382         return DoAppend(wxMenuItem::New((wxMenu *)this, itemid, text, help,
38383                                         wxITEM_NORMAL, submenu));
38384     }
38385
38386
38387     wxMenuItem* Append(wxMenuItem *item) { return DoAppend(item); }
38388
38389
38390
38391     virtual void Break() { }
38392
38393
38394     wxMenuItem* Insert(size_t pos, wxMenuItem *item);
38395
38396
38397     wxMenuItem* Insert(size_t pos,
38398                        int itemid,
38399                        const wxString& text,
38400                        const wxString& help = wxEmptyString,
38401                        wxItemKind kind = wxITEM_NORMAL)
38402     {
38403         return Insert(pos, wxMenuItem::New((wxMenu *)this, itemid, text, help, kind));
38404     }
38405
38406
38407     wxMenuItem* InsertSeparator(size_t pos)
38408     {
38409         return Insert(pos, wxMenuItem::New((wxMenu *)this, wxID_SEPARATOR));
38410     }
38411
38412
38413     wxMenuItem* InsertCheckItem(size_t pos,
38414                                 int itemid,
38415                                 const wxString& text,
38416                                 const wxString& help = wxEmptyString)
38417     {
38418         return Insert(pos, itemid, text, help, wxITEM_CHECK);
38419     }
38420
38421
38422      wxMenuItem* InsertRadioItem(size_t pos,
38423                                  int itemid,
38424                                  const wxString& text,
38425                                  const wxString& help = wxEmptyString)
38426     {
38427         return Insert(pos, itemid, text, help, wxITEM_RADIO);
38428     }
38429
38430
38431     wxMenuItem* Insert(size_t pos,
38432                        int itemid,
38433                        const wxString& text,
38434                        wxMenu *submenu,
38435                        const wxString& help = wxEmptyString)
38436     {
38437         return Insert(pos, wxMenuItem::New((wxMenu *)this, itemid, text, help,
38438                                            wxITEM_NORMAL, submenu));
38439     }
38440
38441
38442     wxMenuItem* Prepend(wxMenuItem *item)
38443     {
38444         return Insert(0u, item);
38445     }
38446
38447
38448     wxMenuItem* Prepend(int itemid,
38449                         const wxString& text,
38450                         const wxString& help = wxEmptyString,
38451                         wxItemKind kind = wxITEM_NORMAL)
38452     {
38453         return Insert(0u, itemid, text, help, kind);
38454     }
38455
38456
38457     wxMenuItem* PrependSeparator()
38458     {
38459         return InsertSeparator(0u);
38460     }
38461
38462
38463     wxMenuItem* PrependCheckItem(int itemid,
38464                                  const wxString& text,
38465                                  const wxString& help = wxEmptyString)
38466     {
38467         return InsertCheckItem(0u, itemid, text, help);
38468     }
38469
38470
38471     wxMenuItem* PrependRadioItem(int itemid,
38472                                  const wxString& text,
38473                                  const wxString& help = wxEmptyString)
38474     {
38475         return InsertRadioItem(0u, itemid, text, help);
38476     }
38477
38478
38479     wxMenuItem* Prepend(int itemid,
38480                         const wxString& text,
38481                         wxMenu *submenu,
38482                         const wxString& help = wxEmptyString)
38483     {
38484         return Insert(0u, itemid, text, submenu, help);
38485     }
38486
38487
38488
38489
38490     wxMenuItem *Remove(int itemid) { return Remove(FindChildItem(itemid)); }
38491     wxMenuItem *Remove(wxMenuItem *item);
38492
38493
38494
38495     bool Delete(int itemid) { return Delete(FindChildItem(itemid)); }
38496     bool Delete(wxMenuItem *item);
38497
38498
38499     bool Destroy(int itemid) { return Destroy(FindChildItem(itemid)); }
38500     bool Destroy(wxMenuItem *item);
38501
38502
38503
38504
38505
38506     size_t GetMenuItemCount() const { return m_items.GetCount(); }
38507
38508     const wxMenuItemList& GetMenuItems() const { return m_items; }
38509     wxMenuItemList& GetMenuItems() { return m_items; }
38510
38511
38512     virtual int FindItem(const wxString& item) const;
38513     wxMenuItem* FindItem(int itemid, wxMenu **menu = __null) const;
38514
38515
38516     wxMenuItem* FindItemByPosition(size_t position) const;
38517
38518
38519     void Enable(int itemid, bool enable);
38520     bool IsEnabled(int itemid) const;
38521
38522     void Check(int itemid, bool check);
38523     bool IsChecked(int itemid) const;
38524
38525     void SetLabel(int itemid, const wxString& label);
38526     wxString GetLabel(int itemid) const;
38527
38528     virtual void SetHelpString(int itemid, const wxString& helpString);
38529     virtual wxString GetHelpString(int itemid) const;
38530
38531
38532
38533
38534
38535     virtual void SetTitle(const wxString& title) { m_title = title; }
38536     const wxString GetTitle() const { return m_title; }
38537
38538
38539     void SetEventHandler(wxEvtHandler *handler) { m_eventHandler = handler; }
38540     wxEvtHandler *GetEventHandler() const { return m_eventHandler; }
38541
38542
38543     void SetInvokingWindow(wxWindow *win) { m_invokingWindow = win; }
38544     wxWindow *GetInvokingWindow() const { return m_invokingWindow; }
38545
38546
38547     long GetStyle() const { return m_style; }
38548
38549
38550
38551
38552
38553
38554
38555     void UpdateUI(wxEvtHandler* source = (wxEvtHandler*)__null);
38556
38557
38558
38559     wxMenuBar *GetMenuBar() const;
38560
38561
38562     virtual void Attach(wxMenuBarBase *menubar);
38563     virtual void Detach();
38564
38565
38566     bool IsAttached() const { return GetMenuBar() != __null; }
38567
38568
38569     void SetParent(wxMenu *parent) { m_menuParent = parent; }
38570     wxMenu *GetParent() const { return m_menuParent; }
38571
38572
38573
38574
38575
38576
38577
38578     wxMenuItem *FindChildItem(int itemid, size_t *pos = __null) const;
38579
38580
38581
38582
38583
38584     bool SendEvent(int itemid, int checked = -1);
38585
38586
38587
38588
38589
38590
38591     void Append(int itemid,
38592                 const wxString& text,
38593                 const wxString& help,
38594                 bool isCheckable)
38595     {
38596         Append(itemid, text, help, isCheckable ? wxITEM_CHECK : wxITEM_NORMAL);
38597     }
38598
38599     void Insert(size_t pos,
38600                 int itemid,
38601                 const wxString& text,
38602                 const wxString& help,
38603                 bool isCheckable)
38604     {
38605         Insert(pos, itemid, text, help, isCheckable ? wxITEM_CHECK : wxITEM_NORMAL);
38606     }
38607
38608     void Prepend(int itemid,
38609                  const wxString& text,
38610                  const wxString& help,
38611                  bool isCheckable)
38612     {
38613         Insert(0u, itemid, text, help, isCheckable);
38614     }
38615
38616     static void LockAccels(bool locked)
38617     {
38618         ms_locked = locked;
38619     }
38620
38621 protected:
38622
38623
38624
38625     virtual wxMenuItem* DoAppend(wxMenuItem *item);
38626     virtual wxMenuItem* DoInsert(size_t pos, wxMenuItem *item);
38627
38628     virtual wxMenuItem *DoRemove(wxMenuItem *item);
38629     virtual bool DoDelete(wxMenuItem *item);
38630     virtual bool DoDestroy(wxMenuItem *item);
38631
38632
38633
38634
38635
38636     void Init(long style);
38637
38638
38639     void AddSubMenu(wxMenu *submenu);
38640
38641     wxMenuBar *m_menuBar;
38642     wxMenu *m_menuParent;
38643
38644     wxString m_title;
38645     wxMenuItemList m_items;
38646
38647     wxWindow *m_invokingWindow;
38648
38649     long m_style;
38650
38651     wxEvtHandler *m_eventHandler;
38652
38653     static bool ms_locked;
38654
38655     private: wxMenuBase(const wxMenuBase&); wxMenuBase& operator=(const wxMenuBase&);
38656 };
38657
38658
38659
38660
38661
38662 class wxMenuBarBase : public wxWindow
38663 {
38664 public:
38665
38666     wxMenuBarBase();
38667
38668
38669     virtual ~wxMenuBarBase();
38670
38671
38672
38673
38674
38675     virtual bool Append(wxMenu *menu, const wxString& title);
38676
38677
38678
38679     virtual bool Insert(size_t pos, wxMenu *menu, const wxString& title);
38680
38681
38682
38683
38684
38685     size_t GetMenuCount() const { return m_menus.GetCount(); }
38686
38687
38688     wxMenu *GetMenu(size_t pos) const;
38689
38690
38691
38692     virtual wxMenu *Replace(size_t pos, wxMenu *menu, const wxString& title);
38693
38694
38695
38696     virtual wxMenu *Remove(size_t pos);
38697
38698
38699     virtual void EnableTop(size_t pos, bool enable) = 0;
38700
38701
38702     virtual bool IsEnabledTop(size_t ) const { return true; }
38703
38704
38705     virtual void SetLabelTop(size_t pos, const wxString& label) = 0;
38706     virtual wxString GetLabelTop(size_t pos) const = 0;
38707
38708
38709
38710
38711
38712
38713     virtual int FindMenuItem(const wxString& menu, const wxString& item) const;
38714
38715
38716
38717
38718     virtual wxMenuItem* FindItem(int itemid, wxMenu **menu = __null) const;
38719
38720
38721     int FindMenu(const wxString& title) const;
38722 # 449 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/menu.h"
38723     void Enable(int itemid, bool enable);
38724     void Check(int itemid, bool check);
38725     bool IsChecked(int itemid) const;
38726     bool IsEnabled(int itemid) const;
38727     virtual bool IsEnabled() const { return wxWindow::IsEnabled(); }
38728
38729     void SetLabel(int itemid, const wxString &label);
38730     wxString GetLabel(int itemid) const;
38731
38732     void SetHelpString(int itemid, const wxString& helpString);
38733     wxString GetHelpString(int itemid) const;
38734
38735
38736
38737
38738     wxFrame *GetFrame() const { return m_menuBarFrame; }
38739
38740
38741     bool IsAttached() const { return GetFrame() != __null; }
38742
38743
38744     virtual void Attach(wxFrame *frame);
38745
38746
38747     virtual void Detach();
38748
38749
38750     virtual bool Enable(bool enable = true) { return wxWindow::Enable(enable); }
38751     virtual void SetLabel(const wxString& s) { wxWindow::SetLabel(s); }
38752     virtual wxString GetLabel() const { return wxWindow::GetLabel(); }
38753
38754
38755     virtual bool AcceptsFocusFromKeyboard() const { return false; }
38756
38757 protected:
38758
38759     wxMenuList m_menus;
38760
38761
38762     wxFrame *m_menuBarFrame;
38763
38764     private: wxMenuBarBase(const wxMenuBarBase&); wxMenuBarBase& operator=(const wxMenuBarBase&);
38765 };
38766 # 509 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/menu.h"
38767 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/menu.h" 1
38768 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/menu.h"
38769 class wxMenuBar : public wxMenuBarBase
38770 {
38771 public:
38772
38773     wxMenuBar();
38774     wxMenuBar(long style);
38775     wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long style = 0);
38776     virtual ~wxMenuBar();
38777
38778
38779     virtual bool Append( wxMenu *menu, const wxString &title );
38780     virtual bool Insert(size_t pos, wxMenu *menu, const wxString& title);
38781     virtual wxMenu *Replace(size_t pos, wxMenu *menu, const wxString& title);
38782     virtual wxMenu *Remove(size_t pos);
38783
38784     virtual int FindMenuItem(const wxString& menuString,
38785                              const wxString& itemString) const;
38786     virtual wxMenuItem* FindItem( int id, wxMenu **menu = __null ) const;
38787
38788     virtual void EnableTop( size_t pos, bool flag );
38789     virtual void SetLabelTop( size_t pos, const wxString& label );
38790     virtual wxString GetLabelTop( size_t pos ) const;
38791
38792
38793     void SetInvokingWindow( wxWindow *win );
38794     void UnsetInvokingWindow( wxWindow *win );
38795
38796
38797     bool GtkAppend(wxMenu *menu, const wxString& title, int pos=-1);
38798
38799
38800
38801
38802     GtkWidget *m_menubar;
38803     long m_style;
38804     wxWindow *m_invokingWindow;
38805
38806 private:
38807     void Init(size_t n, wxMenu *menus[], const wxString titles[], long style);
38808
38809     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
38810 };
38811
38812
38813
38814
38815
38816 class wxMenu : public wxMenuBase
38817 {
38818 public:
38819
38820     wxMenu(const wxString& title, long style = 0)
38821         : wxMenuBase(title, style) { Init(); }
38822
38823     wxMenu(long style = 0) : wxMenuBase(style) { Init(); }
38824
38825     virtual ~wxMenu();
38826
38827
38828     virtual wxMenuItem* DoAppend(wxMenuItem *item);
38829     virtual wxMenuItem* DoInsert(size_t pos, wxMenuItem *item);
38830     virtual wxMenuItem* DoRemove(wxMenuItem *item);
38831
38832
38833
38834
38835     int FindMenuIdByMenuItem( GtkWidget *menuItem ) const;
38836
38837
38838     GtkWidget *m_menu;
38839     GtkWidget *m_owner;
38840     GtkAccelGroup *m_accel;
38841
38842 private:
38843
38844     void Init();
38845
38846
38847     bool GtkAppend(wxMenuItem *item, int pos=-1);
38848
38849  GtkWidget *m_prevRadio;
38850
38851     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
38852 };
38853 # 510 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/menu.h" 2
38854 # 40 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
38855
38856
38857
38858 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/icon.h" 1
38859 # 44 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
38860
38861 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dialog.h" 1
38862 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dialog.h"
38863 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/containr.h" 1
38864 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dialog.h" 2
38865
38866
38867 class wxSizer;
38868 class wxStdDialogButtonSizer;
38869 # 34 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dialog.h"
38870 extern const wxChar* wxDialogNameStr;
38871
38872 class wxDialogBase : public wxTopLevelWindow
38873 {
38874 public:
38875     wxDialogBase() { Init(); }
38876     virtual ~wxDialogBase() { }
38877
38878     void Init();
38879
38880
38881
38882     void SetReturnCode(int returnCode) { m_returnCode = returnCode; }
38883     int GetReturnCode() const { return m_returnCode; }
38884
38885
38886     void SetAffirmativeId(int affirmativeId) { m_affirmativeId = affirmativeId; }
38887     int GetAffirmativeId() const { return m_affirmativeId; }
38888
38889
38890
38891
38892     int GetEscapeId() const { return wxID_ANY; }
38893
38894
38895
38896
38897
38898     wxSizer *CreateTextSizer( const wxString &message );
38899
38900
38901
38902
38903     wxSizer *CreateButtonSizer( long flags );
38904     wxStdDialogButtonSizer *CreateStdDialogButtonSizer( long flags );
38905
38906
38907 protected:
38908
38909     int m_returnCode;
38910
38911
38912     int m_affirmativeId;
38913
38914     private: wxDialogBase(const wxDialogBase&); wxDialogBase& operator=(const wxDialogBase&);
38915     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
38916     public: void OnNavigationKey(wxNavigationKeyEvent& event); void OnFocus(wxFocusEvent& event); virtual void OnChildFocus(wxChildFocusEvent& event); virtual void SetFocus(); virtual void SetFocusIgnoringChildren(); virtual void RemoveChild(wxWindowBase *child); virtual wxWindow *GetDefaultItem() const; virtual wxWindow *SetDefaultItem(wxWindow *child); virtual void SetTmpDefaultItem(wxWindow *win); virtual bool AcceptsFocus() const; protected: wxControlContainer m_container;
38917 };
38918 # 94 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dialog.h"
38919 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/dialog.h" 1
38920 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/dialog.h"
38921 class wxDialog;
38922
38923
38924
38925
38926
38927 extern const wxChar *wxDialogNameStr;
38928
38929
38930
38931
38932
38933 class wxDialog: public wxDialogBase
38934 {
38935 public:
38936     wxDialog() { Init(); }
38937     wxDialog( wxWindow *parent, wxWindowID id,
38938             const wxString &title,
38939             const wxPoint &pos = wxDefaultPosition,
38940             const wxSize &size = wxDefaultSize,
38941             long style = (0x20000000 | 0x0800 | 0x1000),
38942             const wxString &name = wxDialogNameStr );
38943     bool Create( wxWindow *parent, wxWindowID id,
38944             const wxString &title,
38945             const wxPoint &pos = wxDefaultPosition,
38946             const wxSize &size = wxDefaultSize,
38947             long style = (0x20000000 | 0x0800 | 0x1000),
38948             const wxString &name = wxDialogNameStr );
38949     ~wxDialog() {}
38950
38951     void OnApply( wxCommandEvent &event );
38952     void OnCancel( wxCommandEvent &event );
38953     void OnOK( wxCommandEvent &event );
38954     void OnPaint( wxPaintEvent& event );
38955     void OnCloseWindow( wxCloseEvent& event );
38956
38957
38958
38959
38960     virtual bool Show( bool show = 1 );
38961     virtual int ShowModal();
38962     virtual void EndModal( int retCode );
38963     virtual bool IsModal() const;
38964     void SetModal( bool modal );
38965
38966
38967
38968
38969     bool m_modalShowing;
38970
38971 protected:
38972
38973     void Init();
38974
38975 private:
38976     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
38977     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
38978 };
38979 # 95 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dialog.h" 2
38980 # 46 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
38981 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/timer.h" 1
38982 # 27 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/timer.h"
38983 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stopwatch.h" 1
38984 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stopwatch.h"
38985 class wxStopWatch
38986 {
38987 public:
38988
38989     wxStopWatch() { m_pauseCount = 0; Start(); }
38990
38991
38992     void Start(long t0 = 0);
38993
38994
38995     void Pause()
38996     {
38997         if ( !m_pauseCount++ )
38998             m_pause = GetElapsedTime();
38999     }
39000
39001
39002     void Resume()
39003     {
39004         ;
39005
39006
39007         if ( !--m_pauseCount )
39008             Start(m_pause);
39009     }
39010
39011
39012     long Time() const;
39013
39014 protected:
39015
39016     long GetElapsedTime() const;
39017
39018 private:
39019
39020     wxLongLong m_t0;
39021
39022
39023     long m_pause;
39024
39025
39026     int m_pauseCount;
39027 };
39028
39029
39030
39031
39032
39033
39034
39035 void wxStartTimer();
39036
39037
39038
39039 long wxGetElapsedTime(bool resetTimer = true);
39040 # 86 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stopwatch.h"
39041 extern long wxGetLocalTime();
39042
39043
39044 extern long wxGetUTCTime();
39045
39046
39047
39048 extern wxLongLong wxGetLocalTimeMillis();
39049 # 28 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/timer.h" 2
39050 # 42 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/timer.h"
39051 class wxTimerBase : public wxEvtHandler
39052 {
39053 public:
39054
39055
39056
39057
39058
39059     wxTimerBase() { Init(); SetOwner(this); }
39060
39061
39062
39063
39064     wxTimerBase(wxEvtHandler *owner, int timerid = wxID_ANY)
39065         { Init(); SetOwner(owner, timerid); }
39066
39067
39068     void SetOwner(wxEvtHandler *owner, int timerid = wxID_ANY)
39069         { m_owner = owner; m_idTimer = timerid; }
39070     wxEvtHandler* GetOwner() const { return m_owner; }
39071
39072     virtual ~wxTimerBase();
39073 # 73 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/timer.h"
39074     virtual bool Start(int milliseconds = -1, bool oneShot = false);
39075
39076
39077     virtual void Stop() = 0;
39078
39079
39080
39081     virtual void Notify();
39082
39083
39084
39085
39086
39087     virtual bool IsRunning() const = 0;
39088
39089
39090     int GetInterval() const { return m_milli; }
39091
39092
39093     bool IsOneShot() const { return m_oneShot; }
39094
39095
39096     int GetId() const { return m_idTimer; }
39097
39098
39099 protected:
39100
39101     void Init() { m_oneShot = false; m_milli = 0; }
39102
39103     wxEvtHandler *m_owner;
39104     int m_idTimer;
39105
39106     int m_milli;
39107     bool m_oneShot;
39108
39109     private: wxTimerBase(const wxTimerBase&); wxTimerBase& operator=(const wxTimerBase&);
39110 };
39111 # 120 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/timer.h"
39112 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/timer.h" 1
39113 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/timer.h"
39114 class wxTimer : public wxTimerBase
39115 {
39116 public:
39117     wxTimer() { Init(); }
39118     wxTimer(wxEvtHandler *owner, int id = -1) : wxTimerBase(owner, id)
39119         { Init(); }
39120     ~wxTimer();
39121
39122     virtual bool Start( int millisecs = -1, bool oneShot = 0 );
39123     virtual void Stop();
39124
39125     virtual bool IsRunning() const { return m_tag != -1; }
39126
39127 protected:
39128     void Init();
39129
39130     int m_tag;
39131
39132 private:
39133     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const;
39134 };
39135 # 121 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/timer.h" 2
39136 # 135 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/timer.h"
39137 class wxTimerRunner
39138 {
39139 public:
39140     wxTimerRunner(wxTimer& timer) : m_timer(timer) { }
39141     wxTimerRunner(wxTimer& timer, int milli, bool oneShot = false)
39142         : m_timer(timer)
39143     {
39144         m_timer.Start(milli, oneShot);
39145     }
39146
39147     void Start(int milli, bool oneShot = false)
39148     {
39149         m_timer.Start(milli, oneShot);
39150     }
39151
39152     ~wxTimerRunner()
39153     {
39154         if ( m_timer.IsRunning() )
39155         {
39156             m_timer.Stop();
39157         }
39158     }
39159
39160 private:
39161     wxTimer& m_timer;
39162
39163     private: wxTimerRunner(const wxTimerRunner&); wxTimerRunner& operator=(const wxTimerRunner&);
39164 };
39165
39166
39167
39168
39169
39170 class wxTimerEvent : public wxEvent
39171 {
39172 public:
39173     wxTimerEvent(int timerid = 0, int interval = 0) : wxEvent(timerid)
39174     {
39175         m_eventType = wxEVT_TIMER;
39176
39177         m_interval = interval;
39178     }
39179
39180
39181     int GetInterval() const { return m_interval; }
39182
39183
39184     virtual wxEvent *Clone() const { return new wxTimerEvent(*this); }
39185
39186 private:
39187     int m_interval;
39188
39189     private: wxTimerEvent& operator=(const wxTimerEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
39190 };
39191
39192 typedef void (wxEvtHandler::*wxTimerEventFunction)(wxTimerEvent&);
39193 # 47 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
39194 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/settings.h" 1
39195 # 18 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/settings.h"
39196 class wxWindow;
39197
39198
39199
39200
39201
39202 enum wxSystemFont
39203 {
39204     wxSYS_OEM_FIXED_FONT = 10,
39205     wxSYS_ANSI_FIXED_FONT,
39206     wxSYS_ANSI_VAR_FONT,
39207     wxSYS_SYSTEM_FONT,
39208     wxSYS_DEVICE_DEFAULT_FONT,
39209     wxSYS_DEFAULT_PALETTE,
39210     wxSYS_SYSTEM_FIXED_FONT,
39211     wxSYS_DEFAULT_GUI_FONT,
39212
39213
39214     wxSYS_ICONTITLE_FONT = wxSYS_DEFAULT_GUI_FONT
39215 };
39216
39217
39218
39219
39220
39221 enum wxSystemColour
39222 {
39223     wxSYS_COLOUR_SCROLLBAR,
39224     wxSYS_COLOUR_BACKGROUND,
39225     wxSYS_COLOUR_DESKTOP = wxSYS_COLOUR_BACKGROUND,
39226     wxSYS_COLOUR_ACTIVECAPTION,
39227     wxSYS_COLOUR_INACTIVECAPTION,
39228     wxSYS_COLOUR_MENU,
39229     wxSYS_COLOUR_WINDOW,
39230     wxSYS_COLOUR_WINDOWFRAME,
39231     wxSYS_COLOUR_MENUTEXT,
39232     wxSYS_COLOUR_WINDOWTEXT,
39233     wxSYS_COLOUR_CAPTIONTEXT,
39234     wxSYS_COLOUR_ACTIVEBORDER,
39235     wxSYS_COLOUR_INACTIVEBORDER,
39236     wxSYS_COLOUR_APPWORKSPACE,
39237     wxSYS_COLOUR_HIGHLIGHT,
39238     wxSYS_COLOUR_HIGHLIGHTTEXT,
39239     wxSYS_COLOUR_BTNFACE,
39240     wxSYS_COLOUR_3DFACE = wxSYS_COLOUR_BTNFACE,
39241     wxSYS_COLOUR_BTNSHADOW,
39242     wxSYS_COLOUR_3DSHADOW = wxSYS_COLOUR_BTNSHADOW,
39243     wxSYS_COLOUR_GRAYTEXT,
39244     wxSYS_COLOUR_BTNTEXT,
39245     wxSYS_COLOUR_INACTIVECAPTIONTEXT,
39246     wxSYS_COLOUR_BTNHIGHLIGHT,
39247     wxSYS_COLOUR_BTNHILIGHT = wxSYS_COLOUR_BTNHIGHLIGHT,
39248     wxSYS_COLOUR_3DHIGHLIGHT = wxSYS_COLOUR_BTNHIGHLIGHT,
39249     wxSYS_COLOUR_3DHILIGHT = wxSYS_COLOUR_BTNHIGHLIGHT,
39250     wxSYS_COLOUR_3DDKSHADOW,
39251     wxSYS_COLOUR_3DLIGHT,
39252     wxSYS_COLOUR_INFOTEXT,
39253     wxSYS_COLOUR_INFOBK,
39254     wxSYS_COLOUR_LISTBOX,
39255     wxSYS_COLOUR_HOTLIGHT,
39256     wxSYS_COLOUR_GRADIENTACTIVECAPTION,
39257     wxSYS_COLOUR_GRADIENTINACTIVECAPTION,
39258     wxSYS_COLOUR_MENUHILIGHT,
39259     wxSYS_COLOUR_MENUBAR,
39260
39261     wxSYS_COLOUR_MAX
39262 };
39263
39264
39265
39266
39267
39268 enum wxSystemMetric
39269 {
39270     wxSYS_MOUSE_BUTTONS = 1,
39271     wxSYS_BORDER_X,
39272     wxSYS_BORDER_Y,
39273     wxSYS_CURSOR_X,
39274     wxSYS_CURSOR_Y,
39275     wxSYS_DCLICK_X,
39276     wxSYS_DCLICK_Y,
39277     wxSYS_DRAG_X,
39278     wxSYS_DRAG_Y,
39279     wxSYS_EDGE_X,
39280     wxSYS_EDGE_Y,
39281     wxSYS_HSCROLL_ARROW_X,
39282     wxSYS_HSCROLL_ARROW_Y,
39283     wxSYS_HTHUMB_X,
39284     wxSYS_ICON_X,
39285     wxSYS_ICON_Y,
39286     wxSYS_ICONSPACING_X,
39287     wxSYS_ICONSPACING_Y,
39288     wxSYS_WINDOWMIN_X,
39289     wxSYS_WINDOWMIN_Y,
39290     wxSYS_SCREEN_X,
39291     wxSYS_SCREEN_Y,
39292     wxSYS_FRAMESIZE_X,
39293     wxSYS_FRAMESIZE_Y,
39294     wxSYS_SMALLICON_X,
39295     wxSYS_SMALLICON_Y,
39296     wxSYS_HSCROLL_Y,
39297     wxSYS_VSCROLL_X,
39298     wxSYS_VSCROLL_ARROW_X,
39299     wxSYS_VSCROLL_ARROW_Y,
39300     wxSYS_VTHUMB_Y,
39301     wxSYS_CAPTION_Y,
39302     wxSYS_MENU_Y,
39303     wxSYS_NETWORK_PRESENT,
39304     wxSYS_PENWINDOWS_PRESENT,
39305     wxSYS_SHOW_SOUNDS,
39306     wxSYS_SWAP_BUTTONS
39307 };
39308
39309
39310 enum wxSystemFeature
39311 {
39312     wxSYS_CAN_DRAW_FRAME_DECORATIONS = 1,
39313     wxSYS_CAN_ICONIZE_FRAME
39314 };
39315
39316
39317 enum wxSystemScreenType
39318 {
39319     wxSYS_SCREEN_NONE = 0,
39320
39321     wxSYS_SCREEN_TINY,
39322     wxSYS_SCREEN_PDA,
39323     wxSYS_SCREEN_SMALL,
39324     wxSYS_SCREEN_DESKTOP
39325 };
39326 # 160 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/settings.h"
39327 class wxSystemSettingsNative
39328 {
39329 public:
39330
39331     static wxColour GetColour(wxSystemColour index);
39332
39333
39334     static wxFont GetFont(wxSystemFont index);
39335
39336
39337     static int GetMetric(wxSystemMetric index, wxWindow * win = __null);
39338
39339
39340     static bool HasFeature(wxSystemFeature index);
39341 };
39342
39343
39344
39345
39346
39347 class wxSystemSettings : public wxSystemSettingsNative
39348 {
39349 public:
39350 # 192 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/settings.h"
39351     static wxSystemScreenType GetScreenType();
39352
39353
39354     static void SetScreenType( wxSystemScreenType screen );
39355
39356
39357     static wxSystemScreenType ms_screen;
39358
39359
39360
39361
39362     static wxColour GetSystemColour(int index) __attribute__ ((deprecated));
39363     static wxFont GetSystemFont(int index) __attribute__ ((deprecated));
39364     static int GetSystemMetric(int index) __attribute__ ((deprecated));
39365
39366 };
39367 # 48 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
39368 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/msgdlg.h" 1
39369 # 19 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/msgdlg.h"
39370 class wxMessageDialogBase
39371 {
39372 protected:
39373
39374     void SetMessageDialogStyle(long style)
39375     {
39376         ;
39377
39378
39379         ;
39380
39381
39382         m_dialogStyle = style;
39383     }
39384     inline long GetMessageDialogStyle() const
39385     {
39386         return m_dialogStyle;
39387     }
39388
39389 private:
39390     long m_dialogStyle;
39391 };
39392 # 53 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/msgdlg.h"
39393 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/msgdlg.h" 1
39394 # 19 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/msgdlg.h"
39395 # 1 "lib/wx/include/gtk2-ansi-release-2.6/wx/setup.h" 1
39396 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/msgdlg.h" 2
39397 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dialog.h" 1
39398 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/msgdlg.h" 2
39399
39400
39401
39402
39403  extern const wxChar* wxMessageBoxCaptionStr;
39404
39405 class wxMessageDialog: public wxDialog, public wxMessageDialogBase
39406 {
39407 public:
39408     wxMessageDialog(wxWindow *parent, const wxString& message,
39409                     const wxString& caption = wxMessageBoxCaptionStr,
39410                     long style = 0x00000004|wxCENTRE,
39411                     const wxPoint& pos = wxDefaultPosition);
39412     ~wxMessageDialog();
39413
39414     int ShowModal();
39415     virtual bool Show( bool = true ) { return false; };
39416
39417 protected:
39418
39419
39420     virtual void DoSetSize(int , int ,
39421                            int , int ,
39422                            int = (0x0001|0x0002)) {}
39423     virtual void DoMoveWindow(int , int ,
39424                               int , int ) {}
39425
39426 private:
39427     wxString m_caption;
39428     wxString m_message;
39429
39430     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
39431 };
39432 # 54 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/msgdlg.h" 2
39433 # 68 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/msgdlg.h"
39434 int wxMessageBox(const wxString& message,
39435                              const wxString& caption = wxMessageBoxCaptionStr,
39436                              long style = 0x00000004 | wxCENTRE,
39437                              wxWindow *parent = __null,
39438                              int x = wxDefaultCoord, int y = wxDefaultCoord);
39439 # 49 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
39440 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/cmndata.h" 1
39441 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/cmndata.h"
39442 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/encinfo.h" 1
39443 # 35 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/encinfo.h"
39444 struct wxNativeEncodingInfo
39445 {
39446     wxString facename;
39447
39448     wxFontEncoding encoding;
39449 # 67 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/encinfo.h"
39450     bool FromString(const wxString& s);
39451     wxString ToString() const;
39452 };
39453 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/cmndata.h" 2
39454 # 30 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/cmndata.h"
39455 class wxPrintNativeDataBase;
39456
39457
39458 class wxColourData: public wxObject
39459 {
39460 public:
39461     wxColourData();
39462     wxColourData(const wxColourData& data);
39463     ~wxColourData();
39464
39465     void SetChooseFull(bool flag) { m_chooseFull = flag; }
39466     bool GetChooseFull() const { return m_chooseFull; }
39467     void SetColour(const wxColour& colour) { m_dataColour = colour; }
39468     const wxColour& GetColour() const { return m_dataColour; }
39469     wxColour& GetColour() { return m_dataColour; }
39470
39471
39472     void SetCustomColour(int i, const wxColour& colour);
39473     wxColour GetCustomColour(int i);
39474
39475     void operator=(const wxColourData& data);
39476
39477 public:
39478     wxColour m_dataColour;
39479     wxColour m_custColours[16];
39480     bool m_chooseFull;
39481
39482 private:
39483     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
39484 };
39485
39486 class wxFontData: public wxObject
39487 {
39488 public:
39489     wxFontData();
39490     ~wxFontData();
39491
39492     wxFontData(const wxFontData& data)
39493         : wxObject()
39494         , m_fontColour(data.m_fontColour)
39495         , m_showHelp(data.m_showHelp)
39496         , m_allowSymbols(data.m_allowSymbols)
39497         , m_enableEffects(data.m_enableEffects)
39498         , m_initialFont(data.m_initialFont)
39499         , m_chosenFont(data.m_chosenFont)
39500         , m_minSize(data.m_minSize)
39501         , m_maxSize(data.m_maxSize)
39502         , m_encoding(data.m_encoding)
39503         , m_encodingInfo(data.m_encodingInfo)
39504     {
39505     }
39506
39507     wxFontData& operator=(const wxFontData& data)
39508     {
39509         wxObject::operator=(data);
39510         m_fontColour = data.m_fontColour;
39511         m_showHelp = data.m_showHelp;
39512         m_allowSymbols = data.m_allowSymbols;
39513         m_enableEffects = data.m_enableEffects;
39514         m_initialFont = data.m_initialFont;
39515         m_chosenFont = data.m_chosenFont;
39516         m_minSize = data.m_minSize;
39517         m_maxSize = data.m_maxSize;
39518         m_encoding = data.m_encoding;
39519         m_encodingInfo = data.m_encodingInfo;
39520         return *this;
39521     }
39522
39523     void SetAllowSymbols(bool flag) { m_allowSymbols = flag; }
39524     bool GetAllowSymbols() const { return m_allowSymbols; }
39525
39526     void SetColour(const wxColour& colour) { m_fontColour = colour; }
39527     wxColour &GetColour() { return m_fontColour; }
39528
39529     void SetShowHelp(bool flag) { m_showHelp = flag; }
39530     bool GetShowHelp() const { return m_showHelp; }
39531
39532     void EnableEffects(bool flag) { m_enableEffects = flag; }
39533     bool GetEnableEffects() const { return m_enableEffects; }
39534
39535     void SetInitialFont(const wxFont& font) { m_initialFont = font; }
39536     wxFont GetInitialFont() const { return m_initialFont; }
39537
39538     void SetChosenFont(const wxFont& font) { m_chosenFont = font; }
39539     wxFont GetChosenFont() const { return m_chosenFont; }
39540
39541     void SetRange(int minRange, int maxRange) { m_minSize = minRange; m_maxSize = maxRange; }
39542
39543
39544
39545
39546     wxFontEncoding GetEncoding() const { return m_encoding; }
39547     void SetEncoding(wxFontEncoding encoding) { m_encoding = encoding; }
39548
39549     wxNativeEncodingInfo& EncodingInfo() { return m_encodingInfo; }
39550
39551 public:
39552     wxColour m_fontColour;
39553     bool m_showHelp;
39554     bool m_allowSymbols;
39555     bool m_enableEffects;
39556     wxFont m_initialFont;
39557     wxFont m_chosenFont;
39558     int m_minSize;
39559     int m_maxSize;
39560
39561 private:
39562     wxFontEncoding m_encoding;
39563     wxNativeEncodingInfo m_encodingInfo;
39564
39565 private:
39566     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
39567 };
39568
39569
39570
39571
39572
39573
39574
39575 enum wxPrintBin
39576 {
39577     wxPRINTBIN_DEFAULT,
39578
39579     wxPRINTBIN_ONLYONE,
39580     wxPRINTBIN_LOWER,
39581     wxPRINTBIN_MIDDLE,
39582     wxPRINTBIN_MANUAL,
39583     wxPRINTBIN_ENVELOPE,
39584     wxPRINTBIN_ENVMANUAL,
39585     wxPRINTBIN_AUTO,
39586     wxPRINTBIN_TRACTOR,
39587     wxPRINTBIN_SMALLFMT,
39588     wxPRINTBIN_LARGEFMT,
39589     wxPRINTBIN_LARGECAPACITY,
39590     wxPRINTBIN_CASSETTE,
39591     wxPRINTBIN_FORMSOURCE,
39592
39593     wxPRINTBIN_USER
39594 };
39595
39596
39597 class wxPrintData: public wxObject
39598 {
39599 public:
39600     wxPrintData();
39601     wxPrintData(const wxPrintData& printData);
39602     ~wxPrintData();
39603
39604     int GetNoCopies() const { return m_printNoCopies; }
39605     bool GetCollate() const { return m_printCollate; }
39606     int GetOrientation() const { return m_printOrientation; }
39607
39608
39609     bool Ok() const ;
39610
39611     const wxString& GetPrinterName() const { return m_printerName; }
39612     bool GetColour() const { return m_colour; }
39613     wxDuplexMode GetDuplex() const { return m_duplexMode; }
39614     wxPaperSize GetPaperId() const { return m_paperId; }
39615     const wxSize& GetPaperSize() const { return m_paperSize; }
39616
39617     wxPrintQuality GetQuality() const { return m_printQuality; }
39618     wxPrintBin GetBin() const { return m_bin; }
39619     wxPrintMode GetPrintMode() const { return m_printMode; }
39620
39621     void SetNoCopies(int v) { m_printNoCopies = v; }
39622     void SetCollate(bool flag) { m_printCollate = flag; }
39623     void SetOrientation(int orient) { m_printOrientation = orient; }
39624
39625     void SetPrinterName(const wxString& name) { m_printerName = name; }
39626     void SetColour(bool colour) { m_colour = colour; }
39627     void SetDuplex(wxDuplexMode duplex) { m_duplexMode = duplex; }
39628     void SetPaperId(wxPaperSize sizeId) { m_paperId = sizeId; }
39629     void SetPaperSize(const wxSize& sz) { m_paperSize = sz; }
39630     void SetQuality(wxPrintQuality quality) { m_printQuality = quality; }
39631     void SetBin(wxPrintBin bin) { m_bin = bin; }
39632     void SetPrintMode(wxPrintMode printMode) { m_printMode = printMode; }
39633
39634     wxString GetFilename() const { return m_filename; }
39635     void SetFilename( const wxString &filename ) { m_filename = filename; }
39636
39637     void operator=(const wxPrintData& data);
39638
39639     char* GetPrivData() const { return m_privData; }
39640     int GetPrivDataLen() const { return m_privDataLen; }
39641     void SetPrivData( char *privData, int len );
39642
39643
39644
39645
39646     wxString GetPrinterCommand() const;
39647     wxString GetPrinterOptions() const;
39648     wxString GetPreviewCommand() const;
39649     wxString GetFontMetricPath() const;
39650     double GetPrinterScaleX() const;
39651     double GetPrinterScaleY() const;
39652     long GetPrinterTranslateX() const;
39653     long GetPrinterTranslateY() const;
39654
39655     void SetPrinterCommand(const wxString& command);
39656     void SetPrinterOptions(const wxString& options);
39657     void SetPreviewCommand(const wxString& command);
39658     void SetFontMetricPath(const wxString& path);
39659     void SetPrinterScaleX(double x);
39660     void SetPrinterScaleY(double y);
39661     void SetPrinterScaling(double x, double y);
39662     void SetPrinterTranslateX(long x);
39663     void SetPrinterTranslateY(long y);
39664     void SetPrinterTranslation(long x, long y);
39665
39666
39667
39668     void ConvertToNative();
39669     void ConvertFromNative();
39670
39671     wxPrintNativeDataBase *GetNativeData() const { return m_nativeData; }
39672
39673 private:
39674     wxPrintBin m_bin;
39675     wxPrintMode m_printMode;
39676
39677     int m_printNoCopies;
39678     int m_printOrientation;
39679     bool m_printCollate;
39680
39681     wxString m_printerName;
39682     bool m_colour;
39683     wxDuplexMode m_duplexMode;
39684     wxPrintQuality m_printQuality;
39685     wxPaperSize m_paperId;
39686     wxSize m_paperSize;
39687
39688     wxString m_filename;
39689
39690     char* m_privData;
39691     int m_privDataLen;
39692
39693     wxPrintNativeDataBase *m_nativeData;
39694
39695 private:
39696     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
39697 };
39698 # 281 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/cmndata.h"
39699 class wxPrintDialogData: public wxObject
39700 {
39701 public:
39702     wxPrintDialogData();
39703     wxPrintDialogData(const wxPrintDialogData& dialogData);
39704     wxPrintDialogData(const wxPrintData& printData);
39705     ~wxPrintDialogData();
39706
39707     int GetFromPage() const { return m_printFromPage; };
39708     int GetToPage() const { return m_printToPage; };
39709     int GetMinPage() const { return m_printMinPage; };
39710     int GetMaxPage() const { return m_printMaxPage; };
39711     int GetNoCopies() const { return m_printNoCopies; };
39712     bool GetAllPages() const { return m_printAllPages; };
39713     bool GetSelection() const { return m_printSelection; };
39714     bool GetCollate() const { return m_printCollate; };
39715     bool GetPrintToFile() const { return m_printToFile; };
39716
39717     bool GetSetupDialog() const { return m_printSetupDialog; };
39718
39719     void SetFromPage(int v) { m_printFromPage = v; };
39720     void SetToPage(int v) { m_printToPage = v; };
39721     void SetMinPage(int v) { m_printMinPage = v; };
39722     void SetMaxPage(int v) { m_printMaxPage = v; };
39723     void SetNoCopies(int v) { m_printNoCopies = v; };
39724     void SetAllPages(bool flag) { m_printAllPages = flag; };
39725     void SetSelection(bool flag) { m_printSelection = flag; };
39726     void SetCollate(bool flag) { m_printCollate = flag; };
39727     void SetPrintToFile(bool flag) { m_printToFile = flag; };
39728
39729     void SetSetupDialog(bool flag) { m_printSetupDialog = flag; };
39730
39731     void EnablePrintToFile(bool flag) { m_printEnablePrintToFile = flag; };
39732     void EnableSelection(bool flag) { m_printEnableSelection = flag; };
39733     void EnablePageNumbers(bool flag) { m_printEnablePageNumbers = flag; };
39734     void EnableHelp(bool flag) { m_printEnableHelp = flag; };
39735
39736     bool GetEnablePrintToFile() const { return m_printEnablePrintToFile; };
39737     bool GetEnableSelection() const { return m_printEnableSelection; };
39738     bool GetEnablePageNumbers() const { return m_printEnablePageNumbers; };
39739     bool GetEnableHelp() const { return m_printEnableHelp; };
39740
39741
39742     bool Ok() const { return m_printData.Ok() ; }
39743
39744     wxPrintData& GetPrintData() { return m_printData; }
39745     void SetPrintData(const wxPrintData& printData) { m_printData = printData; }
39746
39747     void operator=(const wxPrintDialogData& data);
39748     void operator=(const wxPrintData& data);
39749
39750 private:
39751     int m_printFromPage;
39752     int m_printToPage;
39753     int m_printMinPage;
39754     int m_printMaxPage;
39755     int m_printNoCopies;
39756     bool m_printAllPages;
39757     bool m_printCollate;
39758     bool m_printToFile;
39759     bool m_printSelection;
39760     bool m_printEnableSelection;
39761     bool m_printEnablePageNumbers;
39762     bool m_printEnableHelp;
39763     bool m_printEnablePrintToFile;
39764
39765     bool m_printSetupDialog;
39766
39767     wxPrintData m_printData;
39768
39769 private:
39770     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
39771 };
39772 # 362 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/cmndata.h"
39773 class wxPageSetupDialogData: public wxObject
39774 {
39775 public:
39776     wxPageSetupDialogData();
39777     wxPageSetupDialogData(const wxPageSetupDialogData& dialogData);
39778     wxPageSetupDialogData(const wxPrintData& printData);
39779     ~wxPageSetupDialogData();
39780
39781     wxSize GetPaperSize() const { return m_paperSize; };
39782     wxPaperSize GetPaperId() const { return m_printData.GetPaperId(); };
39783     wxPoint GetMinMarginTopLeft() const { return m_minMarginTopLeft; };
39784     wxPoint GetMinMarginBottomRight() const { return m_minMarginBottomRight; };
39785     wxPoint GetMarginTopLeft() const { return m_marginTopLeft; };
39786     wxPoint GetMarginBottomRight() const { return m_marginBottomRight; };
39787
39788     bool GetDefaultMinMargins() const { return m_defaultMinMargins; };
39789     bool GetEnableMargins() const { return m_enableMargins; };
39790     bool GetEnableOrientation() const { return m_enableOrientation; };
39791     bool GetEnablePaper() const { return m_enablePaper; };
39792     bool GetEnablePrinter() const { return m_enablePrinter; };
39793     bool GetDefaultInfo() const { return m_getDefaultInfo; };
39794     bool GetEnableHelp() const { return m_enableHelp; };
39795
39796
39797     bool Ok() const { return m_printData.Ok() ; }
39798
39799
39800
39801     void SetPaperSize(const wxSize& sz);
39802
39803     void SetPaperId(wxPaperSize id) { m_printData.SetPaperId(id); };
39804
39805
39806     void SetPaperSize(wxPaperSize id);
39807
39808     void SetMinMarginTopLeft(const wxPoint& pt) { m_minMarginTopLeft = pt; };
39809     void SetMinMarginBottomRight(const wxPoint& pt) { m_minMarginBottomRight = pt; };
39810     void SetMarginTopLeft(const wxPoint& pt) { m_marginTopLeft = pt; };
39811     void SetMarginBottomRight(const wxPoint& pt) { m_marginBottomRight = pt; };
39812     void SetDefaultMinMargins(bool flag) { m_defaultMinMargins = flag; };
39813     void SetDefaultInfo(bool flag) { m_getDefaultInfo = flag; };
39814
39815     void EnableMargins(bool flag) { m_enableMargins = flag; };
39816     void EnableOrientation(bool flag) { m_enableOrientation = flag; };
39817     void EnablePaper(bool flag) { m_enablePaper = flag; };
39818     void EnablePrinter(bool flag) { m_enablePrinter = flag; };
39819     void EnableHelp(bool flag) { m_enableHelp = flag; };
39820
39821
39822
39823     void CalculateIdFromPaperSize();
39824
39825
39826     void CalculatePaperSizeFromId();
39827
39828     wxPageSetupDialogData& operator=(const wxPageSetupDialogData& data);
39829     wxPageSetupDialogData& operator=(const wxPrintData& data);
39830
39831     wxPrintData& GetPrintData() { return m_printData; }
39832     void SetPrintData(const wxPrintData& printData);
39833
39834 private:
39835     wxSize m_paperSize;
39836     wxPoint m_minMarginTopLeft;
39837     wxPoint m_minMarginBottomRight;
39838     wxPoint m_marginTopLeft;
39839     wxPoint m_marginBottomRight;
39840     bool m_defaultMinMargins;
39841     bool m_enableMargins;
39842     bool m_enableOrientation;
39843     bool m_enablePaper;
39844     bool m_enablePrinter;
39845     bool m_getDefaultInfo;
39846     bool m_enableHelp;
39847     wxPrintData m_printData;
39848
39849 private:
39850     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
39851 };
39852 # 50 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
39853
39854
39855 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/ctrlsub.h" 1
39856 # 36 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/ctrlsub.h"
39857 class wxItemContainerImmutable
39858 {
39859 public:
39860     wxItemContainerImmutable() { }
39861     virtual ~wxItemContainerImmutable();
39862
39863
39864
39865
39866     virtual int GetCount() const = 0;
39867     bool IsEmpty() const { return GetCount() == 0; }
39868
39869     virtual wxString GetString(int n) const = 0;
39870     wxArrayString GetStrings() const;
39871     virtual void SetString(int n, const wxString& s) = 0;
39872     virtual int FindString(const wxString& s) const = 0;
39873
39874
39875
39876
39877
39878     virtual void SetSelection(int n) = 0;
39879     virtual int GetSelection() const = 0;
39880
39881
39882     bool SetStringSelection(const wxString& s);
39883
39884
39885     wxString GetStringSelection() const;
39886
39887
39888
39889     void Select(int n) { SetSelection(n); }
39890
39891
39892 protected:
39893
39894
39895     inline bool IsValid(int n) const { return n >= 0 && n < GetCount(); }
39896 };
39897
39898 class wxItemContainer : public wxItemContainerImmutable
39899 {
39900 public:
39901     wxItemContainer() { m_clientDataItemsType = wxClientData_None; }
39902     virtual ~wxItemContainer();
39903
39904
39905
39906
39907     int Append(const wxString& item)
39908         { return DoAppend(item); }
39909     int Append(const wxString& item, void *clientData)
39910         { int n = DoAppend(item); SetClientData(n, clientData); return n; }
39911     int Append(const wxString& item, wxClientData *clientData)
39912         { int n = DoAppend(item); SetClientObject(n, clientData); return n; }
39913
39914
39915     void AppendString( const wxString& item)
39916         { Append( item ); }
39917
39918
39919     void Append(const wxArrayString& strings);
39920
39921     int Insert(const wxString& item, int pos)
39922         { return DoInsert(item, pos); }
39923     int Insert(const wxString& item, int pos, void *clientData);
39924     int Insert(const wxString& item, int pos, wxClientData *clientData);
39925
39926
39927
39928
39929     virtual void Clear() = 0;
39930     virtual void Delete(int n) = 0;
39931
39932
39933
39934
39935
39936     void SetClientData(int n, void* clientData);
39937     void* GetClientData(int n) const;
39938
39939     void SetClientObject(int n, wxClientData* clientData);
39940     wxClientData* GetClientObject(int n) const;
39941
39942     bool HasClientObjectData() const
39943         { return m_clientDataItemsType == wxClientData_Object; }
39944     bool HasClientUntypedData() const
39945         { return m_clientDataItemsType == wxClientData_Void; }
39946
39947
39948
39949
39950
39951
39952
39953 protected:
39954     virtual int DoAppend(const wxString& item) = 0;
39955     virtual int DoInsert(const wxString& item, int pos) = 0;
39956
39957     virtual void DoSetItemClientData(int n, void* clientData) = 0;
39958     virtual void* DoGetItemClientData(int n) const = 0;
39959     virtual void DoSetItemClientObject(int n, wxClientData* clientData) = 0;
39960     virtual wxClientData* DoGetItemClientObject(int n) const = 0;
39961
39962
39963     wxClientDataType m_clientDataItemsType;
39964 };
39965 # 167 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/ctrlsub.h"
39966 class wxControlWithItems : public wxControl, public wxItemContainer
39967 {
39968 public:
39969     wxControlWithItems() { }
39970     virtual ~wxControlWithItems();
39971
39972
39973
39974
39975
39976
39977     void SetClientData(void *data) { wxControl::SetClientData(data); } void *GetClientData() const { return wxControl::GetClientData(); } void SetClientObject(wxClientData *data) { wxControl::SetClientObject(data); } wxClientData *GetClientObject() const { return wxControl::GetClientObject(); } void SetClientData(int n, void* clientData) { wxItemContainer::SetClientData(n, clientData); } void* GetClientData(int n) const { return wxItemContainer::GetClientData(n); } void SetClientObject(int n, wxClientData* clientData) { wxItemContainer::SetClientObject(n, clientData); } wxClientData* GetClientObject(int n) const { return wxItemContainer::GetClientObject(n); }
39978
39979
39980
39981     virtual bool ShouldInheritColours() const { return false; }
39982
39983 protected:
39984
39985
39986
39987
39988
39989
39990
39991     virtual void SetInitialBestSize(const wxSize& ) { }
39992
39993 private:
39994     private: wxControlWithItems(const wxControlWithItems&); wxControlWithItems& operator=(const wxControlWithItems&);
39995 };
39996 # 53 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
39997 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/bmpbuttn.h" 1
39998 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/bmpbuttn.h"
39999 extern const wxChar* wxButtonNameStr;
40000
40001
40002
40003
40004
40005
40006 class wxBitmapButtonBase : public wxButton
40007 {
40008 public:
40009     wxBitmapButtonBase()
40010         : m_bmpNormal(), m_bmpSelected(), m_bmpFocus(), m_bmpDisabled()
40011         , m_marginX(0), m_marginY(0)
40012         { }
40013
40014
40015     void SetBitmapLabel(const wxBitmap& bitmap)
40016         { m_bmpNormal = bitmap; OnSetBitmap(); }
40017     void SetBitmapSelected(const wxBitmap& sel)
40018         { m_bmpSelected = sel; OnSetBitmap(); };
40019     void SetBitmapFocus(const wxBitmap& focus)
40020         { m_bmpFocus = focus; OnSetBitmap(); };
40021     void SetBitmapDisabled(const wxBitmap& disabled)
40022         { m_bmpDisabled = disabled; OnSetBitmap(); };
40023     void SetLabel(const wxBitmap& bitmap)
40024         { SetBitmapLabel(bitmap); }
40025
40026
40027     const wxBitmap& GetBitmapLabel() const { return m_bmpNormal; }
40028     const wxBitmap& GetBitmapSelected() const { return m_bmpSelected; }
40029     const wxBitmap& GetBitmapFocus() const { return m_bmpFocus; }
40030     const wxBitmap& GetBitmapDisabled() const { return m_bmpDisabled; }
40031     wxBitmap& GetBitmapLabel() { return m_bmpNormal; }
40032     wxBitmap& GetBitmapSelected() { return m_bmpSelected; }
40033     wxBitmap& GetBitmapFocus() { return m_bmpFocus; }
40034     wxBitmap& GetBitmapDisabled() { return m_bmpDisabled; }
40035
40036
40037     virtual void SetMargins(int x, int y) { m_marginX = x; m_marginY = y; }
40038     int GetMarginX() const { return m_marginX; }
40039     int GetMarginY() const { return m_marginY; }
40040
40041 protected:
40042
40043     virtual void OnSetBitmap() { InvalidateBestSize(); Refresh(); }
40044
40045
40046     wxBitmap m_bmpNormal,
40047              m_bmpSelected,
40048              m_bmpFocus,
40049              m_bmpDisabled;
40050
40051
40052     int m_marginX,
40053         m_marginY;
40054
40055 private:
40056
40057     void SetLabel(const wxString& rsLabel)
40058         { wxWindowBase::SetLabel(rsLabel); }
40059
40060     private: wxBitmapButtonBase(const wxBitmapButtonBase&); wxBitmapButtonBase& operator=(const wxBitmapButtonBase&);
40061 };
40062 # 93 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/bmpbuttn.h"
40063 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/bmpbuttn.h" 1
40064 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/bmpbuttn.h"
40065 class wxBitmapButton: public wxBitmapButtonBase
40066 {
40067 public:
40068     wxBitmapButton() { Init(); }
40069
40070     wxBitmapButton(wxWindow *parent,
40071                    wxWindowID id,
40072                    const wxBitmap& bitmap,
40073                    const wxPoint& pos = wxDefaultPosition,
40074                    const wxSize& size = wxDefaultSize,
40075                    long style = 0x0004,
40076                    const wxValidator& validator = wxDefaultValidator,
40077                    const wxString& name = wxButtonNameStr)
40078     {
40079         Init();
40080
40081         Create(parent, id, bitmap, pos, size, style, validator, name);
40082     }
40083
40084     bool Create(wxWindow *parent,
40085                 wxWindowID id,
40086                 const wxBitmap& bitmap,
40087                 const wxPoint& pos = wxDefaultPosition,
40088                 const wxSize& size = wxDefaultSize,
40089                 long style = 0x0004,
40090                 const wxValidator& validator = wxDefaultValidator,
40091                 const wxString& name = wxButtonNameStr);
40092
40093     void SetLabel( const wxString &label );
40094     wxString GetLabel() const;
40095     virtual void SetLabel( const wxBitmap& bitmap ) { SetBitmapLabel(bitmap); }
40096
40097     virtual void SetDefault();
40098     virtual bool Enable(bool enable = 1);
40099
40100
40101
40102
40103     void HasFocus();
40104     void NotFocus();
40105     void StartSelect();
40106     void EndSelect();
40107     void DoApplyWidgetStyle(GtkRcStyle *style);
40108
40109     bool m_hasFocus:1;
40110     bool m_isSelected:1;
40111
40112 protected:
40113     virtual void OnSetBitmap();
40114     virtual wxSize DoGetBestSize() const;
40115
40116     void Init();
40117
40118 private:
40119     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
40120 };
40121 # 94 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/bmpbuttn.h" 2
40122 # 54 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
40123 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/checkbox.h" 1
40124 # 44 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/checkbox.h"
40125 enum wxCheckBoxState
40126 {
40127     wxCHK_UNCHECKED,
40128     wxCHK_CHECKED,
40129     wxCHK_UNDETERMINED
40130 };
40131
40132
40133 extern const wxChar * wxCheckBoxNameStr;
40134
40135
40136
40137
40138
40139 class wxCheckBoxBase : public wxControl
40140 {
40141 public:
40142     wxCheckBoxBase() { }
40143
40144
40145     virtual void SetValue(bool value) = 0;
40146     virtual bool GetValue() const = 0;
40147
40148     bool IsChecked() const
40149     {
40150         ;
40151
40152
40153         return GetValue();
40154     }
40155
40156     wxCheckBoxState Get3StateValue() const
40157     {
40158         wxCheckBoxState state = DoGet3StateValue();
40159
40160         if ( state == wxCHK_UNDETERMINED && !Is3State() )
40161         {
40162
40163             ;
40164
40165
40166             state = wxCHK_UNCHECKED;
40167         }
40168
40169         return state;
40170     }
40171
40172     void Set3StateValue(wxCheckBoxState state)
40173     {
40174         if ( state == wxCHK_UNDETERMINED && !Is3State() )
40175         {
40176             ;
40177             state = wxCHK_UNCHECKED;
40178         }
40179
40180         DoSet3StateValue(state);
40181     }
40182
40183     bool Is3State() const { return HasFlag(0x1000); }
40184
40185     bool Is3rdStateAllowedForUser() const
40186     {
40187         return HasFlag(0x2000);
40188     }
40189
40190     virtual bool HasTransparentBackground() { return true; }
40191
40192 protected:
40193     virtual void DoSet3StateValue(wxCheckBoxState ) { ; }
40194
40195     virtual wxCheckBoxState DoGet3StateValue() const
40196     {
40197         ;
40198         return wxCHK_UNCHECKED;
40199     }
40200
40201 private:
40202     private: wxCheckBoxBase(const wxCheckBoxBase&); wxCheckBoxBase& operator=(const wxCheckBoxBase&);
40203 };
40204 # 131 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/checkbox.h"
40205 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/checkbox.h" 1
40206 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/checkbox.h"
40207 class wxCheckBox : public wxCheckBoxBase
40208 {
40209 public:
40210     wxCheckBox();
40211     wxCheckBox( wxWindow *parent, wxWindowID id, const wxString& label,
40212             const wxPoint& pos = wxDefaultPosition,
40213             const wxSize& size = wxDefaultSize, long style = 0,
40214             const wxValidator& validator = wxDefaultValidator,
40215             const wxString& name = wxCheckBoxNameStr)
40216     {
40217         Create(parent, id, label, pos, size, style, validator, name);
40218     }
40219     bool Create(wxWindow *parent,
40220                 wxWindowID id,
40221                 const wxString& label,
40222                 const wxPoint& pos = wxDefaultPosition,
40223                 const wxSize& size = wxDefaultSize,
40224                 long style = 0,
40225                 const wxValidator& validator = wxDefaultValidator,
40226                 const wxString& name = wxCheckBoxNameStr );
40227
40228     void SetValue( bool state );
40229     bool GetValue() const;
40230
40231     virtual void SetLabel( const wxString& label );
40232     virtual bool Enable( bool enable = 1 );
40233
40234     static wxVisualAttributes
40235     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
40236
40237
40238
40239
40240     void DoApplyWidgetStyle(GtkRcStyle *style);
40241     bool IsOwnGtkWindow( GdkWindow *window );
40242     void OnInternalIdle();
40243
40244     GtkWidget *m_widgetCheckbox;
40245     GtkWidget *m_widgetLabel;
40246
40247     bool m_blockEvent;
40248
40249 protected:
40250     virtual wxSize DoGetBestSize() const;
40251
40252
40253     void DoSet3StateValue(wxCheckBoxState state);
40254     wxCheckBoxState DoGet3StateValue() const;
40255
40256
40257 private:
40258     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
40259 };
40260 # 132 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/checkbox.h" 2
40261 # 55 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
40262 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/checklst.h" 1
40263 # 17 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/checklst.h"
40264 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/listbox.h" 1
40265 # 30 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/listbox.h"
40266 class wxArrayInt;
40267 class wxArrayString;
40268
40269
40270
40271
40272
40273 extern const wxChar* wxListBoxNameStr;
40274
40275
40276
40277
40278
40279 class wxListBoxBase : public wxControlWithItems
40280 {
40281 public:
40282     wxListBoxBase() { }
40283     virtual ~wxListBoxBase();
40284
40285
40286
40287     void Insert(const wxString& item, int pos)
40288         { DoInsert(item, pos); }
40289     void Insert(const wxString& item, int pos, void *clientData)
40290         { DoInsert(item, pos); SetClientData(pos, clientData); }
40291     void Insert(const wxString& item, int pos, wxClientData *clientData)
40292         { DoInsert(item, pos); SetClientObject(pos, clientData); }
40293
40294     void InsertItems(int nItems, const wxString *items, int pos);
40295     void InsertItems(const wxArrayString& items, int pos)
40296         { DoInsertItems(items, pos); }
40297
40298     void Set(int n, const wxString* items, void **clientData = __null);
40299     void Set(const wxArrayString& items, void **clientData = __null)
40300         { DoSetItems(items, clientData); }
40301
40302
40303     virtual bool IsSelected(int n) const = 0;
40304     virtual void SetSelection(int n) { DoSetSelection(n, true); }
40305     void SetSelection(int n, bool select) { DoSetSelection(n, select); }
40306     void Deselect(int n) { DoSetSelection(n, false); }
40307     void DeselectAll(int itemToLeaveSelected = -1);
40308
40309     virtual bool SetStringSelection(const wxString& s, bool select);
40310     virtual bool SetStringSelection(const wxString& s)
40311     {
40312         return SetStringSelection(s, true);
40313     }
40314
40315
40316
40317     virtual int GetSelections(wxArrayInt& aSelections) const = 0;
40318
40319
40320
40321     void SetFirstItem(int n) { DoSetFirstItem(n); }
40322     void SetFirstItem(const wxString& s);
40323
40324
40325
40326     virtual void EnsureVisible(int n);
40327
40328
40329
40330     void AppendAndEnsureVisible(const wxString& s);
40331
40332
40333     bool HasMultipleSelection() const
40334     {
40335         return (m_windowStyle & 0x0040) ||
40336                (m_windowStyle & 0x0080);
40337     }
40338
40339
40340     bool IsSorted() const { return (m_windowStyle & 0x0010) != 0; }
40341
40342
40343
40344     void Command(wxCommandEvent& event);
40345
40346
40347
40348     bool Selected(int n) const { return IsSelected(n); }
40349
40350 protected:
40351
40352
40353     virtual int DoInsert(const wxString& item, int pos)
40354         { InsertItems(1, &item, pos); return pos; }
40355
40356
40357     virtual void DoInsertItems(const wxArrayString& items, int pos) = 0;
40358     virtual void DoSetItems(const wxArrayString& items, void **clientData) = 0;
40359
40360     virtual void DoSetFirstItem(int n) = 0;
40361
40362     virtual void DoSetSelection(int n, bool select) = 0;
40363
40364
40365     private: wxListBoxBase(const wxListBoxBase&); wxListBoxBase& operator=(const wxListBoxBase&);
40366 };
40367 # 143 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/listbox.h"
40368 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/listbox.h" 1
40369 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/listbox.h"
40370 class wxSortedArrayString;
40371
40372
40373
40374
40375
40376 class wxListBox : public wxListBoxBase
40377 {
40378 public:
40379
40380     wxListBox();
40381     wxListBox( wxWindow *parent, wxWindowID id,
40382             const wxPoint& pos = wxDefaultPosition,
40383             const wxSize& size = wxDefaultSize,
40384             int n = 0, const wxString choices[] = (const wxString *) __null,
40385             long style = 0,
40386             const wxValidator& validator = wxDefaultValidator,
40387             const wxString& name = wxListBoxNameStr )
40388     {
40389
40390         m_hasCheckBoxes = 0;
40391
40392         Create(parent, id, pos, size, n, choices, style, validator, name);
40393     }
40394     wxListBox( wxWindow *parent, wxWindowID id,
40395             const wxPoint& pos,
40396             const wxSize& size,
40397             const wxArrayString& choices,
40398             long style = 0,
40399             const wxValidator& validator = wxDefaultValidator,
40400             const wxString& name = wxListBoxNameStr )
40401     {
40402
40403         m_hasCheckBoxes = 0;
40404
40405         Create(parent, id, pos, size, choices, style, validator, name);
40406     }
40407     virtual ~wxListBox();
40408
40409     bool Create(wxWindow *parent, wxWindowID id,
40410                 const wxPoint& pos = wxDefaultPosition,
40411                 const wxSize& size = wxDefaultSize,
40412                 int n = 0, const wxString choices[] = (const wxString *) __null,
40413                 long style = 0,
40414                 const wxValidator& validator = wxDefaultValidator,
40415                 const wxString& name = wxListBoxNameStr);
40416     bool Create(wxWindow *parent, wxWindowID id,
40417                 const wxPoint& pos,
40418                 const wxSize& size,
40419                 const wxArrayString& choices,
40420                 long style = 0,
40421                 const wxValidator& validator = wxDefaultValidator,
40422                 const wxString& name = wxListBoxNameStr);
40423
40424
40425     virtual void Clear();
40426     virtual void Delete(int n);
40427
40428     virtual int GetCount() const;
40429     virtual wxString GetString(int n) const;
40430     virtual void SetString(int n, const wxString& s);
40431     virtual int FindString(const wxString& s) const;
40432
40433     virtual bool IsSelected(int n) const;
40434     virtual void DoSetSelection(int n, bool select);
40435     virtual int GetSelection() const;
40436     virtual int GetSelections(wxArrayInt& aSelections) const;
40437
40438     virtual int DoAppend(const wxString& item);
40439     virtual void DoInsertItems(const wxArrayString& items, int pos);
40440     virtual void DoSetItems(const wxArrayString& items, void **clientData);
40441
40442     virtual void DoSetFirstItem(int n);
40443
40444     virtual void DoSetItemClientData(int n, void* clientData);
40445     virtual void* DoGetItemClientData(int n) const;
40446     virtual void DoSetItemClientObject(int n, wxClientData* clientData);
40447     virtual wxClientData* DoGetItemClientObject(int n) const;
40448
40449     static wxVisualAttributes
40450     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
40451
40452
40453
40454     void GtkAddItem( const wxString &item, int pos=-1 );
40455     int GtkGetIndex( GtkWidget *item ) const;
40456     GtkWidget *GetConnectWidget();
40457     bool IsOwnGtkWindow( GdkWindow *window );
40458     void DoApplyWidgetStyle(GtkRcStyle *style);
40459     void OnInternalIdle();
40460
40461
40462     void ApplyToolTip( GtkTooltips *tips, const wxChar *tip );
40463
40464
40465     GtkList *m_list;
40466     wxList m_clientList;
40467
40468
40469     bool m_hasCheckBoxes;
40470
40471
40472     int m_prevSelection;
40473     bool m_blockEvent;
40474
40475     virtual void FixUpMouseEvent(GtkWidget *widget, wxCoord& x, wxCoord& y);
40476
40477 protected:
40478     virtual wxSize DoGetBestSize() const;
40479
40480
40481     wxString GetRealLabel(struct _GList *item) const;
40482
40483
40484
40485     virtual bool UseGTKStyleBase() const { return true; }
40486
40487 private:
40488
40489
40490     wxSortedArrayString *m_strings;
40491
40492     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
40493 };
40494 # 144 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/listbox.h" 2
40495 # 18 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/checklst.h" 2
40496
40497
40498
40499
40500
40501 class wxCheckListBoxBase : public wxListBox
40502 {
40503 public:
40504     wxCheckListBoxBase() { }
40505
40506
40507     virtual bool IsChecked(size_t item) const = 0;
40508     virtual void Check(size_t item, bool check = true) = 0;
40509
40510     private: wxCheckListBoxBase(const wxCheckListBoxBase&); wxCheckListBoxBase& operator=(const wxCheckListBoxBase&);
40511 };
40512 # 44 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/checklst.h"
40513 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/checklst.h" 1
40514 # 35 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/checklst.h"
40515 class wxCheckListBox : public wxListBox
40516 {
40517 public:
40518     wxCheckListBox();
40519     wxCheckListBox(wxWindow *parent, wxWindowID id,
40520             const wxPoint& pos = wxDefaultPosition,
40521             const wxSize& size = wxDefaultSize,
40522             int nStrings = 0,
40523             const wxString *choices = (const wxString *)__null,
40524             long style = 0,
40525             const wxValidator& validator = wxDefaultValidator,
40526             const wxString& name = wxListBoxNameStr);
40527     wxCheckListBox(wxWindow *parent, wxWindowID id,
40528             const wxPoint& pos,
40529             const wxSize& size,
40530             const wxArrayString& choices,
40531             long style = 0,
40532             const wxValidator& validator = wxDefaultValidator,
40533             const wxString& name = wxListBoxNameStr);
40534
40535     bool IsChecked( int index ) const;
40536     void Check( int index, bool check = 1 );
40537
40538     int GetItemHeight() const;
40539
40540 private:
40541     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
40542 };
40543 # 45 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/checklst.h" 2
40544 # 56 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
40545 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/choice.h" 1
40546 # 33 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/choice.h"
40547 extern const wxChar* wxChoiceNameStr;
40548
40549
40550
40551
40552
40553 class wxChoiceBase : public wxControlWithItems
40554 {
40555 public:
40556     wxChoiceBase() { }
40557     virtual ~wxChoiceBase();
40558
40559
40560
40561
40562
40563     virtual void SetColumns(int = 1 ) { }
40564     virtual int GetColumns() const { return 1 ; }
40565
40566
40567     void Command(wxCommandEvent& event);
40568
40569 private:
40570     private: wxChoiceBase(const wxChoiceBase&); wxChoiceBase& operator=(const wxChoiceBase&);
40571 };
40572 # 72 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/choice.h"
40573 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/choice.h" 1
40574 # 17 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/choice.h"
40575 class wxSortedArrayString;
40576 class wxArrayString;
40577
40578
40579
40580
40581
40582 class wxChoice : public wxChoiceBase
40583 {
40584 public:
40585     wxChoice();
40586     wxChoice( wxWindow *parent, wxWindowID id,
40587             const wxPoint& pos = wxDefaultPosition,
40588             const wxSize& size = wxDefaultSize,
40589             int n = 0, const wxString choices[] = (const wxString *) __null,
40590             long style = 0,
40591             const wxValidator& validator = wxDefaultValidator,
40592             const wxString& name = wxChoiceNameStr )
40593     {
40594         m_strings = (wxSortedArrayString *)__null;
40595
40596         Create(parent, id, pos, size, n, choices, style, validator, name);
40597     }
40598     wxChoice( wxWindow *parent, wxWindowID id,
40599             const wxPoint& pos,
40600             const wxSize& size,
40601             const wxArrayString& choices,
40602             long style = 0,
40603             const wxValidator& validator = wxDefaultValidator,
40604             const wxString& name = wxChoiceNameStr )
40605     {
40606         m_strings = (wxSortedArrayString *)__null;
40607
40608         Create(parent, id, pos, size, choices, style, validator, name);
40609     }
40610     ~wxChoice();
40611     bool Create( wxWindow *parent, wxWindowID id,
40612             const wxPoint& pos = wxDefaultPosition,
40613             const wxSize& size = wxDefaultSize,
40614             int n = 0, const wxString choices[] = (wxString *) __null,
40615             long style = 0,
40616             const wxValidator& validator = wxDefaultValidator,
40617             const wxString& name = wxChoiceNameStr );
40618     bool Create( wxWindow *parent, wxWindowID id,
40619             const wxPoint& pos,
40620             const wxSize& size,
40621             const wxArrayString& choices,
40622             long style = 0,
40623             const wxValidator& validator = wxDefaultValidator,
40624             const wxString& name = wxChoiceNameStr );
40625
40626
40627     void Delete(int n);
40628     void Clear();
40629
40630     int GetSelection() const;
40631
40632     int GetCurrentSelection() const { return GetSelection(); }
40633
40634     void SetSelection( int n );
40635
40636     virtual int GetCount() const;
40637     int FindString( const wxString& string ) const;
40638     wxString GetString( int n ) const;
40639     void SetString( int n, const wxString& string );
40640
40641     static wxVisualAttributes
40642     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
40643
40644 protected:
40645     wxList m_clientList;
40646
40647     void DoApplyWidgetStyle(GtkRcStyle *style);
40648     virtual int DoAppend(const wxString& item);
40649     virtual int DoInsert(const wxString& item, int pos);
40650
40651     virtual void DoSetItemClientData( int n, void* clientData );
40652     virtual void* DoGetItemClientData( int n ) const;
40653     virtual void DoSetItemClientObject( int n, wxClientData* clientData );
40654     virtual wxClientData* DoGetItemClientObject( int n ) const;
40655
40656     virtual wxSize DoGetBestSize() const;
40657
40658     virtual bool IsOwnGtkWindow( GdkWindow *window );
40659
40660 private:
40661
40662     int GtkAddHelper(GtkWidget *menu, int pos, const wxString& item);
40663
40664
40665
40666     wxSortedArrayString *m_strings;
40667
40668 public:
40669
40670
40671     int m_selection_hack;
40672
40673 private:
40674     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
40675 };
40676 # 73 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/choice.h" 2
40677 # 57 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
40678 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/scrolbar.h" 1
40679 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/scrolbar.h"
40680 extern const wxChar* wxScrollBarNameStr;
40681
40682
40683
40684
40685
40686 class wxScrollBarBase : public wxControl
40687 {
40688 public:
40689     wxScrollBarBase() { }
40690
40691
40692     bool Create(wxWindow *parent,
40693                 wxWindowID id,
40694                 const wxPoint& pos = wxDefaultPosition,
40695                 const wxSize& size = wxDefaultSize,
40696                 long style = wxHORIZONTAL,
40697                 const wxValidator& validator = wxDefaultValidator,
40698                 const wxString& name = wxScrollBarNameStr);
40699
40700
40701     virtual int GetThumbPosition() const = 0;
40702     virtual int GetThumbSize() const = 0;
40703     virtual int GetPageSize() const = 0;
40704     virtual int GetRange() const = 0;
40705
40706     bool IsVertical() const { return (m_windowStyle & wxVERTICAL) != 0; }
40707
40708
40709     virtual void SetThumbPosition(int viewStart) = 0;
40710     virtual void SetScrollbar(int position, int thumbSize,
40711                               int range, int pageSize,
40712                               bool refresh = true) = 0;
40713
40714 private:
40715     private: wxScrollBarBase(const wxScrollBarBase&); wxScrollBarBase& operator=(const wxScrollBarBase&);
40716 };
40717 # 66 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/scrolbar.h"
40718 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/scrolbar.h" 1
40719 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/scrolbar.h"
40720 class wxScrollBar;
40721
40722
40723
40724
40725
40726 class wxScrollBar: public wxScrollBarBase
40727 {
40728 public:
40729     wxScrollBar()
40730        { m_adjust = (GtkAdjustment *) __null; m_oldPos = 0.0; }
40731     inline wxScrollBar( wxWindow *parent, wxWindowID id,
40732            const wxPoint& pos = wxDefaultPosition,
40733            const wxSize& size = wxDefaultSize,
40734            long style = wxHORIZONTAL,
40735            const wxValidator& validator = wxDefaultValidator,
40736            const wxString& name = wxScrollBarNameStr )
40737     {
40738         Create( parent, id, pos, size, style, validator, name );
40739     }
40740     bool Create( wxWindow *parent, wxWindowID id,
40741            const wxPoint& pos = wxDefaultPosition,
40742            const wxSize& size = wxDefaultSize,
40743            long style = wxHORIZONTAL,
40744            const wxValidator& validator = wxDefaultValidator,
40745            const wxString& name = wxScrollBarNameStr );
40746     ~wxScrollBar();
40747     int GetThumbPosition() const;
40748     int GetThumbSize() const;
40749     int GetPageSize() const;
40750     int GetRange() const;
40751     virtual void SetThumbPosition( int viewStart );
40752     virtual void SetScrollbar( int position, int thumbSize, int range, int pageSize,
40753       bool refresh = 1 );
40754
40755
40756
40757
40758     int GetValue(void) const;
40759     void SetValue( int viewStart );
40760     void GetValues( int *viewStart, int *viewLength, int *objectLength, int *pageLength) const;
40761     int GetViewLength() const;
40762     int GetObjectLength() const;
40763     void SetPageSize( int pageLength );
40764     void SetObjectLength( int objectLength );
40765     void SetViewLength( int viewLength );
40766
40767     static wxVisualAttributes
40768     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
40769
40770
40771
40772
40773     bool IsOwnGtkWindow( GdkWindow *window );
40774
40775     GtkAdjustment *m_adjust;
40776     float m_oldPos;
40777
40778 protected:
40779     virtual wxSize DoGetBestSize() const;
40780
40781 private:
40782     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
40783 };
40784 # 67 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/scrolbar.h" 2
40785 # 58 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
40786 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stattext.h" 1
40787 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stattext.h"
40788 extern const wxChar* wxStaticTextNameStr;
40789
40790 class wxStaticTextBase : public wxControl
40791 {
40792 public:
40793     wxStaticTextBase() { }
40794 # 39 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stattext.h"
40795     virtual bool AcceptsFocus() const { return false; }
40796     virtual bool HasTransparentBackground() { return true; }
40797
40798 private:
40799     private: wxStaticTextBase(const wxStaticTextBase&); wxStaticTextBase& operator=(const wxStaticTextBase&);
40800 };
40801 # 53 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stattext.h"
40802 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/stattext.h" 1
40803 # 27 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/stattext.h"
40804 class wxStaticText;
40805 # 37 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/stattext.h"
40806 class wxStaticText : public wxControl
40807 {
40808 public:
40809     wxStaticText();
40810     wxStaticText(wxWindow *parent,
40811                  wxWindowID id,
40812                  const wxString &label,
40813                  const wxPoint &pos = wxDefaultPosition,
40814                  const wxSize &size = wxDefaultSize,
40815                  long style = 0,
40816                  const wxString &name = wxStaticTextNameStr );
40817
40818     bool Create(wxWindow *parent,
40819                 wxWindowID id,
40820                 const wxString &label,
40821                 const wxPoint &pos = wxDefaultPosition,
40822                 const wxSize &size = wxDefaultSize,
40823                 long style = 0,
40824                 const wxString &name = wxStaticTextNameStr );
40825
40826     wxString GetLabel() const;
40827     void SetLabel( const wxString &label );
40828
40829     bool SetFont( const wxFont &font );
40830     bool SetForegroundColour( const wxColour& colour );
40831
40832     static wxVisualAttributes
40833     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
40834
40835
40836     void Wrap(int width);
40837
40838
40839
40840
40841 protected:
40842     virtual void DoSetSize(int x, int y,
40843                            int width, int height,
40844                            int sizeFlags = (0x0001|0x0002));
40845
40846     virtual wxSize DoGetBestSize() const;
40847
40848     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
40849 };
40850 # 54 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/stattext.h" 2
40851 # 59 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
40852 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/statbmp.h" 1
40853 # 26 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/statbmp.h"
40854 class wxIcon;
40855 class wxBitmap;
40856
40857 extern const wxChar* wxStaticBitmapNameStr;
40858
40859
40860 class wxStaticBitmapBase : public wxControl
40861 {
40862 public:
40863     wxStaticBitmapBase() { }
40864     virtual ~wxStaticBitmapBase();
40865
40866
40867     virtual void SetIcon(const wxIcon& icon) = 0;
40868     virtual void SetBitmap(const wxBitmap& bitmap) = 0;
40869     virtual wxBitmap GetBitmap() const = 0;
40870
40871
40872     virtual bool AcceptsFocus() const { return false; }
40873     virtual bool HasTransparentBackground() { return true; }
40874
40875 protected:
40876     virtual wxSize DoGetBestSize() const;
40877
40878     private: wxStaticBitmapBase(const wxStaticBitmapBase&); wxStaticBitmapBase& operator=(const wxStaticBitmapBase&);
40879 };
40880 # 60 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/statbmp.h"
40881 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/statbmp.h" 1
40882 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/statbmp.h"
40883 class wxStaticBitmap : public wxStaticBitmapBase
40884 {
40885 public:
40886     wxStaticBitmap();
40887     wxStaticBitmap( wxWindow *parent,
40888                     wxWindowID id,
40889                     const wxBitmap& label,
40890                     const wxPoint& pos = wxDefaultPosition,
40891                     const wxSize& size = wxDefaultSize,
40892                     long style = 0,
40893                     const wxString& name = wxStaticBitmapNameStr );
40894     bool Create( wxWindow *parent,
40895                  wxWindowID id,
40896                  const wxBitmap& label,
40897                  const wxPoint& pos = wxDefaultPosition,
40898                  const wxSize& size = wxDefaultSize,
40899                  long style = 0,
40900                  const wxString& name = wxStaticBitmapNameStr);
40901
40902     virtual void SetIcon(const wxIcon& icon) { SetBitmap( icon ); }
40903     virtual void SetBitmap( const wxBitmap& bitmap );
40904     virtual wxBitmap GetBitmap() const { return m_bitmap; }
40905
40906
40907     wxIcon GetIcon() const
40908     {
40909
40910
40911         return (const wxIcon &)m_bitmap;
40912     }
40913
40914     static wxVisualAttributes
40915     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
40916
40917 private:
40918     wxBitmap m_bitmap;
40919
40920     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
40921 };
40922 # 61 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/statbmp.h" 2
40923 # 60 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
40924 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/statbox.h" 1
40925 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/statbox.h"
40926 extern const wxChar* wxStaticBoxNameStr;
40927
40928
40929
40930
40931
40932 class wxStaticBoxBase : public wxControl
40933 {
40934 public:
40935     wxStaticBoxBase() { }
40936
40937
40938     virtual bool AcceptsFocus() const { return false; }
40939     virtual bool HasTransparentBackground() { return true; }
40940
40941
40942
40943
40944
40945
40946     virtual void GetBordersForSizer(int *borderTop, int *borderOther) const
40947     {
40948         const int BORDER = 5;
40949
40950         *borderTop = GetLabel().empty() ? BORDER : GetCharHeight();
40951         *borderOther = BORDER;
40952     }
40953
40954 private:
40955     private: wxStaticBoxBase(const wxStaticBoxBase&); wxStaticBoxBase& operator=(const wxStaticBoxBase&);
40956 };
40957 # 60 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/statbox.h"
40958 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/statbox.h" 1
40959 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/statbox.h"
40960 class wxStaticBox : public wxStaticBoxBase
40961 {
40962 public:
40963     wxStaticBox();
40964     wxStaticBox( wxWindow *parent,
40965                  wxWindowID id,
40966                  const wxString &label,
40967                  const wxPoint &pos = wxDefaultPosition,
40968                  const wxSize &size = wxDefaultSize,
40969                  long style = 0,
40970                  const wxString &name = wxStaticBoxNameStr );
40971     bool Create( wxWindow *parent,
40972                  wxWindowID id,
40973                  const wxString &label,
40974                  const wxPoint &pos = wxDefaultPosition,
40975                  const wxSize &size = wxDefaultSize,
40976                  long style = 0,
40977                  const wxString &name = wxStaticBoxNameStr );
40978
40979     virtual void SetLabel( const wxString &label );
40980
40981     static wxVisualAttributes
40982     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
40983
40984
40985
40986     virtual bool IsTransparentForMouse() const { return 1; }
40987
40988 protected:
40989     void DoApplyWidgetStyle(GtkRcStyle *style);
40990
40991 private:
40992     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
40993 };
40994 # 61 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/statbox.h" 2
40995 # 61 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
40996
40997 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/radiobox.h" 1
40998 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/radiobox.h"
40999 extern const wxChar* wxRadioBoxNameStr;
41000
41001
41002
41003
41004
41005
41006
41007 class wxRadioBoxBase : public wxItemContainerImmutable
41008 {
41009 public:
41010
41011     virtual bool Enable(int n, bool enable = true) = 0;
41012     virtual bool Show(int n, bool show = true) = 0;
41013
41014
41015     virtual int GetColumnCount() const = 0;
41016     virtual int GetRowCount() const = 0;
41017
41018
41019     int GetNextItem(int item, wxDirection dir, long style) const;
41020
41021
41022
41023     virtual int FindString(const wxString& s) const;
41024
41025
41026
41027
41028
41029     int GetNumberOfRowsOrCols() const __attribute__ ((deprecated));
41030     void SetNumberOfRowsOrCols(int n) __attribute__ ((deprecated));
41031 # 63 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/radiobox.h"
41032 };
41033 # 72 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/radiobox.h"
41034 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/radiobox.h" 1
41035 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/radiobox.h"
41036 class wxRadioBox: public wxControl
41037 {
41038 public:
41039     wxRadioBox() { Init(); }
41040     wxRadioBox(wxWindow *parent,
41041                wxWindowID id,
41042                const wxString& title,
41043                const wxPoint& pos = wxDefaultPosition,
41044                const wxSize& size = wxDefaultSize,
41045                int n = 0,
41046                const wxString choices[] = (const wxString *) __null,
41047                int majorDim = 1,
41048                long style = wxHORIZONTAL,
41049                const wxValidator& val = wxDefaultValidator,
41050                const wxString& name = wxRadioBoxNameStr)
41051     {
41052         Init();
41053
41054         Create( parent, id, title, pos, size, n, choices, majorDim, style, val, name );
41055     }
41056     wxRadioBox(wxWindow *parent,
41057                wxWindowID id,
41058                const wxString& title,
41059                const wxPoint& pos,
41060                const wxSize& size,
41061                const wxArrayString& choices,
41062                int majorDim = 1,
41063                long style = wxHORIZONTAL,
41064                const wxValidator& val = wxDefaultValidator,
41065                const wxString& name = wxRadioBoxNameStr)
41066     {
41067         Init();
41068
41069         Create( parent, id, title, pos, size, choices, majorDim, style, val, name );
41070     }
41071
41072     virtual ~wxRadioBox();
41073     bool Create(wxWindow *parent,
41074                 wxWindowID id,
41075                 const wxString& title,
41076                 const wxPoint& pos = wxDefaultPosition,
41077                 const wxSize& size = wxDefaultSize,
41078                 int n = 0,
41079                 const wxString choices[] = (const wxString *) __null,
41080                 int majorDim = 0,
41081                 long style = wxHORIZONTAL,
41082                 const wxValidator& val = wxDefaultValidator,
41083                 const wxString& name = wxRadioBoxNameStr);
41084     bool Create(wxWindow *parent,
41085                 wxWindowID id,
41086                 const wxString& title,
41087                 const wxPoint& pos,
41088                 const wxSize& size,
41089                 const wxArrayString& choices,
41090                 int majorDim = 0,
41091                 long style = wxHORIZONTAL,
41092                 const wxValidator& val = wxDefaultValidator,
41093                 const wxString& name = wxRadioBoxNameStr);
41094
41095     int FindString( const wxString& s) const;
41096     void SetSelection( int n );
41097     int GetSelection() const;
41098
41099     wxString GetString( int n ) const;
41100     void SetString( int n, const wxString& label );
41101
41102     virtual bool Show( int item, bool show = true );
41103     virtual bool Enable( int item, bool enable = true );
41104
41105     virtual wxString GetStringSelection() const;
41106     virtual bool SetStringSelection( const wxString& s );
41107
41108     int GetCount() const;
41109 # 106 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/radiobox.h"
41110     virtual wxString GetLabel() const { return wxControl::GetLabel(); }
41111     virtual void SetLabel( const wxString& label );
41112     virtual bool Show( bool show = true );
41113     virtual bool Enable( bool enable = true );
41114
41115     static wxVisualAttributes
41116     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
41117
41118
41119
41120
41121     void SetFocus();
41122     void GtkDisableEvents();
41123     void GtkEnableEvents();
41124     bool IsOwnGtkWindow( GdkWindow *window );
41125     void DoApplyWidgetStyle(GtkRcStyle *style);
41126
41127     void ApplyToolTip( GtkTooltips *tips, const wxChar *tip );
41128
41129
41130     virtual void OnInternalIdle();
41131
41132     bool m_hasFocus,
41133                      m_lostFocus;
41134     int m_majorDim;
41135     wxList m_boxes;
41136
41137 protected:
41138
41139     void Init();
41140
41141
41142
41143     inline bool IsValid(int n) const { return n >= 0 && n < GetCount(); }
41144
41145 private:
41146     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
41147 };
41148 # 73 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/radiobox.h" 2
41149 # 63 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
41150 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/radiobut.h" 1
41151 # 36 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/radiobut.h"
41152 extern const wxChar* wxRadioButtonNameStr;
41153 # 45 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/radiobut.h"
41154 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/radiobut.h" 1
41155 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/radiobut.h"
41156 class wxRadioButton: public wxControl
41157 {
41158 public:
41159     wxRadioButton() { }
41160     wxRadioButton( wxWindow *parent,
41161                    wxWindowID id,
41162                    const wxString& label,
41163                    const wxPoint& pos = wxDefaultPosition,
41164                    const wxSize& size = wxDefaultSize,
41165                    long style = 0,
41166                    const wxValidator& validator = wxDefaultValidator,
41167                    const wxString& name = wxRadioButtonNameStr )
41168     {
41169         Create( parent, id, label, pos, size, style, validator, name );
41170     }
41171
41172     bool Create( wxWindow *parent,
41173                  wxWindowID id,
41174                  const wxString& label,
41175                  const wxPoint& pos = wxDefaultPosition,
41176                  const wxSize& size = wxDefaultSize,
41177                  long style = 0,
41178                  const wxValidator& validator = wxDefaultValidator,
41179                  const wxString& name = wxRadioButtonNameStr );
41180
41181     virtual void SetLabel(const wxString& label);
41182     virtual void SetValue(bool val);
41183     virtual bool GetValue() const;
41184     virtual bool Enable( bool enable = 1 );
41185
41186     static wxVisualAttributes
41187     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
41188
41189
41190
41191     virtual bool IsRadioButton() const { return 1; }
41192
41193     GSList *m_radioButtonGroup;
41194     void DoApplyWidgetStyle(GtkRcStyle *style);
41195     bool IsOwnGtkWindow( GdkWindow *window );
41196     void OnInternalIdle();
41197
41198     bool m_blockEvent;
41199
41200 protected:
41201     virtual wxSize DoGetBestSize() const;
41202
41203 private:
41204     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
41205 };
41206 # 46 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/radiobut.h" 2
41207 # 64 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
41208 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/textctrl.h" 1
41209 # 40 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/textctrl.h"
41210 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/ioswrap.h" 1
41211 # 17 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/ioswrap.h"
41212 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iostream" 1 3
41213 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iostream" 3
41214        
41215 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iostream" 3
41216 #pragma GCC visibility push(default)
41217
41218
41219 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 1 3
41220 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
41221        
41222 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
41223 #pragma GCC visibility push(default)
41224
41225 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ios" 1 3
41226 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ios" 3
41227        
41228 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ios" 3
41229 #pragma GCC visibility push(default)
41230
41231
41232
41233
41234
41235 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/localefwd.h" 1 3
41236 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/localefwd.h" 3
41237        
41238 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/localefwd.h" 3
41239
41240
41241
41242
41243
41244
41245 namespace std
41246 {
41247
41248   class locale;
41249
41250
41251   template<typename _CharT>
41252     inline bool
41253     isspace(_CharT, const locale&);
41254
41255   template<typename _CharT>
41256     inline bool
41257     isprint(_CharT, const locale&);
41258
41259   template<typename _CharT>
41260     inline bool
41261     iscntrl(_CharT, const locale&);
41262
41263   template<typename _CharT>
41264     inline bool
41265     isupper(_CharT, const locale&);
41266
41267   template<typename _CharT>
41268     inline bool
41269     islower(_CharT, const locale&);
41270
41271   template<typename _CharT>
41272     inline bool
41273     isalpha(_CharT, const locale&);
41274
41275   template<typename _CharT>
41276     inline bool
41277     isdigit(_CharT, const locale&);
41278
41279   template<typename _CharT>
41280     inline bool
41281     ispunct(_CharT, const locale&);
41282
41283   template<typename _CharT>
41284     inline bool
41285     isxdigit(_CharT, const locale&);
41286
41287   template<typename _CharT>
41288     inline bool
41289     isalnum(_CharT, const locale&);
41290
41291   template<typename _CharT>
41292     inline bool
41293     isgraph(_CharT, const locale&);
41294
41295   template<typename _CharT>
41296     inline _CharT
41297     toupper(_CharT, const locale&);
41298
41299   template<typename _CharT>
41300     inline _CharT
41301     tolower(_CharT, const locale&);
41302
41303
41304   class ctype_base;
41305   template<typename _CharT>
41306     class ctype;
41307   template<> class ctype<char>;
41308
41309   template<> class ctype<wchar_t>;
41310
41311   template<typename _CharT>
41312     class ctype_byname;
41313
41314
41315   class codecvt_base;
41316   class __enc_traits;
41317   template<typename _InternT, typename _ExternT, typename _StateT>
41318     class codecvt;
41319   template<> class codecvt<char, char, mbstate_t>;
41320
41321   template<> class codecvt<wchar_t, char, mbstate_t>;
41322
41323   template<typename _InternT, typename _ExternT, typename _StateT>
41324     class codecvt_byname;
41325
41326
41327   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
41328     class num_get;
41329   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
41330     class num_put;
41331   template<typename _CharT> class numpunct;
41332   template<typename _CharT> class numpunct_byname;
41333
41334
41335   template<typename _CharT>
41336     class collate;
41337   template<typename _CharT> class
41338     collate_byname;
41339
41340
41341   class time_base;
41342   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
41343     class time_get;
41344   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
41345     class time_get_byname;
41346   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
41347     class time_put;
41348   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
41349     class time_put_byname;
41350
41351
41352   class money_base;
41353   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
41354     class money_get;
41355   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
41356     class money_put;
41357   template<typename _CharT, bool _Intl = false>
41358     class moneypunct;
41359   template<typename _CharT, bool _Intl = false>
41360     class moneypunct_byname;
41361
41362
41363   class messages_base;
41364   template<typename _CharT>
41365     class messages;
41366   template<typename _CharT>
41367     class messages_byname;
41368
41369   template<typename _Facet>
41370     bool
41371     has_facet(const locale& __loc) throw();
41372
41373   template<typename _Facet>
41374     const _Facet&
41375     use_facet(const locale& __loc);
41376
41377   template<typename _Facet>
41378     inline const _Facet&
41379     __check_facet(const _Facet* __f)
41380     {
41381       if (!__f)
41382  __throw_bad_cast();
41383       return *__f;
41384     }
41385 }
41386 # 50 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ios" 2 3
41387 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 1 3
41388 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
41389        
41390 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
41391
41392
41393
41394 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 1 3
41395 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41396        
41397 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41398
41399
41400
41401
41402
41403
41404
41405 namespace std
41406 {
41407 # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41408   class locale
41409   {
41410   public:
41411
41412
41413     typedef int category;
41414
41415
41416     class facet;
41417     class id;
41418     class _Impl;
41419
41420     friend class facet;
41421     friend class _Impl;
41422
41423     template<typename _Facet>
41424       friend bool
41425       has_facet(const locale&) throw();
41426
41427     template<typename _Facet>
41428       friend const _Facet&
41429       use_facet(const locale&);
41430
41431     template<typename _Cache>
41432       friend struct __use_cache;
41433 # 105 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41434     static const category none = 0;
41435     static const category ctype = 1L << 0;
41436     static const category numeric = 1L << 1;
41437     static const category collate = 1L << 2;
41438     static const category time = 1L << 3;
41439     static const category monetary = 1L << 4;
41440     static const category messages = 1L << 5;
41441     static const category all = (ctype | numeric | collate |
41442         time | monetary | messages);
41443 # 124 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41444     locale() throw();
41445 # 133 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41446     locale(const locale& __other) throw();
41447 # 143 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41448     explicit
41449     locale(const char* __s);
41450 # 158 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41451     locale(const locale& __base, const char* __s, category __cat);
41452 # 171 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41453     locale(const locale& __base, const locale& __add, category __cat);
41454 # 183 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41455     template<typename _Facet>
41456       locale(const locale& __other, _Facet* __f);
41457
41458
41459     ~locale() throw();
41460 # 197 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41461     const locale&
41462     operator=(const locale& __other) throw();
41463 # 212 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41464     template<typename _Facet>
41465       locale
41466       combine(const locale& __other) const;
41467
41468
41469
41470
41471
41472
41473     string
41474     name() const;
41475 # 231 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41476     bool
41477     operator==(const locale& __other) const throw ();
41478
41479
41480
41481
41482
41483
41484
41485     inline bool
41486     operator!=(const locale& __other) const throw ()
41487     { return !(this->operator==(__other)); }
41488 # 259 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41489     template<typename _Char, typename _Traits, typename _Alloc>
41490       bool
41491       operator()(const basic_string<_Char, _Traits, _Alloc>& __s1,
41492    const basic_string<_Char, _Traits, _Alloc>& __s2) const;
41493 # 275 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41494     static locale
41495     global(const locale&);
41496
41497
41498
41499
41500     static const locale&
41501     classic();
41502
41503   private:
41504
41505     _Impl* _M_impl;
41506
41507
41508     static _Impl* _S_classic;
41509
41510
41511     static _Impl* _S_global;
41512
41513
41514
41515
41516
41517     static const char* const* const _S_categories;
41518 # 310 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41519     enum { _S_categories_size = 6 + 6 };
41520
41521
41522     static __gthread_once_t _S_once;
41523
41524
41525     explicit
41526     locale(_Impl*) throw();
41527
41528     static void
41529     _S_initialize();
41530
41531     static void
41532     _S_initialize_once();
41533
41534     static category
41535     _S_normalize_category(category);
41536
41537     void
41538     _M_coalesce(const locale& __base, const locale& __add, category __cat);
41539   };
41540 # 343 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41541   class locale::facet
41542   {
41543   private:
41544     friend class locale;
41545     friend class locale::_Impl;
41546
41547     mutable _Atomic_word _M_refcount;
41548
41549
41550     static __c_locale _S_c_locale;
41551
41552
41553     static const char _S_c_name[2];
41554
41555
41556     static __gthread_once_t _S_once;
41557
41558
41559     static void
41560     _S_initialize_once();
41561
41562   protected:
41563 # 374 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41564     explicit
41565     facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0)
41566     { }
41567
41568
41569     virtual
41570     ~facet();
41571
41572     static void
41573     _S_create_c_locale(__c_locale& __cloc, const char* __s,
41574          __c_locale __old = 0);
41575
41576     static __c_locale
41577     _S_clone_c_locale(__c_locale& __cloc);
41578
41579     static void
41580     _S_destroy_c_locale(__c_locale& __cloc);
41581
41582
41583
41584     static __c_locale
41585     _S_get_c_locale();
41586
41587     static const char*
41588     _S_get_c_name();
41589
41590   private:
41591     inline void
41592     _M_add_reference() const throw()
41593     { __gnu_cxx::__atomic_add(&_M_refcount, 1); }
41594
41595     inline void
41596     _M_remove_reference() const throw()
41597     {
41598       if (__gnu_cxx::__exchange_and_add(&_M_refcount, -1) == 1)
41599  {
41600    try
41601      { delete this; }
41602    catch (...)
41603      { }
41604  }
41605     }
41606
41607     facet(const facet&);
41608
41609     facet&
41610     operator=(const facet&);
41611   };
41612 # 434 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h" 3
41613   class locale::id
41614   {
41615   private:
41616     friend class locale;
41617     friend class locale::_Impl;
41618
41619     template<typename _Facet>
41620       friend const _Facet&
41621       use_facet(const locale&);
41622
41623     template<typename _Facet>
41624       friend bool
41625       has_facet(const locale&) throw ();
41626
41627
41628
41629
41630     mutable size_t _M_index;
41631
41632
41633     static _Atomic_word _S_refcount;
41634
41635     void
41636     operator=(const id&);
41637
41638     id(const id&);
41639
41640   public:
41641
41642
41643
41644     id() { }
41645
41646     size_t
41647     _M_id() const;
41648   };
41649
41650
41651
41652   class locale::_Impl
41653   {
41654   public:
41655
41656     friend class locale;
41657     friend class locale::facet;
41658
41659     template<typename _Facet>
41660       friend bool
41661       has_facet(const locale&) throw();
41662
41663     template<typename _Facet>
41664       friend const _Facet&
41665       use_facet(const locale&);
41666
41667     template<typename _Cache>
41668       friend struct __use_cache;
41669
41670   private:
41671
41672     _Atomic_word _M_refcount;
41673     const facet** _M_facets;
41674     size_t _M_facets_size;
41675     const facet** _M_caches;
41676     char** _M_names;
41677     static const locale::id* const _S_id_ctype[];
41678     static const locale::id* const _S_id_numeric[];
41679     static const locale::id* const _S_id_collate[];
41680     static const locale::id* const _S_id_time[];
41681     static const locale::id* const _S_id_monetary[];
41682     static const locale::id* const _S_id_messages[];
41683     static const locale::id* const* const _S_facet_categories[];
41684
41685     inline void
41686     _M_add_reference() throw()
41687     { __gnu_cxx::__atomic_add(&_M_refcount, 1); }
41688
41689     inline void
41690     _M_remove_reference() throw()
41691     {
41692       if (__gnu_cxx::__exchange_and_add(&_M_refcount, -1) == 1)
41693  {
41694    try
41695      { delete this; }
41696    catch(...)
41697      { }
41698  }
41699     }
41700
41701     _Impl(const _Impl&, size_t);
41702     _Impl(const char*, size_t);
41703     _Impl(size_t) throw();
41704
41705    ~_Impl() throw();
41706
41707     _Impl(const _Impl&);
41708
41709     void
41710     operator=(const _Impl&);
41711
41712     inline bool
41713     _M_check_same_name()
41714     {
41715       bool __ret = true;
41716       if (_M_names[1])
41717
41718  for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i)
41719    __ret = std::strcmp(_M_names[__i], _M_names[__i + 1]) == 0;
41720       return __ret;
41721     }
41722
41723     void
41724     _M_replace_categories(const _Impl*, category);
41725
41726     void
41727     _M_replace_category(const _Impl*, const locale::id* const*);
41728
41729     void
41730     _M_replace_facet(const _Impl*, const locale::id*);
41731
41732     void
41733     _M_install_facet(const locale::id*, const facet*);
41734
41735     template<typename _Facet>
41736       inline void
41737       _M_init_facet(_Facet* __facet)
41738       { _M_install_facet(&_Facet::id, __facet); }
41739
41740     void
41741     _M_install_cache(const facet*, size_t);
41742   };
41743
41744   template<typename _Facet>
41745     locale::locale(const locale& __other, _Facet* __f)
41746     {
41747       _M_impl = new _Impl(*__other._M_impl, 1);
41748
41749       try
41750  { _M_impl->_M_install_facet(&_Facet::id, __f); }
41751       catch(...)
41752  {
41753    _M_impl->_M_remove_reference();
41754    throw;
41755  }
41756       delete [] _M_impl->_M_names[0];
41757       _M_impl->_M_names[0] = 0;
41758     }
41759 }
41760 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 2 3
41761
41762 namespace std
41763 {
41764
41765
41766
41767
41768   enum _Ios_Fmtflags
41769     {
41770       _S_boolalpha = 1L << 0,
41771       _S_dec = 1L << 1,
41772       _S_fixed = 1L << 2,
41773       _S_hex = 1L << 3,
41774       _S_internal = 1L << 4,
41775       _S_left = 1L << 5,
41776       _S_oct = 1L << 6,
41777       _S_right = 1L << 7,
41778       _S_scientific = 1L << 8,
41779       _S_showbase = 1L << 9,
41780       _S_showpoint = 1L << 10,
41781       _S_showpos = 1L << 11,
41782       _S_skipws = 1L << 12,
41783       _S_unitbuf = 1L << 13,
41784       _S_uppercase = 1L << 14,
41785       _S_adjustfield = _S_left | _S_right | _S_internal,
41786       _S_basefield = _S_dec | _S_oct | _S_hex,
41787       _S_floatfield = _S_scientific | _S_fixed,
41788       _S_ios_fmtflags_end = 1L << 16
41789     };
41790
41791   inline _Ios_Fmtflags
41792   operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
41793   { return _Ios_Fmtflags(static_cast<int>(__a) & static_cast<int>(__b)); }
41794
41795   inline _Ios_Fmtflags
41796   operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
41797   { return _Ios_Fmtflags(static_cast<int>(__a) | static_cast<int>(__b)); }
41798
41799   inline _Ios_Fmtflags
41800   operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
41801   { return _Ios_Fmtflags(static_cast<int>(__a) ^ static_cast<int>(__b)); }
41802
41803   inline _Ios_Fmtflags&
41804   operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
41805   { return __a = __a | __b; }
41806
41807   inline _Ios_Fmtflags&
41808   operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
41809   { return __a = __a & __b; }
41810
41811   inline _Ios_Fmtflags&
41812   operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
41813   { return __a = __a ^ __b; }
41814
41815   inline _Ios_Fmtflags
41816   operator~(_Ios_Fmtflags __a)
41817   { return _Ios_Fmtflags(~static_cast<int>(__a)); }
41818
41819
41820   enum _Ios_Openmode
41821     {
41822       _S_app = 1L << 0,
41823       _S_ate = 1L << 1,
41824       _S_bin = 1L << 2,
41825       _S_in = 1L << 3,
41826       _S_out = 1L << 4,
41827       _S_trunc = 1L << 5,
41828       _S_ios_openmode_end = 1L << 16
41829     };
41830
41831   inline _Ios_Openmode
41832   operator&(_Ios_Openmode __a, _Ios_Openmode __b)
41833   { return _Ios_Openmode(static_cast<int>(__a) & static_cast<int>(__b)); }
41834
41835   inline _Ios_Openmode
41836   operator|(_Ios_Openmode __a, _Ios_Openmode __b)
41837   { return _Ios_Openmode(static_cast<int>(__a) | static_cast<int>(__b)); }
41838
41839   inline _Ios_Openmode
41840   operator^(_Ios_Openmode __a, _Ios_Openmode __b)
41841   { return _Ios_Openmode(static_cast<int>(__a) ^ static_cast<int>(__b)); }
41842
41843   inline _Ios_Openmode&
41844   operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
41845   { return __a = __a | __b; }
41846
41847   inline _Ios_Openmode&
41848   operator&=(_Ios_Openmode& __a, _Ios_Openmode __b)
41849   { return __a = __a & __b; }
41850
41851   inline _Ios_Openmode&
41852   operator^=(_Ios_Openmode& __a, _Ios_Openmode __b)
41853   { return __a = __a ^ __b; }
41854
41855   inline _Ios_Openmode
41856   operator~(_Ios_Openmode __a)
41857   { return _Ios_Openmode(~static_cast<int>(__a)); }
41858
41859
41860   enum _Ios_Iostate
41861     {
41862       _S_goodbit = 0,
41863       _S_badbit = 1L << 0,
41864       _S_eofbit = 1L << 1,
41865       _S_failbit = 1L << 2,
41866       _S_ios_iostate_end = 1L << 16
41867     };
41868
41869   inline _Ios_Iostate
41870   operator&(_Ios_Iostate __a, _Ios_Iostate __b)
41871   { return _Ios_Iostate(static_cast<int>(__a) & static_cast<int>(__b)); }
41872
41873   inline _Ios_Iostate
41874   operator|(_Ios_Iostate __a, _Ios_Iostate __b)
41875   { return _Ios_Iostate(static_cast<int>(__a) | static_cast<int>(__b)); }
41876
41877   inline _Ios_Iostate
41878   operator^(_Ios_Iostate __a, _Ios_Iostate __b)
41879   { return _Ios_Iostate(static_cast<int>(__a) ^ static_cast<int>(__b)); }
41880
41881   inline _Ios_Iostate&
41882   operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
41883   { return __a = __a | __b; }
41884
41885   inline _Ios_Iostate&
41886   operator&=(_Ios_Iostate& __a, _Ios_Iostate __b)
41887   { return __a = __a & __b; }
41888
41889   inline _Ios_Iostate&
41890   operator^=(_Ios_Iostate& __a, _Ios_Iostate __b)
41891   { return __a = __a ^ __b; }
41892
41893   inline _Ios_Iostate
41894   operator~(_Ios_Iostate __a)
41895   { return _Ios_Iostate(~static_cast<int>(__a)); }
41896
41897   enum _Ios_Seekdir
41898     {
41899       _S_beg = 0,
41900       _S_cur = 1,
41901       _S_end = 2,
41902       _S_ios_seekdir_end = 1L << 16
41903     };
41904 # 201 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
41905   class ios_base
41906   {
41907   public:
41908
41909
41910
41911     class failure : public exception
41912     {
41913     public:
41914
41915
41916       explicit
41917       failure(const string& __str) throw();
41918
41919
41920
41921       virtual
41922       ~failure() throw();
41923
41924       virtual const char*
41925       what() const throw();
41926
41927     private:
41928       string _M_msg;
41929     };
41930 # 253 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
41931     typedef _Ios_Fmtflags fmtflags;
41932
41933
41934     static const fmtflags boolalpha = _S_boolalpha;
41935
41936
41937     static const fmtflags dec = _S_dec;
41938
41939
41940     static const fmtflags fixed = _S_fixed;
41941
41942
41943     static const fmtflags hex = _S_hex;
41944
41945
41946
41947
41948     static const fmtflags internal = _S_internal;
41949
41950
41951
41952     static const fmtflags left = _S_left;
41953
41954
41955     static const fmtflags oct = _S_oct;
41956
41957
41958
41959     static const fmtflags right = _S_right;
41960
41961
41962     static const fmtflags scientific = _S_scientific;
41963
41964
41965
41966     static const fmtflags showbase = _S_showbase;
41967
41968
41969
41970     static const fmtflags showpoint = _S_showpoint;
41971
41972
41973     static const fmtflags showpos = _S_showpos;
41974
41975
41976     static const fmtflags skipws = _S_skipws;
41977
41978
41979     static const fmtflags unitbuf = _S_unitbuf;
41980
41981
41982
41983     static const fmtflags uppercase = _S_uppercase;
41984
41985
41986     static const fmtflags adjustfield = _S_adjustfield;
41987
41988
41989     static const fmtflags basefield = _S_basefield;
41990
41991
41992     static const fmtflags floatfield = _S_floatfield;
41993 # 328 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
41994     typedef _Ios_Iostate iostate;
41995
41996
41997
41998     static const iostate badbit = _S_badbit;
41999
42000
42001     static const iostate eofbit = _S_eofbit;
42002
42003
42004
42005
42006     static const iostate failbit = _S_failbit;
42007
42008
42009     static const iostate goodbit = _S_goodbit;
42010 # 359 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
42011     typedef _Ios_Openmode openmode;
42012
42013
42014     static const openmode app = _S_app;
42015
42016
42017     static const openmode ate = _S_ate;
42018
42019
42020
42021
42022
42023     static const openmode binary = _S_bin;
42024
42025
42026     static const openmode in = _S_in;
42027
42028
42029     static const openmode out = _S_out;
42030
42031
42032     static const openmode trunc = _S_trunc;
42033 # 392 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
42034     typedef _Ios_Seekdir seekdir;
42035
42036
42037     static const seekdir beg = _S_beg;
42038
42039
42040     static const seekdir cur = _S_cur;
42041
42042
42043     static const seekdir end = _S_end;
42044
42045
42046     typedef int io_state;
42047     typedef int open_mode;
42048     typedef int seek_dir;
42049
42050     typedef std::streampos streampos;
42051     typedef std::streamoff streamoff;
42052 # 418 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
42053     enum event
42054     {
42055       erase_event,
42056       imbue_event,
42057       copyfmt_event
42058     };
42059 # 435 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
42060     typedef void (*event_callback) (event, ios_base&, int);
42061 # 447 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
42062     void
42063     register_callback(event_callback __fn, int __index);
42064
42065   protected:
42066
42067
42068
42069
42070
42071
42072     streamsize _M_precision;
42073     streamsize _M_width;
42074     fmtflags _M_flags;
42075     iostate _M_exception;
42076     iostate _M_streambuf_state;
42077
42078
42079
42080
42081     struct _Callback_list
42082     {
42083
42084       _Callback_list* _M_next;
42085       ios_base::event_callback _M_fn;
42086       int _M_index;
42087       _Atomic_word _M_refcount;
42088
42089       _Callback_list(ios_base::event_callback __fn, int __index,
42090        _Callback_list* __cb)
42091       : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { }
42092
42093       void
42094       _M_add_reference() { __gnu_cxx::__atomic_add(&_M_refcount, 1); }
42095
42096
42097       int
42098       _M_remove_reference()
42099       { return __gnu_cxx::__exchange_and_add(&_M_refcount, -1); }
42100     };
42101
42102      _Callback_list* _M_callbacks;
42103
42104     void
42105     _M_call_callbacks(event __ev) throw();
42106
42107     void
42108     _M_dispose_callbacks(void);
42109
42110
42111     struct _Words
42112     {
42113       void* _M_pword;
42114       long _M_iword;
42115       _Words() : _M_pword(0), _M_iword(0) { }
42116     };
42117
42118
42119     _Words _M_word_zero;
42120
42121
42122
42123     enum { _S_local_word_size = 8 };
42124     _Words _M_local_word[_S_local_word_size];
42125
42126
42127     int _M_word_size;
42128     _Words* _M_word;
42129
42130     _Words&
42131     _M_grow_words(int __index, bool __iword);
42132
42133
42134     locale _M_ios_locale;
42135
42136     void
42137     _M_init();
42138
42139   public:
42140
42141
42142
42143
42144
42145     class Init
42146     {
42147       friend class ios_base;
42148     public:
42149       Init();
42150       ~Init();
42151
42152     private:
42153       static _Atomic_word _S_refcount;
42154       static bool _S_synced_with_stdio;
42155     };
42156
42157
42158
42159
42160
42161
42162     inline fmtflags
42163     flags() const { return _M_flags; }
42164 # 557 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
42165     inline fmtflags
42166     flags(fmtflags __fmtfl)
42167     {
42168       fmtflags __old = _M_flags;
42169       _M_flags = __fmtfl;
42170       return __old;
42171     }
42172 # 573 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
42173     inline fmtflags
42174     setf(fmtflags __fmtfl)
42175     {
42176       fmtflags __old = _M_flags;
42177       _M_flags |= __fmtfl;
42178       return __old;
42179     }
42180 # 590 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
42181     inline fmtflags
42182     setf(fmtflags __fmtfl, fmtflags __mask)
42183     {
42184       fmtflags __old = _M_flags;
42185       _M_flags &= ~__mask;
42186       _M_flags |= (__fmtfl & __mask);
42187       return __old;
42188     }
42189
42190
42191
42192
42193
42194
42195
42196     inline void
42197     unsetf(fmtflags __mask) { _M_flags &= ~__mask; }
42198 # 617 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
42199     inline streamsize
42200     precision() const { return _M_precision; }
42201
42202
42203
42204
42205
42206
42207     inline streamsize
42208     precision(streamsize __prec)
42209     {
42210       streamsize __old = _M_precision;
42211       _M_precision = __prec;
42212       return __old;
42213     }
42214
42215
42216
42217
42218
42219
42220
42221     inline streamsize
42222     width() const { return _M_width; }
42223
42224
42225
42226
42227
42228
42229     inline streamsize
42230     width(streamsize __wide)
42231     {
42232       streamsize __old = _M_width;
42233       _M_width = __wide;
42234       return __old;
42235     }
42236 # 666 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
42237     static bool
42238     sync_with_stdio(bool __sync = true);
42239 # 678 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
42240     locale
42241     imbue(const locale& __loc);
42242 # 689 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
42243     inline locale
42244     getloc() const { return _M_ios_locale; }
42245 # 699 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
42246     inline const locale&
42247     _M_getloc() const { return _M_ios_locale; }
42248 # 717 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
42249     static int
42250     xalloc() throw();
42251 # 733 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
42252     inline long&
42253     iword(int __ix)
42254     {
42255       _Words& __word = (__ix < _M_word_size)
42256    ? _M_word[__ix] : _M_grow_words(__ix, true);
42257       return __word._M_iword;
42258     }
42259 # 754 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
42260     inline void*&
42261     pword(int __ix)
42262     {
42263       _Words& __word = (__ix < _M_word_size)
42264    ? _M_word[__ix] : _M_grow_words(__ix, false);
42265       return __word._M_pword;
42266     }
42267 # 771 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h" 3
42268     virtual ~ios_base();
42269
42270   protected:
42271     ios_base();
42272
42273
42274
42275   private:
42276     ios_base(const ios_base&);
42277
42278     ios_base&
42279     operator=(const ios_base&);
42280   };
42281
42282
42283
42284   inline ios_base&
42285   boolalpha(ios_base& __base)
42286   {
42287     __base.setf(ios_base::boolalpha);
42288     return __base;
42289   }
42290
42291
42292   inline ios_base&
42293   noboolalpha(ios_base& __base)
42294   {
42295     __base.unsetf(ios_base::boolalpha);
42296     return __base;
42297   }
42298
42299
42300   inline ios_base&
42301   showbase(ios_base& __base)
42302   {
42303     __base.setf(ios_base::showbase);
42304     return __base;
42305   }
42306
42307
42308   inline ios_base&
42309   noshowbase(ios_base& __base)
42310   {
42311     __base.unsetf(ios_base::showbase);
42312     return __base;
42313   }
42314
42315
42316   inline ios_base&
42317   showpoint(ios_base& __base)
42318   {
42319     __base.setf(ios_base::showpoint);
42320     return __base;
42321   }
42322
42323
42324   inline ios_base&
42325   noshowpoint(ios_base& __base)
42326   {
42327     __base.unsetf(ios_base::showpoint);
42328     return __base;
42329   }
42330
42331
42332   inline ios_base&
42333   showpos(ios_base& __base)
42334   {
42335     __base.setf(ios_base::showpos);
42336     return __base;
42337   }
42338
42339
42340   inline ios_base&
42341   noshowpos(ios_base& __base)
42342   {
42343     __base.unsetf(ios_base::showpos);
42344     return __base;
42345   }
42346
42347
42348   inline ios_base&
42349   skipws(ios_base& __base)
42350   {
42351     __base.setf(ios_base::skipws);
42352     return __base;
42353   }
42354
42355
42356   inline ios_base&
42357   noskipws(ios_base& __base)
42358   {
42359     __base.unsetf(ios_base::skipws);
42360     return __base;
42361   }
42362
42363
42364   inline ios_base&
42365   uppercase(ios_base& __base)
42366   {
42367     __base.setf(ios_base::uppercase);
42368     return __base;
42369   }
42370
42371
42372   inline ios_base&
42373   nouppercase(ios_base& __base)
42374   {
42375     __base.unsetf(ios_base::uppercase);
42376     return __base;
42377   }
42378
42379
42380   inline ios_base&
42381   unitbuf(ios_base& __base)
42382   {
42383      __base.setf(ios_base::unitbuf);
42384      return __base;
42385   }
42386
42387
42388   inline ios_base&
42389   nounitbuf(ios_base& __base)
42390   {
42391      __base.unsetf(ios_base::unitbuf);
42392      return __base;
42393   }
42394
42395
42396
42397   inline ios_base&
42398   internal(ios_base& __base)
42399   {
42400      __base.setf(ios_base::internal, ios_base::adjustfield);
42401      return __base;
42402   }
42403
42404
42405   inline ios_base&
42406   left(ios_base& __base)
42407   {
42408     __base.setf(ios_base::left, ios_base::adjustfield);
42409     return __base;
42410   }
42411
42412
42413   inline ios_base&
42414   right(ios_base& __base)
42415   {
42416     __base.setf(ios_base::right, ios_base::adjustfield);
42417     return __base;
42418   }
42419
42420
42421
42422   inline ios_base&
42423   dec(ios_base& __base)
42424   {
42425     __base.setf(ios_base::dec, ios_base::basefield);
42426     return __base;
42427   }
42428
42429
42430   inline ios_base&
42431   hex(ios_base& __base)
42432   {
42433     __base.setf(ios_base::hex, ios_base::basefield);
42434     return __base;
42435   }
42436
42437
42438   inline ios_base&
42439   oct(ios_base& __base)
42440   {
42441     __base.setf(ios_base::oct, ios_base::basefield);
42442     return __base;
42443   }
42444
42445
42446
42447   inline ios_base&
42448   fixed(ios_base& __base)
42449   {
42450     __base.setf(ios_base::fixed, ios_base::floatfield);
42451     return __base;
42452   }
42453
42454
42455   inline ios_base&
42456   scientific(ios_base& __base)
42457   {
42458     __base.setf(ios_base::scientific, ios_base::floatfield);
42459     return __base;
42460   }
42461 }
42462 # 51 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ios" 2 3
42463 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 1 3
42464 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42465        
42466 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42467 #pragma GCC visibility push(default)
42468
42469
42470
42471
42472
42473
42474 namespace std
42475 {
42476
42477
42478
42479
42480
42481   template<typename _CharT, typename _Traits>
42482     streamsize
42483     __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin,
42484         basic_streambuf<_CharT, _Traits>* __sbout);
42485 # 122 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42486   template<typename _CharT, typename _Traits>
42487     class basic_streambuf
42488     {
42489     public:
42490
42491
42492
42493
42494
42495
42496       typedef _CharT char_type;
42497       typedef _Traits traits_type;
42498       typedef typename traits_type::int_type int_type;
42499       typedef typename traits_type::pos_type pos_type;
42500       typedef typename traits_type::off_type off_type;
42501 # 145 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42502       typedef basic_streambuf<char_type, traits_type> __streambuf_type;
42503
42504
42505       friend class basic_ios<char_type, traits_type>;
42506       friend class basic_istream<char_type, traits_type>;
42507       friend class basic_ostream<char_type, traits_type>;
42508       friend class istreambuf_iterator<char_type, traits_type>;
42509       friend class ostreambuf_iterator<char_type, traits_type>;
42510
42511       friend streamsize
42512       __copy_streambufs<>(__streambuf_type* __sbin,
42513      __streambuf_type* __sbout);
42514
42515       template<typename _CharT2, typename _Traits2>
42516         friend basic_istream<_CharT2, _Traits2>&
42517         operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2*);
42518
42519       template<typename _CharT2, typename _Traits2, typename _Alloc>
42520         friend basic_istream<_CharT2, _Traits2>&
42521         operator>>(basic_istream<_CharT2, _Traits2>&,
42522      basic_string<_CharT2, _Traits2, _Alloc>&);
42523
42524       template<typename _CharT2, typename _Traits2, typename _Alloc>
42525         friend basic_istream<_CharT2, _Traits2>&
42526         getline(basic_istream<_CharT2, _Traits2>&,
42527   basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2);
42528
42529     protected:
42530 # 183 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42531       char_type* _M_in_beg;
42532       char_type* _M_in_cur;
42533       char_type* _M_in_end;
42534       char_type* _M_out_beg;
42535       char_type* _M_out_cur;
42536       char_type* _M_out_end;
42537
42538
42539
42540
42541
42542
42543       locale _M_buf_locale;
42544
42545   public:
42546
42547       virtual
42548       ~basic_streambuf()
42549       { }
42550 # 211 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42551       locale
42552       pubimbue(const locale &__loc)
42553       {
42554  locale __tmp(this->getloc());
42555  this->imbue(__loc);
42556  _M_buf_locale = __loc;
42557  return __tmp;
42558       }
42559 # 228 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42560       locale
42561       getloc() const
42562       { return _M_buf_locale; }
42563 # 241 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42564       __streambuf_type*
42565       pubsetbuf(char_type* __s, streamsize __n)
42566       { return this->setbuf(__s, __n); }
42567
42568       pos_type
42569       pubseekoff(off_type __off, ios_base::seekdir __way,
42570    ios_base::openmode __mode = ios_base::in | ios_base::out)
42571       { return this->seekoff(__off, __way, __mode); }
42572
42573       pos_type
42574       pubseekpos(pos_type __sp,
42575    ios_base::openmode __mode = ios_base::in | ios_base::out)
42576       { return this->seekpos(__sp, __mode); }
42577
42578       int
42579       pubsync() { return this->sync(); }
42580 # 268 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42581       streamsize
42582       in_avail()
42583       {
42584  const streamsize __ret = this->egptr() - this->gptr();
42585  return __ret ? __ret : this->showmanyc();
42586       }
42587 # 282 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42588       int_type
42589       snextc()
42590       {
42591  int_type __ret = traits_type::eof();
42592  if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(),
42593              __ret), true))
42594    __ret = this->sgetc();
42595  return __ret;
42596       }
42597 # 300 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42598       int_type
42599       sbumpc()
42600       {
42601  int_type __ret;
42602  if (__builtin_expect(this->gptr() < this->egptr(), true))
42603    {
42604      __ret = traits_type::to_int_type(*this->gptr());
42605      this->gbump(1);
42606    }
42607  else
42608    __ret = this->uflow();
42609  return __ret;
42610       }
42611 # 322 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42612       int_type
42613       sgetc()
42614       {
42615  int_type __ret;
42616  if (__builtin_expect(this->gptr() < this->egptr(), true))
42617    __ret = traits_type::to_int_type(*this->gptr());
42618  else
42619    __ret = this->underflow();
42620  return __ret;
42621       }
42622 # 341 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42623       streamsize
42624       sgetn(char_type* __s, streamsize __n)
42625       { return this->xsgetn(__s, __n); }
42626 # 355 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42627       int_type
42628       sputbackc(char_type __c)
42629       {
42630  int_type __ret;
42631  const bool __testpos = this->eback() < this->gptr();
42632  if (__builtin_expect(!__testpos ||
42633         !traits_type::eq(__c, this->gptr()[-1]), false))
42634    __ret = this->pbackfail(traits_type::to_int_type(__c));
42635  else
42636    {
42637      this->gbump(-1);
42638      __ret = traits_type::to_int_type(*this->gptr());
42639    }
42640  return __ret;
42641       }
42642 # 380 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42643       int_type
42644       sungetc()
42645       {
42646  int_type __ret;
42647  if (__builtin_expect(this->eback() < this->gptr(), true))
42648    {
42649      this->gbump(-1);
42650      __ret = traits_type::to_int_type(*this->gptr());
42651    }
42652  else
42653    __ret = this->pbackfail();
42654  return __ret;
42655       }
42656 # 407 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42657       int_type
42658       sputc(char_type __c)
42659       {
42660  int_type __ret;
42661  if (__builtin_expect(this->pptr() < this->epptr(), true))
42662    {
42663      *this->pptr() = __c;
42664      this->pbump(1);
42665      __ret = traits_type::to_int_type(__c);
42666    }
42667  else
42668    __ret = this->overflow(traits_type::to_int_type(__c));
42669  return __ret;
42670       }
42671 # 433 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42672       streamsize
42673       sputn(const char_type* __s, streamsize __n)
42674       { return this->xsputn(__s, __n); }
42675
42676     protected:
42677 # 447 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42678       basic_streambuf()
42679       : _M_in_beg(0), _M_in_cur(0), _M_in_end(0),
42680       _M_out_beg(0), _M_out_cur(0), _M_out_end(0),
42681       _M_buf_locale(locale())
42682       { }
42683 # 465 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42684       char_type*
42685       eback() const { return _M_in_beg; }
42686
42687       char_type*
42688       gptr() const { return _M_in_cur; }
42689
42690       char_type*
42691       egptr() const { return _M_in_end; }
42692 # 481 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42693       void
42694       gbump(int __n) { _M_in_cur += __n; }
42695 # 492 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42696       void
42697       setg(char_type* __gbeg, char_type* __gnext, char_type* __gend)
42698       {
42699  _M_in_beg = __gbeg;
42700  _M_in_cur = __gnext;
42701  _M_in_end = __gend;
42702       }
42703 # 512 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42704       char_type*
42705       pbase() const { return _M_out_beg; }
42706
42707       char_type*
42708       pptr() const { return _M_out_cur; }
42709
42710       char_type*
42711       epptr() const { return _M_out_end; }
42712 # 528 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42713       void
42714       pbump(int __n) { _M_out_cur += __n; }
42715 # 538 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42716       void
42717       setp(char_type* __pbeg, char_type* __pend)
42718       {
42719  _M_out_beg = _M_out_cur = __pbeg;
42720  _M_out_end = __pend;
42721       }
42722 # 559 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42723       virtual void
42724       imbue(const locale&)
42725       { }
42726 # 574 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42727       virtual basic_streambuf<char_type,_Traits>*
42728       setbuf(char_type*, streamsize)
42729       { return this; }
42730 # 585 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42731       virtual pos_type
42732       seekoff(off_type, ios_base::seekdir,
42733        ios_base::openmode = ios_base::in | ios_base::out)
42734       { return pos_type(off_type(-1)); }
42735 # 597 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42736       virtual pos_type
42737       seekpos(pos_type,
42738        ios_base::openmode = ios_base::in | ios_base::out)
42739       { return pos_type(off_type(-1)); }
42740 # 610 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42741       virtual int
42742       sync() { return 0; }
42743 # 632 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42744       virtual streamsize
42745       showmanyc() { return 0; }
42746 # 648 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42747       virtual streamsize
42748       xsgetn(char_type* __s, streamsize __n);
42749 # 670 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42750       virtual int_type
42751       underflow()
42752       { return traits_type::eof(); }
42753 # 683 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42754       virtual int_type
42755       uflow()
42756       {
42757  int_type __ret = traits_type::eof();
42758  const bool __testeof = traits_type::eq_int_type(this->underflow(),
42759        __ret);
42760  if (!__testeof)
42761    {
42762      __ret = traits_type::to_int_type(*this->gptr());
42763      this->gbump(1);
42764    }
42765  return __ret;
42766       }
42767 # 707 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42768       virtual int_type
42769       pbackfail(int_type = traits_type::eof())
42770       { return traits_type::eof(); }
42771 # 725 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42772       virtual streamsize
42773       xsputn(const char_type* __s, streamsize __n);
42774 # 750 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42775       virtual int_type
42776       overflow(int_type = traits_type::eof())
42777       { return traits_type::eof(); }
42778 # 779 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 3
42779     private:
42780
42781
42782       basic_streambuf(const __streambuf_type& __sb)
42783       : _M_in_beg(__sb._M_in_beg), _M_in_cur(__sb._M_in_cur),
42784       _M_in_end(__sb._M_in_end), _M_out_beg(__sb._M_out_beg),
42785       _M_out_cur(__sb._M_out_cur), _M_out_end(__sb._M_out_cur),
42786       _M_buf_locale(__sb._M_buf_locale)
42787       { }
42788
42789       __streambuf_type&
42790       operator=(const __streambuf_type&) { return *this; };
42791     };
42792
42793
42794   template<>
42795     streamsize
42796     __copy_streambufs(basic_streambuf<char>* __sbin,
42797         basic_streambuf<char>* __sbout);
42798
42799   template<>
42800     streamsize
42801     __copy_streambufs(basic_streambuf<wchar_t>* __sbin,
42802         basic_streambuf<wchar_t>* __sbout);
42803
42804 }
42805
42806
42807 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf.tcc" 1 3
42808 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf.tcc" 3
42809        
42810 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf.tcc" 3
42811
42812 namespace std
42813 {
42814   template<typename _CharT, typename _Traits>
42815     streamsize
42816     basic_streambuf<_CharT, _Traits>::
42817     xsgetn(char_type* __s, streamsize __n)
42818     {
42819       streamsize __ret = 0;
42820       while (__ret < __n)
42821  {
42822    const streamsize __buf_len = this->egptr() - this->gptr();
42823    if (__buf_len)
42824      {
42825        const streamsize __remaining = __n - __ret;
42826        const streamsize __len = std::min(__buf_len, __remaining);
42827        traits_type::copy(__s, this->gptr(), __len);
42828        __ret += __len;
42829        __s += __len;
42830        this->gbump(__len);
42831      }
42832
42833    if (__ret < __n)
42834      {
42835        const int_type __c = this->uflow();
42836        if (!traits_type::eq_int_type(__c, traits_type::eof()))
42837   {
42838     traits_type::assign(*__s++, traits_type::to_char_type(__c));
42839     ++__ret;
42840   }
42841        else
42842   break;
42843      }
42844  }
42845       return __ret;
42846     }
42847
42848   template<typename _CharT, typename _Traits>
42849     streamsize
42850     basic_streambuf<_CharT, _Traits>::
42851     xsputn(const char_type* __s, streamsize __n)
42852     {
42853       streamsize __ret = 0;
42854       while (__ret < __n)
42855  {
42856    const streamsize __buf_len = this->epptr() - this->pptr();
42857    if (__buf_len)
42858      {
42859        const streamsize __remaining = __n - __ret;
42860        const streamsize __len = std::min(__buf_len, __remaining);
42861        traits_type::copy(this->pptr(), __s, __len);
42862        __ret += __len;
42863        __s += __len;
42864        this->pbump(__len);
42865      }
42866
42867    if (__ret < __n)
42868      {
42869        int_type __c = this->overflow(traits_type::to_int_type(*__s));
42870        if (!traits_type::eq_int_type(__c, traits_type::eof()))
42871   {
42872     ++__ret;
42873     ++__s;
42874   }
42875        else
42876   break;
42877      }
42878  }
42879       return __ret;
42880     }
42881
42882
42883
42884
42885   template<typename _CharT, typename _Traits>
42886     streamsize
42887     __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin,
42888         basic_streambuf<_CharT, _Traits>* __sbout)
42889     {
42890       streamsize __ret = 0;
42891       typename _Traits::int_type __c = __sbin->sgetc();
42892       while (!_Traits::eq_int_type(__c, _Traits::eof()))
42893  {
42894    __c = __sbout->sputc(_Traits::to_char_type(__c));
42895    if (_Traits::eq_int_type(__c, _Traits::eof()))
42896      break;
42897    ++__ret;
42898    __c = __sbin->snextc();
42899  }
42900       return __ret;
42901     }
42902
42903
42904
42905
42906
42907   extern template class basic_streambuf<char>;
42908   extern template
42909     streamsize
42910     __copy_streambufs(basic_streambuf<char>*, basic_streambuf<char>*);
42911
42912
42913   extern template class basic_streambuf<wchar_t>;
42914   extern template
42915     streamsize
42916     __copy_streambufs(basic_streambuf<wchar_t>*, basic_streambuf<wchar_t>*);
42917
42918
42919 }
42920 # 808 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf" 2 3
42921
42922
42923 #pragma GCC visibility pop
42924 # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ios" 2 3
42925 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 1 3
42926 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
42927        
42928 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
42929
42930 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf_iterator.h" 1 3
42931 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf_iterator.h" 3
42932        
42933 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf_iterator.h" 3
42934
42935
42936
42937
42938
42939
42940 namespace std
42941 {
42942
42943
42944   template<typename _CharT, typename _Traits>
42945     class istreambuf_iterator
42946     : public iterator<input_iterator_tag, _CharT, typename _Traits::off_type,
42947         _CharT*, _CharT&>
42948     {
42949     public:
42950
42951
42952
42953       typedef _CharT char_type;
42954       typedef _Traits traits_type;
42955       typedef typename _Traits::int_type int_type;
42956       typedef basic_streambuf<_CharT, _Traits> streambuf_type;
42957       typedef basic_istream<_CharT, _Traits> istream_type;
42958
42959
42960     private:
42961
42962
42963
42964
42965
42966
42967
42968       mutable streambuf_type* _M_sbuf;
42969       mutable int_type _M_c;
42970
42971     public:
42972
42973       istreambuf_iterator() throw()
42974       : _M_sbuf(0), _M_c(traits_type::eof()) { }
42975
42976
42977       istreambuf_iterator(istream_type& __s) throw()
42978       : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { }
42979
42980
42981       istreambuf_iterator(streambuf_type* __s) throw()
42982       : _M_sbuf(__s), _M_c(traits_type::eof()) { }
42983
42984
42985
42986
42987       char_type
42988       operator*() const
42989       {
42990
42991
42992
42993
42994
42995
42996
42997  return traits_type::to_char_type(_M_get());
42998       }
42999
43000
43001       istreambuf_iterator&
43002       operator++()
43003       {
43004  ;
43005
43006
43007  if (_M_sbuf)
43008    {
43009      _M_sbuf->sbumpc();
43010      _M_c = traits_type::eof();
43011    }
43012  return *this;
43013       }
43014
43015
43016       istreambuf_iterator
43017       operator++(int)
43018       {
43019  ;
43020
43021
43022
43023  istreambuf_iterator __old = *this;
43024  if (_M_sbuf)
43025    {
43026      __old._M_c = _M_sbuf->sbumpc();
43027      _M_c = traits_type::eof();
43028    }
43029  return __old;
43030       }
43031
43032
43033
43034
43035
43036       bool
43037       equal(const istreambuf_iterator& __b) const
43038       {
43039  const bool __thiseof = _M_at_eof();
43040  const bool __beof = __b._M_at_eof();
43041  return (__thiseof && __beof || (!__thiseof && !__beof));
43042       }
43043
43044     private:
43045       int_type
43046       _M_get() const
43047       {
43048  const int_type __eof = traits_type::eof();
43049  int_type __ret = __eof;
43050  if (_M_sbuf)
43051    {
43052      if (!traits_type::eq_int_type(_M_c, __eof))
43053        __ret = _M_c;
43054      else if (!traits_type::eq_int_type((__ret = _M_sbuf->sgetc()),
43055             __eof))
43056        _M_c = __ret;
43057      else
43058        _M_sbuf = 0;
43059    }
43060  return __ret;
43061       }
43062
43063       bool
43064       _M_at_eof() const
43065       {
43066  const int_type __eof = traits_type::eof();
43067  return traits_type::eq_int_type(_M_get(), __eof);
43068       }
43069     };
43070
43071   template<typename _CharT, typename _Traits>
43072     inline bool
43073     operator==(const istreambuf_iterator<_CharT, _Traits>& __a,
43074         const istreambuf_iterator<_CharT, _Traits>& __b)
43075     { return __a.equal(__b); }
43076
43077   template<typename _CharT, typename _Traits>
43078     inline bool
43079     operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
43080         const istreambuf_iterator<_CharT, _Traits>& __b)
43081     { return !__a.equal(__b); }
43082
43083
43084   template<typename _CharT, typename _Traits>
43085     class ostreambuf_iterator
43086     : public iterator<output_iterator_tag, void, void, void, void>
43087     {
43088     public:
43089
43090
43091
43092       typedef _CharT char_type;
43093       typedef _Traits traits_type;
43094       typedef basic_streambuf<_CharT, _Traits> streambuf_type;
43095       typedef basic_ostream<_CharT, _Traits> ostream_type;
43096
43097
43098     private:
43099       streambuf_type* _M_sbuf;
43100       bool _M_failed;
43101
43102     public:
43103
43104       ostreambuf_iterator(ostream_type& __s) throw ()
43105       : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { }
43106
43107
43108       ostreambuf_iterator(streambuf_type* __s) throw ()
43109       : _M_sbuf(__s), _M_failed(!_M_sbuf) { }
43110
43111
43112       ostreambuf_iterator&
43113       operator=(_CharT __c)
43114       {
43115  if (!_M_failed &&
43116      _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof()))
43117    _M_failed = true;
43118  return *this;
43119       }
43120
43121
43122       ostreambuf_iterator&
43123       operator*()
43124       { return *this; }
43125
43126
43127       ostreambuf_iterator&
43128       operator++(int)
43129       { return *this; }
43130
43131
43132       ostreambuf_iterator&
43133       operator++()
43134       { return *this; }
43135
43136
43137       bool
43138       failed() const throw()
43139       { return _M_failed; }
43140
43141       ostreambuf_iterator&
43142       _M_put(const _CharT* __ws, streamsize __len)
43143       {
43144  if (__builtin_expect(!_M_failed, true)
43145      && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len,
43146     false))
43147    _M_failed = true;
43148  return *this;
43149       }
43150     };
43151 }
43152 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 2 3
43153
43154
43155 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 1 3
43156 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43157        
43158 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43159
43160
43161 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwctype" 1 3
43162 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwctype" 3
43163        
43164 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwctype" 3
43165 #pragma GCC visibility push(default)
43166
43167
43168
43169
43170 # 1 "/usr/include/wctype.h" 1 3 4
43171
43172
43173
43174
43175
43176
43177
43178 # 1 "/usr/include/gentoo-multilib/amd64/wctype.h" 1 3 4
43179 # 26 "/usr/include/gentoo-multilib/amd64/wctype.h" 3 4
43180 # 1 "/usr/include/features.h" 1 3 4
43181 # 27 "/usr/include/gentoo-multilib/amd64/wctype.h" 2 3 4
43182 # 1 "/usr/include/bits/types.h" 1 3 4
43183 # 28 "/usr/include/gentoo-multilib/amd64/wctype.h" 2 3 4
43184
43185
43186
43187
43188
43189
43190
43191 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h" 1 3 4
43192 # 36 "/usr/include/gentoo-multilib/amd64/wctype.h" 2 3 4
43193 # 45 "/usr/include/gentoo-multilib/amd64/wctype.h" 3 4
43194
43195 # 63 "/usr/include/gentoo-multilib/amd64/wctype.h" 3 4
43196
43197
43198
43199 typedef unsigned long int wctype_t;
43200
43201
43202
43203
43204
43205
43206
43207 # 1 "/usr/include/endian.h" 1 3 4
43208 # 75 "/usr/include/gentoo-multilib/amd64/wctype.h" 2 3 4
43209 # 85 "/usr/include/gentoo-multilib/amd64/wctype.h" 3 4
43210 enum
43211 {
43212   __ISwupper = 0,
43213   __ISwlower = 1,
43214   __ISwalpha = 2,
43215   __ISwdigit = 3,
43216   __ISwxdigit = 4,
43217   __ISwspace = 5,
43218   __ISwprint = 6,
43219   __ISwgraph = 7,
43220   __ISwblank = 8,
43221   __ISwcntrl = 9,
43222   __ISwpunct = 10,
43223   __ISwalnum = 11,
43224
43225   _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))),
43226   _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))),
43227   _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))),
43228   _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))),
43229   _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))),
43230   _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))),
43231   _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))),
43232   _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))),
43233   _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))),
43234   _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))),
43235   _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))),
43236   _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24))))
43237 };
43238
43239
43240
43241 extern "C" {
43242
43243
43244
43245
43246
43247
43248
43249
43250 extern int iswalnum (wint_t __wc) throw ();
43251
43252
43253
43254
43255
43256 extern int iswalpha (wint_t __wc) throw ();
43257
43258
43259 extern int iswcntrl (wint_t __wc) throw ();
43260
43261
43262
43263 extern int iswdigit (wint_t __wc) throw ();
43264
43265
43266
43267 extern int iswgraph (wint_t __wc) throw ();
43268
43269
43270
43271
43272 extern int iswlower (wint_t __wc) throw ();
43273
43274
43275 extern int iswprint (wint_t __wc) throw ();
43276
43277
43278
43279
43280 extern int iswpunct (wint_t __wc) throw ();
43281
43282
43283
43284
43285 extern int iswspace (wint_t __wc) throw ();
43286
43287
43288
43289
43290 extern int iswupper (wint_t __wc) throw ();
43291
43292
43293
43294
43295 extern int iswxdigit (wint_t __wc) throw ();
43296
43297
43298
43299
43300
43301 extern int iswblank (wint_t __wc) throw ();
43302 # 185 "/usr/include/gentoo-multilib/amd64/wctype.h" 3 4
43303 extern wctype_t wctype (__const char *__property) throw ();
43304
43305
43306
43307 extern int iswctype (wint_t __wc, wctype_t __desc) throw ();
43308
43309
43310
43311
43312
43313
43314
43315
43316
43317
43318 typedef __const __int32_t *wctrans_t;
43319
43320
43321
43322
43323
43324
43325
43326 extern wint_t towlower (wint_t __wc) throw ();
43327
43328
43329 extern wint_t towupper (wint_t __wc) throw ();
43330
43331
43332 }
43333 # 227 "/usr/include/gentoo-multilib/amd64/wctype.h" 3 4
43334 extern "C" {
43335
43336
43337
43338
43339 extern wctrans_t wctrans (__const char *__property) throw ();
43340
43341
43342 extern wint_t towctrans (wint_t __wc, wctrans_t __desc) throw ();
43343
43344
43345
43346
43347 # 1 "/usr/include/xlocale.h" 1 3 4
43348 # 241 "/usr/include/gentoo-multilib/amd64/wctype.h" 2 3 4
43349
43350
43351
43352 extern int iswalnum_l (wint_t __wc, __locale_t __locale) throw ();
43353
43354
43355
43356
43357
43358 extern int iswalpha_l (wint_t __wc, __locale_t __locale) throw ();
43359
43360
43361 extern int iswcntrl_l (wint_t __wc, __locale_t __locale) throw ();
43362
43363
43364
43365 extern int iswdigit_l (wint_t __wc, __locale_t __locale) throw ();
43366
43367
43368
43369 extern int iswgraph_l (wint_t __wc, __locale_t __locale) throw ();
43370
43371
43372
43373
43374 extern int iswlower_l (wint_t __wc, __locale_t __locale) throw ();
43375
43376
43377 extern int iswprint_l (wint_t __wc, __locale_t __locale) throw ();
43378
43379
43380
43381
43382 extern int iswpunct_l (wint_t __wc, __locale_t __locale) throw ();
43383
43384
43385
43386
43387 extern int iswspace_l (wint_t __wc, __locale_t __locale) throw ();
43388
43389
43390
43391
43392 extern int iswupper_l (wint_t __wc, __locale_t __locale) throw ();
43393
43394
43395
43396
43397 extern int iswxdigit_l (wint_t __wc, __locale_t __locale) throw ();
43398
43399
43400
43401
43402 extern int iswblank_l (wint_t __wc, __locale_t __locale) throw ();
43403
43404
43405
43406 extern wctype_t wctype_l (__const char *__property, __locale_t __locale)
43407      throw ();
43408
43409
43410
43411 extern int iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale)
43412      throw ();
43413
43414
43415
43416
43417
43418
43419
43420 extern wint_t towlower_l (wint_t __wc, __locale_t __locale) throw ();
43421
43422
43423 extern wint_t towupper_l (wint_t __wc, __locale_t __locale) throw ();
43424
43425
43426
43427 extern wctrans_t wctrans_l (__const char *__property, __locale_t __locale)
43428      throw ();
43429
43430
43431 extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc,
43432       __locale_t __locale) throw ();
43433
43434
43435
43436 }
43437 # 9 "/usr/include/wctype.h" 2 3 4
43438 # 55 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwctype" 2 3
43439 # 80 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwctype" 3
43440 namespace std
43441 {
43442   using ::wint_t;
43443
43444   using ::wctype_t;
43445   using ::wctrans_t;
43446
43447   using ::iswalnum;
43448   using ::iswalpha;
43449
43450   using ::iswblank;
43451
43452   using ::iswcntrl;
43453   using ::iswctype;
43454   using ::iswdigit;
43455   using ::iswgraph;
43456   using ::iswlower;
43457   using ::iswprint;
43458   using ::iswpunct;
43459   using ::iswspace;
43460   using ::iswupper;
43461   using ::iswxdigit;
43462   using ::towctrans;
43463   using ::towlower;
43464   using ::towupper;
43465   using ::wctrans;
43466   using ::wctype;
43467 }
43468
43469
43470 #pragma GCC visibility pop
43471 # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 2 3
43472
43473
43474
43475
43476 namespace std
43477 {
43478 # 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43479   template<typename _Tv>
43480     void
43481     __convert_to_v(const char* __in, _Tv& __out, ios_base::iostate& __err,
43482      const __c_locale& __cloc);
43483
43484
43485   template<>
43486     void
43487     __convert_to_v(const char*, float&, ios_base::iostate&,
43488      const __c_locale&);
43489
43490   template<>
43491     void
43492     __convert_to_v(const char*, double&, ios_base::iostate&,
43493      const __c_locale&);
43494
43495   template<>
43496     void
43497     __convert_to_v(const char*, long double&, ios_base::iostate&,
43498      const __c_locale&);
43499
43500
43501
43502   template<typename _CharT, typename _Traits>
43503     struct __pad
43504     {
43505       static void
43506       _S_pad(ios_base& __io, _CharT __fill, _CharT* __news,
43507       const _CharT* __olds, const streamsize __newlen,
43508       const streamsize __oldlen, const bool __num);
43509     };
43510
43511
43512
43513
43514
43515
43516   template<typename _CharT>
43517     _CharT*
43518     __add_grouping(_CharT* __s, _CharT __sep,
43519      const char* __gbeg, size_t __gsize,
43520      const _CharT* __first, const _CharT* __last);
43521
43522
43523
43524
43525   template<typename _CharT>
43526     inline
43527     ostreambuf_iterator<_CharT>
43528     __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len)
43529     {
43530       __s._M_put(__ws, __len);
43531       return __s;
43532     }
43533
43534
43535   template<typename _CharT, typename _OutIter>
43536     inline
43537     _OutIter
43538     __write(_OutIter __s, const _CharT* __ws, int __len)
43539     {
43540       for (int __j = 0; __j < __len; __j++, ++__s)
43541  *__s = __ws[__j];
43542       return __s;
43543     }
43544
43545
43546
43547
43548 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/ctype_base.h" 1 3
43549 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/ctype_base.h" 3
43550   struct ctype_base
43551   {
43552
43553     typedef const int* __to_type;
43554
43555
43556
43557     typedef unsigned short mask;
43558     static const mask upper = _ISupper;
43559     static const mask lower = _ISlower;
43560     static const mask alpha = _ISalpha;
43561     static const mask digit = _ISdigit;
43562     static const mask xdigit = _ISxdigit;
43563     static const mask space = _ISspace;
43564     static const mask print = _ISprint;
43565     static const mask graph = _ISalpha | _ISdigit | _ISpunct;
43566     static const mask cntrl = _IScntrl;
43567     static const mask punct = _ISpunct;
43568     static const mask alnum = _ISalpha | _ISdigit;
43569   };
43570 # 133 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 2 3
43571 # 144 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43572   template<typename _CharT>
43573     class __ctype_abstract_base : public locale::facet, public ctype_base
43574     {
43575     public:
43576
43577
43578       typedef _CharT char_type;
43579 # 162 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43580       bool
43581       is(mask __m, char_type __c) const
43582       { return this->do_is(__m, __c); }
43583 # 179 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43584       const char_type*
43585       is(const char_type *__lo, const char_type *__hi, mask *__vec) const
43586       { return this->do_is(__lo, __hi, __vec); }
43587 # 195 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43588       const char_type*
43589       scan_is(mask __m, const char_type* __lo, const char_type* __hi) const
43590       { return this->do_scan_is(__m, __lo, __hi); }
43591 # 211 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43592       const char_type*
43593       scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
43594       { return this->do_scan_not(__m, __lo, __hi); }
43595 # 225 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43596       char_type
43597       toupper(char_type __c) const
43598       { return this->do_toupper(__c); }
43599 # 240 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43600       const char_type*
43601       toupper(char_type *__lo, const char_type* __hi) const
43602       { return this->do_toupper(__lo, __hi); }
43603 # 254 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43604       char_type
43605       tolower(char_type __c) const
43606       { return this->do_tolower(__c); }
43607 # 269 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43608       const char_type*
43609       tolower(char_type* __lo, const char_type* __hi) const
43610       { return this->do_tolower(__lo, __hi); }
43611 # 286 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43612       char_type
43613       widen(char __c) const
43614       { return this->do_widen(__c); }
43615 # 305 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43616       const char*
43617       widen(const char* __lo, const char* __hi, char_type* __to) const
43618       { return this->do_widen(__lo, __hi, __to); }
43619 # 324 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43620       char
43621       narrow(char_type __c, char __dfault) const
43622       { return this->do_narrow(__c, __dfault); }
43623 # 346 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43624       const char_type*
43625       narrow(const char_type* __lo, const char_type* __hi,
43626        char __dfault, char *__to) const
43627       { return this->do_narrow(__lo, __hi, __dfault, __to); }
43628
43629     protected:
43630       explicit
43631       __ctype_abstract_base(size_t __refs = 0): facet(__refs) { }
43632
43633       virtual
43634       ~__ctype_abstract_base() { }
43635 # 371 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43636       virtual bool
43637       do_is(mask __m, char_type __c) const = 0;
43638 # 390 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43639       virtual const char_type*
43640       do_is(const char_type* __lo, const char_type* __hi,
43641      mask* __vec) const = 0;
43642 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43643       virtual const char_type*
43644       do_scan_is(mask __m, const char_type* __lo,
43645    const char_type* __hi) const = 0;
43646 # 428 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43647       virtual const char_type*
43648       do_scan_not(mask __m, const char_type* __lo,
43649     const char_type* __hi) const = 0;
43650 # 446 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43651       virtual char_type
43652       do_toupper(char_type) const = 0;
43653 # 463 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43654       virtual const char_type*
43655       do_toupper(char_type* __lo, const char_type* __hi) const = 0;
43656 # 479 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43657       virtual char_type
43658       do_tolower(char_type) const = 0;
43659 # 496 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43660       virtual const char_type*
43661       do_tolower(char_type* __lo, const char_type* __hi) const = 0;
43662 # 515 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43663       virtual char_type
43664       do_widen(char) const = 0;
43665 # 536 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43666       virtual const char*
43667       do_widen(const char* __lo, const char* __hi,
43668         char_type* __dest) const = 0;
43669 # 558 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43670       virtual char
43671       do_narrow(char_type, char __dfault) const = 0;
43672 # 582 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43673       virtual const char_type*
43674       do_narrow(const char_type* __lo, const char_type* __hi,
43675   char __dfault, char* __dest) const = 0;
43676     };
43677 # 605 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43678   template<typename _CharT>
43679     class ctype : public __ctype_abstract_base<_CharT>
43680     {
43681     public:
43682
43683       typedef _CharT char_type;
43684       typedef typename __ctype_abstract_base<_CharT>::mask mask;
43685
43686
43687       static locale::id id;
43688
43689       explicit
43690       ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { }
43691
43692    protected:
43693       virtual
43694       ~ctype();
43695
43696       virtual bool
43697       do_is(mask __m, char_type __c) const;
43698
43699       virtual const char_type*
43700       do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
43701
43702       virtual const char_type*
43703       do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
43704
43705       virtual const char_type*
43706       do_scan_not(mask __m, const char_type* __lo,
43707     const char_type* __hi) const;
43708
43709       virtual char_type
43710       do_toupper(char_type __c) const;
43711
43712       virtual const char_type*
43713       do_toupper(char_type* __lo, const char_type* __hi) const;
43714
43715       virtual char_type
43716       do_tolower(char_type __c) const;
43717
43718       virtual const char_type*
43719       do_tolower(char_type* __lo, const char_type* __hi) const;
43720
43721       virtual char_type
43722       do_widen(char __c) const;
43723
43724       virtual const char*
43725       do_widen(const char* __lo, const char* __hi, char_type* __dest) const;
43726
43727       virtual char
43728       do_narrow(char_type, char __dfault) const;
43729
43730       virtual const char_type*
43731       do_narrow(const char_type* __lo, const char_type* __hi,
43732   char __dfault, char* __dest) const;
43733     };
43734
43735   template<typename _CharT>
43736     locale::id ctype<_CharT>::id;
43737 # 674 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43738   template<>
43739     class ctype<char> : public locale::facet, public ctype_base
43740     {
43741     public:
43742
43743
43744       typedef char char_type;
43745
43746     protected:
43747
43748       __c_locale _M_c_locale_ctype;
43749       bool _M_del;
43750       __to_type _M_toupper;
43751       __to_type _M_tolower;
43752       const mask* _M_table;
43753       mutable char _M_widen_ok;
43754       mutable char _M_widen[1 + static_cast<unsigned char>(-1)];
43755       mutable char _M_narrow[1 + static_cast<unsigned char>(-1)];
43756       mutable char _M_narrow_ok;
43757
43758
43759     public:
43760
43761       static locale::id id;
43762
43763       static const size_t table_size = 1 + static_cast<unsigned char>(-1);
43764 # 711 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43765       explicit
43766       ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0);
43767 # 724 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43768       explicit
43769       ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false,
43770      size_t __refs = 0);
43771 # 737 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43772       inline bool
43773       is(mask __m, char __c) const;
43774 # 752 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43775       inline const char*
43776       is(const char* __lo, const char* __hi, mask* __vec) const;
43777 # 766 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43778       inline const char*
43779       scan_is(mask __m, const char* __lo, const char* __hi) const;
43780 # 780 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43781       inline const char*
43782       scan_not(mask __m, const char* __lo, const char* __hi) const;
43783 # 795 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43784       char_type
43785       toupper(char_type __c) const
43786       { return this->do_toupper(__c); }
43787 # 812 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43788       const char_type*
43789       toupper(char_type *__lo, const char_type* __hi) const
43790       { return this->do_toupper(__lo, __hi); }
43791 # 828 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43792       char_type
43793       tolower(char_type __c) const
43794       { return this->do_tolower(__c); }
43795 # 845 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43796       const char_type*
43797       tolower(char_type* __lo, const char_type* __hi) const
43798       { return this->do_tolower(__lo, __hi); }
43799 # 865 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43800       char_type
43801       widen(char __c) const
43802       {
43803  if (_M_widen_ok)
43804    return _M_widen[static_cast<unsigned char>(__c)];
43805  this->_M_widen_init();
43806  return this->do_widen(__c);
43807       }
43808 # 892 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43809       const char*
43810       widen(const char* __lo, const char* __hi, char_type* __to) const
43811       {
43812  if (_M_widen_ok == 1)
43813    {
43814      memcpy(__to, __lo, __hi - __lo);
43815      return __hi;
43816    }
43817  if (!_M_widen_ok)
43818    _M_widen_init();
43819  return this->do_widen(__lo, __hi, __to);
43820       }
43821 # 923 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43822       char
43823       narrow(char_type __c, char __dfault) const
43824       {
43825  if (_M_narrow[static_cast<unsigned char>(__c)])
43826    return _M_narrow[static_cast<unsigned char>(__c)];
43827  const char __t = do_narrow(__c, __dfault);
43828  if (__t != __dfault)
43829    _M_narrow[static_cast<unsigned char>(__c)] = __t;
43830  return __t;
43831       }
43832 # 956 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43833       const char_type*
43834       narrow(const char_type* __lo, const char_type* __hi,
43835       char __dfault, char *__to) const
43836       {
43837  if (__builtin_expect(_M_narrow_ok == 1, true))
43838    {
43839      memcpy(__to, __lo, __hi - __lo);
43840      return __hi;
43841    }
43842  if (!_M_narrow_ok)
43843    _M_narrow_init();
43844  return this->do_narrow(__lo, __hi, __dfault, __to);
43845       }
43846
43847     protected:
43848
43849
43850       const mask*
43851       table() const throw()
43852       { return _M_table; }
43853
43854
43855       static const mask*
43856       classic_table() throw();
43857
43858
43859
43860
43861
43862
43863
43864       virtual
43865       ~ctype();
43866 # 1003 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43867       virtual char_type
43868       do_toupper(char_type) const;
43869 # 1020 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43870       virtual const char_type*
43871       do_toupper(char_type* __lo, const char_type* __hi) const;
43872 # 1036 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43873       virtual char_type
43874       do_tolower(char_type) const;
43875 # 1053 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43876       virtual const char_type*
43877       do_tolower(char_type* __lo, const char_type* __hi) const;
43878 # 1073 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43879       virtual char_type
43880       do_widen(char __c) const
43881       { return __c; }
43882 # 1096 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43883       virtual const char*
43884       do_widen(const char* __lo, const char* __hi, char_type* __dest) const
43885       {
43886  memcpy(__dest, __lo, __hi - __lo);
43887  return __hi;
43888       }
43889 # 1122 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43890       virtual char
43891       do_narrow(char_type __c, char) const
43892       { return __c; }
43893 # 1148 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43894       virtual const char_type*
43895       do_narrow(const char_type* __lo, const char_type* __hi,
43896   char, char* __dest) const
43897       {
43898  memcpy(__dest, __lo, __hi - __lo);
43899  return __hi;
43900       }
43901
43902     private:
43903
43904       void _M_widen_init() const
43905       {
43906  char __tmp[sizeof(_M_widen)];
43907  for (size_t __i = 0; __i < sizeof(_M_widen); ++__i)
43908    __tmp[__i] = __i;
43909  do_widen(__tmp, __tmp + sizeof(__tmp), _M_widen);
43910
43911  _M_widen_ok = 1;
43912
43913  if (memcmp(__tmp, _M_widen, sizeof(_M_widen)))
43914    _M_widen_ok = 2;
43915       }
43916
43917
43918
43919
43920       void _M_narrow_init() const
43921       {
43922  char __tmp[sizeof(_M_narrow)];
43923  for (size_t __i = 0; __i < sizeof(_M_narrow); ++__i)
43924    __tmp[__i] = __i;
43925  do_narrow(__tmp, __tmp + sizeof(__tmp), 0, _M_narrow);
43926
43927  _M_narrow_ok = 1;
43928  if (memcmp(__tmp, _M_narrow, sizeof(_M_narrow)))
43929    _M_narrow_ok = 2;
43930  else
43931    {
43932
43933
43934      char __c;
43935      do_narrow(__tmp, __tmp + 1, 1, &__c);
43936      if (__c == 1)
43937        _M_narrow_ok = 2;
43938    }
43939       }
43940     };
43941
43942   template<>
43943     const ctype<char>&
43944     use_facet<ctype<char> >(const locale& __loc);
43945 # 1212 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43946   template<>
43947     class ctype<wchar_t> : public __ctype_abstract_base<wchar_t>
43948     {
43949     public:
43950
43951
43952       typedef wchar_t char_type;
43953       typedef wctype_t __wmask_type;
43954
43955     protected:
43956       __c_locale _M_c_locale_ctype;
43957
43958
43959       bool _M_narrow_ok;
43960       char _M_narrow[128];
43961       wint_t _M_widen[1 + static_cast<unsigned char>(-1)];
43962
43963
43964       mask _M_bit[16];
43965       __wmask_type _M_wmask[16];
43966
43967     public:
43968
43969
43970       static locale::id id;
43971 # 1245 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43972       explicit
43973       ctype(size_t __refs = 0);
43974 # 1256 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43975       explicit
43976       ctype(__c_locale __cloc, size_t __refs = 0);
43977
43978     protected:
43979       __wmask_type
43980       _M_convert_to_wmask(const mask __m) const;
43981
43982
43983       virtual
43984       ~ctype();
43985 # 1280 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43986       virtual bool
43987       do_is(mask __m, char_type __c) const;
43988 # 1299 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43989       virtual const char_type*
43990       do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
43991 # 1317 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43992       virtual const char_type*
43993       do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
43994 # 1335 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43995       virtual const char_type*
43996       do_scan_not(mask __m, const char_type* __lo,
43997     const char_type* __hi) const;
43998 # 1352 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
43999       virtual char_type
44000       do_toupper(char_type) const;
44001 # 1369 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44002       virtual const char_type*
44003       do_toupper(char_type* __lo, const char_type* __hi) const;
44004 # 1385 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44005       virtual char_type
44006       do_tolower(char_type) const;
44007 # 1402 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44008       virtual const char_type*
44009       do_tolower(char_type* __lo, const char_type* __hi) const;
44010 # 1422 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44011       virtual char_type
44012       do_widen(char) const;
44013 # 1444 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44014       virtual const char*
44015       do_widen(const char* __lo, const char* __hi, char_type* __dest) const;
44016 # 1467 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44017       virtual char
44018       do_narrow(char_type, char __dfault) const;
44019 # 1493 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44020       virtual const char_type*
44021       do_narrow(const char_type* __lo, const char_type* __hi,
44022   char __dfault, char* __dest) const;
44023
44024
44025       void
44026       _M_initialize_ctype();
44027     };
44028
44029   template<>
44030     const ctype<wchar_t>&
44031     use_facet<ctype<wchar_t> >(const locale& __loc);
44032
44033
44034
44035 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/ctype_inline.h" 1 3
44036 # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/ctype_inline.h" 3
44037   bool
44038   ctype<char>::
44039   is(mask __m, char __c) const
44040   { return _M_table[static_cast<unsigned char>(__c)] & __m; }
44041
44042   const char*
44043   ctype<char>::
44044   is(const char* __low, const char* __high, mask* __vec) const
44045   {
44046     while (__low < __high)
44047       *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
44048     return __high;
44049   }
44050
44051   const char*
44052   ctype<char>::
44053   scan_is(mask __m, const char* __low, const char* __high) const
44054   {
44055     while (__low < __high
44056     && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
44057       ++__low;
44058     return __low;
44059   }
44060
44061   const char*
44062   ctype<char>::
44063   scan_not(mask __m, const char* __low, const char* __high) const
44064   {
44065     while (__low < __high
44066     && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
44067       ++__low;
44068     return __low;
44069   }
44070 # 1509 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 2 3
44071
44072
44073   template<typename _CharT>
44074     class ctype_byname : public ctype<_CharT>
44075     {
44076     public:
44077       typedef _CharT char_type;
44078
44079       explicit
44080       ctype_byname(const char* __s, size_t __refs = 0);
44081
44082     protected:
44083       virtual
44084       ~ctype_byname() { };
44085     };
44086
44087
44088   template<>
44089     ctype_byname<char>::ctype_byname(const char*, size_t refs);
44090
44091   template<>
44092     ctype_byname<wchar_t>::ctype_byname(const char*, size_t refs);
44093
44094
44095 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h" 1 3
44096 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h" 3
44097        
44098 # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h" 3
44099
44100
44101   class codecvt_base
44102   {
44103   public:
44104     enum result
44105     {
44106       ok,
44107       partial,
44108       error,
44109       noconv
44110     };
44111   };
44112 # 69 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h" 3
44113   template<typename _InternT, typename _ExternT, typename _StateT>
44114     class __codecvt_abstract_base
44115     : public locale::facet, public codecvt_base
44116     {
44117     public:
44118
44119       typedef codecvt_base::result result;
44120       typedef _InternT intern_type;
44121       typedef _ExternT extern_type;
44122       typedef _StateT state_type;
44123 # 117 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h" 3
44124       result
44125       out(state_type& __state, const intern_type* __from,
44126    const intern_type* __from_end, const intern_type*& __from_next,
44127    extern_type* __to, extern_type* __to_end,
44128    extern_type*& __to_next) const
44129       {
44130  return this->do_out(__state, __from, __from_end, __from_next,
44131        __to, __to_end, __to_next);
44132       }
44133 # 156 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h" 3
44134       result
44135       unshift(state_type& __state, extern_type* __to, extern_type* __to_end,
44136        extern_type*& __to_next) const
44137       { return this->do_unshift(__state, __to,__to_end,__to_next); }
44138 # 197 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h" 3
44139       result
44140       in(state_type& __state, const extern_type* __from,
44141   const extern_type* __from_end, const extern_type*& __from_next,
44142   intern_type* __to, intern_type* __to_end,
44143   intern_type*& __to_next) const
44144       {
44145  return this->do_in(__state, __from, __from_end, __from_next,
44146       __to, __to_end, __to_next);
44147       }
44148
44149       int
44150       encoding() const throw()
44151       { return this->do_encoding(); }
44152
44153       bool
44154       always_noconv() const throw()
44155       { return this->do_always_noconv(); }
44156
44157       int
44158       length(state_type& __state, const extern_type* __from,
44159       const extern_type* __end, size_t __max) const
44160       { return this->do_length(__state, __from, __end, __max); }
44161
44162       int
44163       max_length() const throw()
44164       { return this->do_max_length(); }
44165
44166     protected:
44167       explicit
44168       __codecvt_abstract_base(size_t __refs = 0) : locale::facet(__refs) { }
44169
44170       virtual
44171       ~__codecvt_abstract_base() { }
44172 # 238 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h" 3
44173       virtual result
44174       do_out(state_type& __state, const intern_type* __from,
44175       const intern_type* __from_end, const intern_type*& __from_next,
44176       extern_type* __to, extern_type* __to_end,
44177       extern_type*& __to_next) const = 0;
44178
44179       virtual result
44180       do_unshift(state_type& __state, extern_type* __to,
44181    extern_type* __to_end, extern_type*& __to_next) const = 0;
44182
44183       virtual result
44184       do_in(state_type& __state, const extern_type* __from,
44185      const extern_type* __from_end, const extern_type*& __from_next,
44186      intern_type* __to, intern_type* __to_end,
44187      intern_type*& __to_next) const = 0;
44188
44189       virtual int
44190       do_encoding() const throw() = 0;
44191
44192       virtual bool
44193       do_always_noconv() const throw() = 0;
44194
44195       virtual int
44196       do_length(state_type&, const extern_type* __from,
44197   const extern_type* __end, size_t __max) const = 0;
44198
44199       virtual int
44200       do_max_length() const throw() = 0;
44201     };
44202
44203
44204
44205   template<typename _InternT, typename _ExternT, typename _StateT>
44206     class codecvt
44207     : public __codecvt_abstract_base<_InternT, _ExternT, _StateT>
44208     {
44209     public:
44210
44211       typedef codecvt_base::result result;
44212       typedef _InternT intern_type;
44213       typedef _ExternT extern_type;
44214       typedef _StateT state_type;
44215
44216     protected:
44217       __c_locale _M_c_locale_codecvt;
44218
44219     public:
44220       static locale::id id;
44221
44222       explicit
44223       codecvt(size_t __refs = 0)
44224       : __codecvt_abstract_base<_InternT, _ExternT, _StateT> (__refs) { }
44225
44226       explicit
44227       codecvt(__c_locale __cloc, size_t __refs = 0);
44228
44229     protected:
44230       virtual
44231       ~codecvt() { }
44232
44233       virtual result
44234       do_out(state_type& __state, const intern_type* __from,
44235       const intern_type* __from_end, const intern_type*& __from_next,
44236       extern_type* __to, extern_type* __to_end,
44237       extern_type*& __to_next) const;
44238
44239       virtual result
44240       do_unshift(state_type& __state, extern_type* __to,
44241    extern_type* __to_end, extern_type*& __to_next) const;
44242
44243       virtual result
44244       do_in(state_type& __state, const extern_type* __from,
44245      const extern_type* __from_end, const extern_type*& __from_next,
44246      intern_type* __to, intern_type* __to_end,
44247      intern_type*& __to_next) const;
44248
44249       virtual int
44250       do_encoding() const throw();
44251
44252       virtual bool
44253       do_always_noconv() const throw();
44254
44255       virtual int
44256       do_length(state_type&, const extern_type* __from,
44257   const extern_type* __end, size_t __max) const;
44258
44259       virtual int
44260       do_max_length() const throw();
44261     };
44262
44263   template<typename _InternT, typename _ExternT, typename _StateT>
44264     locale::id codecvt<_InternT, _ExternT, _StateT>::id;
44265
44266
44267   template<>
44268     class codecvt<char, char, mbstate_t>
44269     : public __codecvt_abstract_base<char, char, mbstate_t>
44270     {
44271     public:
44272
44273       typedef char intern_type;
44274       typedef char extern_type;
44275       typedef mbstate_t state_type;
44276
44277     protected:
44278       __c_locale _M_c_locale_codecvt;
44279
44280     public:
44281       static locale::id id;
44282
44283       explicit
44284       codecvt(size_t __refs = 0);
44285
44286       explicit
44287       codecvt(__c_locale __cloc, size_t __refs = 0);
44288
44289     protected:
44290       virtual
44291       ~codecvt();
44292
44293       virtual result
44294       do_out(state_type& __state, const intern_type* __from,
44295       const intern_type* __from_end, const intern_type*& __from_next,
44296       extern_type* __to, extern_type* __to_end,
44297       extern_type*& __to_next) const;
44298
44299       virtual result
44300       do_unshift(state_type& __state, extern_type* __to,
44301    extern_type* __to_end, extern_type*& __to_next) const;
44302
44303       virtual result
44304       do_in(state_type& __state, const extern_type* __from,
44305      const extern_type* __from_end, const extern_type*& __from_next,
44306      intern_type* __to, intern_type* __to_end,
44307      intern_type*& __to_next) const;
44308
44309       virtual int
44310       do_encoding() const throw();
44311
44312       virtual bool
44313       do_always_noconv() const throw();
44314
44315       virtual int
44316       do_length(state_type&, const extern_type* __from,
44317   const extern_type* __end, size_t __max) const;
44318
44319       virtual int
44320       do_max_length() const throw();
44321   };
44322
44323
44324
44325   template<>
44326     class codecvt<wchar_t, char, mbstate_t>
44327     : public __codecvt_abstract_base<wchar_t, char, mbstate_t>
44328     {
44329     public:
44330
44331       typedef wchar_t intern_type;
44332       typedef char extern_type;
44333       typedef mbstate_t state_type;
44334
44335     protected:
44336       __c_locale _M_c_locale_codecvt;
44337
44338     public:
44339       static locale::id id;
44340
44341       explicit
44342       codecvt(size_t __refs = 0);
44343
44344       explicit
44345       codecvt(__c_locale __cloc, size_t __refs = 0);
44346
44347     protected:
44348       virtual
44349       ~codecvt();
44350
44351       virtual result
44352       do_out(state_type& __state, const intern_type* __from,
44353       const intern_type* __from_end, const intern_type*& __from_next,
44354       extern_type* __to, extern_type* __to_end,
44355       extern_type*& __to_next) const;
44356
44357       virtual result
44358       do_unshift(state_type& __state,
44359    extern_type* __to, extern_type* __to_end,
44360    extern_type*& __to_next) const;
44361
44362       virtual result
44363       do_in(state_type& __state,
44364       const extern_type* __from, const extern_type* __from_end,
44365       const extern_type*& __from_next,
44366       intern_type* __to, intern_type* __to_end,
44367       intern_type*& __to_next) const;
44368
44369       virtual
44370       int do_encoding() const throw();
44371
44372       virtual
44373       bool do_always_noconv() const throw();
44374
44375       virtual
44376       int do_length(state_type&, const extern_type* __from,
44377       const extern_type* __end, size_t __max) const;
44378
44379       virtual int
44380       do_max_length() const throw();
44381     };
44382
44383
44384
44385   template<typename _InternT, typename _ExternT, typename _StateT>
44386     class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT>
44387     {
44388     public:
44389       explicit
44390       codecvt_byname(const char* __s, size_t __refs = 0)
44391       : codecvt<_InternT, _ExternT, _StateT>(__refs)
44392       {
44393  if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
44394    {
44395      this->_S_destroy_c_locale(this->_M_c_locale_codecvt);
44396      this->_S_create_c_locale(this->_M_c_locale_codecvt, __s);
44397    }
44398       }
44399
44400     protected:
44401       virtual
44402       ~codecvt_byname() { }
44403     };
44404 # 1534 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 2 3
44405
44406
44407   class __num_base
44408   {
44409   public:
44410
44411
44412     enum
44413       {
44414         _S_ominus,
44415         _S_oplus,
44416         _S_ox,
44417         _S_oX,
44418         _S_odigits,
44419         _S_odigits_end = _S_odigits + 16,
44420         _S_oudigits = _S_odigits_end,
44421         _S_oudigits_end = _S_oudigits + 16,
44422         _S_oe = _S_odigits + 14,
44423         _S_oE = _S_oudigits + 14,
44424  _S_oend = _S_oudigits_end
44425       };
44426
44427
44428
44429
44430
44431
44432     static const char* _S_atoms_out;
44433
44434
44435
44436     static const char* _S_atoms_in;
44437
44438     enum
44439     {
44440       _S_iminus,
44441       _S_iplus,
44442       _S_ix,
44443       _S_iX,
44444       _S_izero,
44445       _S_ie = _S_izero + 14,
44446       _S_iE = _S_izero + 20,
44447       _S_iend = 26
44448     };
44449
44450
44451
44452     static void
44453     _S_format_float(const ios_base& __io, char* __fptr, char __mod);
44454   };
44455
44456   template<typename _CharT>
44457     struct __numpunct_cache : public locale::facet
44458     {
44459       const char* _M_grouping;
44460       size_t _M_grouping_size;
44461       bool _M_use_grouping;
44462       const _CharT* _M_truename;
44463       size_t _M_truename_size;
44464       const _CharT* _M_falsename;
44465       size_t _M_falsename_size;
44466       _CharT _M_decimal_point;
44467       _CharT _M_thousands_sep;
44468
44469
44470
44471
44472
44473       _CharT _M_atoms_out[__num_base::_S_oend];
44474
44475
44476
44477
44478
44479       _CharT _M_atoms_in[__num_base::_S_iend];
44480
44481       bool _M_allocated;
44482
44483       __numpunct_cache(size_t __refs = 0) : facet(__refs),
44484       _M_grouping(__null), _M_grouping_size(0), _M_use_grouping(false),
44485       _M_truename(__null), _M_truename_size(0), _M_falsename(__null),
44486       _M_falsename_size(0), _M_decimal_point(_CharT()),
44487       _M_thousands_sep(_CharT()), _M_allocated(false)
44488       { }
44489
44490       ~__numpunct_cache();
44491
44492       void
44493       _M_cache(const locale& __loc);
44494
44495     private:
44496       __numpunct_cache&
44497       operator=(const __numpunct_cache&);
44498
44499       explicit
44500       __numpunct_cache(const __numpunct_cache&);
44501     };
44502
44503   template<typename _CharT>
44504     __numpunct_cache<_CharT>::~__numpunct_cache()
44505     {
44506       if (_M_allocated)
44507  {
44508    delete [] _M_grouping;
44509    delete [] _M_truename;
44510    delete [] _M_falsename;
44511  }
44512     }
44513 # 1656 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44514   template<typename _CharT>
44515     class numpunct : public locale::facet
44516     {
44517     public:
44518
44519
44520
44521       typedef _CharT char_type;
44522       typedef basic_string<_CharT> string_type;
44523
44524       typedef __numpunct_cache<_CharT> __cache_type;
44525
44526     protected:
44527       __cache_type* _M_data;
44528
44529     public:
44530
44531       static locale::id id;
44532
44533
44534
44535
44536
44537
44538       explicit
44539       numpunct(size_t __refs = 0) : facet(__refs), _M_data(__null)
44540       { _M_initialize_numpunct(); }
44541 # 1693 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44542       explicit
44543       numpunct(__cache_type* __cache, size_t __refs = 0)
44544       : facet(__refs), _M_data(__cache)
44545       { _M_initialize_numpunct(); }
44546 # 1707 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44547       explicit
44548       numpunct(__c_locale __cloc, size_t __refs = 0)
44549       : facet(__refs), _M_data(__null)
44550       { _M_initialize_numpunct(__cloc); }
44551 # 1721 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44552       char_type
44553       decimal_point() const
44554       { return this->do_decimal_point(); }
44555 # 1734 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44556       char_type
44557       thousands_sep() const
44558       { return this->do_thousands_sep(); }
44559 # 1765 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44560       string
44561       grouping() const
44562       { return this->do_grouping(); }
44563 # 1778 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44564       string_type
44565       truename() const
44566       { return this->do_truename(); }
44567 # 1791 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44568       string_type
44569       falsename() const
44570       { return this->do_falsename(); }
44571
44572     protected:
44573
44574       virtual
44575       ~numpunct();
44576 # 1808 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44577       virtual char_type
44578       do_decimal_point() const
44579       { return _M_data->_M_decimal_point; }
44580 # 1820 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44581       virtual char_type
44582       do_thousands_sep() const
44583       { return _M_data->_M_thousands_sep; }
44584 # 1833 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44585       virtual string
44586       do_grouping() const
44587       { return _M_data->_M_grouping; }
44588 # 1846 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44589       virtual string_type
44590       do_truename() const
44591       { return _M_data->_M_truename; }
44592 # 1859 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44593       virtual string_type
44594       do_falsename() const
44595       { return _M_data->_M_falsename; }
44596
44597
44598       void
44599       _M_initialize_numpunct(__c_locale __cloc = __null);
44600     };
44601
44602   template<typename _CharT>
44603     locale::id numpunct<_CharT>::id;
44604
44605   template<>
44606     numpunct<char>::~numpunct();
44607
44608   template<>
44609     void
44610     numpunct<char>::_M_initialize_numpunct(__c_locale __cloc);
44611
44612
44613   template<>
44614     numpunct<wchar_t>::~numpunct();
44615
44616   template<>
44617     void
44618     numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc);
44619
44620
44621
44622   template<typename _CharT>
44623     class numpunct_byname : public numpunct<_CharT>
44624     {
44625     public:
44626       typedef _CharT char_type;
44627       typedef basic_string<_CharT> string_type;
44628
44629       explicit
44630       numpunct_byname(const char* __s, size_t __refs = 0)
44631       : numpunct<_CharT>(__refs)
44632       {
44633  if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
44634    {
44635      __c_locale __tmp;
44636      this->_S_create_c_locale(__tmp, __s);
44637      this->_M_initialize_numpunct(__tmp);
44638      this->_S_destroy_c_locale(__tmp);
44639    }
44640       }
44641
44642     protected:
44643       virtual
44644       ~numpunct_byname() { }
44645     };
44646 # 1925 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44647   template<typename _CharT, typename _InIter>
44648     class num_get : public locale::facet
44649     {
44650     public:
44651
44652
44653
44654       typedef _CharT char_type;
44655       typedef _InIter iter_type;
44656
44657
44658
44659       static locale::id id;
44660 # 1946 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44661       explicit
44662       num_get(size_t __refs = 0) : facet(__refs) { }
44663 # 1972 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44664       iter_type
44665       get(iter_type __in, iter_type __end, ios_base& __io,
44666    ios_base::iostate& __err, bool& __v) const
44667       { return this->do_get(__in, __end, __io, __err, __v); }
44668 # 2008 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44669       iter_type
44670       get(iter_type __in, iter_type __end, ios_base& __io,
44671    ios_base::iostate& __err, long& __v) const
44672       { return this->do_get(__in, __end, __io, __err, __v); }
44673
44674       iter_type
44675       get(iter_type __in, iter_type __end, ios_base& __io,
44676    ios_base::iostate& __err, unsigned short& __v) const
44677       { return this->do_get(__in, __end, __io, __err, __v); }
44678
44679       iter_type
44680       get(iter_type __in, iter_type __end, ios_base& __io,
44681    ios_base::iostate& __err, unsigned int& __v) const
44682       { return this->do_get(__in, __end, __io, __err, __v); }
44683
44684       iter_type
44685       get(iter_type __in, iter_type __end, ios_base& __io,
44686    ios_base::iostate& __err, unsigned long& __v) const
44687       { return this->do_get(__in, __end, __io, __err, __v); }
44688
44689
44690       iter_type
44691       get(iter_type __in, iter_type __end, ios_base& __io,
44692    ios_base::iostate& __err, long long& __v) const
44693       { return this->do_get(__in, __end, __io, __err, __v); }
44694
44695       iter_type
44696       get(iter_type __in, iter_type __end, ios_base& __io,
44697    ios_base::iostate& __err, unsigned long long& __v) const
44698       { return this->do_get(__in, __end, __io, __err, __v); }
44699 # 2067 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44700       iter_type
44701       get(iter_type __in, iter_type __end, ios_base& __io,
44702    ios_base::iostate& __err, float& __v) const
44703       { return this->do_get(__in, __end, __io, __err, __v); }
44704
44705       iter_type
44706       get(iter_type __in, iter_type __end, ios_base& __io,
44707    ios_base::iostate& __err, double& __v) const
44708       { return this->do_get(__in, __end, __io, __err, __v); }
44709
44710       iter_type
44711       get(iter_type __in, iter_type __end, ios_base& __io,
44712    ios_base::iostate& __err, long double& __v) const
44713       { return this->do_get(__in, __end, __io, __err, __v); }
44714 # 2109 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44715       iter_type
44716       get(iter_type __in, iter_type __end, ios_base& __io,
44717    ios_base::iostate& __err, void*& __v) const
44718       { return this->do_get(__in, __end, __io, __err, __v); }
44719
44720     protected:
44721
44722       virtual ~num_get() { }
44723
44724       iter_type
44725       _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&,
44726          string& __xtrc) const;
44727
44728       template<typename _ValueT>
44729         iter_type
44730         _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&,
44731          _ValueT& __v) const;
44732 # 2142 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44733       virtual iter_type
44734       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const;
44735
44736
44737       virtual iter_type
44738       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, long&) const;
44739
44740       virtual iter_type
44741       do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
44742        unsigned short&) const;
44743
44744       virtual iter_type
44745       do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
44746       unsigned int&) const;
44747
44748       virtual iter_type
44749       do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
44750       unsigned long&) const;
44751
44752
44753       virtual iter_type
44754       do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
44755       long long&) const;
44756
44757       virtual iter_type
44758       do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
44759       unsigned long long&) const;
44760
44761
44762       virtual iter_type
44763       do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
44764       float&) const;
44765
44766       virtual iter_type
44767       do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
44768       double&) const;
44769
44770       virtual iter_type
44771       do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
44772       long double&) const;
44773
44774       virtual iter_type
44775       do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
44776       void*&) const;
44777
44778     };
44779
44780   template<typename _CharT, typename _InIter>
44781     locale::id num_get<_CharT, _InIter>::id;
44782 # 2204 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44783   template<typename _CharT, typename _OutIter>
44784     class num_put : public locale::facet
44785     {
44786     public:
44787
44788
44789
44790       typedef _CharT char_type;
44791       typedef _OutIter iter_type;
44792
44793
44794
44795       static locale::id id;
44796 # 2225 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44797       explicit
44798       num_put(size_t __refs = 0) : facet(__refs) { }
44799 # 2243 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44800       iter_type
44801       put(iter_type __s, ios_base& __f, char_type __fill, bool __v) const
44802       { return this->do_put(__s, __f, __fill, __v); }
44803 # 2285 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44804       iter_type
44805       put(iter_type __s, ios_base& __f, char_type __fill, long __v) const
44806       { return this->do_put(__s, __f, __fill, __v); }
44807
44808       iter_type
44809       put(iter_type __s, ios_base& __f, char_type __fill,
44810    unsigned long __v) const
44811       { return this->do_put(__s, __f, __fill, __v); }
44812
44813
44814       iter_type
44815       put(iter_type __s, ios_base& __f, char_type __fill, long long __v) const
44816       { return this->do_put(__s, __f, __fill, __v); }
44817
44818       iter_type
44819       put(iter_type __s, ios_base& __f, char_type __fill,
44820    unsigned long long __v) const
44821       { return this->do_put(__s, __f, __fill, __v); }
44822 # 2348 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44823       iter_type
44824       put(iter_type __s, ios_base& __f, char_type __fill, double __v) const
44825       { return this->do_put(__s, __f, __fill, __v); }
44826
44827       iter_type
44828       put(iter_type __s, ios_base& __f, char_type __fill,
44829    long double __v) const
44830       { return this->do_put(__s, __f, __fill, __v); }
44831 # 2373 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44832       iter_type
44833       put(iter_type __s, ios_base& __f, char_type __fill,
44834    const void* __v) const
44835       { return this->do_put(__s, __f, __fill, __v); }
44836
44837     protected:
44838       template<typename _ValueT>
44839         iter_type
44840         _M_insert_float(iter_type, ios_base& __io, char_type __fill,
44841    char __mod, _ValueT __v) const;
44842
44843       void
44844       _M_group_float(const char* __grouping, size_t __grouping_size,
44845        char_type __sep, const char_type* __p, char_type* __new,
44846        char_type* __cs, int& __len) const;
44847
44848       template<typename _ValueT>
44849         iter_type
44850         _M_insert_int(iter_type, ios_base& __io, char_type __fill,
44851         _ValueT __v) const;
44852
44853       void
44854       _M_group_int(const char* __grouping, size_t __grouping_size,
44855      char_type __sep, ios_base& __io, char_type* __new,
44856      char_type* __cs, int& __len) const;
44857
44858       void
44859       _M_pad(char_type __fill, streamsize __w, ios_base& __io,
44860       char_type* __new, const char_type* __cs, int& __len) const;
44861
44862
44863       virtual
44864       ~num_put() { };
44865 # 2421 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44866       virtual iter_type
44867       do_put(iter_type, ios_base&, char_type __fill, bool __v) const;
44868
44869       virtual iter_type
44870       do_put(iter_type, ios_base&, char_type __fill, long __v) const;
44871
44872       virtual iter_type
44873       do_put(iter_type, ios_base&, char_type __fill, unsigned long) const;
44874
44875
44876       virtual iter_type
44877       do_put(iter_type, ios_base&, char_type __fill, long long __v) const;
44878
44879       virtual iter_type
44880       do_put(iter_type, ios_base&, char_type __fill, unsigned long long) const;
44881
44882
44883       virtual iter_type
44884       do_put(iter_type, ios_base&, char_type __fill, double __v) const;
44885
44886       virtual iter_type
44887       do_put(iter_type, ios_base&, char_type __fill, long double __v) const;
44888
44889       virtual iter_type
44890       do_put(iter_type, ios_base&, char_type __fill, const void* __v) const;
44891
44892     };
44893
44894   template <typename _CharT, typename _OutIter>
44895     locale::id num_put<_CharT, _OutIter>::id;
44896 # 2465 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44897   template<typename _CharT>
44898     class collate : public locale::facet
44899     {
44900     public:
44901
44902
44903
44904       typedef _CharT char_type;
44905       typedef basic_string<_CharT> string_type;
44906
44907
44908     protected:
44909
44910
44911       __c_locale _M_c_locale_collate;
44912
44913     public:
44914
44915       static locale::id id;
44916 # 2492 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44917       explicit
44918       collate(size_t __refs = 0)
44919       : facet(__refs), _M_c_locale_collate(_S_get_c_locale())
44920       { }
44921 # 2506 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44922       explicit
44923       collate(__c_locale __cloc, size_t __refs = 0)
44924       : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc))
44925       { }
44926 # 2523 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44927       int
44928       compare(const _CharT* __lo1, const _CharT* __hi1,
44929        const _CharT* __lo2, const _CharT* __hi2) const
44930       { return this->do_compare(__lo1, __hi1, __lo2, __hi2); }
44931 # 2542 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44932       string_type
44933       transform(const _CharT* __lo, const _CharT* __hi) const
44934       { return this->do_transform(__lo, __hi); }
44935 # 2556 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44936       long
44937       hash(const _CharT* __lo, const _CharT* __hi) const
44938       { return this->do_hash(__lo, __hi); }
44939
44940
44941       int
44942       _M_compare(const _CharT*, const _CharT*) const;
44943
44944       size_t
44945       _M_transform(_CharT*, const _CharT*, size_t) const;
44946
44947   protected:
44948
44949       virtual
44950       ~collate()
44951       { _S_destroy_c_locale(_M_c_locale_collate); }
44952 # 2585 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44953       virtual int
44954       do_compare(const _CharT* __lo1, const _CharT* __hi1,
44955    const _CharT* __lo2, const _CharT* __hi2) const;
44956 # 2601 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44957       virtual string_type
44958       do_transform(const _CharT* __lo, const _CharT* __hi) const;
44959 # 2614 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
44960       virtual long
44961       do_hash(const _CharT* __lo, const _CharT* __hi) const;
44962     };
44963
44964   template<typename _CharT>
44965     locale::id collate<_CharT>::id;
44966
44967
44968   template<>
44969     int
44970     collate<char>::_M_compare(const char*, const char*) const;
44971
44972   template<>
44973     size_t
44974     collate<char>::_M_transform(char*, const char*, size_t) const;
44975
44976
44977   template<>
44978     int
44979     collate<wchar_t>::_M_compare(const wchar_t*, const wchar_t*) const;
44980
44981   template<>
44982     size_t
44983     collate<wchar_t>::_M_transform(wchar_t*, const wchar_t*, size_t) const;
44984
44985
44986
44987   template<typename _CharT>
44988     class collate_byname : public collate<_CharT>
44989     {
44990     public:
44991
44992
44993       typedef _CharT char_type;
44994       typedef basic_string<_CharT> string_type;
44995
44996
44997       explicit
44998       collate_byname(const char* __s, size_t __refs = 0)
44999       : collate<_CharT>(__refs)
45000       {
45001  if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
45002    {
45003      this->_S_destroy_c_locale(this->_M_c_locale_collate);
45004      this->_S_create_c_locale(this->_M_c_locale_collate, __s);
45005    }
45006       }
45007
45008     protected:
45009       virtual
45010       ~collate_byname() { }
45011     };
45012 # 2674 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45013   class time_base
45014   {
45015   public:
45016     enum dateorder { no_order, dmy, mdy, ymd, ydm };
45017   };
45018
45019   template<typename _CharT>
45020     struct __timepunct_cache : public locale::facet
45021     {
45022
45023       static const _CharT* _S_timezones[14];
45024
45025       const _CharT* _M_date_format;
45026       const _CharT* _M_date_era_format;
45027       const _CharT* _M_time_format;
45028       const _CharT* _M_time_era_format;
45029       const _CharT* _M_date_time_format;
45030       const _CharT* _M_date_time_era_format;
45031       const _CharT* _M_am;
45032       const _CharT* _M_pm;
45033       const _CharT* _M_am_pm_format;
45034
45035
45036       const _CharT* _M_day1;
45037       const _CharT* _M_day2;
45038       const _CharT* _M_day3;
45039       const _CharT* _M_day4;
45040       const _CharT* _M_day5;
45041       const _CharT* _M_day6;
45042       const _CharT* _M_day7;
45043
45044
45045       const _CharT* _M_aday1;
45046       const _CharT* _M_aday2;
45047       const _CharT* _M_aday3;
45048       const _CharT* _M_aday4;
45049       const _CharT* _M_aday5;
45050       const _CharT* _M_aday6;
45051       const _CharT* _M_aday7;
45052
45053
45054       const _CharT* _M_month01;
45055       const _CharT* _M_month02;
45056       const _CharT* _M_month03;
45057       const _CharT* _M_month04;
45058       const _CharT* _M_month05;
45059       const _CharT* _M_month06;
45060       const _CharT* _M_month07;
45061       const _CharT* _M_month08;
45062       const _CharT* _M_month09;
45063       const _CharT* _M_month10;
45064       const _CharT* _M_month11;
45065       const _CharT* _M_month12;
45066
45067
45068       const _CharT* _M_amonth01;
45069       const _CharT* _M_amonth02;
45070       const _CharT* _M_amonth03;
45071       const _CharT* _M_amonth04;
45072       const _CharT* _M_amonth05;
45073       const _CharT* _M_amonth06;
45074       const _CharT* _M_amonth07;
45075       const _CharT* _M_amonth08;
45076       const _CharT* _M_amonth09;
45077       const _CharT* _M_amonth10;
45078       const _CharT* _M_amonth11;
45079       const _CharT* _M_amonth12;
45080
45081       bool _M_allocated;
45082
45083       __timepunct_cache(size_t __refs = 0) : facet(__refs),
45084       _M_date_format(__null), _M_date_era_format(__null), _M_time_format(__null),
45085       _M_time_era_format(__null), _M_date_time_format(__null),
45086       _M_date_time_era_format(__null), _M_am(__null), _M_pm(__null),
45087       _M_am_pm_format(__null), _M_day1(__null), _M_day2(__null), _M_day3(__null),
45088       _M_day4(__null), _M_day5(__null), _M_day6(__null), _M_day7(__null),
45089       _M_aday1(__null), _M_aday2(__null), _M_aday3(__null), _M_aday4(__null),
45090       _M_aday5(__null), _M_aday6(__null), _M_aday7(__null), _M_month01(__null),
45091       _M_month02(__null), _M_month03(__null), _M_month04(__null), _M_month05(__null),
45092       _M_month06(__null), _M_month07(__null), _M_month08(__null), _M_month09(__null),
45093       _M_month10(__null), _M_month11(__null), _M_month12(__null), _M_amonth01(__null),
45094       _M_amonth02(__null), _M_amonth03(__null), _M_amonth04(__null),
45095       _M_amonth05(__null), _M_amonth06(__null), _M_amonth07(__null),
45096       _M_amonth08(__null), _M_amonth09(__null), _M_amonth10(__null),
45097       _M_amonth11(__null), _M_amonth12(__null), _M_allocated(false)
45098       { }
45099
45100       ~__timepunct_cache();
45101
45102       void
45103       _M_cache(const locale& __loc);
45104
45105     private:
45106       __timepunct_cache&
45107       operator=(const __timepunct_cache&);
45108
45109       explicit
45110       __timepunct_cache(const __timepunct_cache&);
45111     };
45112
45113   template<typename _CharT>
45114     __timepunct_cache<_CharT>::~__timepunct_cache()
45115     {
45116       if (_M_allocated)
45117  {
45118
45119  }
45120     }
45121
45122
45123   template<>
45124     const char*
45125     __timepunct_cache<char>::_S_timezones[14];
45126
45127
45128   template<>
45129     const wchar_t*
45130     __timepunct_cache<wchar_t>::_S_timezones[14];
45131
45132
45133
45134   template<typename _CharT>
45135     const _CharT* __timepunct_cache<_CharT>::_S_timezones[14];
45136
45137   template<typename _CharT>
45138     class __timepunct : public locale::facet
45139     {
45140     public:
45141
45142       typedef _CharT __char_type;
45143       typedef basic_string<_CharT> __string_type;
45144       typedef __timepunct_cache<_CharT> __cache_type;
45145
45146     protected:
45147       __cache_type* _M_data;
45148       __c_locale _M_c_locale_timepunct;
45149       const char* _M_name_timepunct;
45150
45151     public:
45152
45153       static locale::id id;
45154
45155       explicit
45156       __timepunct(size_t __refs = 0);
45157
45158       explicit
45159       __timepunct(__cache_type* __cache, size_t __refs = 0);
45160 # 2832 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45161       explicit
45162       __timepunct(__c_locale __cloc, const char* __s, size_t __refs = 0);
45163
45164
45165
45166       void
45167       _M_put(_CharT* __s, size_t __maxlen, const _CharT* __format,
45168       const tm* __tm) const;
45169
45170       void
45171       _M_date_formats(const _CharT** __date) const
45172       {
45173
45174  __date[0] = _M_data->_M_date_format;
45175  __date[1] = _M_data->_M_date_era_format;
45176       }
45177
45178       void
45179       _M_time_formats(const _CharT** __time) const
45180       {
45181
45182  __time[0] = _M_data->_M_time_format;
45183  __time[1] = _M_data->_M_time_era_format;
45184       }
45185
45186       void
45187       _M_date_time_formats(const _CharT** __dt) const
45188       {
45189
45190  __dt[0] = _M_data->_M_date_time_format;
45191  __dt[1] = _M_data->_M_date_time_era_format;
45192       }
45193
45194       void
45195       _M_am_pm_format(const _CharT* __ampm) const
45196       { __ampm = _M_data->_M_am_pm_format; }
45197
45198       void
45199       _M_am_pm(const _CharT** __ampm) const
45200       {
45201  __ampm[0] = _M_data->_M_am;
45202  __ampm[1] = _M_data->_M_pm;
45203       }
45204
45205       void
45206       _M_days(const _CharT** __days) const
45207       {
45208  __days[0] = _M_data->_M_day1;
45209  __days[1] = _M_data->_M_day2;
45210  __days[2] = _M_data->_M_day3;
45211  __days[3] = _M_data->_M_day4;
45212  __days[4] = _M_data->_M_day5;
45213  __days[5] = _M_data->_M_day6;
45214  __days[6] = _M_data->_M_day7;
45215       }
45216
45217       void
45218       _M_days_abbreviated(const _CharT** __days) const
45219       {
45220  __days[0] = _M_data->_M_aday1;
45221  __days[1] = _M_data->_M_aday2;
45222  __days[2] = _M_data->_M_aday3;
45223  __days[3] = _M_data->_M_aday4;
45224  __days[4] = _M_data->_M_aday5;
45225  __days[5] = _M_data->_M_aday6;
45226  __days[6] = _M_data->_M_aday7;
45227       }
45228
45229       void
45230       _M_months(const _CharT** __months) const
45231       {
45232  __months[0] = _M_data->_M_month01;
45233  __months[1] = _M_data->_M_month02;
45234  __months[2] = _M_data->_M_month03;
45235  __months[3] = _M_data->_M_month04;
45236  __months[4] = _M_data->_M_month05;
45237  __months[5] = _M_data->_M_month06;
45238  __months[6] = _M_data->_M_month07;
45239  __months[7] = _M_data->_M_month08;
45240  __months[8] = _M_data->_M_month09;
45241  __months[9] = _M_data->_M_month10;
45242  __months[10] = _M_data->_M_month11;
45243  __months[11] = _M_data->_M_month12;
45244       }
45245
45246       void
45247       _M_months_abbreviated(const _CharT** __months) const
45248       {
45249  __months[0] = _M_data->_M_amonth01;
45250  __months[1] = _M_data->_M_amonth02;
45251  __months[2] = _M_data->_M_amonth03;
45252  __months[3] = _M_data->_M_amonth04;
45253  __months[4] = _M_data->_M_amonth05;
45254  __months[5] = _M_data->_M_amonth06;
45255  __months[6] = _M_data->_M_amonth07;
45256  __months[7] = _M_data->_M_amonth08;
45257  __months[8] = _M_data->_M_amonth09;
45258  __months[9] = _M_data->_M_amonth10;
45259  __months[10] = _M_data->_M_amonth11;
45260  __months[11] = _M_data->_M_amonth12;
45261       }
45262
45263     protected:
45264       virtual
45265       ~__timepunct();
45266
45267
45268       void
45269       _M_initialize_timepunct(__c_locale __cloc = __null);
45270     };
45271
45272   template<typename _CharT>
45273     locale::id __timepunct<_CharT>::id;
45274
45275
45276   template<>
45277     void
45278     __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc);
45279
45280   template<>
45281     void
45282     __timepunct<char>::_M_put(char*, size_t, const char*, const tm*) const;
45283
45284
45285   template<>
45286     void
45287     __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc);
45288
45289   template<>
45290     void
45291     __timepunct<wchar_t>::_M_put(wchar_t*, size_t, const wchar_t*,
45292      const tm*) const;
45293
45294
45295
45296 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/time_members.h" 1 3
45297 # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/time_members.h" 3
45298   template<typename _CharT>
45299     __timepunct<_CharT>::__timepunct(size_t __refs)
45300     : facet(__refs), _M_data(__null), _M_c_locale_timepunct(__null),
45301       _M_name_timepunct(_S_get_c_name())
45302     { _M_initialize_timepunct(); }
45303
45304   template<typename _CharT>
45305     __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
45306     : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(__null),
45307       _M_name_timepunct(_S_get_c_name())
45308     { _M_initialize_timepunct(); }
45309
45310   template<typename _CharT>
45311     __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
45312          size_t __refs)
45313     : facet(__refs), _M_data(__null), _M_c_locale_timepunct(__null),
45314       _M_name_timepunct(__null)
45315     {
45316       const size_t __len = std::strlen(__s) + 1;
45317       char* __tmp = new char[__len];
45318       std::memcpy(__tmp, __s, __len);
45319       _M_name_timepunct = __tmp;
45320
45321       try
45322  { _M_initialize_timepunct(__cloc); }
45323       catch(...)
45324  {
45325    delete [] _M_name_timepunct;
45326    throw;
45327  }
45328     }
45329
45330   template<typename _CharT>
45331     __timepunct<_CharT>::~__timepunct()
45332     {
45333       if (_M_name_timepunct != _S_get_c_name())
45334  delete [] _M_name_timepunct;
45335       delete _M_data;
45336       _S_destroy_c_locale(_M_c_locale_timepunct);
45337     }
45338 # 2968 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 2 3
45339 # 2981 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45340   template<typename _CharT, typename _InIter>
45341     class time_get : public locale::facet, public time_base
45342     {
45343     public:
45344
45345
45346
45347       typedef _CharT char_type;
45348       typedef _InIter iter_type;
45349
45350       typedef basic_string<_CharT> __string_type;
45351
45352
45353       static locale::id id;
45354 # 3003 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45355       explicit
45356       time_get(size_t __refs = 0)
45357       : facet (__refs) { }
45358 # 3020 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45359       dateorder
45360       date_order() const
45361       { return this->do_date_order(); }
45362 # 3044 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45363       iter_type
45364       get_time(iter_type __beg, iter_type __end, ios_base& __io,
45365         ios_base::iostate& __err, tm* __tm) const
45366       { return this->do_get_time(__beg, __end, __io, __err, __tm); }
45367 # 3069 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45368       iter_type
45369       get_date(iter_type __beg, iter_type __end, ios_base& __io,
45370         ios_base::iostate& __err, tm* __tm) const
45371       { return this->do_get_date(__beg, __end, __io, __err, __tm); }
45372 # 3097 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45373       iter_type
45374       get_weekday(iter_type __beg, iter_type __end, ios_base& __io,
45375     ios_base::iostate& __err, tm* __tm) const
45376       { return this->do_get_weekday(__beg, __end, __io, __err, __tm); }
45377 # 3126 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45378       iter_type
45379       get_monthname(iter_type __beg, iter_type __end, ios_base& __io,
45380       ios_base::iostate& __err, tm* __tm) const
45381       { return this->do_get_monthname(__beg, __end, __io, __err, __tm); }
45382 # 3152 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45383       iter_type
45384       get_year(iter_type __beg, iter_type __end, ios_base& __io,
45385         ios_base::iostate& __err, tm* __tm) const
45386       { return this->do_get_year(__beg, __end, __io, __err, __tm); }
45387
45388     protected:
45389
45390       virtual
45391       ~time_get() { }
45392 # 3172 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45393       virtual dateorder
45394       do_date_order() const;
45395 # 3190 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45396       virtual iter_type
45397       do_get_time(iter_type __beg, iter_type __end, ios_base& __io,
45398     ios_base::iostate& __err, tm* __tm) const;
45399 # 3209 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45400       virtual iter_type
45401       do_get_date(iter_type __beg, iter_type __end, ios_base& __io,
45402     ios_base::iostate& __err, tm* __tm) const;
45403 # 3228 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45404       virtual iter_type
45405       do_get_weekday(iter_type __beg, iter_type __end, ios_base&,
45406        ios_base::iostate& __err, tm* __tm) const;
45407 # 3247 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45408       virtual iter_type
45409       do_get_monthname(iter_type __beg, iter_type __end, ios_base&,
45410          ios_base::iostate& __err, tm* __tm) const;
45411 # 3266 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45412       virtual iter_type
45413       do_get_year(iter_type __beg, iter_type __end, ios_base& __io,
45414     ios_base::iostate& __err, tm* __tm) const;
45415
45416
45417       iter_type
45418       _M_extract_num(iter_type __beg, iter_type __end, int& __member,
45419        int __min, int __max, size_t __len,
45420        ios_base& __io, ios_base::iostate& __err) const;
45421
45422
45423
45424       iter_type
45425       _M_extract_name(iter_type __beg, iter_type __end, int& __member,
45426         const _CharT** __names, size_t __indexlen,
45427         ios_base& __io, ios_base::iostate& __err) const;
45428
45429
45430       iter_type
45431       _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
45432        ios_base::iostate& __err, tm* __tm,
45433        const _CharT* __format) const;
45434     };
45435
45436   template<typename _CharT, typename _InIter>
45437     locale::id time_get<_CharT, _InIter>::id;
45438
45439
45440   template<typename _CharT, typename _InIter>
45441     class time_get_byname : public time_get<_CharT, _InIter>
45442     {
45443     public:
45444
45445       typedef _CharT char_type;
45446       typedef _InIter iter_type;
45447
45448       explicit
45449       time_get_byname(const char*, size_t __refs = 0)
45450       : time_get<_CharT, _InIter>(__refs) { }
45451
45452     protected:
45453       virtual
45454       ~time_get_byname() { }
45455     };
45456 # 3322 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45457   template<typename _CharT, typename _OutIter>
45458     class time_put : public locale::facet
45459     {
45460     public:
45461
45462
45463
45464       typedef _CharT char_type;
45465       typedef _OutIter iter_type;
45466
45467
45468
45469       static locale::id id;
45470 # 3343 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45471       explicit
45472       time_put(size_t __refs = 0)
45473       : facet(__refs) { }
45474 # 3362 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45475       iter_type
45476       put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
45477    const _CharT* __beg, const _CharT* __end) const;
45478 # 3382 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45479       iter_type
45480       put(iter_type __s, ios_base& __io, char_type __fill,
45481    const tm* __tm, char __format, char __mod = 0) const
45482       { return this->do_put(__s, __io, __fill, __tm, __format, __mod); }
45483
45484     protected:
45485
45486       virtual
45487       ~time_put()
45488       { }
45489 # 3409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45490       virtual iter_type
45491       do_put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
45492       char __format, char __mod) const;
45493     };
45494
45495   template<typename _CharT, typename _OutIter>
45496     locale::id time_put<_CharT, _OutIter>::id;
45497
45498
45499   template<typename _CharT, typename _OutIter>
45500     class time_put_byname : public time_put<_CharT, _OutIter>
45501     {
45502     public:
45503
45504       typedef _CharT char_type;
45505       typedef _OutIter iter_type;
45506
45507       explicit
45508       time_put_byname(const char*, size_t __refs = 0)
45509       : time_put<_CharT, _OutIter>(__refs)
45510       { };
45511
45512     protected:
45513       virtual
45514       ~time_put_byname() { }
45515     };
45516 # 3447 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45517   class money_base
45518   {
45519   public:
45520     enum part { none, space, symbol, sign, value };
45521     struct pattern { char field[4]; };
45522
45523     static const pattern _S_default_pattern;
45524
45525     enum
45526     {
45527       _S_minus,
45528       _S_zero,
45529       _S_end = 11
45530     };
45531
45532
45533
45534     static const char* _S_atoms;
45535
45536
45537
45538     static pattern
45539     _S_construct_pattern(char __precedes, char __space, char __posn);
45540   };
45541
45542   template<typename _CharT, bool _Intl>
45543     struct __moneypunct_cache : public locale::facet
45544     {
45545       const char* _M_grouping;
45546       size_t _M_grouping_size;
45547       bool _M_use_grouping;
45548       _CharT _M_decimal_point;
45549       _CharT _M_thousands_sep;
45550       const _CharT* _M_curr_symbol;
45551       size_t _M_curr_symbol_size;
45552       const _CharT* _M_positive_sign;
45553       size_t _M_positive_sign_size;
45554       const _CharT* _M_negative_sign;
45555       size_t _M_negative_sign_size;
45556       int _M_frac_digits;
45557       money_base::pattern _M_pos_format;
45558       money_base::pattern _M_neg_format;
45559
45560
45561
45562
45563       _CharT _M_atoms[money_base::_S_end];
45564
45565       bool _M_allocated;
45566
45567       __moneypunct_cache(size_t __refs = 0) : facet(__refs),
45568       _M_grouping(__null), _M_grouping_size(0), _M_use_grouping(false),
45569       _M_decimal_point(_CharT()), _M_thousands_sep(_CharT()),
45570       _M_curr_symbol(__null), _M_curr_symbol_size(0),
45571       _M_positive_sign(__null), _M_positive_sign_size(0),
45572       _M_negative_sign(__null), _M_negative_sign_size(0),
45573       _M_frac_digits(0),
45574       _M_pos_format(money_base::pattern()),
45575       _M_neg_format(money_base::pattern()), _M_allocated(false)
45576       { }
45577
45578       ~__moneypunct_cache();
45579
45580       void
45581       _M_cache(const locale& __loc);
45582
45583     private:
45584       __moneypunct_cache&
45585       operator=(const __moneypunct_cache&);
45586
45587       explicit
45588       __moneypunct_cache(const __moneypunct_cache&);
45589     };
45590
45591   template<typename _CharT, bool _Intl>
45592     __moneypunct_cache<_CharT, _Intl>::~__moneypunct_cache()
45593     {
45594       if (_M_allocated)
45595  {
45596    delete [] _M_grouping;
45597    delete [] _M_curr_symbol;
45598    delete [] _M_positive_sign;
45599    delete [] _M_negative_sign;
45600  }
45601     }
45602
45603
45604
45605
45606
45607
45608
45609   template<typename _CharT, bool _Intl>
45610     class moneypunct : public locale::facet, public money_base
45611     {
45612     public:
45613
45614
45615
45616       typedef _CharT char_type;
45617       typedef basic_string<_CharT> string_type;
45618
45619       typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
45620
45621     private:
45622       __cache_type* _M_data;
45623
45624     public:
45625
45626
45627       static const bool intl = _Intl;
45628
45629       static locale::id id;
45630 # 3568 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45631       explicit
45632       moneypunct(size_t __refs = 0) : facet(__refs), _M_data(__null)
45633       { _M_initialize_moneypunct(); }
45634 # 3580 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45635       explicit
45636       moneypunct(__cache_type* __cache, size_t __refs = 0)
45637       : facet(__refs), _M_data(__cache)
45638       { _M_initialize_moneypunct(); }
45639 # 3595 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45640       explicit
45641       moneypunct(__c_locale __cloc, const char* __s, size_t __refs = 0)
45642       : facet(__refs), _M_data(__null)
45643       { _M_initialize_moneypunct(__cloc, __s); }
45644 # 3609 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45645       char_type
45646       decimal_point() const
45647       { return this->do_decimal_point(); }
45648 # 3622 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45649       char_type
45650       thousands_sep() const
45651       { return this->do_thousands_sep(); }
45652 # 3651 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45653       string
45654       grouping() const
45655       { return this->do_grouping(); }
45656 # 3664 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45657       string_type
45658       curr_symbol() const
45659       { return this->do_curr_symbol(); }
45660 # 3681 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45661       string_type
45662       positive_sign() const
45663       { return this->do_positive_sign(); }
45664 # 3698 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45665       string_type
45666       negative_sign() const
45667       { return this->do_negative_sign(); }
45668 # 3714 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45669       int
45670       frac_digits() const
45671       { return this->do_frac_digits(); }
45672 # 3749 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45673       pattern
45674       pos_format() const
45675       { return this->do_pos_format(); }
45676
45677       pattern
45678       neg_format() const
45679       { return this->do_neg_format(); }
45680
45681
45682     protected:
45683
45684       virtual
45685       ~moneypunct();
45686 # 3771 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45687       virtual char_type
45688       do_decimal_point() const
45689       { return _M_data->_M_decimal_point; }
45690 # 3783 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45691       virtual char_type
45692       do_thousands_sep() const
45693       { return _M_data->_M_thousands_sep; }
45694 # 3796 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45695       virtual string
45696       do_grouping() const
45697       { return _M_data->_M_grouping; }
45698 # 3809 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45699       virtual string_type
45700       do_curr_symbol() const
45701       { return _M_data->_M_curr_symbol; }
45702 # 3822 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45703       virtual string_type
45704       do_positive_sign() const
45705       { return _M_data->_M_positive_sign; }
45706 # 3835 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45707       virtual string_type
45708       do_negative_sign() const
45709       { return _M_data->_M_negative_sign; }
45710 # 3849 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45711       virtual int
45712       do_frac_digits() const
45713       { return _M_data->_M_frac_digits; }
45714 # 3863 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45715       virtual pattern
45716       do_pos_format() const
45717       { return _M_data->_M_pos_format; }
45718 # 3877 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45719       virtual pattern
45720       do_neg_format() const
45721       { return _M_data->_M_neg_format; }
45722
45723
45724        void
45725        _M_initialize_moneypunct(__c_locale __cloc = __null,
45726     const char* __name = __null);
45727     };
45728
45729   template<typename _CharT, bool _Intl>
45730     locale::id moneypunct<_CharT, _Intl>::id;
45731
45732   template<typename _CharT, bool _Intl>
45733     const bool moneypunct<_CharT, _Intl>::intl;
45734
45735   template<>
45736     moneypunct<char, true>::~moneypunct();
45737
45738   template<>
45739     moneypunct<char, false>::~moneypunct();
45740
45741   template<>
45742     void
45743     moneypunct<char, true>::_M_initialize_moneypunct(__c_locale, const char*);
45744
45745   template<>
45746     void
45747     moneypunct<char, false>::_M_initialize_moneypunct(__c_locale, const char*);
45748
45749
45750   template<>
45751     moneypunct<wchar_t, true>::~moneypunct();
45752
45753   template<>
45754     moneypunct<wchar_t, false>::~moneypunct();
45755
45756   template<>
45757     void
45758     moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
45759        const char*);
45760
45761   template<>
45762     void
45763     moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
45764         const char*);
45765
45766
45767
45768   template<typename _CharT, bool _Intl>
45769     class moneypunct_byname : public moneypunct<_CharT, _Intl>
45770     {
45771     public:
45772       typedef _CharT char_type;
45773       typedef basic_string<_CharT> string_type;
45774
45775       static const bool intl = _Intl;
45776
45777       explicit
45778       moneypunct_byname(const char* __s, size_t __refs = 0)
45779       : moneypunct<_CharT, _Intl>(__refs)
45780       {
45781  if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
45782    {
45783      __c_locale __tmp;
45784      this->_S_create_c_locale(__tmp, __s);
45785      this->_M_initialize_moneypunct(__tmp);
45786      this->_S_destroy_c_locale(__tmp);
45787    }
45788       }
45789
45790     protected:
45791       virtual
45792       ~moneypunct_byname() { }
45793     };
45794
45795   template<typename _CharT, bool _Intl>
45796     const bool moneypunct_byname<_CharT, _Intl>::intl;
45797 # 3968 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45798   template<typename _CharT, typename _InIter>
45799     class money_get : public locale::facet
45800     {
45801     public:
45802
45803
45804
45805       typedef _CharT char_type;
45806       typedef _InIter iter_type;
45807       typedef basic_string<_CharT> string_type;
45808
45809
45810
45811       static locale::id id;
45812 # 3990 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45813       explicit
45814       money_get(size_t __refs = 0) : facet(__refs) { }
45815 # 4020 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45816       iter_type
45817       get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
45818    ios_base::iostate& __err, long double& __units) const
45819       { return this->do_get(__s, __end, __intl, __io, __err, __units); }
45820 # 4050 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45821       iter_type
45822       get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
45823    ios_base::iostate& __err, string_type& __digits) const
45824       { return this->do_get(__s, __end, __intl, __io, __err, __digits); }
45825
45826     protected:
45827
45828       virtual
45829       ~money_get() { }
45830 # 4067 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45831       virtual iter_type
45832       do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
45833       ios_base::iostate& __err, long double& __units) const;
45834 # 4078 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45835       virtual iter_type
45836       do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
45837       ios_base::iostate& __err, string_type& __digits) const;
45838
45839       template<bool _Intl>
45840         iter_type
45841         _M_extract(iter_type __s, iter_type __end, ios_base& __io,
45842      ios_base::iostate& __err, string& __digits) const;
45843     };
45844
45845   template<typename _CharT, typename _InIter>
45846     locale::id money_get<_CharT, _InIter>::id;
45847 # 4103 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45848   template<typename _CharT, typename _OutIter>
45849     class money_put : public locale::facet
45850     {
45851     public:
45852
45853
45854       typedef _CharT char_type;
45855       typedef _OutIter iter_type;
45856       typedef basic_string<_CharT> string_type;
45857
45858
45859
45860       static locale::id id;
45861 # 4124 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45862       explicit
45863       money_put(size_t __refs = 0) : facet(__refs) { }
45864 # 4144 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45865       iter_type
45866       put(iter_type __s, bool __intl, ios_base& __io,
45867    char_type __fill, long double __units) const
45868       { return this->do_put(__s, __intl, __io, __fill, __units); }
45869 # 4166 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45870       iter_type
45871       put(iter_type __s, bool __intl, ios_base& __io,
45872    char_type __fill, const string_type& __digits) const
45873       { return this->do_put(__s, __intl, __io, __fill, __digits); }
45874
45875     protected:
45876
45877       virtual
45878       ~money_put() { }
45879 # 4194 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45880       virtual iter_type
45881       do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
45882       long double __units) const;
45883 # 4216 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45884       virtual iter_type
45885       do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
45886       const string_type& __digits) const;
45887
45888       template<bool _Intl>
45889         iter_type
45890         _M_insert(iter_type __s, ios_base& __io, char_type __fill,
45891     const string_type& __digits) const;
45892     };
45893
45894   template<typename _CharT, typename _OutIter>
45895     locale::id money_put<_CharT, _OutIter>::id;
45896
45897
45898
45899
45900   struct messages_base
45901   {
45902     typedef int catalog;
45903   };
45904 # 4257 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45905   template<typename _CharT>
45906     class messages : public locale::facet, public messages_base
45907     {
45908     public:
45909
45910
45911
45912       typedef _CharT char_type;
45913       typedef basic_string<_CharT> string_type;
45914
45915
45916     protected:
45917
45918
45919       __c_locale _M_c_locale_messages;
45920       const char* _M_name_messages;
45921
45922     public:
45923
45924       static locale::id id;
45925 # 4285 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45926       explicit
45927       messages(size_t __refs = 0);
45928 # 4299 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45929       explicit
45930       messages(__c_locale __cloc, const char* __s, size_t __refs = 0);
45931 # 4312 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45932       catalog
45933       open(const basic_string<char>& __s, const locale& __loc) const
45934       { return this->do_open(__s, __loc); }
45935 # 4330 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45936       catalog
45937       open(const basic_string<char>&, const locale&, const char*) const;
45938 # 4348 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45939       string_type
45940       get(catalog __c, int __set, int __msgid, const string_type& __s) const
45941       { return this->do_get(__c, __set, __msgid, __s); }
45942 # 4359 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45943       void
45944       close(catalog __c) const
45945       { return this->do_close(__c); }
45946
45947     protected:
45948
45949       virtual
45950       ~messages();
45951 # 4379 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45952       virtual catalog
45953       do_open(const basic_string<char>&, const locale&) const;
45954 # 4398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45955       virtual string_type
45956       do_get(catalog, int, int, const string_type& __dfault) const;
45957
45958
45959
45960
45961
45962
45963       virtual void
45964       do_close(catalog) const;
45965
45966
45967       char*
45968       _M_convert_to_char(const string_type& __msg) const
45969       {
45970
45971  return reinterpret_cast<char*>(const_cast<_CharT*>(__msg.c_str()));
45972       }
45973
45974
45975       string_type
45976       _M_convert_from_char(char*) const
45977       {
45978 # 4455 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
45979  return string_type();
45980       }
45981      };
45982
45983   template<typename _CharT>
45984     locale::id messages<_CharT>::id;
45985
45986
45987   template<>
45988     string
45989     messages<char>::do_get(catalog, int, int, const string&) const;
45990
45991
45992   template<>
45993     wstring
45994     messages<wchar_t>::do_get(catalog, int, int, const wstring&) const;
45995
45996
45997
45998    template<typename _CharT>
45999     class messages_byname : public messages<_CharT>
46000     {
46001     public:
46002       typedef _CharT char_type;
46003       typedef basic_string<_CharT> string_type;
46004
46005       explicit
46006       messages_byname(const char* __s, size_t __refs = 0);
46007
46008     protected:
46009       virtual
46010       ~messages_byname()
46011       { }
46012     };
46013
46014
46015 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/messages_members.h" 1 3
46016 # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/messages_members.h" 3
46017   template<typename _CharT>
46018      messages<_CharT>::messages(size_t __refs)
46019      : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
46020        _M_name_messages(_S_get_c_name())
46021      { }
46022
46023   template<typename _CharT>
46024      messages<_CharT>::messages(__c_locale __cloc, const char* __s,
46025     size_t __refs)
46026      : facet(__refs), _M_c_locale_messages(__null), _M_name_messages(__null)
46027      {
46028        const size_t __len = std::strlen(__s) + 1;
46029        char* __tmp = new char[__len];
46030        std::memcpy(__tmp, __s, __len);
46031        _M_name_messages = __tmp;
46032
46033
46034        _M_c_locale_messages = _S_clone_c_locale(__cloc);
46035      }
46036
46037   template<typename _CharT>
46038     typename messages<_CharT>::catalog
46039     messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
46040       const char* __dir) const
46041     {
46042       bindtextdomain(__s.c_str(), __dir);
46043       return this->do_open(__s, __loc);
46044     }
46045
46046
46047   template<typename _CharT>
46048     messages<_CharT>::~messages()
46049     {
46050       if (_M_name_messages != _S_get_c_name())
46051  delete [] _M_name_messages;
46052       _S_destroy_c_locale(_M_c_locale_messages);
46053     }
46054
46055   template<typename _CharT>
46056     typename messages<_CharT>::catalog
46057     messages<_CharT>::do_open(const basic_string<char>& __s,
46058          const locale&) const
46059     {
46060
46061
46062       textdomain(__s.c_str());
46063       return 0;
46064     }
46065
46066   template<typename _CharT>
46067     void
46068     messages<_CharT>::do_close(catalog) const
46069     { }
46070
46071
46072    template<typename _CharT>
46073      messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
46074      : messages<_CharT>(__refs)
46075      {
46076        if (this->_M_name_messages != locale::facet::_S_get_c_name())
46077   delete [] this->_M_name_messages;
46078        char* __tmp = new char[std::strlen(__s) + 1];
46079        std::strcpy(__tmp, __s);
46080        this->_M_name_messages = __tmp;
46081
46082        if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
46083   {
46084     this->_S_destroy_c_locale(this->_M_c_locale_messages);
46085     this->_S_create_c_locale(this->_M_c_locale_messages, __s);
46086   }
46087      }
46088 # 4492 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 2 3
46089 # 4500 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h" 3
46090   template<typename _CharT>
46091     inline bool
46092     isspace(_CharT __c, const locale& __loc)
46093     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::space, __c); }
46094
46095
46096   template<typename _CharT>
46097     inline bool
46098     isprint(_CharT __c, const locale& __loc)
46099     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::print, __c); }
46100
46101
46102   template<typename _CharT>
46103     inline bool
46104     iscntrl(_CharT __c, const locale& __loc)
46105     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::cntrl, __c); }
46106
46107
46108   template<typename _CharT>
46109     inline bool
46110     isupper(_CharT __c, const locale& __loc)
46111     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::upper, __c); }
46112
46113
46114   template<typename _CharT>
46115     inline bool
46116     islower(_CharT __c, const locale& __loc)
46117     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::lower, __c); }
46118
46119
46120   template<typename _CharT>
46121     inline bool
46122     isalpha(_CharT __c, const locale& __loc)
46123     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alpha, __c); }
46124
46125
46126   template<typename _CharT>
46127     inline bool
46128     isdigit(_CharT __c, const locale& __loc)
46129     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::digit, __c); }
46130
46131
46132   template<typename _CharT>
46133     inline bool
46134     ispunct(_CharT __c, const locale& __loc)
46135     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::punct, __c); }
46136
46137
46138   template<typename _CharT>
46139     inline bool
46140     isxdigit(_CharT __c, const locale& __loc)
46141     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::xdigit, __c); }
46142
46143
46144   template<typename _CharT>
46145     inline bool
46146     isalnum(_CharT __c, const locale& __loc)
46147     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alnum, __c); }
46148
46149
46150   template<typename _CharT>
46151     inline bool
46152     isgraph(_CharT __c, const locale& __loc)
46153     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::graph, __c); }
46154
46155
46156   template<typename _CharT>
46157     inline _CharT
46158     toupper(_CharT __c, const locale& __loc)
46159     { return use_facet<ctype<_CharT> >(__loc).toupper(__c); }
46160
46161
46162   template<typename _CharT>
46163     inline _CharT
46164     tolower(_CharT __c, const locale& __loc)
46165     { return use_facet<ctype<_CharT> >(__loc).tolower(__c); }
46166 }
46167 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 2 3
46168
46169 namespace std
46170 {
46171
46172
46173
46174
46175
46176
46177
46178   template<typename _CharT, typename _Traits>
46179     class basic_ios : public ios_base
46180     {
46181     public:
46182
46183
46184
46185
46186
46187
46188       typedef _CharT char_type;
46189       typedef typename _Traits::int_type int_type;
46190       typedef typename _Traits::pos_type pos_type;
46191       typedef typename _Traits::off_type off_type;
46192       typedef _Traits traits_type;
46193 # 78 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
46194       typedef ctype<_CharT> __ctype_type;
46195       typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
46196            __num_put_type;
46197       typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
46198            __num_get_type;
46199
46200
46201
46202     protected:
46203       basic_ostream<_CharT, _Traits>* _M_tie;
46204       mutable char_type _M_fill;
46205       mutable bool _M_fill_init;
46206       basic_streambuf<_CharT, _Traits>* _M_streambuf;
46207
46208
46209       const __ctype_type* _M_ctype;
46210
46211       const __num_put_type* _M_num_put;
46212
46213       const __num_get_type* _M_num_get;
46214
46215     public:
46216
46217
46218
46219
46220
46221
46222
46223       operator void*() const
46224       { return this->fail() ? 0 : const_cast<basic_ios*>(this); }
46225
46226       bool
46227       operator!() const
46228       { return this->fail(); }
46229 # 122 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
46230       iostate
46231       rdstate() const
46232       { return _M_streambuf_state; }
46233 # 133 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
46234       void
46235       clear(iostate __state = goodbit);
46236
46237
46238
46239
46240
46241
46242
46243       void
46244       setstate(iostate __state)
46245       { this->clear(this->rdstate() | __state); }
46246
46247
46248
46249
46250       void
46251       _M_setstate(iostate __state)
46252       {
46253
46254
46255  _M_streambuf_state |= __state;
46256  if (this->exceptions() & __state)
46257    throw;
46258       }
46259
46260
46261
46262
46263
46264
46265
46266       bool
46267       good() const
46268       { return this->rdstate() == 0; }
46269
46270
46271
46272
46273
46274
46275
46276       bool
46277       eof() const
46278       { return (this->rdstate() & eofbit) != 0; }
46279 # 186 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
46280       bool
46281       fail() const
46282       { return (this->rdstate() & (badbit | failbit)) != 0; }
46283
46284
46285
46286
46287
46288
46289
46290       bool
46291       bad() const
46292       { return (this->rdstate() & badbit) != 0; }
46293 # 207 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
46294       iostate
46295       exceptions() const
46296       { return _M_exception; }
46297 # 242 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
46298       void
46299       exceptions(iostate __except)
46300       {
46301         _M_exception = __except;
46302         this->clear(_M_streambuf_state);
46303       }
46304
46305
46306
46307
46308
46309
46310
46311       explicit
46312       basic_ios(basic_streambuf<_CharT, _Traits>* __sb)
46313       : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0),
46314       _M_ctype(0), _M_num_put(0), _M_num_get(0)
46315       { this->init(__sb); }
46316
46317
46318
46319
46320
46321
46322
46323       virtual
46324       ~basic_ios() { }
46325 # 280 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
46326       basic_ostream<_CharT, _Traits>*
46327       tie() const
46328       { return _M_tie; }
46329 # 292 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
46330       basic_ostream<_CharT, _Traits>*
46331       tie(basic_ostream<_CharT, _Traits>* __tiestr)
46332       {
46333         basic_ostream<_CharT, _Traits>* __old = _M_tie;
46334         _M_tie = __tiestr;
46335         return __old;
46336       }
46337
46338
46339
46340
46341
46342
46343
46344       basic_streambuf<_CharT, _Traits>*
46345       rdbuf() const
46346       { return _M_streambuf; }
46347 # 332 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
46348       basic_streambuf<_CharT, _Traits>*
46349       rdbuf(basic_streambuf<_CharT, _Traits>* __sb);
46350 # 346 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
46351       basic_ios&
46352       copyfmt(const basic_ios& __rhs);
46353
46354
46355
46356
46357
46358
46359
46360       char_type
46361       fill() const
46362       {
46363  if (!_M_fill_init)
46364    {
46365      _M_fill = this->widen(' ');
46366      _M_fill_init = true;
46367    }
46368  return _M_fill;
46369       }
46370 # 375 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
46371       char_type
46372       fill(char_type __ch)
46373       {
46374  char_type __old = this->fill();
46375  _M_fill = __ch;
46376  return __old;
46377       }
46378 # 395 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
46379       locale
46380       imbue(const locale& __loc);
46381 # 415 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
46382       char
46383       narrow(char_type __c, char __dfault) const;
46384 # 433 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 3
46385       char_type
46386       widen(char __c) const;
46387
46388     protected:
46389
46390
46391
46392
46393
46394
46395
46396       basic_ios()
46397       : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false),
46398       _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0)
46399       { }
46400
46401
46402
46403
46404
46405
46406
46407       void
46408       init(basic_streambuf<_CharT, _Traits>* __sb);
46409
46410       void
46411       _M_cache_locale(const locale& __loc);
46412     };
46413 }
46414
46415
46416 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.tcc" 1 3
46417 # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.tcc" 3
46418        
46419 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.tcc" 3
46420
46421 namespace std
46422 {
46423   template<typename _CharT, typename _Traits>
46424     void
46425     basic_ios<_CharT, _Traits>::clear(iostate __state)
46426     {
46427       if (this->rdbuf())
46428  _M_streambuf_state = __state;
46429       else
46430    _M_streambuf_state = __state | badbit;
46431       if (this->exceptions() & this->rdstate())
46432  __throw_ios_failure(("basic_ios::clear"));
46433     }
46434
46435   template<typename _CharT, typename _Traits>
46436     basic_streambuf<_CharT, _Traits>*
46437     basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
46438     {
46439       basic_streambuf<_CharT, _Traits>* __old = _M_streambuf;
46440       _M_streambuf = __sb;
46441       this->clear();
46442       return __old;
46443     }
46444
46445   template<typename _CharT, typename _Traits>
46446     basic_ios<_CharT, _Traits>&
46447     basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs)
46448     {
46449
46450
46451       if (this != &__rhs)
46452  {
46453
46454
46455
46456
46457    _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ?
46458                       _M_local_word : new _Words[__rhs._M_word_size];
46459
46460
46461    _Callback_list* __cb = __rhs._M_callbacks;
46462    if (__cb)
46463      __cb->_M_add_reference();
46464    _M_call_callbacks(erase_event);
46465    if (_M_word != _M_local_word)
46466      {
46467        delete [] _M_word;
46468        _M_word = 0;
46469      }
46470    _M_dispose_callbacks();
46471
46472
46473    _M_callbacks = __cb;
46474    for (int __i = 0; __i < __rhs._M_word_size; ++__i)
46475      __words[__i] = __rhs._M_word[__i];
46476    _M_word = __words;
46477    _M_word_size = __rhs._M_word_size;
46478
46479    this->flags(__rhs.flags());
46480    this->width(__rhs.width());
46481    this->precision(__rhs.precision());
46482    this->tie(__rhs.tie());
46483    this->fill(__rhs.fill());
46484    _M_ios_locale = __rhs.getloc();
46485    _M_cache_locale(_M_ios_locale);
46486
46487    _M_call_callbacks(copyfmt_event);
46488
46489
46490    this->exceptions(__rhs.exceptions());
46491  }
46492       return *this;
46493     }
46494
46495   template<typename _CharT, typename _Traits>
46496     char
46497     basic_ios<_CharT, _Traits>::narrow(char_type __c, char __dfault) const
46498     { return __check_facet(_M_ctype).narrow(__c, __dfault); }
46499
46500   template<typename _CharT, typename _Traits>
46501     _CharT
46502     basic_ios<_CharT, _Traits>::widen(char __c) const
46503     { return __check_facet(_M_ctype).widen(__c); }
46504
46505
46506   template<typename _CharT, typename _Traits>
46507     locale
46508     basic_ios<_CharT, _Traits>::imbue(const locale& __loc)
46509     {
46510       locale __old(this->getloc());
46511       ios_base::imbue(__loc);
46512       _M_cache_locale(__loc);
46513       if (this->rdbuf() != 0)
46514  this->rdbuf()->pubimbue(__loc);
46515       return __old;
46516     }
46517
46518   template<typename _CharT, typename _Traits>
46519     void
46520     basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb)
46521     {
46522
46523       ios_base::_M_init();
46524
46525
46526       _M_cache_locale(_M_ios_locale);
46527 # 159 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.tcc" 3
46528       _M_fill = _CharT();
46529       _M_fill_init = false;
46530
46531       _M_tie = 0;
46532       _M_exception = goodbit;
46533       _M_streambuf = __sb;
46534       _M_streambuf_state = __sb ? goodbit : badbit;
46535     }
46536
46537   template<typename _CharT, typename _Traits>
46538     void
46539     basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc)
46540     {
46541       if (__builtin_expect(has_facet<__ctype_type>(__loc), true))
46542  _M_ctype = &use_facet<__ctype_type>(__loc);
46543       else
46544  _M_ctype = 0;
46545
46546       if (__builtin_expect(has_facet<__num_put_type>(__loc), true))
46547  _M_num_put = &use_facet<__num_put_type>(__loc);
46548       else
46549  _M_num_put = 0;
46550
46551       if (__builtin_expect(has_facet<__num_get_type>(__loc), true))
46552  _M_num_get = &use_facet<__num_get_type>(__loc);
46553       else
46554  _M_num_get = 0;
46555     }
46556
46557
46558
46559
46560
46561   extern template class basic_ios<char>;
46562
46563
46564   extern template class basic_ios<wchar_t>;
46565
46566
46567 }
46568 # 465 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h" 2 3
46569 # 53 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ios" 2 3
46570
46571 #pragma GCC visibility pop
46572 # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 2 3
46573
46574 namespace std
46575 {
46576 # 57 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
46577   template<typename _CharT, typename _Traits>
46578     class basic_ostream : virtual public basic_ios<_CharT, _Traits>
46579     {
46580     public:
46581
46582       typedef _CharT char_type;
46583       typedef typename _Traits::int_type int_type;
46584       typedef typename _Traits::pos_type pos_type;
46585       typedef typename _Traits::off_type off_type;
46586       typedef _Traits traits_type;
46587
46588
46589       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
46590       typedef basic_ios<_CharT, _Traits> __ios_type;
46591       typedef basic_ostream<_CharT, _Traits> __ostream_type;
46592       typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
46593              __num_put_type;
46594       typedef ctype<_CharT> __ctype_type;
46595
46596       template<typename _CharT2, typename _Traits2>
46597         friend basic_ostream<_CharT2, _Traits2>&
46598         operator<<(basic_ostream<_CharT2, _Traits2>&, _CharT2);
46599
46600       template<typename _Traits2>
46601         friend basic_ostream<char, _Traits2>&
46602         operator<<(basic_ostream<char, _Traits2>&, char);
46603
46604       template<typename _CharT2, typename _Traits2>
46605         friend basic_ostream<_CharT2, _Traits2>&
46606         operator<<(basic_ostream<_CharT2, _Traits2>&, const _CharT2*);
46607
46608       template<typename _Traits2>
46609         friend basic_ostream<char, _Traits2>&
46610         operator<<(basic_ostream<char, _Traits2>&, const char*);
46611
46612       template<typename _CharT2, typename _Traits2>
46613         friend basic_ostream<_CharT2, _Traits2>&
46614         operator<<(basic_ostream<_CharT2, _Traits2>&, const char*);
46615 # 104 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
46616       explicit
46617       basic_ostream(__streambuf_type* __sb)
46618       { this->init(__sb); }
46619
46620
46621
46622
46623
46624
46625       virtual
46626       ~basic_ostream() { }
46627
46628
46629       class sentry;
46630       friend class sentry;
46631 # 130 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
46632       inline __ostream_type&
46633       operator<<(__ostream_type& (*__pf)(__ostream_type&));
46634
46635       inline __ostream_type&
46636       operator<<(__ios_type& (*__pf)(__ios_type&));
46637
46638       inline __ostream_type&
46639       operator<<(ios_base& (*__pf) (ios_base&));
46640 # 167 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
46641       __ostream_type&
46642       operator<<(long __n);
46643
46644       __ostream_type&
46645       operator<<(unsigned long __n);
46646
46647       __ostream_type&
46648       operator<<(bool __n);
46649
46650       __ostream_type&
46651       operator<<(short __n);
46652
46653       __ostream_type&
46654       operator<<(unsigned short __n);
46655
46656       __ostream_type&
46657       operator<<(int __n);
46658
46659       __ostream_type&
46660       operator<<(unsigned int __n);
46661
46662
46663       __ostream_type&
46664       operator<<(long long __n);
46665
46666       __ostream_type&
46667       operator<<(unsigned long long __n);
46668
46669
46670       __ostream_type&
46671       operator<<(double __f);
46672
46673       __ostream_type&
46674       operator<<(float __f);
46675
46676       __ostream_type&
46677       operator<<(long double __f);
46678
46679       __ostream_type&
46680       operator<<(const void* __p);
46681 # 229 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
46682       __ostream_type&
46683       operator<<(__streambuf_type* __sb);
46684 # 262 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
46685       __ostream_type&
46686       put(char_type __c);
46687
46688
46689       void
46690       _M_write(const char_type* __s, streamsize __n)
46691       {
46692  streamsize __put = this->rdbuf()->sputn(__s, __n);
46693  if (__put != __n)
46694    this->setstate(ios_base::badbit);
46695       }
46696 # 290 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
46697       __ostream_type&
46698       write(const char_type* __s, streamsize __n);
46699 # 303 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
46700       __ostream_type&
46701       flush();
46702 # 314 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
46703       pos_type
46704       tellp();
46705 # 325 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
46706       __ostream_type&
46707       seekp(pos_type);
46708 # 337 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
46709        __ostream_type&
46710       seekp(off_type, ios_base::seekdir);
46711
46712     protected:
46713       explicit
46714       basic_ostream() { }
46715     };
46716 # 355 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
46717   template <typename _CharT, typename _Traits>
46718     class basic_ostream<_CharT, _Traits>::sentry
46719     {
46720
46721       bool _M_ok;
46722       basic_ostream<_CharT,_Traits>& _M_os;
46723
46724     public:
46725 # 374 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
46726       explicit
46727       sentry(basic_ostream<_CharT,_Traits>& __os);
46728 # 384 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
46729       ~sentry()
46730       {
46731
46732  if (_M_os.flags() & ios_base::unitbuf && !uncaught_exception())
46733    {
46734
46735      if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1)
46736        _M_os.setstate(ios_base::badbit);
46737    }
46738       }
46739 # 402 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
46740       operator bool() const
46741       { return _M_ok; }
46742     };
46743 # 423 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
46744   template<typename _CharT, typename _Traits>
46745     basic_ostream<_CharT, _Traits>&
46746     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c);
46747
46748   template<typename _CharT, typename _Traits>
46749     basic_ostream<_CharT, _Traits>&
46750     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
46751     { return (__out << __out.widen(__c)); }
46752
46753
46754   template <class _Traits>
46755     basic_ostream<char, _Traits>&
46756     operator<<(basic_ostream<char, _Traits>& __out, char __c);
46757
46758
46759   template<class _Traits>
46760     basic_ostream<char, _Traits>&
46761     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
46762     { return (__out << static_cast<char>(__c)); }
46763
46764   template<class _Traits>
46765     basic_ostream<char, _Traits>&
46766     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
46767     { return (__out << static_cast<char>(__c)); }
46768 # 463 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
46769   template<typename _CharT, typename _Traits>
46770     basic_ostream<_CharT, _Traits>&
46771     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s);
46772
46773   template<typename _CharT, typename _Traits>
46774     basic_ostream<_CharT, _Traits> &
46775     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s);
46776
46777
46778   template<class _Traits>
46779     basic_ostream<char, _Traits>&
46780     operator<<(basic_ostream<char, _Traits>& __out, const char* __s);
46781
46782
46783   template<class _Traits>
46784     basic_ostream<char, _Traits>&
46785     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
46786     { return (__out << reinterpret_cast<const char*>(__s)); }
46787
46788   template<class _Traits>
46789     basic_ostream<char, _Traits> &
46790     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
46791     { return (__out << reinterpret_cast<const char*>(__s)); }
46792 # 497 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 3
46793   template<typename _CharT, typename _Traits>
46794     basic_ostream<_CharT, _Traits>&
46795     endl(basic_ostream<_CharT, _Traits>& __os)
46796     { return flush(__os.put(__os.widen('\n'))); }
46797
46798
46799
46800
46801
46802
46803
46804   template<typename _CharT, typename _Traits>
46805     basic_ostream<_CharT, _Traits>&
46806     ends(basic_ostream<_CharT, _Traits>& __os)
46807     { return __os.put(_CharT()); }
46808
46809
46810
46811
46812
46813
46814   template<typename _CharT, typename _Traits>
46815     basic_ostream<_CharT, _Traits>&
46816     flush(basic_ostream<_CharT, _Traits>& __os)
46817     { return __os.flush(); }
46818
46819 }
46820
46821
46822 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ostream.tcc" 1 3
46823 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ostream.tcc" 3
46824        
46825 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ostream.tcc" 3
46826
46827 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/locale" 1 3
46828 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/locale" 3
46829        
46830 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/locale" 3
46831 #pragma GCC visibility push(default)
46832
46833
46834
46835
46836 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 1 3
46837 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 3
46838        
46839 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 3
46840
46841
46842 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/typeinfo" 1 3
46843 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/typeinfo" 3
46844 #pragma GCC visibility push(default)
46845
46846 extern "C++" {
46847
46848 namespace __cxxabiv1
46849 {
46850   class __class_type_info;
46851 }
46852 # 59 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/typeinfo" 3
46853 namespace std
46854 {
46855
46856
46857
46858
46859
46860
46861   class type_info
46862   {
46863   public:
46864
46865
46866
46867
46868     virtual ~type_info();
46869
46870   private:
46871
46872     type_info& operator=(const type_info&);
46873     type_info(const type_info&);
46874
46875   protected:
46876     const char *__name;
46877
46878   protected:
46879     explicit type_info(const char *__n): __name(__n) { }
46880
46881   public:
46882
46883
46884
46885     const char* name() const
46886     { return __name; }
46887 # 105 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/typeinfo" 3
46888     bool before(const type_info& __arg) const
46889     { return __name < __arg.__name; }
46890     bool operator==(const type_info& __arg) const
46891     { return __name == __arg.__name; }
46892
46893     bool operator!=(const type_info& __arg) const
46894     { return !operator==(__arg); }
46895
46896
46897   public:
46898
46899     virtual bool __is_pointer_p() const;
46900
46901     virtual bool __is_function_p() const;
46902
46903
46904
46905
46906
46907
46908
46909     virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj,
46910        unsigned __outer) const;
46911
46912
46913     virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target,
46914         void **__obj_ptr) const;
46915   };
46916
46917
46918
46919
46920
46921
46922   class bad_cast : public exception
46923   {
46924   public:
46925     bad_cast() throw() { }
46926
46927
46928     virtual ~bad_cast() throw();
46929   };
46930
46931
46932   class bad_typeid : public exception
46933   {
46934   public:
46935     bad_typeid () throw() { }
46936
46937
46938     virtual ~bad_typeid() throw();
46939   };
46940 }
46941
46942 #pragma GCC visibility pop
46943
46944 }
46945 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 2 3
46946
46947
46948 namespace std
46949 {
46950   template<typename _Facet>
46951     locale
46952     locale::combine(const locale& __other) const
46953     {
46954       _Impl* __tmp = new _Impl(*_M_impl, 1);
46955       try
46956  {
46957    __tmp->_M_replace_facet(__other._M_impl, &_Facet::id);
46958  }
46959       catch(...)
46960  {
46961    __tmp->_M_remove_reference();
46962    throw;
46963  }
46964       return locale(__tmp);
46965     }
46966
46967   template<typename _CharT, typename _Traits, typename _Alloc>
46968     bool
46969     locale::operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1,
46970                        const basic_string<_CharT, _Traits, _Alloc>& __s2) const
46971     {
46972       typedef std::collate<_CharT> __collate_type;
46973       const __collate_type& __collate = use_facet<__collate_type>(*this);
46974       return (__collate.compare(__s1.data(), __s1.data() + __s1.length(),
46975     __s2.data(), __s2.data() + __s2.length()) < 0);
46976     }
46977 # 86 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 3
46978   template<typename _Facet>
46979     inline bool
46980     has_facet(const locale& __loc) throw()
46981     {
46982       const size_t __i = _Facet::id._M_id();
46983       const locale::facet** __facets = __loc._M_impl->_M_facets;
46984       return (__i < __loc._M_impl->_M_facets_size && __facets[__i]);
46985     }
46986 # 108 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 3
46987   template<typename _Facet>
46988     inline const _Facet&
46989     use_facet(const locale& __loc)
46990     {
46991       const size_t __i = _Facet::id._M_id();
46992       const locale::facet** __facets = __loc._M_impl->_M_facets;
46993       if (!(__i < __loc._M_impl->_M_facets_size && __facets[__i]))
46994         __throw_bad_cast();
46995       return static_cast<const _Facet&>(*__facets[__i]);
46996     }
46997
46998
46999
47000   template<typename _Facet>
47001     struct __use_cache
47002     {
47003       const _Facet*
47004       operator() (const locale& __loc) const;
47005     };
47006
47007
47008   template<typename _CharT>
47009     struct __use_cache<__numpunct_cache<_CharT> >
47010     {
47011       const __numpunct_cache<_CharT>*
47012       operator() (const locale& __loc) const
47013       {
47014  const size_t __i = numpunct<_CharT>::id._M_id();
47015  const locale::facet** __caches = __loc._M_impl->_M_caches;
47016  if (!__caches[__i])
47017    {
47018      __numpunct_cache<_CharT>* __tmp = __null;
47019      try
47020        {
47021   __tmp = new __numpunct_cache<_CharT>;
47022   __tmp->_M_cache(__loc);
47023        }
47024      catch(...)
47025        {
47026   delete __tmp;
47027   throw;
47028        }
47029      __loc._M_impl->_M_install_cache(__tmp, __i);
47030    }
47031  return static_cast<const __numpunct_cache<_CharT>*>(__caches[__i]);
47032       }
47033     };
47034
47035   template<typename _CharT, bool _Intl>
47036     struct __use_cache<__moneypunct_cache<_CharT, _Intl> >
47037     {
47038       const __moneypunct_cache<_CharT, _Intl>*
47039       operator() (const locale& __loc) const
47040       {
47041  const size_t __i = moneypunct<_CharT, _Intl>::id._M_id();
47042  const locale::facet** __caches = __loc._M_impl->_M_caches;
47043  if (!__caches[__i])
47044    {
47045      __moneypunct_cache<_CharT, _Intl>* __tmp = __null;
47046      try
47047        {
47048   __tmp = new __moneypunct_cache<_CharT, _Intl>;
47049   __tmp->_M_cache(__loc);
47050        }
47051      catch(...)
47052        {
47053   delete __tmp;
47054   throw;
47055        }
47056      __loc._M_impl->_M_install_cache(__tmp, __i);
47057    }
47058  return static_cast<
47059    const __moneypunct_cache<_CharT, _Intl>*>(__caches[__i]);
47060       }
47061     };
47062
47063   template<typename _CharT>
47064     void
47065     __numpunct_cache<_CharT>::_M_cache(const locale& __loc)
47066     {
47067       _M_allocated = true;
47068
47069       const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
47070
47071       _M_grouping_size = __np.grouping().size();
47072       char* __grouping = new char[_M_grouping_size];
47073       __np.grouping().copy(__grouping, _M_grouping_size);
47074       _M_grouping = __grouping;
47075       _M_use_grouping = (_M_grouping_size
47076     && static_cast<signed char>(__np.grouping()[0]) > 0);
47077
47078       _M_truename_size = __np.truename().size();
47079       _CharT* __truename = new _CharT[_M_truename_size];
47080       __np.truename().copy(__truename, _M_truename_size);
47081       _M_truename = __truename;
47082
47083       _M_falsename_size = __np.falsename().size();
47084       _CharT* __falsename = new _CharT[_M_falsename_size];
47085       __np.falsename().copy(__falsename, _M_falsename_size);
47086       _M_falsename = __falsename;
47087
47088       _M_decimal_point = __np.decimal_point();
47089       _M_thousands_sep = __np.thousands_sep();
47090
47091       const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc);
47092       __ct.widen(__num_base::_S_atoms_out,
47093    __num_base::_S_atoms_out + __num_base::_S_oend, _M_atoms_out);
47094       __ct.widen(__num_base::_S_atoms_in,
47095    __num_base::_S_atoms_in + __num_base::_S_iend, _M_atoms_in);
47096     }
47097
47098   template<typename _CharT, bool _Intl>
47099     void
47100     __moneypunct_cache<_CharT, _Intl>::_M_cache(const locale& __loc)
47101     {
47102       _M_allocated = true;
47103
47104       const moneypunct<_CharT, _Intl>& __mp =
47105  use_facet<moneypunct<_CharT, _Intl> >(__loc);
47106
47107       _M_grouping_size = __mp.grouping().size();
47108       char* __grouping = new char[_M_grouping_size];
47109       __mp.grouping().copy(__grouping, _M_grouping_size);
47110       _M_grouping = __grouping;
47111       _M_use_grouping = (_M_grouping_size
47112     && static_cast<signed char>(__mp.grouping()[0]) > 0);
47113
47114       _M_decimal_point = __mp.decimal_point();
47115       _M_thousands_sep = __mp.thousands_sep();
47116       _M_frac_digits = __mp.frac_digits();
47117
47118       _M_curr_symbol_size = __mp.curr_symbol().size();
47119       _CharT* __curr_symbol = new _CharT[_M_curr_symbol_size];
47120       __mp.curr_symbol().copy(__curr_symbol, _M_curr_symbol_size);
47121       _M_curr_symbol = __curr_symbol;
47122
47123       _M_positive_sign_size = __mp.positive_sign().size();
47124       _CharT* __positive_sign = new _CharT[_M_positive_sign_size];
47125       __mp.positive_sign().copy(__positive_sign, _M_positive_sign_size);
47126       _M_positive_sign = __positive_sign;
47127
47128       _M_negative_sign_size = __mp.negative_sign().size();
47129       _CharT* __negative_sign = new _CharT[_M_negative_sign_size];
47130       __mp.negative_sign().copy(__negative_sign, _M_negative_sign_size);
47131       _M_negative_sign = __negative_sign;
47132
47133       _M_pos_format = __mp.pos_format();
47134       _M_neg_format = __mp.neg_format();
47135
47136       const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc);
47137       __ct.widen(money_base::_S_atoms,
47138    money_base::_S_atoms + money_base::_S_end, _M_atoms);
47139     }
47140 # 271 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 3
47141   static bool
47142   __verify_grouping(const char* __grouping, size_t __grouping_size,
47143       const string& __grouping_tmp);
47144
47145   template<typename _CharT, typename _InIter>
47146     _InIter
47147     num_get<_CharT, _InIter>::
47148     _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io,
47149        ios_base::iostate& __err, string& __xtrc) const
47150     {
47151       typedef char_traits<_CharT> __traits_type;
47152       typedef __numpunct_cache<_CharT> __cache_type;
47153       __use_cache<__cache_type> __uc;
47154       const locale& __loc = __io._M_getloc();
47155       const __cache_type* __lc = __uc(__loc);
47156       const _CharT* __lit = __lc->_M_atoms_in;
47157       char_type __c = char_type();
47158
47159
47160       bool __testeof = __beg == __end;
47161
47162
47163       if (!__testeof)
47164  {
47165    __c = *__beg;
47166    const bool __plus = __c == __lit[__num_base::_S_iplus];
47167    if ((__plus || __c == __lit[__num_base::_S_iminus])
47168        && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
47169        && !(__c == __lc->_M_decimal_point))
47170      {
47171        __xtrc += __plus ? '+' : '-';
47172        if (++__beg != __end)
47173   __c = *__beg;
47174        else
47175   __testeof = true;
47176      }
47177  }
47178
47179
47180       bool __found_mantissa = false;
47181       int __sep_pos = 0;
47182       while (!__testeof)
47183  {
47184    if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep
47185        || __c == __lc->_M_decimal_point)
47186      break;
47187    else if (__c == __lit[__num_base::_S_izero])
47188      {
47189        if (!__found_mantissa)
47190   {
47191     __xtrc += '0';
47192     __found_mantissa = true;
47193   }
47194        ++__sep_pos;
47195
47196        if (++__beg != __end)
47197   __c = *__beg;
47198        else
47199   __testeof = true;
47200      }
47201    else
47202      break;
47203  }
47204
47205
47206       bool __found_dec = false;
47207       bool __found_sci = false;
47208       string __found_grouping;
47209       if (__lc->_M_use_grouping)
47210  __found_grouping.reserve(32);
47211       const char_type* __q;
47212       const char_type* __lit_zero = __lit + __num_base::_S_izero;
47213       while (!__testeof)
47214         {
47215
47216
47217           if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
47218      {
47219        if (!__found_dec && !__found_sci)
47220   {
47221
47222
47223     if (__sep_pos)
47224       {
47225         __found_grouping += static_cast<char>(__sep_pos);
47226         __sep_pos = 0;
47227       }
47228     else
47229       {
47230
47231
47232         __xtrc.clear();
47233         break;
47234       }
47235   }
47236        else
47237   break;
47238             }
47239    else if (__c == __lc->_M_decimal_point)
47240      {
47241        if (!__found_dec && !__found_sci)
47242   {
47243
47244
47245
47246     if (__found_grouping.size())
47247       __found_grouping += static_cast<char>(__sep_pos);
47248     __xtrc += '.';
47249     __found_dec = true;
47250   }
47251        else
47252   break;
47253      }
47254           else if ((__q = __traits_type::find(__lit_zero, 10, __c)))
47255      {
47256        __xtrc += __num_base::_S_atoms_in[__q - __lit];
47257        __found_mantissa = true;
47258        ++__sep_pos;
47259      }
47260    else if ((__c == __lit[__num_base::_S_ie]
47261       || __c == __lit[__num_base::_S_iE])
47262      && !__found_sci && __found_mantissa)
47263      {
47264
47265        if (__found_grouping.size() && !__found_dec)
47266   __found_grouping += static_cast<char>(__sep_pos);
47267        __xtrc += 'e';
47268        __found_sci = true;
47269
47270
47271        if (++__beg != __end)
47272   {
47273     __c = *__beg;
47274     const bool __plus = __c == __lit[__num_base::_S_iplus];
47275     if ((__plus || __c == __lit[__num_base::_S_iminus])
47276         && !(__lc->_M_use_grouping
47277       && __c == __lc->_M_thousands_sep)
47278         && !(__c == __lc->_M_decimal_point))
47279       __xtrc += __plus ? '+' : '-';
47280     else
47281       continue;
47282   }
47283        else
47284   {
47285     __testeof = true;
47286     break;
47287   }
47288      }
47289    else
47290
47291      break;
47292
47293    if (++__beg != __end)
47294      __c = *__beg;
47295    else
47296      __testeof = true;
47297         }
47298
47299
47300
47301       if (__found_grouping.size())
47302         {
47303
47304    if (!__found_dec && !__found_sci)
47305      __found_grouping += static_cast<char>(__sep_pos);
47306
47307           if (!std::__verify_grouping(__lc->_M_grouping,
47308           __lc->_M_grouping_size,
47309           __found_grouping))
47310      __err |= ios_base::failbit;
47311         }
47312
47313
47314       if (__testeof)
47315         __err |= ios_base::eofbit;
47316       return __beg;
47317     }
47318
47319   template<typename _ValueT>
47320     struct __to_unsigned_type
47321     { typedef _ValueT __type; };
47322
47323   template<>
47324     struct __to_unsigned_type<long>
47325     { typedef unsigned long __type; };
47326
47327
47328   template<>
47329     struct __to_unsigned_type<long long>
47330     { typedef unsigned long long __type; };
47331
47332
47333   template<typename _CharT, typename _InIter>
47334     template<typename _ValueT>
47335       _InIter
47336       num_get<_CharT, _InIter>::
47337       _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io,
47338        ios_base::iostate& __err, _ValueT& __v) const
47339       {
47340         typedef char_traits<_CharT> __traits_type;
47341  typedef typename __to_unsigned_type<_ValueT>::__type __unsigned_type;
47342  typedef __numpunct_cache<_CharT> __cache_type;
47343  __use_cache<__cache_type> __uc;
47344  const locale& __loc = __io._M_getloc();
47345  const __cache_type* __lc = __uc(__loc);
47346  const _CharT* __lit = __lc->_M_atoms_in;
47347  char_type __c = char_type();
47348
47349
47350  const ios_base::fmtflags __basefield = __io.flags()
47351                                         & ios_base::basefield;
47352  const bool __oct = __basefield == ios_base::oct;
47353  int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10);
47354
47355
47356  bool __testeof = __beg == __end;
47357
47358
47359  bool __negative = false;
47360  if (!__testeof)
47361    {
47362      __c = *__beg;
47363      if (numeric_limits<_ValueT>::is_signed)
47364        __negative = __c == __lit[__num_base::_S_iminus];
47365      if ((__negative || __c == __lit[__num_base::_S_iplus])
47366   && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
47367   && !(__c == __lc->_M_decimal_point))
47368        {
47369   if (++__beg != __end)
47370     __c = *__beg;
47371   else
47372     __testeof = true;
47373        }
47374    }
47375
47376
47377
47378  bool __found_zero = false;
47379  int __sep_pos = 0;
47380  while (!__testeof)
47381    {
47382      if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep
47383   || __c == __lc->_M_decimal_point)
47384        break;
47385      else if (__c == __lit[__num_base::_S_izero]
47386        && (!__found_zero || __base == 10))
47387        {
47388   __found_zero = true;
47389   ++__sep_pos;
47390   if (__basefield == 0)
47391     __base = 8;
47392   if (__base == 8)
47393     __sep_pos = 0;
47394        }
47395      else if (__found_zero
47396        && (__c == __lit[__num_base::_S_ix]
47397     || __c == __lit[__num_base::_S_iX]))
47398        {
47399   if (__basefield == 0)
47400     __base = 16;
47401   if (__base == 16)
47402     {
47403       __found_zero = false;
47404       __sep_pos = 0;
47405     }
47406   else
47407     break;
47408        }
47409      else
47410        break;
47411
47412      if (++__beg != __end)
47413        {
47414   __c = *__beg;
47415   if (!__found_zero)
47416     break;
47417        }
47418      else
47419        __testeof = true;
47420    }
47421
47422
47423
47424  const size_t __len = (__base == 16 ? __num_base::_S_iend
47425          - __num_base::_S_izero : __base);
47426
47427
47428  string __found_grouping;
47429  if (__lc->_M_use_grouping)
47430    __found_grouping.reserve(32);
47431  bool __testfail = false;
47432  const __unsigned_type __max = __negative ?
47433    -numeric_limits<_ValueT>::min() : numeric_limits<_ValueT>::max();
47434  const __unsigned_type __smax = __max / __base;
47435  __unsigned_type __result = 0;
47436  const char_type* __q;
47437  const char_type* __lit_zero = __lit + __num_base::_S_izero;
47438  while (!__testeof)
47439    {
47440
47441
47442      if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
47443        {
47444
47445
47446   if (__sep_pos)
47447     {
47448       __found_grouping += static_cast<char>(__sep_pos);
47449       __sep_pos = 0;
47450     }
47451   else
47452     {
47453       __testfail = true;
47454       break;
47455     }
47456        }
47457      else if (__c == __lc->_M_decimal_point)
47458        break;
47459      else if ((__q = __traits_type::find(__lit_zero, __len, __c)))
47460        {
47461   int __digit = __q - __lit_zero;
47462   if (__digit > 15)
47463     __digit -= 6;
47464   if (__result > __smax)
47465     __testfail = true;
47466   else
47467     {
47468       __result *= __base;
47469       __testfail |= __result > __max - __digit;
47470       __result += __digit;
47471       ++__sep_pos;
47472     }
47473        }
47474      else
47475
47476        break;
47477
47478      if (++__beg != __end)
47479        __c = *__beg;
47480      else
47481        __testeof = true;
47482    }
47483
47484
47485
47486  if (__found_grouping.size())
47487    {
47488
47489      __found_grouping += static_cast<char>(__sep_pos);
47490
47491      if (!std::__verify_grouping(__lc->_M_grouping,
47492      __lc->_M_grouping_size,
47493      __found_grouping))
47494        __err |= ios_base::failbit;
47495    }
47496
47497  if (!__testfail && (__sep_pos || __found_zero
47498        || __found_grouping.size()))
47499    __v = __negative ? -__result : __result;
47500  else
47501    __err |= ios_base::failbit;
47502
47503  if (__testeof)
47504    __err |= ios_base::eofbit;
47505  return __beg;
47506       }
47507
47508
47509
47510   template<typename _CharT, typename _InIter>
47511     _InIter
47512     num_get<_CharT, _InIter>::
47513     do_get(iter_type __beg, iter_type __end, ios_base& __io,
47514            ios_base::iostate& __err, bool& __v) const
47515     {
47516       if (!(__io.flags() & ios_base::boolalpha))
47517         {
47518
47519
47520
47521    long __l = -1;
47522           __beg = _M_extract_int(__beg, __end, __io, __err, __l);
47523    if (__l == 0 || __l == 1)
47524      __v = __l;
47525    else
47526             __err |= ios_base::failbit;
47527         }
47528       else
47529         {
47530
47531    typedef __numpunct_cache<_CharT> __cache_type;
47532    __use_cache<__cache_type> __uc;
47533    const locale& __loc = __io._M_getloc();
47534    const __cache_type* __lc = __uc(__loc);
47535
47536    bool __testf = true;
47537    bool __testt = true;
47538    size_t __n;
47539    bool __testeof = __beg == __end;
47540           for (__n = 0; !__testeof; ++__n)
47541             {
47542        const char_type __c = *__beg;
47543
47544        if (__testf)
47545   if (__n < __lc->_M_falsename_size)
47546     __testf = __c == __lc->_M_falsename[__n];
47547   else
47548     break;
47549
47550        if (__testt)
47551   if (__n < __lc->_M_truename_size)
47552     __testt = __c == __lc->_M_truename[__n];
47553   else
47554     break;
47555
47556        if (!__testf && !__testt)
47557   break;
47558
47559        if (++__beg == __end)
47560   __testeof = true;
47561             }
47562    if (__testf && __n == __lc->_M_falsename_size)
47563      __v = 0;
47564    else if (__testt && __n == __lc->_M_truename_size)
47565      __v = 1;
47566    else
47567      __err |= ios_base::failbit;
47568
47569           if (__testeof)
47570             __err |= ios_base::eofbit;
47571         }
47572       return __beg;
47573     }
47574
47575   template<typename _CharT, typename _InIter>
47576     _InIter
47577     num_get<_CharT, _InIter>::
47578     do_get(iter_type __beg, iter_type __end, ios_base& __io,
47579            ios_base::iostate& __err, long& __v) const
47580     { return _M_extract_int(__beg, __end, __io, __err, __v); }
47581
47582   template<typename _CharT, typename _InIter>
47583     _InIter
47584     num_get<_CharT, _InIter>::
47585     do_get(iter_type __beg, iter_type __end, ios_base& __io,
47586            ios_base::iostate& __err, unsigned short& __v) const
47587     { return _M_extract_int(__beg, __end, __io, __err, __v); }
47588
47589   template<typename _CharT, typename _InIter>
47590     _InIter
47591     num_get<_CharT, _InIter>::
47592     do_get(iter_type __beg, iter_type __end, ios_base& __io,
47593            ios_base::iostate& __err, unsigned int& __v) const
47594     { return _M_extract_int(__beg, __end, __io, __err, __v); }
47595
47596   template<typename _CharT, typename _InIter>
47597     _InIter
47598     num_get<_CharT, _InIter>::
47599     do_get(iter_type __beg, iter_type __end, ios_base& __io,
47600            ios_base::iostate& __err, unsigned long& __v) const
47601     { return _M_extract_int(__beg, __end, __io, __err, __v); }
47602
47603
47604   template<typename _CharT, typename _InIter>
47605     _InIter
47606     num_get<_CharT, _InIter>::
47607     do_get(iter_type __beg, iter_type __end, ios_base& __io,
47608            ios_base::iostate& __err, long long& __v) const
47609     { return _M_extract_int(__beg, __end, __io, __err, __v); }
47610
47611   template<typename _CharT, typename _InIter>
47612     _InIter
47613     num_get<_CharT, _InIter>::
47614     do_get(iter_type __beg, iter_type __end, ios_base& __io,
47615            ios_base::iostate& __err, unsigned long long& __v) const
47616     { return _M_extract_int(__beg, __end, __io, __err, __v); }
47617
47618
47619   template<typename _CharT, typename _InIter>
47620     _InIter
47621     num_get<_CharT, _InIter>::
47622     do_get(iter_type __beg, iter_type __end, ios_base& __io,
47623     ios_base::iostate& __err, float& __v) const
47624     {
47625       string __xtrc;
47626       __xtrc.reserve(32);
47627       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
47628       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
47629       return __beg;
47630     }
47631
47632   template<typename _CharT, typename _InIter>
47633     _InIter
47634     num_get<_CharT, _InIter>::
47635     do_get(iter_type __beg, iter_type __end, ios_base& __io,
47636            ios_base::iostate& __err, double& __v) const
47637     {
47638       string __xtrc;
47639       __xtrc.reserve(32);
47640       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
47641       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
47642       return __beg;
47643     }
47644
47645   template<typename _CharT, typename _InIter>
47646     _InIter
47647     num_get<_CharT, _InIter>::
47648     do_get(iter_type __beg, iter_type __end, ios_base& __io,
47649            ios_base::iostate& __err, long double& __v) const
47650     {
47651       string __xtrc;
47652       __xtrc.reserve(32);
47653       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
47654       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
47655       return __beg;
47656     }
47657
47658   template<typename _CharT, typename _InIter>
47659     _InIter
47660     num_get<_CharT, _InIter>::
47661     do_get(iter_type __beg, iter_type __end, ios_base& __io,
47662            ios_base::iostate& __err, void*& __v) const
47663     {
47664
47665       typedef ios_base::fmtflags fmtflags;
47666       const fmtflags __fmt = __io.flags();
47667       __io.flags(__fmt & ~ios_base::basefield | ios_base::hex);
47668
47669       unsigned long __ul;
47670       __beg = _M_extract_int(__beg, __end, __io, __err, __ul);
47671
47672
47673       __io.flags(__fmt);
47674
47675       if (!(__err & ios_base::failbit))
47676  __v = reinterpret_cast<void*>(__ul);
47677       return __beg;
47678     }
47679
47680
47681
47682   template<typename _CharT, typename _OutIter>
47683     void
47684     num_put<_CharT, _OutIter>::
47685     _M_pad(_CharT __fill, streamsize __w, ios_base& __io,
47686     _CharT* __new, const _CharT* __cs, int& __len) const
47687     {
47688
47689
47690       __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new, __cs,
47691         __w, __len, true);
47692       __len = static_cast<int>(__w);
47693     }
47694
47695
47696
47697
47698   template<typename _CharT>
47699     inline int
47700     __int_to_char(_CharT* __bufend, long __v, const _CharT* __lit,
47701     ios_base::fmtflags __flags)
47702     {
47703       unsigned long __ul = __v;
47704       const ios_base::fmtflags __basefield = __flags & ios_base::basefield;
47705       if (__builtin_expect(__basefield != ios_base::oct
47706       && __basefield != ios_base::hex, true))
47707  __ul = __v < 0 ? -__v : __ul;
47708       return __int_to_char(__bufend, __ul, __lit, __flags, false);
47709     }
47710
47711   template<typename _CharT>
47712     inline int
47713     __int_to_char(_CharT* __bufend, unsigned long __v, const _CharT* __lit,
47714     ios_base::fmtflags __flags)
47715     { return __int_to_char(__bufend, __v, __lit, __flags, false); }
47716
47717
47718   template<typename _CharT>
47719     inline int
47720     __int_to_char(_CharT* __bufend, long long __v, const _CharT* __lit,
47721     ios_base::fmtflags __flags)
47722     {
47723       unsigned long long __ull = __v;
47724       const ios_base::fmtflags __basefield = __flags & ios_base::basefield;
47725       if (__builtin_expect(__basefield != ios_base::oct
47726       && __basefield != ios_base::hex, true))
47727  __ull = __v < 0 ? -__v : __ull;
47728       return __int_to_char(__bufend, __ull, __lit, __flags, false);
47729     }
47730
47731   template<typename _CharT>
47732     inline int
47733     __int_to_char(_CharT* __bufend, unsigned long long __v,
47734     const _CharT* __lit, ios_base::fmtflags __flags)
47735     { return __int_to_char(__bufend, __v, __lit, __flags, false); }
47736
47737
47738
47739   template<typename _CharT, typename _ValueT>
47740     int
47741     __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit,
47742     ios_base::fmtflags __flags, bool)
47743     {
47744       const ios_base::fmtflags __basefield = __flags & ios_base::basefield;
47745       _CharT* __buf = __bufend;
47746
47747       if (__builtin_expect(__basefield != ios_base::oct
47748       && __basefield != ios_base::hex, true))
47749  {
47750
47751    do
47752      {
47753        *--__buf = __lit[(__v % 10) + __num_base::_S_odigits];
47754        __v /= 10;
47755      }
47756    while (__v != 0);
47757  }
47758       else if (__basefield == ios_base::oct)
47759  {
47760
47761    do
47762      {
47763        *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits];
47764        __v >>= 3;
47765      }
47766    while (__v != 0);
47767  }
47768       else
47769  {
47770
47771    const bool __uppercase = __flags & ios_base::uppercase;
47772    const int __case_offset = __uppercase ? __num_base::_S_oudigits
47773                                          : __num_base::_S_odigits;
47774    do
47775      {
47776        *--__buf = __lit[(__v & 0xf) + __case_offset];
47777        __v >>= 4;
47778      }
47779    while (__v != 0);
47780  }
47781       return __bufend - __buf;
47782     }
47783
47784   template<typename _CharT, typename _OutIter>
47785     void
47786     num_put<_CharT, _OutIter>::
47787     _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep,
47788    ios_base&, _CharT* __new, _CharT* __cs, int& __len) const
47789     {
47790       _CharT* __p = std::__add_grouping(__new, __sep, __grouping,
47791      __grouping_size, __cs, __cs + __len);
47792       __len = __p - __new;
47793     }
47794
47795   template<typename _CharT, typename _OutIter>
47796     template<typename _ValueT>
47797       _OutIter
47798       num_put<_CharT, _OutIter>::
47799       _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill,
47800       _ValueT __v) const
47801       {
47802  typedef __numpunct_cache<_CharT> __cache_type;
47803  __use_cache<__cache_type> __uc;
47804  const locale& __loc = __io._M_getloc();
47805  const __cache_type* __lc = __uc(__loc);
47806  const _CharT* __lit = __lc->_M_atoms_out;
47807  const ios_base::fmtflags __flags = __io.flags();
47808
47809
47810  const int __ilen = 5 * sizeof(_ValueT);
47811  _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
47812             * __ilen));
47813
47814
47815
47816  int __len = __int_to_char(__cs + __ilen, __v, __lit, __flags);
47817  __cs += __ilen - __len;
47818
47819
47820  if (__lc->_M_use_grouping)
47821    {
47822
47823
47824      _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
47825           * (__len + 1)
47826           * 2));
47827      _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size,
47828     __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len);
47829      __cs = __cs2 + 2;
47830    }
47831
47832
47833  const ios_base::fmtflags __basefield = __flags & ios_base::basefield;
47834  if (__builtin_expect(__basefield != ios_base::oct
47835         && __basefield != ios_base::hex, true))
47836    {
47837
47838      if (__v > 0)
47839        {
47840   if (__flags & ios_base::showpos
47841       && numeric_limits<_ValueT>::is_signed)
47842     *--__cs = __lit[__num_base::_S_oplus], ++__len;
47843        }
47844      else if (__v)
47845        *--__cs = __lit[__num_base::_S_ominus], ++__len;
47846    }
47847  else if (__flags & ios_base::showbase && __v)
47848    {
47849      if (__basefield == ios_base::oct)
47850        *--__cs = __lit[__num_base::_S_odigits], ++__len;
47851      else
47852        {
47853
47854   const bool __uppercase = __flags & ios_base::uppercase;
47855   *--__cs = __lit[__num_base::_S_ox + __uppercase];
47856
47857   *--__cs = __lit[__num_base::_S_odigits];
47858   __len += 2;
47859        }
47860    }
47861
47862
47863  const streamsize __w = __io.width();
47864  if (__w > static_cast<streamsize>(__len))
47865    {
47866      _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
47867           * __w));
47868      _M_pad(__fill, __w, __io, __cs3, __cs, __len);
47869      __cs = __cs3;
47870    }
47871  __io.width(0);
47872
47873
47874
47875  return std::__write(__s, __cs, __len);
47876       }
47877
47878   template<typename _CharT, typename _OutIter>
47879     void
47880     num_put<_CharT, _OutIter>::
47881     _M_group_float(const char* __grouping, size_t __grouping_size,
47882      _CharT __sep, const _CharT* __p, _CharT* __new,
47883      _CharT* __cs, int& __len) const
47884     {
47885
47886
47887
47888       const int __declen = __p ? __p - __cs : __len;
47889       _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping,
47890       __grouping_size,
47891       __cs, __cs + __declen);
47892
47893
47894       int __newlen = __p2 - __new;
47895       if (__p)
47896  {
47897    char_traits<_CharT>::copy(__p2, __p, __len - __declen);
47898    __newlen += __len - __declen;
47899  }
47900       __len = __newlen;
47901     }
47902 # 1043 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 3
47903   template<typename _CharT, typename _OutIter>
47904     template<typename _ValueT>
47905       _OutIter
47906       num_put<_CharT, _OutIter>::
47907       _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod,
47908          _ValueT __v) const
47909       {
47910  typedef __numpunct_cache<_CharT> __cache_type;
47911  __use_cache<__cache_type> __uc;
47912  const locale& __loc = __io._M_getloc();
47913  const __cache_type* __lc = __uc(__loc);
47914
47915
47916  streamsize __prec = __io.precision();
47917  if (__prec < static_cast<streamsize>(0))
47918    __prec = static_cast<streamsize>(6);
47919
47920  const int __max_digits = numeric_limits<_ValueT>::digits10;
47921
47922
47923  int __len;
47924
47925  char __fbuf[16];
47926
47927
47928
47929
47930  int __cs_size = __max_digits * 3;
47931  char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
47932
47933  __num_base::_S_format_float(__io, __fbuf, __mod);
47934  __len = std::__convert_from_v(__cs, __cs_size, __fbuf, __v,
47935           _S_get_c_locale(), __prec);
47936
47937
47938  if (__len >= __cs_size)
47939    {
47940      __cs_size = __len + 1;
47941      __cs = static_cast<char*>(__builtin_alloca(__cs_size));
47942      __len = std::__convert_from_v(__cs, __cs_size, __fbuf, __v,
47943        _S_get_c_locale(), __prec);
47944    }
47945 # 1107 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 3
47946  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
47947
47948  _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
47949             * __len));
47950  __ctype.widen(__cs, __cs + __len, __ws);
47951
47952
47953  const _CharT __cdec = __ctype.widen('.');
47954  const _CharT __dec = __lc->_M_decimal_point;
47955  const _CharT* __p = char_traits<_CharT>::find(__ws, __len, __cdec);
47956  if (__p)
47957    __ws[__p - __ws] = __dec;
47958
47959
47960
47961
47962  if (__lc->_M_use_grouping
47963      && (__p || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9'
47964          && __cs[1] >= '0' && __cs[2] >= '0')))
47965    {
47966
47967
47968      _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
47969           * __len * 2));
47970
47971      streamsize __off = 0;
47972      if (__cs[0] == '-' || __cs[0] == '+')
47973        {
47974   __off = 1;
47975   __ws2[0] = __ws[0];
47976   __len -= 1;
47977        }
47978
47979      _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size,
47980       __lc->_M_thousands_sep, __p, __ws2 + __off,
47981       __ws + __off, __len);
47982      __len += __off;
47983
47984      __ws = __ws2;
47985    }
47986
47987
47988  const streamsize __w = __io.width();
47989  if (__w > static_cast<streamsize>(__len))
47990    {
47991      _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
47992           * __w));
47993      _M_pad(__fill, __w, __io, __ws3, __ws, __len);
47994      __ws = __ws3;
47995    }
47996  __io.width(0);
47997
47998
47999
48000  return std::__write(__s, __ws, __len);
48001       }
48002
48003   template<typename _CharT, typename _OutIter>
48004     _OutIter
48005     num_put<_CharT, _OutIter>::
48006     do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const
48007     {
48008       const ios_base::fmtflags __flags = __io.flags();
48009       if ((__flags & ios_base::boolalpha) == 0)
48010         {
48011           const long __l = __v;
48012           __s = _M_insert_int(__s, __io, __fill, __l);
48013         }
48014       else
48015         {
48016    typedef __numpunct_cache<_CharT> __cache_type;
48017    __use_cache<__cache_type> __uc;
48018    const locale& __loc = __io._M_getloc();
48019    const __cache_type* __lc = __uc(__loc);
48020
48021    const _CharT* __name = __v ? __lc->_M_truename
48022                               : __lc->_M_falsename;
48023    int __len = __v ? __lc->_M_truename_size
48024                    : __lc->_M_falsename_size;
48025
48026    const streamsize __w = __io.width();
48027    if (__w > static_cast<streamsize>(__len))
48028      {
48029        _CharT* __cs
48030   = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
48031        * __w));
48032        _M_pad(__fill, __w, __io, __cs, __name, __len);
48033        __name = __cs;
48034      }
48035    __io.width(0);
48036    __s = std::__write(__s, __name, __len);
48037  }
48038       return __s;
48039     }
48040
48041   template<typename _CharT, typename _OutIter>
48042     _OutIter
48043     num_put<_CharT, _OutIter>::
48044     do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const
48045     { return _M_insert_int(__s, __io, __fill, __v); }
48046
48047   template<typename _CharT, typename _OutIter>
48048     _OutIter
48049     num_put<_CharT, _OutIter>::
48050     do_put(iter_type __s, ios_base& __io, char_type __fill,
48051            unsigned long __v) const
48052     { return _M_insert_int(__s, __io, __fill, __v); }
48053
48054
48055   template<typename _CharT, typename _OutIter>
48056     _OutIter
48057     num_put<_CharT, _OutIter>::
48058     do_put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const
48059     { return _M_insert_int(__s, __io, __fill, __v); }
48060
48061   template<typename _CharT, typename _OutIter>
48062     _OutIter
48063     num_put<_CharT, _OutIter>::
48064     do_put(iter_type __s, ios_base& __io, char_type __fill,
48065            unsigned long long __v) const
48066     { return _M_insert_int(__s, __io, __fill, __v); }
48067
48068
48069   template<typename _CharT, typename _OutIter>
48070     _OutIter
48071     num_put<_CharT, _OutIter>::
48072     do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
48073     { return _M_insert_float(__s, __io, __fill, char(), __v); }
48074
48075   template<typename _CharT, typename _OutIter>
48076     _OutIter
48077     num_put<_CharT, _OutIter>::
48078     do_put(iter_type __s, ios_base& __io, char_type __fill,
48079     long double __v) const
48080     { return _M_insert_float(__s, __io, __fill, 'L', __v); }
48081
48082   template<typename _CharT, typename _OutIter>
48083     _OutIter
48084     num_put<_CharT, _OutIter>::
48085     do_put(iter_type __s, ios_base& __io, char_type __fill,
48086            const void* __v) const
48087     {
48088       const ios_base::fmtflags __flags = __io.flags();
48089       const ios_base::fmtflags __fmt = ~(ios_base::basefield
48090       | ios_base::uppercase
48091       | ios_base::internal);
48092       __io.flags(__flags & __fmt | (ios_base::hex | ios_base::showbase));
48093
48094       __s = _M_insert_int(__s, __io, __fill,
48095      reinterpret_cast<unsigned long>(__v));
48096       __io.flags(__flags);
48097       return __s;
48098     }
48099
48100   template<typename _CharT, typename _InIter>
48101     template<bool _Intl>
48102       _InIter
48103       money_get<_CharT, _InIter>::
48104       _M_extract(iter_type __beg, iter_type __end, ios_base& __io,
48105    ios_base::iostate& __err, string& __units) const
48106       {
48107  typedef char_traits<_CharT> __traits_type;
48108  typedef typename string_type::size_type size_type;
48109  typedef money_base::part part;
48110  typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
48111
48112  const locale& __loc = __io._M_getloc();
48113  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
48114
48115  __use_cache<__cache_type> __uc;
48116  const __cache_type* __lc = __uc(__loc);
48117  const char_type* __lit = __lc->_M_atoms;
48118
48119
48120  bool __negative = false;
48121
48122  size_type __sign_size = 0;
48123
48124  const bool __mandatory_sign = (__lc->_M_positive_sign_size
48125            && __lc->_M_negative_sign_size);
48126
48127  string __grouping_tmp;
48128  if (__lc->_M_use_grouping)
48129    __grouping_tmp.reserve(32);
48130
48131  int __last_pos = 0;
48132
48133  int __n = 0;
48134
48135  bool __testvalid = true;
48136
48137  bool __testdecfound = false;
48138
48139
48140  string __res;
48141  __res.reserve(32);
48142
48143  const char_type* __lit_zero = __lit + money_base::_S_zero;
48144  const money_base::pattern __p = __lc->_M_neg_format;
48145  for (int __i = 0; __i < 4 && __testvalid; ++__i)
48146    {
48147      const part __which = static_cast<part>(__p.field[__i]);
48148      switch (__which)
48149        {
48150        case money_base::symbol:
48151
48152
48153
48154
48155   if (__io.flags() & ios_base::showbase || __sign_size > 1
48156       || __i == 0
48157       || (__i == 1 && (__mandatory_sign
48158          || (static_cast<part>(__p.field[0])
48159       == money_base::sign)
48160          || (static_cast<part>(__p.field[2])
48161       == money_base::space)))
48162       || (__i == 2 && ((static_cast<part>(__p.field[3])
48163           == money_base::value)
48164          || __mandatory_sign
48165          && (static_cast<part>(__p.field[3])
48166       == money_base::sign))))
48167     {
48168       const size_type __len = __lc->_M_curr_symbol_size;
48169       size_type __j = 0;
48170       for (; __beg != __end && __j < __len
48171       && *__beg == __lc->_M_curr_symbol[__j];
48172     ++__beg, ++__j);
48173       if (__j != __len
48174    && (__j || __io.flags() & ios_base::showbase))
48175         __testvalid = false;
48176     }
48177   break;
48178        case money_base::sign:
48179
48180   if (__lc->_M_positive_sign_size && __beg != __end
48181       && *__beg == __lc->_M_positive_sign[0])
48182     {
48183       __sign_size = __lc->_M_positive_sign_size;
48184       ++__beg;
48185     }
48186   else if (__lc->_M_negative_sign_size && __beg != __end
48187     && *__beg == __lc->_M_negative_sign[0])
48188     {
48189       __negative = true;
48190       __sign_size = __lc->_M_negative_sign_size;
48191       ++__beg;
48192     }
48193   else if (__lc->_M_positive_sign_size
48194     && !__lc->_M_negative_sign_size)
48195
48196
48197     __negative = true;
48198   else if (__mandatory_sign)
48199     __testvalid = false;
48200   break;
48201        case money_base::value:
48202
48203
48204   for (; __beg != __end; ++__beg)
48205     {
48206       const char_type __c = *__beg;
48207       const char_type* __q = __traits_type::find(__lit_zero,
48208               10, __c);
48209       if (__q != 0)
48210         {
48211    __res += money_base::_S_atoms[__q - __lit];
48212    ++__n;
48213         }
48214       else if (__c == __lc->_M_decimal_point
48215         && !__testdecfound)
48216         {
48217    __last_pos = __n;
48218    __n = 0;
48219    __testdecfound = true;
48220         }
48221       else if (__lc->_M_use_grouping
48222         && __c == __lc->_M_thousands_sep
48223         && !__testdecfound)
48224         {
48225    if (__n)
48226      {
48227
48228        __grouping_tmp += static_cast<char>(__n);
48229        __n = 0;
48230      }
48231    else
48232      {
48233        __testvalid = false;
48234        break;
48235      }
48236         }
48237       else
48238         break;
48239     }
48240   if (__res.empty())
48241     __testvalid = false;
48242   break;
48243        case money_base::space:
48244
48245   if (__beg != __end && __ctype.is(ctype_base::space, *__beg))
48246     ++__beg;
48247   else
48248     __testvalid = false;
48249        case money_base::none:
48250
48251   if (__i != 3)
48252     for (; __beg != __end
48253     && __ctype.is(ctype_base::space, *__beg); ++__beg);
48254   break;
48255        }
48256    }
48257
48258
48259  if (__sign_size > 1 && __testvalid)
48260    {
48261      const char_type* __sign = __negative ? __lc->_M_negative_sign
48262                                           : __lc->_M_positive_sign;
48263      size_type __i = 1;
48264      for (; __beg != __end && __i < __sign_size
48265      && *__beg == __sign[__i]; ++__beg, ++__i);
48266
48267      if (__i != __sign_size)
48268        __testvalid = false;
48269    }
48270
48271  if (__testvalid)
48272    {
48273
48274      if (__res.size() > 1)
48275        {
48276   const size_type __first = __res.find_first_not_of('0');
48277   const bool __only_zeros = __first == string::npos;
48278   if (__first)
48279     __res.erase(0, __only_zeros ? __res.size() - 1 : __first);
48280        }
48281
48282
48283      if (__negative && __res[0] != '0')
48284        __res.insert(__res.begin(), '-');
48285
48286
48287      if (__grouping_tmp.size())
48288        {
48289
48290   __grouping_tmp += static_cast<char>(__testdecfound ? __last_pos
48291                          : __n);
48292   if (!std::__verify_grouping(__lc->_M_grouping,
48293          __lc->_M_grouping_size,
48294          __grouping_tmp))
48295     __err |= ios_base::failbit;
48296        }
48297
48298
48299      if (__testdecfound && __lc->_M_frac_digits > 0
48300   && __n != __lc->_M_frac_digits)
48301        __testvalid = false;
48302    }
48303
48304
48305  if (!__testvalid)
48306    __err |= ios_base::failbit;
48307  else
48308    __units.swap(__res);
48309
48310
48311  if (__beg == __end)
48312    __err |= ios_base::eofbit;
48313  return __beg;
48314       }
48315
48316   template<typename _CharT, typename _InIter>
48317     _InIter
48318     money_get<_CharT, _InIter>::
48319     do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io,
48320     ios_base::iostate& __err, long double& __units) const
48321     {
48322       string __str;
48323       if (__intl)
48324  __beg = _M_extract<true>(__beg, __end, __io, __err, __str);
48325       else
48326  __beg = _M_extract<false>(__beg, __end, __io, __err, __str);
48327       std::__convert_to_v(__str.c_str(), __units, __err, _S_get_c_locale());
48328       return __beg;
48329     }
48330
48331   template<typename _CharT, typename _InIter>
48332     _InIter
48333     money_get<_CharT, _InIter>::
48334     do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io,
48335     ios_base::iostate& __err, string_type& __units) const
48336     {
48337       typedef typename string::size_type size_type;
48338
48339       const locale& __loc = __io._M_getloc();
48340       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
48341
48342       string __str;
48343       const iter_type __ret = __intl ? _M_extract<true>(__beg, __end, __io,
48344        __err, __str)
48345                               : _M_extract<false>(__beg, __end, __io,
48346         __err, __str);
48347       const size_type __len = __str.size();
48348       if (__len)
48349  {
48350    _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
48351               * __len));
48352    __ctype.widen(__str.data(), __str.data() + __len, __ws);
48353    __units.assign(__ws, __len);
48354  }
48355
48356       return __ret;
48357     }
48358
48359   template<typename _CharT, typename _OutIter>
48360     template<bool _Intl>
48361       _OutIter
48362       money_put<_CharT, _OutIter>::
48363       _M_insert(iter_type __s, ios_base& __io, char_type __fill,
48364   const string_type& __digits) const
48365       {
48366  typedef typename string_type::size_type size_type;
48367  typedef money_base::part part;
48368  typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
48369
48370  const locale& __loc = __io._M_getloc();
48371  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
48372
48373  __use_cache<__cache_type> __uc;
48374  const __cache_type* __lc = __uc(__loc);
48375  const char_type* __lit = __lc->_M_atoms;
48376
48377
48378
48379  const char_type* __beg = __digits.data();
48380
48381  money_base::pattern __p;
48382  const char_type* __sign;
48383  size_type __sign_size;
48384  if (!(*__beg == __lit[money_base::_S_minus]))
48385    {
48386      __p = __lc->_M_pos_format;
48387      __sign = __lc->_M_positive_sign;
48388      __sign_size = __lc->_M_positive_sign_size;
48389    }
48390  else
48391    {
48392      __p = __lc->_M_neg_format;
48393      __sign = __lc->_M_negative_sign;
48394      __sign_size = __lc->_M_negative_sign_size;
48395      if (__digits.size())
48396        ++__beg;
48397    }
48398
48399
48400  size_type __len = __ctype.scan_not(ctype_base::digit, __beg,
48401         __beg + __digits.size()) - __beg;
48402  if (__len)
48403    {
48404
48405
48406
48407      string_type __value;
48408      __value.reserve(2 * __len);
48409
48410
48411
48412      int __paddec = __len - __lc->_M_frac_digits;
48413      if (__paddec > 0)
48414          {
48415   if (__lc->_M_frac_digits < 0)
48416     __paddec = __len;
48417     if (__lc->_M_grouping_size)
48418       {
48419       _CharT* __ws =
48420           static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
48421              * 2 * __len));
48422         _CharT* __ws_end =
48423         std::__add_grouping(__ws, __lc->_M_thousands_sep,
48424        __lc->_M_grouping,
48425        __lc->_M_grouping_size,
48426        __beg, __beg + __paddec);
48427       __value.assign(__ws, __ws_end - __ws);
48428       }
48429     else
48430     __value.assign(__beg, __paddec);
48431        }
48432
48433
48434      if (__lc->_M_frac_digits > 0)
48435        {
48436   __value += __lc->_M_decimal_point;
48437   if (__paddec >= 0)
48438     __value.append(__beg + __paddec, __lc->_M_frac_digits);
48439   else
48440     {
48441
48442       __value.append(-__paddec, __lit[money_base::_S_zero]);
48443       __value.append(__beg, __len);
48444     }
48445          }
48446
48447
48448      const ios_base::fmtflags __f = __io.flags()
48449                                     & ios_base::adjustfield;
48450      __len = __value.size() + __sign_size;
48451      __len += ((__io.flags() & ios_base::showbase)
48452         ? __lc->_M_curr_symbol_size : 0);
48453
48454      string_type __res;
48455      __res.reserve(2 * __len);
48456
48457      const size_type __width = static_cast<size_type>(__io.width());
48458      const bool __testipad = (__f == ios_base::internal
48459          && __len < __width);
48460
48461      for (int __i = 0; __i < 4; ++__i)
48462        {
48463   const part __which = static_cast<part>(__p.field[__i]);
48464   switch (__which)
48465     {
48466     case money_base::symbol:
48467       if (__io.flags() & ios_base::showbase)
48468         __res.append(__lc->_M_curr_symbol,
48469        __lc->_M_curr_symbol_size);
48470       break;
48471     case money_base::sign:
48472
48473
48474
48475       if (__sign_size)
48476         __res += __sign[0];
48477       break;
48478     case money_base::value:
48479       __res += __value;
48480       break;
48481     case money_base::space:
48482
48483
48484
48485       if (__testipad)
48486         __res.append(__width - __len, __fill);
48487       else
48488         __res += __fill;
48489       break;
48490     case money_base::none:
48491       if (__testipad)
48492         __res.append(__width - __len, __fill);
48493       break;
48494     }
48495        }
48496
48497
48498      if (__sign_size > 1)
48499        __res.append(__sign + 1, __sign_size - 1);
48500
48501
48502      __len = __res.size();
48503      if (__width > __len)
48504        {
48505   if (__f == ios_base::left)
48506
48507     __res.append(__width - __len, __fill);
48508   else
48509
48510     __res.insert(0, __width - __len, __fill);
48511   __len = __width;
48512        }
48513
48514
48515      __s = std::__write(__s, __res.data(), __len);
48516    }
48517  __io.width(0);
48518  return __s;
48519       }
48520
48521   template<typename _CharT, typename _OutIter>
48522     _OutIter
48523     money_put<_CharT, _OutIter>::
48524     do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
48525     long double __units) const
48526     {
48527       const locale __loc = __io.getloc();
48528       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
48529
48530
48531       int __cs_size = 64;
48532       char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
48533
48534
48535       int __len = std::__convert_from_v(__cs, __cs_size, "%.*Lf", __units,
48536      _S_get_c_locale(), 0);
48537
48538       if (__len >= __cs_size)
48539  {
48540    __cs_size = __len + 1;
48541    __cs = static_cast<char*>(__builtin_alloca(__cs_size));
48542    __len = std::__convert_from_v(__cs, __cs_size, "%.*Lf", __units,
48543      _S_get_c_locale(), 0);
48544  }
48545
48546
48547
48548
48549
48550
48551
48552       _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
48553           * __cs_size));
48554       __ctype.widen(__cs, __cs + __len, __ws);
48555       const string_type __digits(__ws, __len);
48556       return __intl ? _M_insert<true>(__s, __io, __fill, __digits)
48557              : _M_insert<false>(__s, __io, __fill, __digits);
48558     }
48559
48560   template<typename _CharT, typename _OutIter>
48561     _OutIter
48562     money_put<_CharT, _OutIter>::
48563     do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
48564     const string_type& __digits) const
48565     { return __intl ? _M_insert<true>(__s, __io, __fill, __digits)
48566              : _M_insert<false>(__s, __io, __fill, __digits); }
48567
48568
48569
48570
48571
48572   template<typename _CharT, typename _InIter>
48573     time_base::dateorder
48574     time_get<_CharT, _InIter>::do_date_order() const
48575     { return time_base::no_order; }
48576
48577
48578
48579   template<typename _CharT, typename _InIter>
48580     _InIter
48581     time_get<_CharT, _InIter>::
48582     _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
48583      ios_base::iostate& __err, tm* __tm,
48584      const _CharT* __format) const
48585     {
48586       const locale& __loc = __io._M_getloc();
48587       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
48588       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
48589       const size_t __len = char_traits<_CharT>::length(__format);
48590
48591       for (size_t __i = 0; __beg != __end && __i < __len && !__err; ++__i)
48592  {
48593    if (__ctype.narrow(__format[__i], 0) == '%')
48594      {
48595
48596        char __c = __ctype.narrow(__format[++__i], 0);
48597        int __mem = 0;
48598        if (__c == 'E' || __c == 'O')
48599   __c = __ctype.narrow(__format[++__i], 0);
48600        switch (__c)
48601   {
48602     const char* __cs;
48603     _CharT __wcs[10];
48604   case 'a':
48605
48606     const char_type* __days1[7];
48607     __tp._M_days_abbreviated(__days1);
48608     __beg = _M_extract_name(__beg, __end, __tm->tm_wday, __days1,
48609        7, __io, __err);
48610     break;
48611   case 'A':
48612
48613     const char_type* __days2[7];
48614     __tp._M_days(__days2);
48615     __beg = _M_extract_name(__beg, __end, __tm->tm_wday, __days2,
48616        7, __io, __err);
48617     break;
48618   case 'h':
48619   case 'b':
48620
48621     const char_type* __months1[12];
48622     __tp._M_months_abbreviated(__months1);
48623     __beg = _M_extract_name(__beg, __end, __tm->tm_mon,
48624        __months1, 12, __io, __err);
48625     break;
48626   case 'B':
48627
48628     const char_type* __months2[12];
48629     __tp._M_months(__months2);
48630     __beg = _M_extract_name(__beg, __end, __tm->tm_mon,
48631        __months2, 12, __io, __err);
48632     break;
48633   case 'c':
48634
48635     const char_type* __dt[2];
48636     __tp._M_date_time_formats(__dt);
48637     __beg = _M_extract_via_format(__beg, __end, __io, __err,
48638       __tm, __dt[0]);
48639     break;
48640   case 'd':
48641
48642     __beg = _M_extract_num(__beg, __end, __tm->tm_mday, 1, 31, 2,
48643       __io, __err);
48644     break;
48645   case 'e':
48646
48647
48648     if (__ctype.is(ctype_base::space, *__beg))
48649       __beg = _M_extract_num(++__beg, __end, __tm->tm_mday, 1, 9,
48650         1, __io, __err);
48651     else
48652       __beg = _M_extract_num(__beg, __end, __tm->tm_mday, 10, 31,
48653         2, __io, __err);
48654     break;
48655   case 'D':
48656
48657     __cs = "%m/%d/%y";
48658     __ctype.widen(__cs, __cs + 9, __wcs);
48659     __beg = _M_extract_via_format(__beg, __end, __io, __err,
48660       __tm, __wcs);
48661     break;
48662   case 'H':
48663
48664     __beg = _M_extract_num(__beg, __end, __tm->tm_hour, 0, 23, 2,
48665       __io, __err);
48666     break;
48667   case 'I':
48668
48669     __beg = _M_extract_num(__beg, __end, __tm->tm_hour, 1, 12, 2,
48670       __io, __err);
48671     break;
48672   case 'm':
48673
48674     __beg = _M_extract_num(__beg, __end, __mem, 1, 12, 2,
48675       __io, __err);
48676     if (!__err)
48677       __tm->tm_mon = __mem - 1;
48678     break;
48679   case 'M':
48680
48681     __beg = _M_extract_num(__beg, __end, __tm->tm_min, 0, 59, 2,
48682       __io, __err);
48683     break;
48684   case 'n':
48685     if (__ctype.narrow(*__beg, 0) == '\n')
48686       ++__beg;
48687     else
48688       __err |= ios_base::failbit;
48689     break;
48690   case 'R':
48691
48692     __cs = "%H:%M";
48693     __ctype.widen(__cs, __cs + 6, __wcs);
48694     __beg = _M_extract_via_format(__beg, __end, __io, __err,
48695       __tm, __wcs);
48696     break;
48697   case 'S':
48698
48699
48700
48701     __beg = _M_extract_num(__beg, __end, __tm->tm_sec, 0, 60, 2,
48702
48703
48704
48705       __io, __err);
48706     break;
48707   case 't':
48708     if (__ctype.narrow(*__beg, 0) == '\t')
48709       ++__beg;
48710     else
48711       __err |= ios_base::failbit;
48712     break;
48713   case 'T':
48714
48715     __cs = "%H:%M:%S";
48716     __ctype.widen(__cs, __cs + 9, __wcs);
48717     __beg = _M_extract_via_format(__beg, __end, __io, __err,
48718       __tm, __wcs);
48719     break;
48720   case 'x':
48721
48722     const char_type* __dates[2];
48723     __tp._M_date_formats(__dates);
48724     __beg = _M_extract_via_format(__beg, __end, __io, __err,
48725       __tm, __dates[0]);
48726     break;
48727   case 'X':
48728
48729     const char_type* __times[2];
48730     __tp._M_time_formats(__times);
48731     __beg = _M_extract_via_format(__beg, __end, __io, __err,
48732       __tm, __times[0]);
48733     break;
48734   case 'y':
48735   case 'C':
48736
48737     __beg = _M_extract_num(__beg, __end, __tm->tm_year, 0, 99, 2,
48738       __io, __err);
48739     break;
48740   case 'Y':
48741
48742     __beg = _M_extract_num(__beg, __end, __mem, 0, 9999, 4,
48743       __io, __err);
48744     if (!__err)
48745       __tm->tm_year = __mem - 1900;
48746     break;
48747   case 'Z':
48748
48749     if (__ctype.is(ctype_base::upper, *__beg))
48750       {
48751         int __tmp;
48752         __beg = _M_extract_name(__beg, __end, __tmp,
48753            __timepunct_cache<_CharT>::_S_timezones,
48754            14, __io, __err);
48755
48756
48757         if (__beg != __end && !__err && __tmp == 0
48758      && (*__beg == __ctype.widen('-')
48759          || *__beg == __ctype.widen('+')))
48760    {
48761      __beg = _M_extract_num(__beg, __end, __tmp, 0, 23, 2,
48762        __io, __err);
48763      __beg = _M_extract_num(__beg, __end, __tmp, 0, 59, 2,
48764        __io, __err);
48765    }
48766       }
48767     else
48768       __err |= ios_base::failbit;
48769     break;
48770   default:
48771
48772     __err |= ios_base::failbit;
48773   }
48774      }
48775    else
48776      {
48777
48778        if (__format[__i] == *__beg)
48779   ++__beg;
48780        else
48781   __err |= ios_base::failbit;
48782      }
48783  }
48784       return __beg;
48785     }
48786
48787   template<typename _CharT, typename _InIter>
48788     _InIter
48789     time_get<_CharT, _InIter>::
48790     _M_extract_num(iter_type __beg, iter_type __end, int& __member,
48791      int __min, int __max, size_t __len,
48792      ios_base& __io, ios_base::iostate& __err) const
48793     {
48794       const locale& __loc = __io._M_getloc();
48795       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
48796
48797
48798       int __mult = __len == 2 ? 10 : (__len == 4 ? 1000 : 1);
48799
48800       ++__min;
48801       size_t __i = 0;
48802       int __value = 0;
48803       for (; __beg != __end && __i < __len; ++__beg, ++__i)
48804  {
48805    const char __c = __ctype.narrow(*__beg, '*');
48806    if (__c >= '0' && __c <= '9')
48807      {
48808        __value = __value * 10 + (__c - '0');
48809        const int __valuec = __value * __mult;
48810        if (__valuec > __max || __valuec + __mult < __min)
48811   break;
48812        __mult /= 10;
48813      }
48814    else
48815      break;
48816  }
48817       if (__i == __len)
48818  __member = __value;
48819       else
48820  __err |= ios_base::failbit;
48821       return __beg;
48822     }
48823
48824
48825
48826   template<typename _CharT, typename _InIter>
48827     _InIter
48828     time_get<_CharT, _InIter>::
48829     _M_extract_name(iter_type __beg, iter_type __end, int& __member,
48830       const _CharT** __names, size_t __indexlen,
48831       ios_base& __io, ios_base::iostate& __err) const
48832     {
48833       typedef char_traits<_CharT> __traits_type;
48834       const locale& __loc = __io._M_getloc();
48835       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
48836
48837       int* __matches = static_cast<int*>(__builtin_alloca(sizeof(int)
48838          * __indexlen));
48839       size_t __nmatches = 0;
48840       size_t __pos = 0;
48841       bool __testvalid = true;
48842       const char_type* __name;
48843
48844
48845
48846
48847
48848       if (__beg != __end)
48849  {
48850    const char_type __c = *__beg;
48851    for (size_t __i1 = 0; __i1 < __indexlen; ++__i1)
48852      if (__c == __names[__i1][0]
48853   || __c == __ctype.toupper(__names[__i1][0]))
48854        __matches[__nmatches++] = __i1;
48855  }
48856
48857       while (__nmatches > 1)
48858  {
48859
48860    size_t __minlen = __traits_type::length(__names[__matches[0]]);
48861    for (size_t __i2 = 1; __i2 < __nmatches; ++__i2)
48862      __minlen = std::min(__minlen,
48863          __traits_type::length(__names[__matches[__i2]]));
48864    ++__beg, ++__pos;
48865    if (__pos < __minlen && __beg != __end)
48866      for (size_t __i3 = 0; __i3 < __nmatches;)
48867        {
48868   __name = __names[__matches[__i3]];
48869   if (!(__name[__pos] == *__beg))
48870     __matches[__i3] = __matches[--__nmatches];
48871   else
48872     ++__i3;
48873        }
48874    else
48875      break;
48876  }
48877
48878       if (__nmatches == 1)
48879  {
48880
48881    ++__beg, ++__pos;
48882    __name = __names[__matches[0]];
48883    const size_t __len = __traits_type::length(__name);
48884    while (__pos < __len && __beg != __end && __name[__pos] == *__beg)
48885      ++__beg, ++__pos;
48886
48887    if (__len == __pos)
48888      __member = __matches[0];
48889    else
48890      __testvalid = false;
48891  }
48892       else
48893  __testvalid = false;
48894       if (!__testvalid)
48895  __err |= ios_base::failbit;
48896       return __beg;
48897     }
48898
48899   template<typename _CharT, typename _InIter>
48900     _InIter
48901     time_get<_CharT, _InIter>::
48902     do_get_time(iter_type __beg, iter_type __end, ios_base& __io,
48903   ios_base::iostate& __err, tm* __tm) const
48904     {
48905       const locale& __loc = __io._M_getloc();
48906       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
48907       const char_type* __times[2];
48908       __tp._M_time_formats(__times);
48909       __beg = _M_extract_via_format(__beg, __end, __io, __err,
48910         __tm, __times[0]);
48911       if (__beg == __end)
48912  __err |= ios_base::eofbit;
48913       return __beg;
48914     }
48915
48916   template<typename _CharT, typename _InIter>
48917     _InIter
48918     time_get<_CharT, _InIter>::
48919     do_get_date(iter_type __beg, iter_type __end, ios_base& __io,
48920   ios_base::iostate& __err, tm* __tm) const
48921     {
48922       const locale& __loc = __io._M_getloc();
48923       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
48924       const char_type* __dates[2];
48925       __tp._M_date_formats(__dates);
48926       __beg = _M_extract_via_format(__beg, __end, __io, __err,
48927         __tm, __dates[0]);
48928       if (__beg == __end)
48929  __err |= ios_base::eofbit;
48930       return __beg;
48931     }
48932
48933   template<typename _CharT, typename _InIter>
48934     _InIter
48935     time_get<_CharT, _InIter>::
48936     do_get_weekday(iter_type __beg, iter_type __end, ios_base& __io,
48937      ios_base::iostate& __err, tm* __tm) const
48938     {
48939       typedef char_traits<_CharT> __traits_type;
48940       const locale& __loc = __io._M_getloc();
48941       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
48942       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
48943       const char_type* __days[7];
48944       __tp._M_days_abbreviated(__days);
48945       int __tmpwday;
48946       __beg = _M_extract_name(__beg, __end, __tmpwday, __days, 7, __io, __err);
48947
48948
48949
48950
48951
48952
48953
48954       if (!__err && __beg != __end)
48955  {
48956    size_t __pos = __traits_type::length(__days[__tmpwday]);
48957    __tp._M_days(__days);
48958    const char_type* __name = __days[__tmpwday];
48959    if (__name[__pos] == *__beg)
48960      {
48961
48962        const size_t __len = __traits_type::length(__name);
48963        while (__pos < __len && __beg != __end
48964        && __name[__pos] == *__beg)
48965   ++__beg, ++__pos;
48966        if (__len != __pos)
48967   __err |= ios_base::failbit;
48968      }
48969  }
48970       if (!__err)
48971  __tm->tm_wday = __tmpwday;
48972
48973       if (__beg == __end)
48974  __err |= ios_base::eofbit;
48975       return __beg;
48976      }
48977
48978   template<typename _CharT, typename _InIter>
48979     _InIter
48980     time_get<_CharT, _InIter>::
48981     do_get_monthname(iter_type __beg, iter_type __end,
48982                      ios_base& __io, ios_base::iostate& __err, tm* __tm) const
48983     {
48984       typedef char_traits<_CharT> __traits_type;
48985       const locale& __loc = __io._M_getloc();
48986       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
48987       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
48988       const char_type* __months[12];
48989       __tp._M_months_abbreviated(__months);
48990       int __tmpmon;
48991       __beg = _M_extract_name(__beg, __end, __tmpmon, __months, 12,
48992          __io, __err);
48993
48994
48995
48996
48997
48998
48999
49000       if (!__err && __beg != __end)
49001  {
49002    size_t __pos = __traits_type::length(__months[__tmpmon]);
49003    __tp._M_months(__months);
49004    const char_type* __name = __months[__tmpmon];
49005    if (__name[__pos] == *__beg)
49006      {
49007
49008        const size_t __len = __traits_type::length(__name);
49009        while (__pos < __len && __beg != __end
49010        && __name[__pos] == *__beg)
49011   ++__beg, ++__pos;
49012        if (__len != __pos)
49013   __err |= ios_base::failbit;
49014      }
49015  }
49016       if (!__err)
49017  __tm->tm_mon = __tmpmon;
49018
49019       if (__beg == __end)
49020  __err |= ios_base::eofbit;
49021       return __beg;
49022     }
49023
49024   template<typename _CharT, typename _InIter>
49025     _InIter
49026     time_get<_CharT, _InIter>::
49027     do_get_year(iter_type __beg, iter_type __end, ios_base& __io,
49028   ios_base::iostate& __err, tm* __tm) const
49029     {
49030       const locale& __loc = __io._M_getloc();
49031       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
49032
49033       size_t __i = 0;
49034       int __value = 0;
49035       for (; __beg != __end && __i < 4; ++__beg, ++__i)
49036  {
49037    const char __c = __ctype.narrow(*__beg, '*');
49038    if (__c >= '0' && __c <= '9')
49039      __value = __value * 10 + (__c - '0');
49040    else
49041      break;
49042  }
49043       if (__i == 2 || __i == 4)
49044  __tm->tm_year = __i == 2 ? __value : __value - 1900;
49045       else
49046  __err |= ios_base::failbit;
49047       if (__beg == __end)
49048  __err |= ios_base::eofbit;
49049       return __beg;
49050     }
49051
49052   template<typename _CharT, typename _OutIter>
49053     _OutIter
49054     time_put<_CharT, _OutIter>::
49055     put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
49056  const _CharT* __beg, const _CharT* __end) const
49057     {
49058       const locale& __loc = __io._M_getloc();
49059       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
49060       for (; __beg != __end; ++__beg)
49061  if (__ctype.narrow(*__beg, 0) != '%')
49062    {
49063      *__s = *__beg;
49064      ++__s;
49065    }
49066  else if (++__beg != __end)
49067    {
49068      char __format;
49069      char __mod = 0;
49070      const char __c = __ctype.narrow(*__beg, 0);
49071      if (__c != 'E' && __c != 'O')
49072        __format = __c;
49073      else if (++__beg != __end)
49074        {
49075   __mod = __c;
49076   __format = __ctype.narrow(*__beg, 0);
49077        }
49078      else
49079        break;
49080      __s = this->do_put(__s, __io, __fill, __tm, __format, __mod);
49081    }
49082  else
49083    break;
49084       return __s;
49085     }
49086
49087   template<typename _CharT, typename _OutIter>
49088     _OutIter
49089     time_put<_CharT, _OutIter>::
49090     do_put(iter_type __s, ios_base& __io, char_type, const tm* __tm,
49091     char __format, char __mod) const
49092     {
49093       const locale& __loc = __io._M_getloc();
49094       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
49095       __timepunct<_CharT> const& __tp = use_facet<__timepunct<_CharT> >(__loc);
49096
49097
49098
49099       const size_t __maxlen = 128;
49100       char_type* __res =
49101        static_cast<char_type*>(__builtin_alloca(sizeof(char_type) * __maxlen));
49102
49103
49104
49105
49106
49107
49108       char_type __fmt[4];
49109       __fmt[0] = __ctype.widen('%');
49110       if (!__mod)
49111  {
49112    __fmt[1] = __format;
49113    __fmt[2] = char_type();
49114  }
49115       else
49116  {
49117    __fmt[1] = __mod;
49118    __fmt[2] = __format;
49119    __fmt[3] = char_type();
49120  }
49121
49122       __tp._M_put(__res, __maxlen, __fmt, __tm);
49123
49124
49125       return std::__write(__s, __res, char_traits<char_type>::length(__res));
49126     }
49127
49128
49129   template<typename _CharT>
49130     int
49131     collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const
49132     { return 0; }
49133
49134
49135   template<typename _CharT>
49136     size_t
49137     collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const
49138     { return 0; }
49139
49140   template<typename _CharT>
49141     int
49142     collate<_CharT>::
49143     do_compare(const _CharT* __lo1, const _CharT* __hi1,
49144         const _CharT* __lo2, const _CharT* __hi2) const
49145     {
49146
49147
49148       const string_type __one(__lo1, __hi1);
49149       const string_type __two(__lo2, __hi2);
49150
49151       const _CharT* __p = __one.c_str();
49152       const _CharT* __pend = __one.data() + __one.length();
49153       const _CharT* __q = __two.c_str();
49154       const _CharT* __qend = __two.data() + __two.length();
49155
49156
49157
49158
49159       for (;;)
49160  {
49161    const int __res = _M_compare(__p, __q);
49162    if (__res)
49163      return __res;
49164
49165    __p += char_traits<_CharT>::length(__p);
49166    __q += char_traits<_CharT>::length(__q);
49167    if (__p == __pend && __q == __qend)
49168      return 0;
49169    else if (__p == __pend)
49170      return -1;
49171    else if (__q == __qend)
49172      return 1;
49173
49174    __p++;
49175    __q++;
49176  }
49177     }
49178
49179   template<typename _CharT>
49180     typename collate<_CharT>::string_type
49181     collate<_CharT>::
49182     do_transform(const _CharT* __lo, const _CharT* __hi) const
49183     {
49184
49185       string_type __str(__lo, __hi);
49186
49187       const _CharT* __p = __str.c_str();
49188       const _CharT* __pend = __str.data() + __str.length();
49189
49190       size_t __len = (__hi - __lo) * 2;
49191
49192       string_type __ret;
49193
49194
49195
49196
49197       for (;;)
49198  {
49199
49200    _CharT* __c =
49201      static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __len));
49202    size_t __res = _M_transform(__c, __p, __len);
49203
49204
49205    if (__res >= __len)
49206      {
49207        __len = __res + 1;
49208        __c = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
49209          * __len));
49210        __res = _M_transform(__c, __p, __len);
49211      }
49212
49213    __ret.append(__c, __res);
49214    __p += char_traits<_CharT>::length(__p);
49215    if (__p == __pend)
49216      return __ret;
49217
49218    __p++;
49219    __ret.push_back(_CharT());
49220  }
49221     }
49222
49223   template<typename _CharT>
49224     long
49225     collate<_CharT>::
49226     do_hash(const _CharT* __lo, const _CharT* __hi) const
49227     {
49228       unsigned long __val = 0;
49229       for (; __lo < __hi; ++__lo)
49230  __val = *__lo + ((__val << 7) |
49231          (__val >> (numeric_limits<unsigned long>::digits - 7)));
49232       return static_cast<long>(__val);
49233     }
49234 # 2407 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc" 3
49235   template<typename _CharT, typename _Traits>
49236     void
49237     __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill,
49238        _CharT* __news, const _CharT* __olds,
49239        const streamsize __newlen,
49240        const streamsize __oldlen, const bool __num)
49241     {
49242       const size_t __plen = static_cast<size_t>(__newlen - __oldlen);
49243       const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield;
49244
49245
49246       if (__adjust == ios_base::left)
49247  {
49248    _Traits::copy(__news, const_cast<_CharT*>(__olds), __oldlen);
49249    _Traits::assign(__news + __oldlen, __plen, __fill);
49250    return;
49251  }
49252
49253       size_t __mod = 0;
49254       if (__adjust == ios_base::internal && __num)
49255  {
49256
49257
49258
49259           const locale& __loc = __io._M_getloc();
49260    const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
49261
49262    const bool __testsign = (__ctype.widen('-') == __olds[0]
49263        || __ctype.widen('+') == __olds[0]);
49264    const bool __testhex = (__ctype.widen('0') == __olds[0]
49265       && __oldlen > 1
49266       && (__ctype.widen('x') == __olds[1]
49267           || __ctype.widen('X') == __olds[1]));
49268    if (__testhex)
49269      {
49270        __news[0] = __olds[0];
49271        __news[1] = __olds[1];
49272        __mod = 2;
49273        __news += 2;
49274      }
49275    else if (__testsign)
49276      {
49277        __news[0] = __olds[0];
49278        __mod = 1;
49279        ++__news;
49280      }
49281
49282  }
49283       _Traits::assign(__news, __plen, __fill);
49284       _Traits::copy(__news + __plen, const_cast<_CharT*>(__olds + __mod),
49285       __oldlen - __mod);
49286     }
49287
49288   bool
49289   __verify_grouping(const char* __grouping, size_t __grouping_size,
49290       const string& __grouping_tmp)
49291   {
49292     const size_t __n = __grouping_tmp.size() - 1;
49293     const size_t __min = std::min(__n, size_t(__grouping_size - 1));
49294     size_t __i = __n;
49295     bool __test = true;
49296
49297
49298
49299
49300     for (size_t __j = 0; __j < __min && __test; --__i, ++__j)
49301       __test = __grouping_tmp[__i] == __grouping[__j];
49302     for (; __i && __test; --__i)
49303       __test = __grouping_tmp[__i] == __grouping[__min];
49304
49305
49306
49307     if (static_cast<signed char>(__grouping[__min]) > 0)
49308       __test &= __grouping_tmp[0] <= __grouping[__min];
49309     return __test;
49310   }
49311
49312   template<typename _CharT>
49313     _CharT*
49314     __add_grouping(_CharT* __s, _CharT __sep,
49315      const char* __gbeg, size_t __gsize,
49316      const _CharT* __first, const _CharT* __last)
49317     {
49318       if (__last - __first > *__gbeg
49319    && static_cast<signed char>(*__gbeg) > 0)
49320  {
49321    const bool __bump = __gsize != 1;
49322    __s = std::__add_grouping(__s, __sep, __gbeg + __bump,
49323         __gsize - __bump, __first,
49324         __last - *__gbeg);
49325    __first = __last - *__gbeg;
49326    *__s++ = __sep;
49327  }
49328       do
49329  *__s++ = *__first++;
49330       while (__first != __last);
49331       return __s;
49332     }
49333
49334
49335
49336
49337
49338   extern template class moneypunct<char, false>;
49339   extern template class moneypunct<char, true>;
49340   extern template class moneypunct_byname<char, false>;
49341   extern template class moneypunct_byname<char, true>;
49342   extern template class money_get<char>;
49343   extern template class money_put<char>;
49344   extern template class numpunct<char>;
49345   extern template class numpunct_byname<char>;
49346   extern template class num_get<char>;
49347   extern template class num_put<char>;
49348   extern template class __timepunct<char>;
49349   extern template class time_put<char>;
49350   extern template class time_put_byname<char>;
49351   extern template class time_get<char>;
49352   extern template class time_get_byname<char>;
49353   extern template class messages<char>;
49354   extern template class messages_byname<char>;
49355   extern template class ctype_byname<char>;
49356   extern template class codecvt_byname<char, char, mbstate_t>;
49357   extern template class collate<char>;
49358   extern template class collate_byname<char>;
49359
49360   extern template
49361     const codecvt<char, char, mbstate_t>&
49362     use_facet<codecvt<char, char, mbstate_t> >(const locale&);
49363
49364   extern template
49365     const collate<char>&
49366     use_facet<collate<char> >(const locale&);
49367
49368   extern template
49369     const numpunct<char>&
49370     use_facet<numpunct<char> >(const locale&);
49371
49372   extern template
49373     const num_put<char>&
49374     use_facet<num_put<char> >(const locale&);
49375
49376   extern template
49377     const num_get<char>&
49378     use_facet<num_get<char> >(const locale&);
49379
49380   extern template
49381     const moneypunct<char, true>&
49382     use_facet<moneypunct<char, true> >(const locale&);
49383
49384   extern template
49385     const moneypunct<char, false>&
49386     use_facet<moneypunct<char, false> >(const locale&);
49387
49388   extern template
49389     const money_put<char>&
49390     use_facet<money_put<char> >(const locale&);
49391
49392   extern template
49393     const money_get<char>&
49394     use_facet<money_get<char> >(const locale&);
49395
49396   extern template
49397     const __timepunct<char>&
49398     use_facet<__timepunct<char> >(const locale&);
49399
49400   extern template
49401     const time_put<char>&
49402     use_facet<time_put<char> >(const locale&);
49403
49404   extern template
49405     const time_get<char>&
49406     use_facet<time_get<char> >(const locale&);
49407
49408   extern template
49409     const messages<char>&
49410     use_facet<messages<char> >(const locale&);
49411
49412   extern template
49413     bool
49414     has_facet<ctype<char> >(const locale&);
49415
49416   extern template
49417     bool
49418     has_facet<codecvt<char, char, mbstate_t> >(const locale&);
49419
49420   extern template
49421     bool
49422     has_facet<collate<char> >(const locale&);
49423
49424   extern template
49425     bool
49426     has_facet<numpunct<char> >(const locale&);
49427
49428   extern template
49429     bool
49430     has_facet<num_put<char> >(const locale&);
49431
49432   extern template
49433     bool
49434     has_facet<num_get<char> >(const locale&);
49435
49436   extern template
49437     bool
49438     has_facet<moneypunct<char> >(const locale&);
49439
49440   extern template
49441     bool
49442     has_facet<money_put<char> >(const locale&);
49443
49444   extern template
49445     bool
49446     has_facet<money_get<char> >(const locale&);
49447
49448   extern template
49449     bool
49450     has_facet<__timepunct<char> >(const locale&);
49451
49452   extern template
49453     bool
49454     has_facet<time_put<char> >(const locale&);
49455
49456   extern template
49457     bool
49458     has_facet<time_get<char> >(const locale&);
49459
49460   extern template
49461     bool
49462     has_facet<messages<char> >(const locale&);
49463
49464
49465   extern template class moneypunct<wchar_t, false>;
49466   extern template class moneypunct<wchar_t, true>;
49467   extern template class moneypunct_byname<wchar_t, false>;
49468   extern template class moneypunct_byname<wchar_t, true>;
49469   extern template class money_get<wchar_t>;
49470   extern template class money_put<wchar_t>;
49471   extern template class numpunct<wchar_t>;
49472   extern template class numpunct_byname<wchar_t>;
49473   extern template class num_get<wchar_t>;
49474   extern template class num_put<wchar_t>;
49475   extern template class __timepunct<wchar_t>;
49476   extern template class time_put<wchar_t>;
49477   extern template class time_put_byname<wchar_t>;
49478   extern template class time_get<wchar_t>;
49479   extern template class time_get_byname<wchar_t>;
49480   extern template class messages<wchar_t>;
49481   extern template class messages_byname<wchar_t>;
49482   extern template class ctype_byname<wchar_t>;
49483   extern template class codecvt_byname<wchar_t, char, mbstate_t>;
49484   extern template class collate<wchar_t>;
49485   extern template class collate_byname<wchar_t>;
49486
49487   extern template
49488     const codecvt<wchar_t, char, mbstate_t>&
49489     use_facet<codecvt<wchar_t, char, mbstate_t> >(locale const&);
49490
49491   extern template
49492     const collate<wchar_t>&
49493     use_facet<collate<wchar_t> >(const locale&);
49494
49495   extern template
49496     const numpunct<wchar_t>&
49497     use_facet<numpunct<wchar_t> >(const locale&);
49498
49499   extern template
49500     const num_put<wchar_t>&
49501     use_facet<num_put<wchar_t> >(const locale&);
49502
49503   extern template
49504     const num_get<wchar_t>&
49505     use_facet<num_get<wchar_t> >(const locale&);
49506
49507   extern template
49508     const moneypunct<wchar_t, true>&
49509     use_facet<moneypunct<wchar_t, true> >(const locale&);
49510
49511   extern template
49512     const moneypunct<wchar_t, false>&
49513     use_facet<moneypunct<wchar_t, false> >(const locale&);
49514
49515   extern template
49516     const money_put<wchar_t>&
49517     use_facet<money_put<wchar_t> >(const locale&);
49518
49519   extern template
49520     const money_get<wchar_t>&
49521     use_facet<money_get<wchar_t> >(const locale&);
49522
49523   extern template
49524     const __timepunct<wchar_t>&
49525     use_facet<__timepunct<wchar_t> >(const locale&);
49526
49527   extern template
49528     const time_put<wchar_t>&
49529     use_facet<time_put<wchar_t> >(const locale&);
49530
49531   extern template
49532     const time_get<wchar_t>&
49533     use_facet<time_get<wchar_t> >(const locale&);
49534
49535   extern template
49536     const messages<wchar_t>&
49537     use_facet<messages<wchar_t> >(const locale&);
49538
49539  extern template
49540     bool
49541     has_facet<ctype<wchar_t> >(const locale&);
49542
49543   extern template
49544     bool
49545     has_facet<codecvt<wchar_t, char, mbstate_t> >(const locale&);
49546
49547   extern template
49548     bool
49549     has_facet<collate<wchar_t> >(const locale&);
49550
49551   extern template
49552     bool
49553     has_facet<numpunct<wchar_t> >(const locale&);
49554
49555   extern template
49556     bool
49557     has_facet<num_put<wchar_t> >(const locale&);
49558
49559   extern template
49560     bool
49561     has_facet<num_get<wchar_t> >(const locale&);
49562
49563   extern template
49564     bool
49565     has_facet<moneypunct<wchar_t> >(const locale&);
49566
49567   extern template
49568     bool
49569     has_facet<money_put<wchar_t> >(const locale&);
49570
49571   extern template
49572     bool
49573     has_facet<money_get<wchar_t> >(const locale&);
49574
49575   extern template
49576     bool
49577     has_facet<__timepunct<wchar_t> >(const locale&);
49578
49579   extern template
49580     bool
49581     has_facet<time_put<wchar_t> >(const locale&);
49582
49583   extern template
49584     bool
49585     has_facet<time_get<wchar_t> >(const locale&);
49586
49587   extern template
49588     bool
49589     has_facet<messages<wchar_t> >(const locale&);
49590
49591
49592 }
49593 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/locale" 2 3
49594
49595 #pragma GCC visibility pop
49596 # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ostream.tcc" 2 3
49597
49598 namespace std
49599 {
49600   template<typename _CharT, typename _Traits>
49601     basic_ostream<_CharT, _Traits>::sentry::
49602     sentry(basic_ostream<_CharT, _Traits>& __os)
49603     : _M_ok(false), _M_os(__os)
49604     {
49605
49606       if (__os.tie() && __os.good())
49607  __os.tie()->flush();
49608
49609       if (__os.good())
49610  _M_ok = true;
49611       else
49612  __os.setstate(ios_base::failbit);
49613     }
49614
49615   template<typename _CharT, typename _Traits>
49616     basic_ostream<_CharT, _Traits>&
49617     basic_ostream<_CharT, _Traits>::
49618     operator<<(__ostream_type& (*__pf)(__ostream_type&))
49619     {
49620
49621
49622
49623       return __pf(*this);
49624     }
49625
49626   template<typename _CharT, typename _Traits>
49627     basic_ostream<_CharT, _Traits>&
49628     basic_ostream<_CharT, _Traits>::
49629     operator<<(__ios_type& (*__pf)(__ios_type&))
49630     {
49631
49632
49633
49634       __pf(*this);
49635       return *this;
49636     }
49637
49638   template<typename _CharT, typename _Traits>
49639     basic_ostream<_CharT, _Traits>&
49640     basic_ostream<_CharT, _Traits>::
49641     operator<<(ios_base& (*__pf)(ios_base&))
49642     {
49643
49644
49645
49646       __pf(*this);
49647       return *this;
49648     }
49649
49650   template<typename _CharT, typename _Traits>
49651     basic_ostream<_CharT, _Traits>&
49652     basic_ostream<_CharT, _Traits>::
49653     operator<<(bool __n)
49654     {
49655       sentry __cerb(*this);
49656       if (__cerb)
49657  {
49658    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
49659    try
49660      {
49661        const __num_put_type& __np = __check_facet(this->_M_num_put);
49662        if (__np.put(*this, *this, this->fill(), __n).failed())
49663   __err |= ios_base::badbit;
49664      }
49665    catch(...)
49666      { this->_M_setstate(ios_base::badbit); }
49667    if (__err)
49668      this->setstate(__err);
49669  }
49670       return *this;
49671     }
49672
49673   template<typename _CharT, typename _Traits>
49674     basic_ostream<_CharT, _Traits>&
49675     basic_ostream<_CharT, _Traits>::
49676     operator<<(short __n)
49677     {
49678       sentry __cerb(*this);
49679       if (__cerb)
49680  {
49681    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
49682    try
49683      {
49684
49685
49686        long __l;
49687        const ios_base::fmtflags __fmt = (this->flags()
49688       & ios_base::basefield);
49689        if (__fmt == ios_base::oct || __fmt == ios_base::hex)
49690   __l = static_cast<long>(static_cast<unsigned short>(__n));
49691        else
49692   __l = static_cast<long>(__n);
49693        const __num_put_type& __np = __check_facet(this->_M_num_put);
49694        if (__np.put(*this, *this, this->fill(), __l).failed())
49695   __err |= ios_base::badbit;
49696      }
49697    catch(...)
49698      { this->_M_setstate(ios_base::badbit); }
49699    if (__err)
49700      this->setstate(__err);
49701  }
49702       return *this;
49703     }
49704
49705   template<typename _CharT, typename _Traits>
49706     basic_ostream<_CharT, _Traits>&
49707     basic_ostream<_CharT, _Traits>::
49708     operator<<(unsigned short __n)
49709     {
49710       sentry __cerb(*this);
49711       if (__cerb)
49712  {
49713    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
49714    try
49715      {
49716
49717
49718        const __num_put_type& __np = __check_facet(this->_M_num_put);
49719        if (__np.put(*this, *this, this->fill(),
49720       static_cast<unsigned long>(__n)).failed())
49721   __err |= ios_base::badbit;
49722      }
49723    catch(...)
49724      { this->_M_setstate(ios_base::badbit); }
49725    if (__err)
49726      this->setstate(__err);
49727  }
49728       return *this;
49729     }
49730
49731   template<typename _CharT, typename _Traits>
49732     basic_ostream<_CharT, _Traits>&
49733     basic_ostream<_CharT, _Traits>::
49734     operator<<(int __n)
49735     {
49736       sentry __cerb(*this);
49737       if (__cerb)
49738  {
49739    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
49740    try
49741      {
49742
49743
49744        long __l;
49745        const ios_base::fmtflags __fmt = (this->flags()
49746       & ios_base::basefield);
49747        if (__fmt == ios_base::oct || __fmt == ios_base::hex)
49748   __l = static_cast<long>(static_cast<unsigned int>(__n));
49749        else
49750   __l = static_cast<long>(__n);
49751        const __num_put_type& __np = __check_facet(this->_M_num_put);
49752        if (__np.put(*this, *this, this->fill(), __l).failed())
49753   __err |= ios_base::badbit;
49754      }
49755    catch(...)
49756      { this->_M_setstate(ios_base::badbit); }
49757    if (__err)
49758      this->setstate(__err);
49759  }
49760       return *this;
49761     }
49762
49763   template<typename _CharT, typename _Traits>
49764     basic_ostream<_CharT, _Traits>&
49765     basic_ostream<_CharT, _Traits>::
49766     operator<<(unsigned int __n)
49767     {
49768       sentry __cerb(*this);
49769       if (__cerb)
49770  {
49771    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
49772    try
49773      {
49774
49775
49776        const __num_put_type& __np = __check_facet(this->_M_num_put);
49777        if (__np.put(*this, *this, this->fill(),
49778       static_cast<unsigned long>(__n)).failed())
49779   __err |= ios_base::badbit;
49780      }
49781    catch(...)
49782      { this->_M_setstate(ios_base::badbit); }
49783    if (__err)
49784      this->setstate(__err);
49785  }
49786       return *this;
49787     }
49788
49789   template<typename _CharT, typename _Traits>
49790     basic_ostream<_CharT, _Traits>&
49791     basic_ostream<_CharT, _Traits>::
49792     operator<<(long __n)
49793     {
49794       sentry __cerb(*this);
49795       if (__cerb)
49796  {
49797    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
49798    try
49799      {
49800        const __num_put_type& __np = __check_facet(this->_M_num_put);
49801        if (__np.put(*this, *this, this->fill(), __n).failed())
49802   __err |= ios_base::badbit;
49803      }
49804    catch(...)
49805      { this->_M_setstate(ios_base::badbit); }
49806    if (__err)
49807      this->setstate(__err);
49808  }
49809       return *this;
49810     }
49811
49812   template<typename _CharT, typename _Traits>
49813     basic_ostream<_CharT, _Traits>&
49814     basic_ostream<_CharT, _Traits>::
49815     operator<<(unsigned long __n)
49816     {
49817       sentry __cerb(*this);
49818       if (__cerb)
49819  {
49820    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
49821    try
49822      {
49823        const __num_put_type& __np = __check_facet(this->_M_num_put);
49824        if (__np.put(*this, *this, this->fill(), __n).failed())
49825   __err |= ios_base::badbit;
49826      }
49827    catch(...)
49828      { this->_M_setstate(ios_base::badbit); }
49829    if (__err)
49830      this->setstate(__err);
49831  }
49832       return *this;
49833     }
49834
49835
49836   template<typename _CharT, typename _Traits>
49837     basic_ostream<_CharT, _Traits>&
49838     basic_ostream<_CharT, _Traits>::
49839     operator<<(long long __n)
49840     {
49841       sentry __cerb(*this);
49842       if (__cerb)
49843  {
49844    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
49845    try
49846      {
49847        const __num_put_type& __np = __check_facet(this->_M_num_put);
49848        if (__np.put(*this, *this, this->fill(), __n).failed())
49849   __err |= ios_base::badbit;
49850      }
49851    catch(...)
49852      { this->_M_setstate(ios_base::badbit); }
49853    if (__err)
49854      this->setstate(__err);
49855  }
49856       return *this;
49857     }
49858
49859   template<typename _CharT, typename _Traits>
49860     basic_ostream<_CharT, _Traits>&
49861     basic_ostream<_CharT, _Traits>::
49862     operator<<(unsigned long long __n)
49863     {
49864       sentry __cerb(*this);
49865       if (__cerb)
49866  {
49867    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
49868    try
49869      {
49870        const __num_put_type& __np = __check_facet(this->_M_num_put);
49871        if (__np.put(*this, *this, this->fill(), __n).failed())
49872   __err |= ios_base::badbit;
49873      }
49874    catch(...)
49875      { this->_M_setstate(ios_base::badbit); }
49876    if (__err)
49877      this->setstate(__err);
49878  }
49879       return *this;
49880     }
49881
49882
49883   template<typename _CharT, typename _Traits>
49884     basic_ostream<_CharT, _Traits>&
49885     basic_ostream<_CharT, _Traits>::
49886     operator<<(float __n)
49887     {
49888       sentry __cerb(*this);
49889       if (__cerb)
49890  {
49891    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
49892    try
49893      {
49894
49895
49896        const __num_put_type& __np = __check_facet(this->_M_num_put);
49897        if (__np.put(*this, *this, this->fill(),
49898       static_cast<double>(__n)).failed())
49899   __err |= ios_base::badbit;
49900      }
49901    catch(...)
49902      { this->_M_setstate(ios_base::badbit); }
49903    if (__err)
49904      this->setstate(__err);
49905  }
49906       return *this;
49907     }
49908
49909   template<typename _CharT, typename _Traits>
49910     basic_ostream<_CharT, _Traits>&
49911     basic_ostream<_CharT, _Traits>::
49912     operator<<(double __n)
49913     {
49914       sentry __cerb(*this);
49915       if (__cerb)
49916  {
49917    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
49918    try
49919      {
49920        const __num_put_type& __np = __check_facet(this->_M_num_put);
49921        if (__np.put(*this, *this, this->fill(), __n).failed())
49922   __err |= ios_base::badbit;
49923      }
49924    catch(...)
49925      { this->_M_setstate(ios_base::badbit); }
49926    if (__err)
49927      this->setstate(__err);
49928  }
49929       return *this;
49930     }
49931
49932   template<typename _CharT, typename _Traits>
49933     basic_ostream<_CharT, _Traits>&
49934     basic_ostream<_CharT, _Traits>::
49935     operator<<(long double __n)
49936     {
49937       sentry __cerb(*this);
49938       if (__cerb)
49939  {
49940    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
49941    try
49942      {
49943        const __num_put_type& __np = __check_facet(this->_M_num_put);
49944        if (__np.put(*this, *this, this->fill(), __n).failed())
49945   __err |= ios_base::badbit;
49946      }
49947    catch(...)
49948      { this->_M_setstate(ios_base::badbit); }
49949    if (__err)
49950      this->setstate(__err);
49951  }
49952       return *this;
49953     }
49954
49955   template<typename _CharT, typename _Traits>
49956     basic_ostream<_CharT, _Traits>&
49957     basic_ostream<_CharT, _Traits>::
49958     operator<<(const void* __n)
49959     {
49960       sentry __cerb(*this);
49961       if (__cerb)
49962  {
49963    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
49964    try
49965      {
49966        const __num_put_type& __np = __check_facet(this->_M_num_put);
49967        if (__np.put(*this, *this, this->fill(), __n).failed())
49968   __err |= ios_base::badbit;
49969      }
49970    catch(...)
49971      { this->_M_setstate(ios_base::badbit); }
49972    if (__err)
49973      this->setstate(__err);
49974  }
49975       return *this;
49976     }
49977
49978   template<typename _CharT, typename _Traits>
49979     basic_ostream<_CharT, _Traits>&
49980     basic_ostream<_CharT, _Traits>::
49981     operator<<(__streambuf_type* __sbin)
49982     {
49983       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
49984       sentry __cerb(*this);
49985       if (__cerb && __sbin)
49986  {
49987    try
49988      {
49989        if (!__copy_streambufs(__sbin, this->rdbuf()))
49990   __err |= ios_base::failbit;
49991      }
49992    catch(...)
49993      { this->_M_setstate(ios_base::failbit); }
49994  }
49995       else if (!__sbin)
49996  __err |= ios_base::badbit;
49997       if (__err)
49998  this->setstate(__err);
49999       return *this;
50000     }
50001
50002   template<typename _CharT, typename _Traits>
50003     basic_ostream<_CharT, _Traits>&
50004     basic_ostream<_CharT, _Traits>::
50005     put(char_type __c)
50006     {
50007
50008
50009
50010
50011
50012
50013       sentry __cerb(*this);
50014       if (__cerb)
50015  {
50016    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
50017    try
50018      {
50019        const int_type __put = this->rdbuf()->sputc(__c);
50020        if (traits_type::eq_int_type(__put, traits_type::eof()))
50021   __err |= ios_base::badbit;
50022      }
50023    catch (...)
50024      { this->_M_setstate(ios_base::badbit); }
50025    if (__err)
50026      this->setstate(__err);
50027  }
50028       return *this;
50029     }
50030
50031   template<typename _CharT, typename _Traits>
50032     basic_ostream<_CharT, _Traits>&
50033     basic_ostream<_CharT, _Traits>::
50034     write(const _CharT* __s, streamsize __n)
50035     {
50036
50037
50038
50039
50040
50041
50042
50043       sentry __cerb(*this);
50044       if (__cerb)
50045  {
50046    try
50047      { _M_write(__s, __n); }
50048    catch (...)
50049      { this->_M_setstate(ios_base::badbit); }
50050  }
50051       return *this;
50052     }
50053
50054   template<typename _CharT, typename _Traits>
50055     basic_ostream<_CharT, _Traits>&
50056     basic_ostream<_CharT, _Traits>::
50057     flush()
50058     {
50059
50060
50061
50062       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
50063       try
50064  {
50065    if (this->rdbuf() && this->rdbuf()->pubsync() == -1)
50066      __err |= ios_base::badbit;
50067  }
50068       catch(...)
50069  { this->_M_setstate(ios_base::badbit); }
50070       if (__err)
50071  this->setstate(__err);
50072       return *this;
50073     }
50074
50075   template<typename _CharT, typename _Traits>
50076     typename basic_ostream<_CharT, _Traits>::pos_type
50077     basic_ostream<_CharT, _Traits>::
50078     tellp()
50079     {
50080       pos_type __ret = pos_type(-1);
50081       try
50082  {
50083    if (!this->fail())
50084      __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out);
50085  }
50086       catch(...)
50087  { this->_M_setstate(ios_base::badbit); }
50088       return __ret;
50089     }
50090
50091   template<typename _CharT, typename _Traits>
50092     basic_ostream<_CharT, _Traits>&
50093     basic_ostream<_CharT, _Traits>::
50094     seekp(pos_type __pos)
50095     {
50096       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
50097       try
50098  {
50099    if (!this->fail())
50100      {
50101
50102
50103        const pos_type __p = this->rdbuf()->pubseekpos(__pos,
50104             ios_base::out);
50105
50106
50107        if (__p == pos_type(off_type(-1)))
50108   __err |= ios_base::failbit;
50109      }
50110  }
50111       catch(...)
50112  { this->_M_setstate(ios_base::badbit); }
50113       if (__err)
50114  this->setstate(__err);
50115       return *this;
50116     }
50117
50118   template<typename _CharT, typename _Traits>
50119     basic_ostream<_CharT, _Traits>&
50120     basic_ostream<_CharT, _Traits>::
50121     seekp(off_type __off, ios_base::seekdir __dir)
50122     {
50123       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
50124       try
50125  {
50126    if (!this->fail())
50127      {
50128
50129
50130        const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
50131             ios_base::out);
50132
50133
50134        if (__p == pos_type(off_type(-1)))
50135   __err |= ios_base::failbit;
50136      }
50137  }
50138       catch(...)
50139  { this->_M_setstate(ios_base::badbit); }
50140       if (__err)
50141  this->setstate(__err);
50142       return *this;
50143     }
50144
50145
50146   template<typename _CharT, typename _Traits>
50147     basic_ostream<_CharT, _Traits>&
50148     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
50149     {
50150       typedef basic_ostream<_CharT, _Traits> __ostream_type;
50151       typename __ostream_type::sentry __cerb(__out);
50152       if (__cerb)
50153  {
50154    try
50155      {
50156        const streamsize __w = __out.width();
50157        streamsize __len = 1;
50158        _CharT* __cs = &__c;
50159        if (__w > __len)
50160   {
50161     __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
50162               * __w));
50163     __pad<_CharT, _Traits>::_S_pad(__out, __out.fill(), __cs,
50164        &__c, __w, __len, false);
50165     __len = __w;
50166   }
50167        __out._M_write(__cs, __len);
50168        __out.width(0);
50169      }
50170    catch(...)
50171      { __out._M_setstate(ios_base::badbit); }
50172  }
50173       return __out;
50174     }
50175
50176
50177   template <class _Traits>
50178     basic_ostream<char, _Traits>&
50179     operator<<(basic_ostream<char, _Traits>& __out, char __c)
50180     {
50181       typedef basic_ostream<char, _Traits> __ostream_type;
50182       typename __ostream_type::sentry __cerb(__out);
50183       if (__cerb)
50184  {
50185    try
50186      {
50187        const streamsize __w = __out.width();
50188        streamsize __len = 1;
50189        char* __cs = &__c;
50190        if (__w > __len)
50191   {
50192     __cs = static_cast<char*>(__builtin_alloca(__w));
50193     __pad<char, _Traits>::_S_pad(__out, __out.fill(), __cs,
50194             &__c, __w, __len, false);
50195     __len = __w;
50196   }
50197        __out._M_write(__cs, __len);
50198        __out.width(0);
50199      }
50200    catch(...)
50201      { __out._M_setstate(ios_base::badbit); }
50202  }
50203       return __out;
50204      }
50205
50206   template<typename _CharT, typename _Traits>
50207     basic_ostream<_CharT, _Traits>&
50208     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
50209     {
50210       typedef basic_ostream<_CharT, _Traits> __ostream_type;
50211       typename __ostream_type::sentry __cerb(__out);
50212       if (__cerb && __s)
50213  {
50214    try
50215      {
50216        const streamsize __w = __out.width();
50217        streamsize __len = static_cast<streamsize>(_Traits::length(__s));
50218        if (__w > __len)
50219   {
50220     _CharT* __cs = (static_cast<
50221       _CharT*>(__builtin_alloca(sizeof(_CharT)
50222            * __w)));
50223     __pad<_CharT, _Traits>::_S_pad(__out, __out.fill(), __cs,
50224        __s, __w, __len, false);
50225     __s = __cs;
50226     __len = __w;
50227   }
50228        __out._M_write(__s, __len);
50229        __out.width(0);
50230      }
50231    catch(...)
50232      { __out._M_setstate(ios_base::badbit); }
50233  }
50234       else if (!__s)
50235  __out.setstate(ios_base::badbit);
50236       return __out;
50237     }
50238
50239   template<typename _CharT, typename _Traits>
50240     basic_ostream<_CharT, _Traits>&
50241     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
50242     {
50243       typedef basic_ostream<_CharT, _Traits> __ostream_type;
50244
50245
50246
50247       typedef char_traits<char> __traits_type;
50248       typename __ostream_type::sentry __cerb(__out);
50249       if (__cerb && __s)
50250  {
50251    size_t __clen = __traits_type::length(__s);
50252    _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
50253               * __clen));
50254    for (size_t __i = 0; __i < __clen; ++__i)
50255      __ws[__i] = __out.widen(__s[__i]);
50256    _CharT* __str = __ws;
50257
50258    try
50259      {
50260        const streamsize __w = __out.width();
50261        streamsize __len = static_cast<streamsize>(__clen);
50262        if (__w > __len)
50263   {
50264     _CharT* __cs = (static_cast<
50265       _CharT*>(__builtin_alloca(sizeof(_CharT)
50266            * __w)));
50267     __pad<_CharT, _Traits>::_S_pad(__out, __out.fill(), __cs,
50268        __ws, __w, __len, false);
50269     __str = __cs;
50270     __len = __w;
50271   }
50272        __out._M_write(__str, __len);
50273        __out.width(0);
50274      }
50275    catch(...)
50276      { __out._M_setstate(ios_base::badbit); }
50277  }
50278       else if (!__s)
50279  __out.setstate(ios_base::badbit);
50280       return __out;
50281     }
50282
50283
50284   template<class _Traits>
50285     basic_ostream<char, _Traits>&
50286     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
50287     {
50288       typedef basic_ostream<char, _Traits> __ostream_type;
50289       typename __ostream_type::sentry __cerb(__out);
50290       if (__cerb && __s)
50291  {
50292    try
50293      {
50294        const streamsize __w = __out.width();
50295        streamsize __len = static_cast<streamsize>(_Traits::length(__s));
50296        if (__w > __len)
50297   {
50298     char* __cs = static_cast<char*>(__builtin_alloca(__w));
50299     __pad<char, _Traits>::_S_pad(__out, __out.fill(), __cs,
50300        __s, __w, __len, false);
50301     __s = __cs;
50302     __len = __w;
50303   }
50304        __out._M_write(__s, __len);
50305        __out.width(0);
50306      }
50307    catch(...)
50308      { __out._M_setstate(ios_base::badbit); }
50309  }
50310       else if (!__s)
50311  __out.setstate(ios_base::badbit);
50312       return __out;
50313     }
50314
50315
50316   template<typename _CharT, typename _Traits, typename _Alloc>
50317     basic_ostream<_CharT, _Traits>&
50318     operator<<(basic_ostream<_CharT, _Traits>& __out,
50319         const basic_string<_CharT, _Traits, _Alloc>& __str)
50320     {
50321       typedef basic_ostream<_CharT, _Traits> __ostream_type;
50322       typename __ostream_type::sentry __cerb(__out);
50323       if (__cerb)
50324  {
50325    const streamsize __w = __out.width();
50326    streamsize __len = static_cast<streamsize>(__str.size());
50327    const _CharT* __s = __str.data();
50328
50329
50330
50331    if (__w > __len)
50332      {
50333        _CharT* __cs = (static_cast<
50334          _CharT*>(__builtin_alloca(sizeof(_CharT) * __w)));
50335        __pad<_CharT, _Traits>::_S_pad(__out, __out.fill(), __cs, __s,
50336           __w, __len, false);
50337        __s = __cs;
50338        __len = __w;
50339      }
50340    __out._M_write(__s, __len);
50341    __out.width(0);
50342  }
50343       return __out;
50344     }
50345
50346
50347
50348
50349
50350   extern template class basic_ostream<char>;
50351   extern template ostream& endl(ostream&);
50352   extern template ostream& ends(ostream&);
50353   extern template ostream& flush(ostream&);
50354   extern template ostream& operator<<(ostream&, char);
50355   extern template ostream& operator<<(ostream&, unsigned char);
50356   extern template ostream& operator<<(ostream&, signed char);
50357   extern template ostream& operator<<(ostream&, const char*);
50358   extern template ostream& operator<<(ostream&, const unsigned char*);
50359   extern template ostream& operator<<(ostream&, const signed char*);
50360
50361
50362   extern template class basic_ostream<wchar_t>;
50363   extern template wostream& endl(wostream&);
50364   extern template wostream& ends(wostream&);
50365   extern template wostream& flush(wostream&);
50366   extern template wostream& operator<<(wostream&, wchar_t);
50367   extern template wostream& operator<<(wostream&, char);
50368   extern template wostream& operator<<(wostream&, const wchar_t*);
50369   extern template wostream& operator<<(wostream&, const char*);
50370
50371
50372 }
50373 # 527 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream" 2 3
50374
50375
50376 #pragma GCC visibility pop
50377 # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iostream" 2 3
50378 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 1 3
50379 # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50380        
50381 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50382 #pragma GCC visibility push(default)
50383
50384
50385
50386
50387 namespace std
50388 {
50389 # 58 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50390   template<typename _CharT, typename _Traits>
50391     class basic_istream : virtual public basic_ios<_CharT, _Traits>
50392     {
50393     public:
50394
50395       typedef _CharT char_type;
50396       typedef typename _Traits::int_type int_type;
50397       typedef typename _Traits::pos_type pos_type;
50398       typedef typename _Traits::off_type off_type;
50399       typedef _Traits traits_type;
50400
50401
50402       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
50403       typedef basic_ios<_CharT, _Traits> __ios_type;
50404       typedef basic_istream<_CharT, _Traits> __istream_type;
50405       typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
50406         __num_get_type;
50407       typedef ctype<_CharT> __ctype_type;
50408
50409       template<typename _CharT2, typename _Traits2>
50410         friend basic_istream<_CharT2, _Traits2>&
50411         operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2&);
50412
50413       template<typename _CharT2, typename _Traits2>
50414         friend basic_istream<_CharT2, _Traits2>&
50415         operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2*);
50416
50417     protected:
50418
50419
50420
50421
50422
50423
50424
50425       streamsize _M_gcount;
50426
50427     public:
50428 # 104 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50429       explicit
50430       basic_istream(__streambuf_type* __sb): _M_gcount(streamsize(0))
50431       { this->init(__sb); }
50432
50433
50434
50435
50436
50437
50438       virtual
50439       ~basic_istream()
50440       { _M_gcount = streamsize(0); }
50441
50442
50443       class sentry;
50444       friend class sentry;
50445 # 131 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50446       inline __istream_type&
50447       operator>>(__istream_type& (*__pf)(__istream_type&));
50448
50449       inline __istream_type&
50450       operator>>(__ios_type& (*__pf)(__ios_type&));
50451
50452       inline __istream_type&
50453       operator>>(ios_base& (*__pf)(ios_base&));
50454 # 169 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50455       __istream_type&
50456       operator>>(bool& __n);
50457
50458       __istream_type&
50459       operator>>(short& __n);
50460
50461       __istream_type&
50462       operator>>(unsigned short& __n);
50463
50464       __istream_type&
50465       operator>>(int& __n);
50466
50467       __istream_type&
50468       operator>>(unsigned int& __n);
50469
50470       __istream_type&
50471       operator>>(long& __n);
50472
50473       __istream_type&
50474       operator>>(unsigned long& __n);
50475
50476
50477       __istream_type&
50478       operator>>(long long& __n);
50479
50480       __istream_type&
50481       operator>>(unsigned long long& __n);
50482
50483
50484       __istream_type&
50485       operator>>(float& __f);
50486
50487       __istream_type&
50488       operator>>(double& __f);
50489
50490       __istream_type&
50491       operator>>(long double& __f);
50492
50493       __istream_type&
50494       operator>>(void*& __p);
50495 # 230 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50496       __istream_type&
50497       operator>>(__streambuf_type* __sb);
50498 # 240 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50499       inline streamsize
50500       gcount() const
50501       { return _M_gcount; }
50502 # 272 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50503       int_type
50504       get();
50505 # 286 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50506       __istream_type&
50507       get(char_type& __c);
50508 # 313 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50509       __istream_type&
50510       get(char_type* __s, streamsize __n, char_type __delim);
50511 # 324 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50512       inline __istream_type&
50513       get(char_type* __s, streamsize __n)
50514       { return this->get(__s, __n, this->widen('\n')); }
50515 # 347 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50516       __istream_type&
50517       get(__streambuf_type& __sb, char_type __delim);
50518 # 357 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50519       inline __istream_type&
50520       get(__streambuf_type& __sb)
50521       { return this->get(__sb, this->widen('\n')); }
50522 # 386 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50523       __istream_type&
50524       getline(char_type* __s, streamsize __n, char_type __delim);
50525 # 397 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50526       inline __istream_type&
50527       getline(char_type* __s, streamsize __n)
50528       { return this->getline(__s, __n, this->widen('\n')); }
50529 # 421 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50530       __istream_type&
50531       ignore();
50532
50533       __istream_type&
50534       ignore(streamsize __n);
50535
50536       __istream_type&
50537       ignore(streamsize __n, int_type __delim);
50538 # 438 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50539       int_type
50540       peek();
50541 # 456 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50542       __istream_type&
50543       read(char_type* __s, streamsize __n);
50544 # 475 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50545       streamsize
50546       readsome(char_type* __s, streamsize __n);
50547 # 491 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50548       __istream_type&
50549       putback(char_type __c);
50550 # 506 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50551       __istream_type&
50552       unget();
50553 # 524 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50554       int
50555       sync();
50556 # 538 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50557       pos_type
50558       tellg();
50559 # 553 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50560       __istream_type&
50561       seekg(pos_type);
50562 # 569 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50563       __istream_type&
50564       seekg(off_type, ios_base::seekdir);
50565
50566
50567     protected:
50568       explicit
50569       basic_istream(): _M_gcount(streamsize(0)) { }
50570     };
50571
50572
50573   template<>
50574     basic_istream<char>&
50575     basic_istream<char>::
50576     getline(char_type* __s, streamsize __n, char_type __delim);
50577
50578   template<>
50579     basic_istream<char>&
50580     basic_istream<char>::
50581     ignore(streamsize __n);
50582
50583   template<>
50584     basic_istream<char>&
50585     basic_istream<char>::
50586     ignore(streamsize __n, int_type __delim);
50587
50588
50589   template<>
50590     basic_istream<wchar_t>&
50591     basic_istream<wchar_t>::
50592     getline(char_type* __s, streamsize __n, char_type __delim);
50593
50594   template<>
50595     basic_istream<wchar_t>&
50596     basic_istream<wchar_t>::
50597     ignore(streamsize __n);
50598
50599   template<>
50600     basic_istream<wchar_t>&
50601     basic_istream<wchar_t>::
50602     ignore(streamsize __n, int_type __delim);
50603 # 622 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50604   template<typename _CharT, typename _Traits>
50605     class basic_istream<_CharT, _Traits>::sentry
50606     {
50607     public:
50608
50609       typedef _Traits traits_type;
50610       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
50611       typedef basic_istream<_CharT, _Traits> __istream_type;
50612       typedef typename __istream_type::__ctype_type __ctype_type;
50613       typedef typename _Traits::int_type __int_type;
50614 # 654 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50615       explicit
50616       sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false);
50617 # 664 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50618       operator bool() const { return _M_ok; }
50619
50620     private:
50621       bool _M_ok;
50622     };
50623 # 683 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50624   template<typename _CharT, typename _Traits>
50625     basic_istream<_CharT, _Traits>&
50626     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c);
50627
50628   template<class _Traits>
50629     basic_istream<char, _Traits>&
50630     operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c)
50631     { return (__in >> reinterpret_cast<char&>(__c)); }
50632
50633   template<class _Traits>
50634     basic_istream<char, _Traits>&
50635     operator>>(basic_istream<char, _Traits>& __in, signed char& __c)
50636     { return (__in >> reinterpret_cast<char&>(__c)); }
50637 # 724 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50638   template<typename _CharT, typename _Traits>
50639     basic_istream<_CharT, _Traits>&
50640     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s);
50641
50642
50643   template<>
50644     basic_istream<char>&
50645     operator>>(basic_istream<char>& __in, char* __s);
50646
50647   template<class _Traits>
50648     basic_istream<char, _Traits>&
50649     operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
50650     { return (__in >> reinterpret_cast<char*>(__s)); }
50651
50652   template<class _Traits>
50653     basic_istream<char, _Traits>&
50654     operator>>(basic_istream<char, _Traits>& __in, signed char* __s)
50655     { return (__in >> reinterpret_cast<char*>(__s)); }
50656 # 751 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50657   template<typename _CharT, typename _Traits>
50658     class basic_iostream
50659     : public basic_istream<_CharT, _Traits>,
50660       public basic_ostream<_CharT, _Traits>
50661     {
50662     public:
50663
50664
50665
50666       typedef _CharT char_type;
50667       typedef typename _Traits::int_type int_type;
50668       typedef typename _Traits::pos_type pos_type;
50669       typedef typename _Traits::off_type off_type;
50670       typedef _Traits traits_type;
50671
50672
50673       typedef basic_istream<_CharT, _Traits> __istream_type;
50674       typedef basic_ostream<_CharT, _Traits> __ostream_type;
50675
50676
50677
50678
50679
50680
50681
50682       explicit
50683       basic_iostream(basic_streambuf<_CharT, _Traits>* __sb)
50684       : __istream_type(), __ostream_type()
50685       { this->init(__sb); }
50686
50687
50688
50689
50690       virtual
50691       ~basic_iostream() { }
50692
50693     protected:
50694       explicit
50695       basic_iostream() : __istream_type(), __ostream_type()
50696       { }
50697     };
50698 # 814 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 3
50699   template<typename _CharT, typename _Traits>
50700     basic_istream<_CharT, _Traits>&
50701     ws(basic_istream<_CharT, _Traits>& __is);
50702 }
50703
50704
50705 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/istream.tcc" 1 3
50706 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/istream.tcc" 3
50707        
50708 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/istream.tcc" 3
50709
50710
50711
50712
50713 namespace std
50714 {
50715   template<typename _CharT, typename _Traits>
50716     basic_istream<_CharT, _Traits>::sentry::
50717     sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false)
50718     {
50719       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
50720       if (__in.good())
50721  {
50722    if (__in.tie())
50723      __in.tie()->flush();
50724    if (!__noskip && (__in.flags() & ios_base::skipws))
50725      {
50726        const __int_type __eof = traits_type::eof();
50727        __streambuf_type* __sb = __in.rdbuf();
50728        __int_type __c = __sb->sgetc();
50729
50730        const __ctype_type& __ct = __check_facet(__in._M_ctype);
50731        while (!traits_type::eq_int_type(__c, __eof)
50732        && __ct.is(ctype_base::space,
50733     traits_type::to_char_type(__c)))
50734   __c = __sb->snextc();
50735
50736
50737
50738
50739        if (traits_type::eq_int_type(__c, __eof))
50740   __err |= ios_base::eofbit;
50741      }
50742  }
50743
50744       if (__in.good() && __err == ios_base::goodbit)
50745  _M_ok = true;
50746       else
50747  {
50748    __err |= ios_base::failbit;
50749    __in.setstate(__err);
50750  }
50751     }
50752
50753   template<typename _CharT, typename _Traits>
50754     basic_istream<_CharT, _Traits>&
50755     basic_istream<_CharT, _Traits>::
50756     operator>>(__istream_type& (*__pf)(__istream_type&))
50757     { return __pf(*this); }
50758
50759   template<typename _CharT, typename _Traits>
50760     basic_istream<_CharT, _Traits>&
50761     basic_istream<_CharT, _Traits>::
50762     operator>>(__ios_type& (*__pf)(__ios_type&))
50763     {
50764       __pf(*this);
50765       return *this;
50766     }
50767
50768   template<typename _CharT, typename _Traits>
50769     basic_istream<_CharT, _Traits>&
50770     basic_istream<_CharT, _Traits>::
50771     operator>>(ios_base& (*__pf)(ios_base&))
50772     {
50773       __pf(*this);
50774       return *this;
50775     }
50776
50777   template<typename _CharT, typename _Traits>
50778     basic_istream<_CharT, _Traits>&
50779     basic_istream<_CharT, _Traits>::
50780     operator>>(bool& __n)
50781     {
50782       sentry __cerb(*this, false);
50783       if (__cerb)
50784  {
50785    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
50786    try
50787      {
50788        const __num_get_type& __ng = __check_facet(this->_M_num_get);
50789        __ng.get(*this, 0, *this, __err, __n);
50790      }
50791    catch(...)
50792      { this->_M_setstate(ios_base::badbit); }
50793    if (__err)
50794      this->setstate(__err);
50795  }
50796       return *this;
50797     }
50798
50799   template<typename _CharT, typename _Traits>
50800     basic_istream<_CharT, _Traits>&
50801     basic_istream<_CharT, _Traits>::
50802     operator>>(short& __n)
50803     {
50804       sentry __cerb(*this, false);
50805       if (__cerb)
50806  {
50807    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
50808    try
50809      {
50810        long __l;
50811        const __num_get_type& __ng = __check_facet(this->_M_num_get);
50812        __ng.get(*this, 0, *this, __err, __l);
50813
50814
50815        if (!(__err & ios_base::failbit)
50816     && (numeric_limits<short>::min() <= __l
50817         && __l <= numeric_limits<short>::max()))
50818   __n = __l;
50819        else
50820                 __err |= ios_base::failbit;
50821      }
50822    catch(...)
50823      { this->_M_setstate(ios_base::badbit); }
50824    if (__err)
50825      this->setstate(__err);
50826  }
50827       return *this;
50828     }
50829
50830   template<typename _CharT, typename _Traits>
50831     basic_istream<_CharT, _Traits>&
50832     basic_istream<_CharT, _Traits>::
50833     operator>>(unsigned short& __n)
50834     {
50835       sentry __cerb(*this, false);
50836       if (__cerb)
50837  {
50838    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
50839    try
50840      {
50841        const __num_get_type& __ng = __check_facet(this->_M_num_get);
50842        __ng.get(*this, 0, *this, __err, __n);
50843      }
50844    catch(...)
50845      { this->_M_setstate(ios_base::badbit); }
50846    if (__err)
50847      this->setstate(__err);
50848  }
50849       return *this;
50850     }
50851
50852   template<typename _CharT, typename _Traits>
50853     basic_istream<_CharT, _Traits>&
50854     basic_istream<_CharT, _Traits>::
50855     operator>>(int& __n)
50856     {
50857       sentry __cerb(*this, false);
50858       if (__cerb)
50859  {
50860    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
50861    try
50862      {
50863        long __l;
50864        const __num_get_type& __ng = __check_facet(this->_M_num_get);
50865        __ng.get(*this, 0, *this, __err, __l);
50866
50867
50868        if (!(__err & ios_base::failbit)
50869     && (numeric_limits<int>::min() <= __l
50870         && __l <= numeric_limits<int>::max()))
50871   __n = __l;
50872        else
50873                 __err |= ios_base::failbit;
50874      }
50875    catch(...)
50876      { this->_M_setstate(ios_base::badbit); }
50877    if (__err)
50878      this->setstate(__err);
50879  }
50880       return *this;
50881     }
50882
50883   template<typename _CharT, typename _Traits>
50884     basic_istream<_CharT, _Traits>&
50885     basic_istream<_CharT, _Traits>::
50886     operator>>(unsigned int& __n)
50887     {
50888       sentry __cerb(*this, false);
50889       if (__cerb)
50890  {
50891    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
50892    try
50893      {
50894        const __num_get_type& __ng = __check_facet(this->_M_num_get);
50895        __ng.get(*this, 0, *this, __err, __n);
50896      }
50897    catch(...)
50898      { this->_M_setstate(ios_base::badbit); }
50899    if (__err)
50900      this->setstate(__err);
50901  }
50902       return *this;
50903     }
50904
50905   template<typename _CharT, typename _Traits>
50906     basic_istream<_CharT, _Traits>&
50907     basic_istream<_CharT, _Traits>::
50908     operator>>(long& __n)
50909     {
50910       sentry __cerb(*this, false);
50911       if (__cerb)
50912  {
50913    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
50914    try
50915      {
50916        const __num_get_type& __ng = __check_facet(this->_M_num_get);
50917        __ng.get(*this, 0, *this, __err, __n);
50918      }
50919    catch(...)
50920      { this->_M_setstate(ios_base::badbit); }
50921    if (__err)
50922      this->setstate(__err);
50923  }
50924       return *this;
50925     }
50926
50927   template<typename _CharT, typename _Traits>
50928     basic_istream<_CharT, _Traits>&
50929     basic_istream<_CharT, _Traits>::
50930     operator>>(unsigned long& __n)
50931     {
50932       sentry __cerb(*this, false);
50933       if (__cerb)
50934  {
50935    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
50936    try
50937      {
50938        const __num_get_type& __ng = __check_facet(this->_M_num_get);
50939        __ng.get(*this, 0, *this, __err, __n);
50940      }
50941    catch(...)
50942      { this->_M_setstate(ios_base::badbit); }
50943    if (__err)
50944      this->setstate(__err);
50945  }
50946       return *this;
50947     }
50948
50949
50950   template<typename _CharT, typename _Traits>
50951     basic_istream<_CharT, _Traits>&
50952     basic_istream<_CharT, _Traits>::
50953     operator>>(long long& __n)
50954     {
50955       sentry __cerb(*this, false);
50956       if (__cerb)
50957  {
50958    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
50959    try
50960      {
50961        const __num_get_type& __ng = __check_facet(this->_M_num_get);
50962        __ng.get(*this, 0, *this, __err, __n);
50963      }
50964    catch(...)
50965      { this->_M_setstate(ios_base::badbit); }
50966    if (__err)
50967      this->setstate(__err);
50968  }
50969       return *this;
50970     }
50971
50972   template<typename _CharT, typename _Traits>
50973     basic_istream<_CharT, _Traits>&
50974     basic_istream<_CharT, _Traits>::
50975     operator>>(unsigned long long& __n)
50976     {
50977       sentry __cerb(*this, false);
50978       if (__cerb)
50979  {
50980    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
50981    try
50982      {
50983        const __num_get_type& __ng = __check_facet(this->_M_num_get);
50984        __ng.get(*this, 0, *this, __err, __n);
50985      }
50986    catch(...)
50987      { this->_M_setstate(ios_base::badbit); }
50988    if (__err)
50989      this->setstate(__err);
50990  }
50991       return *this;
50992     }
50993
50994
50995   template<typename _CharT, typename _Traits>
50996     basic_istream<_CharT, _Traits>&
50997     basic_istream<_CharT, _Traits>::
50998     operator>>(float& __n)
50999     {
51000       sentry __cerb(*this, false);
51001       if (__cerb)
51002  {
51003    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51004    try
51005      {
51006        const __num_get_type& __ng = __check_facet(this->_M_num_get);
51007        __ng.get(*this, 0, *this, __err, __n);
51008      }
51009    catch(...)
51010      { this->_M_setstate(ios_base::badbit); }
51011    if (__err)
51012      this->setstate(__err);
51013  }
51014       return *this;
51015     }
51016
51017   template<typename _CharT, typename _Traits>
51018     basic_istream<_CharT, _Traits>&
51019     basic_istream<_CharT, _Traits>::
51020     operator>>(double& __n)
51021     {
51022       sentry __cerb(*this, false);
51023       if (__cerb)
51024  {
51025    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51026    try
51027      {
51028        const __num_get_type& __ng = __check_facet(this->_M_num_get);
51029        __ng.get(*this, 0, *this, __err, __n);
51030      }
51031    catch(...)
51032      { this->_M_setstate(ios_base::badbit); }
51033    if (__err)
51034      this->setstate(__err);
51035  }
51036       return *this;
51037     }
51038
51039   template<typename _CharT, typename _Traits>
51040     basic_istream<_CharT, _Traits>&
51041     basic_istream<_CharT, _Traits>::
51042     operator>>(long double& __n)
51043     {
51044       sentry __cerb(*this, false);
51045       if (__cerb)
51046  {
51047    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51048    try
51049      {
51050        const __num_get_type& __ng = __check_facet(this->_M_num_get);
51051        __ng.get(*this, 0, *this, __err, __n);
51052      }
51053    catch(...)
51054      { this->_M_setstate(ios_base::badbit); }
51055    if (__err)
51056      this->setstate(__err);
51057  }
51058       return *this;
51059     }
51060
51061   template<typename _CharT, typename _Traits>
51062     basic_istream<_CharT, _Traits>&
51063     basic_istream<_CharT, _Traits>::
51064     operator>>(void*& __n)
51065     {
51066       sentry __cerb(*this, false);
51067       if (__cerb)
51068  {
51069    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51070    try
51071      {
51072        const __num_get_type& __ng = __check_facet(this->_M_num_get);
51073        __ng.get(*this, 0, *this, __err, __n);
51074      }
51075    catch(...)
51076      { this->_M_setstate(ios_base::badbit); }
51077    if (__err)
51078      this->setstate(__err);
51079  }
51080       return *this;
51081     }
51082
51083   template<typename _CharT, typename _Traits>
51084     basic_istream<_CharT, _Traits>&
51085     basic_istream<_CharT, _Traits>::
51086     operator>>(__streambuf_type* __sbout)
51087     {
51088       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51089       sentry __cerb(*this, false);
51090       if (__cerb && __sbout)
51091  {
51092    try
51093      {
51094        if (!__copy_streambufs(this->rdbuf(), __sbout))
51095   __err |= ios_base::failbit;
51096      }
51097    catch(...)
51098      { this->_M_setstate(ios_base::failbit); }
51099  }
51100       else if (!__sbout)
51101  __err |= ios_base::failbit;
51102       if (__err)
51103  this->setstate(__err);
51104       return *this;
51105     }
51106
51107   template<typename _CharT, typename _Traits>
51108     typename basic_istream<_CharT, _Traits>::int_type
51109     basic_istream<_CharT, _Traits>::
51110     get(void)
51111     {
51112       const int_type __eof = traits_type::eof();
51113       int_type __c = __eof;
51114       _M_gcount = 0;
51115       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51116       sentry __cerb(*this, true);
51117       if (__cerb)
51118  {
51119    try
51120      {
51121        __c = this->rdbuf()->sbumpc();
51122
51123        if (!traits_type::eq_int_type(__c, __eof))
51124   _M_gcount = 1;
51125        else
51126   __err |= ios_base::eofbit;
51127      }
51128    catch(...)
51129      { this->_M_setstate(ios_base::badbit); }
51130  }
51131       if (!_M_gcount)
51132  __err |= ios_base::failbit;
51133       if (__err)
51134  this->setstate(__err);
51135       return __c;
51136     }
51137
51138   template<typename _CharT, typename _Traits>
51139     basic_istream<_CharT, _Traits>&
51140     basic_istream<_CharT, _Traits>::
51141     get(char_type& __c)
51142     {
51143       _M_gcount = 0;
51144       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51145       sentry __cerb(*this, true);
51146       if (__cerb)
51147  {
51148    try
51149      {
51150        const int_type __cb = this->rdbuf()->sbumpc();
51151
51152        if (!traits_type::eq_int_type(__cb, traits_type::eof()))
51153   {
51154     _M_gcount = 1;
51155     __c = traits_type::to_char_type(__cb);
51156   }
51157        else
51158   __err |= ios_base::eofbit;
51159      }
51160    catch(...)
51161      { this->_M_setstate(ios_base::badbit); }
51162  }
51163       if (!_M_gcount)
51164  __err |= ios_base::failbit;
51165       if (__err)
51166  this->setstate(__err);
51167       return *this;
51168     }
51169
51170   template<typename _CharT, typename _Traits>
51171     basic_istream<_CharT, _Traits>&
51172     basic_istream<_CharT, _Traits>::
51173     get(char_type* __s, streamsize __n, char_type __delim)
51174     {
51175       _M_gcount = 0;
51176       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51177       sentry __cerb(*this, true);
51178       if (__cerb)
51179  {
51180    try
51181      {
51182        const int_type __idelim = traits_type::to_int_type(__delim);
51183        const int_type __eof = traits_type::eof();
51184        __streambuf_type* __sb = this->rdbuf();
51185        int_type __c = __sb->sgetc();
51186
51187        while (_M_gcount + 1 < __n
51188        && !traits_type::eq_int_type(__c, __eof)
51189        && !traits_type::eq_int_type(__c, __idelim))
51190   {
51191     *__s++ = traits_type::to_char_type(__c);
51192     ++_M_gcount;
51193     __c = __sb->snextc();
51194   }
51195        if (traits_type::eq_int_type(__c, __eof))
51196   __err |= ios_base::eofbit;
51197      }
51198    catch(...)
51199      { this->_M_setstate(ios_base::badbit); }
51200  }
51201
51202
51203       if (__n > 0)
51204  *__s = char_type();
51205       if (!_M_gcount)
51206  __err |= ios_base::failbit;
51207       if (__err)
51208  this->setstate(__err);
51209       return *this;
51210     }
51211
51212   template<typename _CharT, typename _Traits>
51213     basic_istream<_CharT, _Traits>&
51214     basic_istream<_CharT, _Traits>::
51215     get(__streambuf_type& __sb, char_type __delim)
51216     {
51217       _M_gcount = 0;
51218       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51219       sentry __cerb(*this, true);
51220       if (__cerb)
51221  {
51222    try
51223      {
51224        const int_type __idelim = traits_type::to_int_type(__delim);
51225        const int_type __eof = traits_type::eof();
51226        __streambuf_type* __this_sb = this->rdbuf();
51227        int_type __c = __this_sb->sgetc();
51228        char_type __c2 = traits_type::to_char_type(__c);
51229
51230        while (!traits_type::eq_int_type(__c, __eof)
51231        && !traits_type::eq_int_type(__c, __idelim)
51232        && !traits_type::eq_int_type(__sb.sputc(__c2), __eof))
51233   {
51234     ++_M_gcount;
51235     __c = __this_sb->snextc();
51236     __c2 = traits_type::to_char_type(__c);
51237   }
51238        if (traits_type::eq_int_type(__c, __eof))
51239   __err |= ios_base::eofbit;
51240      }
51241    catch(...)
51242      { this->_M_setstate(ios_base::badbit); }
51243  }
51244       if (!_M_gcount)
51245  __err |= ios_base::failbit;
51246       if (__err)
51247  this->setstate(__err);
51248       return *this;
51249     }
51250
51251   template<typename _CharT, typename _Traits>
51252     basic_istream<_CharT, _Traits>&
51253     basic_istream<_CharT, _Traits>::
51254     getline(char_type* __s, streamsize __n, char_type __delim)
51255     {
51256       _M_gcount = 0;
51257       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51258       sentry __cerb(*this, true);
51259       if (__cerb)
51260         {
51261           try
51262             {
51263               const int_type __idelim = traits_type::to_int_type(__delim);
51264               const int_type __eof = traits_type::eof();
51265               __streambuf_type* __sb = this->rdbuf();
51266               int_type __c = __sb->sgetc();
51267
51268               while (_M_gcount + 1 < __n
51269                      && !traits_type::eq_int_type(__c, __eof)
51270                      && !traits_type::eq_int_type(__c, __idelim))
51271                 {
51272                   *__s++ = traits_type::to_char_type(__c);
51273                   __c = __sb->snextc();
51274                   ++_M_gcount;
51275                 }
51276               if (traits_type::eq_int_type(__c, __eof))
51277                 __err |= ios_base::eofbit;
51278               else
51279                 {
51280                   if (traits_type::eq_int_type(__c, __idelim))
51281                     {
51282                       __sb->sbumpc();
51283                       ++_M_gcount;
51284                     }
51285                   else
51286                     __err |= ios_base::failbit;
51287                 }
51288             }
51289           catch(...)
51290             { this->_M_setstate(ios_base::badbit); }
51291         }
51292
51293
51294       if (__n > 0)
51295  *__s = char_type();
51296       if (!_M_gcount)
51297         __err |= ios_base::failbit;
51298       if (__err)
51299         this->setstate(__err);
51300       return *this;
51301     }
51302
51303
51304
51305
51306   template<typename _CharT, typename _Traits>
51307     basic_istream<_CharT, _Traits>&
51308     basic_istream<_CharT, _Traits>::
51309     ignore(void)
51310     {
51311       _M_gcount = 0;
51312       sentry __cerb(*this, true);
51313       if (__cerb)
51314  {
51315    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51316    try
51317      {
51318        const int_type __eof = traits_type::eof();
51319        __streambuf_type* __sb = this->rdbuf();
51320
51321        if (traits_type::eq_int_type(__sb->sbumpc(), __eof))
51322   __err |= ios_base::eofbit;
51323        else
51324   _M_gcount = 1;
51325      }
51326    catch(...)
51327      { this->_M_setstate(ios_base::badbit); }
51328    if (__err)
51329      this->setstate(__err);
51330  }
51331       return *this;
51332     }
51333
51334   template<typename _CharT, typename _Traits>
51335     basic_istream<_CharT, _Traits>&
51336     basic_istream<_CharT, _Traits>::
51337     ignore(streamsize __n)
51338     {
51339       _M_gcount = 0;
51340       sentry __cerb(*this, true);
51341       if (__cerb && __n > 0)
51342         {
51343           ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51344           try
51345             {
51346               const int_type __eof = traits_type::eof();
51347               __streambuf_type* __sb = this->rdbuf();
51348               int_type __c = __sb->sgetc();
51349 # 692 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/istream.tcc" 3
51350        bool __large_ignore = false;
51351        while (true)
51352   {
51353     while (_M_gcount < __n
51354     && !traits_type::eq_int_type(__c, __eof))
51355       {
51356         ++_M_gcount;
51357         __c = __sb->snextc();
51358       }
51359     if (__n == numeric_limits<streamsize>::max()
51360         && !traits_type::eq_int_type(__c, __eof))
51361       {
51362         _M_gcount = numeric_limits<streamsize>::min();
51363         __large_ignore = true;
51364       }
51365     else
51366       break;
51367   }
51368
51369        if (__large_ignore)
51370   _M_gcount = numeric_limits<streamsize>::max();
51371
51372        if (traits_type::eq_int_type(__c, __eof))
51373                 __err |= ios_base::eofbit;
51374             }
51375           catch(...)
51376             { this->_M_setstate(ios_base::badbit); }
51377           if (__err)
51378             this->setstate(__err);
51379         }
51380       return *this;
51381     }
51382
51383   template<typename _CharT, typename _Traits>
51384     basic_istream<_CharT, _Traits>&
51385     basic_istream<_CharT, _Traits>::
51386     ignore(streamsize __n, int_type __delim)
51387     {
51388       _M_gcount = 0;
51389       sentry __cerb(*this, true);
51390       if (__cerb && __n > 0)
51391         {
51392           ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51393           try
51394             {
51395               const int_type __eof = traits_type::eof();
51396               __streambuf_type* __sb = this->rdbuf();
51397               int_type __c = __sb->sgetc();
51398
51399
51400        bool __large_ignore = false;
51401        while (true)
51402   {
51403     while (_M_gcount < __n
51404     && !traits_type::eq_int_type(__c, __eof)
51405     && !traits_type::eq_int_type(__c, __delim))
51406       {
51407         ++_M_gcount;
51408         __c = __sb->snextc();
51409       }
51410     if (__n == numeric_limits<streamsize>::max()
51411         && !traits_type::eq_int_type(__c, __eof)
51412         && !traits_type::eq_int_type(__c, __delim))
51413       {
51414         _M_gcount = numeric_limits<streamsize>::min();
51415         __large_ignore = true;
51416       }
51417     else
51418       break;
51419   }
51420
51421        if (__large_ignore)
51422   _M_gcount = numeric_limits<streamsize>::max();
51423
51424               if (traits_type::eq_int_type(__c, __eof))
51425                 __err |= ios_base::eofbit;
51426        else if (traits_type::eq_int_type(__c, __delim))
51427   {
51428     if (_M_gcount < numeric_limits<streamsize>::max())
51429       ++_M_gcount;
51430     __sb->sbumpc();
51431   }
51432             }
51433           catch(...)
51434             { this->_M_setstate(ios_base::badbit); }
51435           if (__err)
51436             this->setstate(__err);
51437         }
51438       return *this;
51439     }
51440
51441   template<typename _CharT, typename _Traits>
51442     typename basic_istream<_CharT, _Traits>::int_type
51443     basic_istream<_CharT, _Traits>::
51444     peek(void)
51445     {
51446       int_type __c = traits_type::eof();
51447       _M_gcount = 0;
51448       sentry __cerb(*this, true);
51449       if (__cerb)
51450  {
51451    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51452    try
51453      {
51454        __c = this->rdbuf()->sgetc();
51455        if (traits_type::eq_int_type(__c, traits_type::eof()))
51456   __err |= ios_base::eofbit;
51457      }
51458    catch(...)
51459      { this->_M_setstate(ios_base::badbit); }
51460    if (__err)
51461      this->setstate(__err);
51462  }
51463       return __c;
51464     }
51465
51466   template<typename _CharT, typename _Traits>
51467     basic_istream<_CharT, _Traits>&
51468     basic_istream<_CharT, _Traits>::
51469     read(char_type* __s, streamsize __n)
51470     {
51471       _M_gcount = 0;
51472       sentry __cerb(*this, true);
51473       if (__cerb)
51474  {
51475    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51476    try
51477      {
51478        _M_gcount = this->rdbuf()->sgetn(__s, __n);
51479        if (_M_gcount != __n)
51480   __err |= (ios_base::eofbit | ios_base::failbit);
51481      }
51482    catch(...)
51483      { this->_M_setstate(ios_base::badbit); }
51484    if (__err)
51485      this->setstate(__err);
51486  }
51487       return *this;
51488     }
51489
51490   template<typename _CharT, typename _Traits>
51491     streamsize
51492     basic_istream<_CharT, _Traits>::
51493     readsome(char_type* __s, streamsize __n)
51494     {
51495       _M_gcount = 0;
51496       sentry __cerb(*this, true);
51497       if (__cerb)
51498  {
51499    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51500    try
51501      {
51502
51503        const streamsize __num = this->rdbuf()->in_avail();
51504        if (__num > 0)
51505   _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n));
51506        else if (__num == -1)
51507   __err |= ios_base::eofbit;
51508      }
51509    catch(...)
51510      { this->_M_setstate(ios_base::badbit); }
51511    if (__err)
51512      this->setstate(__err);
51513  }
51514       return _M_gcount;
51515     }
51516
51517   template<typename _CharT, typename _Traits>
51518     basic_istream<_CharT, _Traits>&
51519     basic_istream<_CharT, _Traits>::
51520     putback(char_type __c)
51521     {
51522
51523
51524       _M_gcount = 0;
51525       sentry __cerb(*this, true);
51526       if (__cerb)
51527  {
51528    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51529    try
51530      {
51531        const int_type __eof = traits_type::eof();
51532        __streambuf_type* __sb = this->rdbuf();
51533        if (!__sb
51534     || traits_type::eq_int_type(__sb->sputbackc(__c), __eof))
51535   __err |= ios_base::badbit;
51536      }
51537    catch(...)
51538      { this->_M_setstate(ios_base::badbit); }
51539    if (__err)
51540      this->setstate(__err);
51541  }
51542       return *this;
51543     }
51544
51545   template<typename _CharT, typename _Traits>
51546     basic_istream<_CharT, _Traits>&
51547     basic_istream<_CharT, _Traits>::
51548     unget(void)
51549     {
51550
51551
51552       _M_gcount = 0;
51553       sentry __cerb(*this, true);
51554       if (__cerb)
51555  {
51556    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51557    try
51558      {
51559        const int_type __eof = traits_type::eof();
51560        __streambuf_type* __sb = this->rdbuf();
51561        if (!__sb
51562     || traits_type::eq_int_type(__sb->sungetc(), __eof))
51563   __err |= ios_base::badbit;
51564      }
51565    catch(...)
51566      { this->_M_setstate(ios_base::badbit); }
51567    if (__err)
51568      this->setstate(__err);
51569  }
51570       return *this;
51571     }
51572
51573   template<typename _CharT, typename _Traits>
51574     int
51575     basic_istream<_CharT, _Traits>::
51576     sync(void)
51577     {
51578
51579
51580       int __ret = -1;
51581       sentry __cerb(*this, true);
51582       if (__cerb)
51583  {
51584    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51585    try
51586      {
51587        __streambuf_type* __sb = this->rdbuf();
51588        if (__sb)
51589   {
51590     if (__sb->pubsync() == -1)
51591       __err |= ios_base::badbit;
51592     else
51593       __ret = 0;
51594   }
51595      }
51596    catch(...)
51597      { this->_M_setstate(ios_base::badbit); }
51598    if (__err)
51599      this->setstate(__err);
51600  }
51601       return __ret;
51602     }
51603
51604   template<typename _CharT, typename _Traits>
51605     typename basic_istream<_CharT, _Traits>::pos_type
51606     basic_istream<_CharT, _Traits>::
51607     tellg(void)
51608     {
51609
51610
51611       pos_type __ret = pos_type(-1);
51612       try
51613  {
51614    if (!this->fail())
51615      __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::in);
51616  }
51617       catch(...)
51618  { this->_M_setstate(ios_base::badbit); }
51619       return __ret;
51620     }
51621
51622   template<typename _CharT, typename _Traits>
51623     basic_istream<_CharT, _Traits>&
51624     basic_istream<_CharT, _Traits>::
51625     seekg(pos_type __pos)
51626     {
51627
51628
51629       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51630       try
51631  {
51632    if (!this->fail())
51633      {
51634
51635        const pos_type __p = this->rdbuf()->pubseekpos(__pos,
51636             ios_base::in);
51637
51638
51639        if (__p == pos_type(off_type(-1)))
51640   __err |= ios_base::failbit;
51641      }
51642  }
51643       catch(...)
51644  { this->_M_setstate(ios_base::badbit); }
51645       if (__err)
51646  this->setstate(__err);
51647       return *this;
51648     }
51649
51650   template<typename _CharT, typename _Traits>
51651     basic_istream<_CharT, _Traits>&
51652     basic_istream<_CharT, _Traits>::
51653     seekg(off_type __off, ios_base::seekdir __dir)
51654     {
51655
51656
51657       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51658       try
51659  {
51660    if (!this->fail())
51661      {
51662
51663        const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
51664             ios_base::in);
51665
51666
51667        if (__p == pos_type(off_type(-1)))
51668   __err |= ios_base::failbit;
51669      }
51670  }
51671       catch(...)
51672  { this->_M_setstate(ios_base::badbit); }
51673       if (__err)
51674  this->setstate(__err);
51675       return *this;
51676     }
51677
51678
51679   template<typename _CharT, typename _Traits>
51680     basic_istream<_CharT, _Traits>&
51681     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
51682     {
51683       typedef basic_istream<_CharT, _Traits> __istream_type;
51684       typedef typename __istream_type::int_type __int_type;
51685
51686       typename __istream_type::sentry __cerb(__in, false);
51687       if (__cerb)
51688  {
51689    ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51690    try
51691      {
51692        const __int_type __cb = __in.rdbuf()->sbumpc();
51693        if (!_Traits::eq_int_type(__cb, _Traits::eof()))
51694   __c = _Traits::to_char_type(__cb);
51695        else
51696   __err |= (ios_base::eofbit | ios_base::failbit);
51697      }
51698    catch(...)
51699      { __in._M_setstate(ios_base::badbit); }
51700    if (__err)
51701      __in.setstate(__err);
51702  }
51703       return __in;
51704     }
51705
51706   template<typename _CharT, typename _Traits>
51707     basic_istream<_CharT, _Traits>&
51708     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)
51709     {
51710       typedef basic_istream<_CharT, _Traits> __istream_type;
51711       typedef typename __istream_type::__streambuf_type __streambuf_type;
51712       typedef typename _Traits::int_type int_type;
51713       typedef _CharT char_type;
51714       typedef ctype<_CharT> __ctype_type;
51715
51716       streamsize __extracted = 0;
51717       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51718       typename __istream_type::sentry __cerb(__in, false);
51719       if (__cerb)
51720  {
51721    try
51722      {
51723
51724        streamsize __num = __in.width();
51725        if (__num <= 0)
51726   __num = numeric_limits<streamsize>::max();
51727
51728        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
51729
51730        const int_type __eof = _Traits::eof();
51731        __streambuf_type* __sb = __in.rdbuf();
51732        int_type __c = __sb->sgetc();
51733
51734        while (__extracted < __num - 1
51735        && !_Traits::eq_int_type(__c, __eof)
51736        && !__ct.is(ctype_base::space,
51737      _Traits::to_char_type(__c)))
51738   {
51739     *__s++ = _Traits::to_char_type(__c);
51740     ++__extracted;
51741     __c = __sb->snextc();
51742   }
51743        if (_Traits::eq_int_type(__c, __eof))
51744   __err |= ios_base::eofbit;
51745
51746
51747
51748        *__s = char_type();
51749        __in.width(0);
51750      }
51751    catch(...)
51752      { __in._M_setstate(ios_base::badbit); }
51753  }
51754       if (!__extracted)
51755  __err |= ios_base::failbit;
51756       if (__err)
51757  __in.setstate(__err);
51758       return __in;
51759     }
51760
51761
51762   template<typename _CharT, typename _Traits>
51763     basic_istream<_CharT,_Traits>&
51764     ws(basic_istream<_CharT,_Traits>& __in)
51765     {
51766       typedef basic_istream<_CharT, _Traits> __istream_type;
51767       typedef typename __istream_type::__streambuf_type __streambuf_type;
51768       typedef typename __istream_type::__ctype_type __ctype_type;
51769       typedef typename __istream_type::int_type __int_type;
51770
51771       const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
51772       const __int_type __eof = _Traits::eof();
51773       __streambuf_type* __sb = __in.rdbuf();
51774       __int_type __c = __sb->sgetc();
51775
51776       while (!_Traits::eq_int_type(__c, __eof)
51777       && __ct.is(ctype_base::space, _Traits::to_char_type(__c)))
51778  __c = __sb->snextc();
51779
51780        if (_Traits::eq_int_type(__c, __eof))
51781   __in.setstate(ios_base::eofbit);
51782       return __in;
51783     }
51784
51785
51786   template<typename _CharT, typename _Traits, typename _Alloc>
51787     basic_istream<_CharT, _Traits>&
51788     operator>>(basic_istream<_CharT, _Traits>& __in,
51789         basic_string<_CharT, _Traits, _Alloc>& __str)
51790     {
51791       typedef basic_istream<_CharT, _Traits> __istream_type;
51792       typedef typename __istream_type::int_type __int_type;
51793       typedef typename __istream_type::__streambuf_type __streambuf_type;
51794       typedef typename __istream_type::__ctype_type __ctype_type;
51795       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
51796       typedef typename __string_type::size_type __size_type;
51797
51798       __size_type __extracted = 0;
51799       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51800       typename __istream_type::sentry __cerb(__in, false);
51801       if (__cerb)
51802  {
51803    try
51804      {
51805
51806        __str.erase();
51807        _CharT __buf[128];
51808        __size_type __len = 0;
51809        const streamsize __w = __in.width();
51810        const __size_type __n = __w > 0 ? static_cast<__size_type>(__w)
51811                                 : __str.max_size();
51812        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
51813        const __int_type __eof = _Traits::eof();
51814        __streambuf_type* __sb = __in.rdbuf();
51815        __int_type __c = __sb->sgetc();
51816
51817        while (__extracted < __n
51818        && !_Traits::eq_int_type(__c, __eof)
51819        && !__ct.is(ctype_base::space, _Traits::to_char_type(__c)))
51820   {
51821     if (__len == sizeof(__buf) / sizeof(_CharT))
51822       {
51823         __str.append(__buf, sizeof(__buf) / sizeof(_CharT));
51824         __len = 0;
51825       }
51826     __buf[__len++] = _Traits::to_char_type(__c);
51827     ++__extracted;
51828     __c = __sb->snextc();
51829   }
51830        __str.append(__buf, __len);
51831
51832        if (_Traits::eq_int_type(__c, __eof))
51833   __err |= ios_base::eofbit;
51834        __in.width(0);
51835      }
51836    catch(...)
51837      {
51838
51839
51840
51841        __in._M_setstate(ios_base::badbit);
51842      }
51843  }
51844
51845       if (!__extracted)
51846  __err |= ios_base::failbit;
51847       if (__err)
51848  __in.setstate(__err);
51849       return __in;
51850     }
51851
51852   template<typename _CharT, typename _Traits, typename _Alloc>
51853     basic_istream<_CharT, _Traits>&
51854     getline(basic_istream<_CharT, _Traits>& __in,
51855      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
51856     {
51857       typedef basic_istream<_CharT, _Traits> __istream_type;
51858       typedef typename __istream_type::int_type __int_type;
51859       typedef typename __istream_type::__streambuf_type __streambuf_type;
51860       typedef typename __istream_type::__ctype_type __ctype_type;
51861       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
51862       typedef typename __string_type::size_type __size_type;
51863
51864       __size_type __extracted = 0;
51865       const __size_type __n = __str.max_size();
51866       ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
51867       typename __istream_type::sentry __cerb(__in, true);
51868       if (__cerb)
51869  {
51870    try
51871      {
51872        __str.erase();
51873        const __int_type __idelim = _Traits::to_int_type(__delim);
51874        const __int_type __eof = _Traits::eof();
51875        __streambuf_type* __sb = __in.rdbuf();
51876        __int_type __c = __sb->sgetc();
51877
51878        while (__extracted < __n
51879        && !_Traits::eq_int_type(__c, __eof)
51880        && !_Traits::eq_int_type(__c, __idelim))
51881   {
51882     __str += _Traits::to_char_type(__c);
51883     ++__extracted;
51884     __c = __sb->snextc();
51885   }
51886
51887        if (_Traits::eq_int_type(__c, __eof))
51888   __err |= ios_base::eofbit;
51889        else if (_Traits::eq_int_type(__c, __idelim))
51890   {
51891     ++__extracted;
51892     __sb->sbumpc();
51893   }
51894        else
51895   __err |= ios_base::failbit;
51896      }
51897    catch(...)
51898      {
51899
51900
51901
51902        __in._M_setstate(ios_base::badbit);
51903      }
51904  }
51905       if (!__extracted)
51906  __err |= ios_base::failbit;
51907       if (__err)
51908  __in.setstate(__err);
51909       return __in;
51910     }
51911
51912   template<class _CharT, class _Traits, class _Alloc>
51913     inline basic_istream<_CharT,_Traits>&
51914     getline(basic_istream<_CharT, _Traits>& __in,
51915      basic_string<_CharT,_Traits,_Alloc>& __str)
51916     { return getline(__in, __str, __in.widen('\n')); }
51917
51918
51919
51920
51921
51922   extern template class basic_istream<char>;
51923   extern template istream& ws(istream&);
51924   extern template istream& operator>>(istream&, char&);
51925   extern template istream& operator>>(istream&, char*);
51926   extern template istream& operator>>(istream&, unsigned char&);
51927   extern template istream& operator>>(istream&, signed char&);
51928   extern template istream& operator>>(istream&, unsigned char*);
51929   extern template istream& operator>>(istream&, signed char*);
51930
51931   extern template class basic_iostream<char>;
51932
51933
51934   extern template class basic_istream<wchar_t>;
51935   extern template wistream& ws(wistream&);
51936   extern template wistream& operator>>(wistream&, wchar_t&);
51937   extern template wistream& operator>>(wistream&, wchar_t*);
51938
51939   extern template class basic_iostream<wchar_t>;
51940
51941
51942 }
51943 # 821 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream" 2 3
51944
51945
51946 #pragma GCC visibility pop
51947 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iostream" 2 3
51948
51949 namespace std
51950 {
51951 # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iostream" 3
51952   extern istream cin;
51953   extern ostream cout;
51954   extern ostream cerr;
51955   extern ostream clog;
51956
51957
51958   extern wistream wcin;
51959   extern wostream wcout;
51960   extern wostream wcerr;
51961   extern wostream wclog;
51962
51963
51964
51965
51966   static ios_base::Init __ioinit;
51967 }
51968
51969 #pragma GCC visibility pop
51970 # 18 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/ioswrap.h" 2
51971 # 41 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/textctrl.h" 2
51972 # 51 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/textctrl.h"
51973 class wxTextCtrl;
51974 class wxTextCtrlBase;
51975
51976
51977
51978
51979
51980
51981 typedef long wxTextPos;
51982
51983
51984
51985 typedef long wxTextCoord;
51986
51987
51988
51989
51990
51991 extern const wxChar* wxTextCtrlNameStr;
51992
51993
51994
51995 const wxTextCoord wxOutOfRangeTextCoord = -1;
51996 const wxTextCoord wxInvalidTextCoord = -2;
51997 # 142 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/textctrl.h"
51998 enum wxTextCtrlHitTestResult
51999 {
52000     wxTE_HT_UNKNOWN = -2,
52001     wxTE_HT_BEFORE,
52002     wxTE_HT_ON_TEXT,
52003     wxTE_HT_BELOW,
52004     wxTE_HT_BEYOND
52005 };
52006 # 158 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/textctrl.h"
52007 enum wxTextAttrAlignment
52008 {
52009     wxTEXT_ALIGNMENT_DEFAULT,
52010     wxTEXT_ALIGNMENT_LEFT,
52011     wxTEXT_ALIGNMENT_CENTRE,
52012     wxTEXT_ALIGNMENT_CENTER = wxTEXT_ALIGNMENT_CENTRE,
52013     wxTEXT_ALIGNMENT_RIGHT,
52014     wxTEXT_ALIGNMENT_JUSTIFIED
52015 };
52016 # 189 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/textctrl.h"
52017 class wxTextAttr
52018 {
52019 public:
52020
52021     wxTextAttr() { Init(); }
52022     wxTextAttr(const wxColour& colText,
52023                const wxColour& colBack = wxNullColour,
52024                const wxFont& font = wxNullFont,
52025                wxTextAttrAlignment alignment = wxTEXT_ALIGNMENT_DEFAULT);
52026
52027
52028     void Init();
52029
52030
52031     void operator= (const wxTextAttr& attr);
52032
52033
52034     void SetTextColour(const wxColour& colText) { m_colText = colText; m_flags |= 0x0001; }
52035     void SetBackgroundColour(const wxColour& colBack) { m_colBack = colBack; m_flags |= 0x0002; }
52036     void SetFont(const wxFont& font, long flags = ( 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040 )) { m_font = font; m_flags |= flags; }
52037     void SetAlignment(wxTextAttrAlignment alignment) { m_textAlignment = alignment; m_flags |= 0x0080; }
52038     void SetTabs(const wxArrayInt& tabs) { m_tabs = tabs; m_flags |= 0x0400; }
52039     void SetLeftIndent(int indent, int subIndent = 0) { m_leftIndent = indent; m_leftSubIndent = subIndent; m_flags |= 0x0100; }
52040     void SetRightIndent(int indent) { m_rightIndent = indent; m_flags |= 0x0200; }
52041     void SetFlags(long flags) { m_flags = flags; }
52042
52043
52044     bool HasTextColour() const { return m_colText.Ok() && HasFlag(0x0001) ; }
52045     bool HasBackgroundColour() const { return m_colBack.Ok() && HasFlag(0x0002) ; }
52046     bool HasFont() const { return m_font.Ok() && HasFlag(( 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040 )) ; }
52047     bool HasAlignment() const { return (m_textAlignment != wxTEXT_ALIGNMENT_DEFAULT) || ((m_flags & 0x0080) != 0) ; }
52048     bool HasTabs() const { return (m_flags & 0x0400) != 0 ; }
52049     bool HasLeftIndent() const { return (m_flags & 0x0100) != 0 ; }
52050     bool HasRightIndent() const { return (m_flags & 0x0200) != 0 ; }
52051     bool HasFlag(long flag) const { return (m_flags & flag) != 0; }
52052
52053     const wxColour& GetTextColour() const { return m_colText; }
52054     const wxColour& GetBackgroundColour() const { return m_colBack; }
52055     const wxFont& GetFont() const { return m_font; }
52056     wxTextAttrAlignment GetAlignment() const { return m_textAlignment; }
52057     const wxArrayInt& GetTabs() const { return m_tabs; }
52058     long GetLeftIndent() const { return m_leftIndent; }
52059     long GetLeftSubIndent() const { return m_leftSubIndent; }
52060     long GetRightIndent() const { return m_rightIndent; }
52061     long GetFlags() const { return m_flags; }
52062
52063
52064     bool IsDefault() const
52065     {
52066         return !HasTextColour() && !HasBackgroundColour() && !HasFont() && !HasAlignment() &&
52067                !HasTabs() && !HasLeftIndent() && !HasRightIndent() ;
52068     }
52069
52070
52071
52072
52073     static wxTextAttr Combine(const wxTextAttr& attr,
52074                               const wxTextAttr& attrDef,
52075                               const wxTextCtrlBase *text);
52076
52077 private:
52078     long m_flags;
52079     wxColour m_colText,
52080                         m_colBack;
52081     wxFont m_font;
52082     wxTextAttrAlignment m_textAlignment;
52083     wxArrayInt m_tabs;
52084     int m_leftIndent;
52085     int m_leftSubIndent;
52086
52087
52088     int m_rightIndent;
52089 };
52090
52091
52092
52093
52094
52095
52096 class wxTextCtrlBase : public wxControl
52097
52098                                  , public std:: streambuf
52099
52100
52101 {
52102 public:
52103
52104
52105
52106     wxTextCtrlBase(){}
52107     ~wxTextCtrlBase(){}
52108
52109
52110
52111
52112     virtual wxString GetValue() const = 0;
52113     virtual void SetValue(const wxString& value) = 0;
52114
52115     virtual wxString GetRange(long from, long to) const;
52116
52117     virtual int GetLineLength(long lineNo) const = 0;
52118     virtual wxString GetLineText(long lineNo) const = 0;
52119     virtual int GetNumberOfLines() const = 0;
52120
52121     virtual bool IsModified() const = 0;
52122     virtual bool IsEditable() const = 0;
52123
52124
52125     bool IsSingleLine() const { return !HasFlag(0x0020); }
52126     bool IsMultiLine() const { return !IsSingleLine(); }
52127
52128
52129     virtual void GetSelection(long* from, long* to) const = 0;
52130
52131     virtual wxString GetStringSelection() const;
52132
52133
52134
52135
52136
52137     virtual void Clear() = 0;
52138     virtual void Replace(long from, long to, const wxString& value) = 0;
52139     virtual void Remove(long from, long to) = 0;
52140
52141
52142     virtual bool LoadFile(const wxString& file);
52143     virtual bool SaveFile(const wxString& file = wxEmptyString);
52144
52145
52146     virtual void MarkDirty() = 0;
52147     virtual void DiscardEdits() = 0;
52148
52149
52150
52151     virtual void SetMaxLength(unsigned long ) { }
52152
52153
52154
52155     virtual void WriteText(const wxString& text) = 0;
52156     virtual void AppendText(const wxString& text) = 0;
52157
52158
52159
52160     virtual bool EmulateKeyPress(const wxKeyEvent& event);
52161
52162
52163
52164
52165     virtual bool SetStyle(long start, long end, const wxTextAttr& style);
52166     virtual bool GetStyle(long position, wxTextAttr& style);
52167     virtual bool SetDefaultStyle(const wxTextAttr& style);
52168     virtual const wxTextAttr& GetDefaultStyle() const;
52169
52170
52171
52172
52173     virtual long XYToPosition(long x, long y) const = 0;
52174     virtual bool PositionToXY(long pos, long *x, long *y) const = 0;
52175
52176     virtual void ShowPosition(long pos) = 0;
52177
52178
52179
52180
52181
52182     virtual wxTextCtrlHitTestResult HitTest(const wxPoint& pt, long *pos) const;
52183     virtual wxTextCtrlHitTestResult HitTest(const wxPoint& pt,
52184                                             wxTextCoord *col,
52185                                             wxTextCoord *row) const;
52186
52187
52188     virtual void Copy() = 0;
52189     virtual void Cut() = 0;
52190     virtual void Paste() = 0;
52191
52192     virtual bool CanCopy() const;
52193     virtual bool CanCut() const;
52194     virtual bool CanPaste() const;
52195
52196
52197     virtual void Undo() = 0;
52198     virtual void Redo() = 0;
52199
52200     virtual bool CanUndo() const = 0;
52201     virtual bool CanRedo() const = 0;
52202
52203
52204     virtual void SetInsertionPoint(long pos) = 0;
52205     virtual void SetInsertionPointEnd() = 0;
52206     virtual long GetInsertionPoint() const = 0;
52207     virtual wxTextPos GetLastPosition() const = 0;
52208
52209     virtual void SetSelection(long from, long to) = 0;
52210     virtual void SelectAll();
52211     virtual void SetEditable(bool editable) = 0;
52212
52213
52214
52215     int overflow(int i);
52216
52217
52218
52219
52220     wxTextCtrl& operator<<(const wxString& s);
52221     wxTextCtrl& operator<<(int i);
52222     wxTextCtrl& operator<<(long i);
52223     wxTextCtrl& operator<<(float f);
52224     wxTextCtrl& operator<<(double d);
52225     wxTextCtrl& operator<<(const wxChar c);
52226
52227
52228     virtual void DoUpdateWindowUI(wxUpdateUIEvent& event);
52229
52230     virtual bool ShouldInheritColours() const { return false; }
52231
52232 protected:
52233
52234
52235     wxString m_filename;
52236
52237
52238     wxTextAttr m_defaultStyle;
52239
52240     private: wxTextCtrlBase(const wxTextCtrlBase&); wxTextCtrlBase& operator=(const wxTextCtrlBase&);
52241 };
52242 # 430 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/textctrl.h"
52243 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/textctrl.h" 1
52244 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/textctrl.h"
52245 class wxTextCtrl: public wxTextCtrlBase
52246 {
52247 public:
52248     wxTextCtrl() { Init(); }
52249     wxTextCtrl(wxWindow *parent,
52250                wxWindowID id,
52251                const wxString &value = wxEmptyString,
52252                const wxPoint &pos = wxDefaultPosition,
52253                const wxSize &size = wxDefaultSize,
52254                long style = 0,
52255                const wxValidator& validator = wxDefaultValidator,
52256                const wxString &name = wxTextCtrlNameStr);
52257
52258     ~wxTextCtrl();
52259
52260     bool Create(wxWindow *parent,
52261                 wxWindowID id,
52262                 const wxString &value = wxEmptyString,
52263                 const wxPoint &pos = wxDefaultPosition,
52264                 const wxSize &size = wxDefaultSize,
52265                 long style = 0,
52266                 const wxValidator& validator = wxDefaultValidator,
52267                 const wxString &name = wxTextCtrlNameStr);
52268
52269
52270
52271
52272     virtual wxString GetValue() const;
52273     virtual void SetValue(const wxString& value);
52274
52275     virtual int GetLineLength(long lineNo) const;
52276     virtual wxString GetLineText(long lineNo) const;
52277     virtual int GetNumberOfLines() const;
52278
52279     virtual bool IsModified() const;
52280     virtual bool IsEditable() const;
52281
52282
52283     virtual void GetSelection(long* from, long* to) const;
52284
52285
52286
52287
52288
52289     virtual void Clear();
52290     virtual void Replace(long from, long to, const wxString& value);
52291     virtual void Remove(long from, long to);
52292
52293
52294     virtual void MarkDirty();
52295     virtual void DiscardEdits();
52296
52297     virtual void SetMaxLength(unsigned long len);
52298
52299
52300
52301     virtual void WriteText(const wxString& text);
52302     virtual void AppendText(const wxString& text);
52303
52304
52305
52306     virtual bool SetStyle(long start, long end, const wxTextAttr& style);
52307
52308
52309
52310
52311     virtual long XYToPosition(long x, long y) const;
52312     virtual bool PositionToXY(long pos, long *x, long *y) const;
52313
52314     virtual void ShowPosition(long pos);
52315
52316
52317     virtual wxTextCtrlHitTestResult HitTest(const wxPoint& pt, long *pos) const;
52318     virtual wxTextCtrlHitTestResult HitTest(const wxPoint& pt,
52319                                             wxTextCoord *col,
52320                                             wxTextCoord *row) const
52321     {
52322         return wxTextCtrlBase::HitTest(pt, col, row);
52323     }
52324
52325
52326
52327     virtual void Copy();
52328     virtual void Cut();
52329     virtual void Paste();
52330
52331
52332     virtual void Undo();
52333     virtual void Redo();
52334
52335     virtual bool CanUndo() const;
52336     virtual bool CanRedo() const;
52337
52338
52339     virtual void SetInsertionPoint(long pos);
52340     virtual void SetInsertionPointEnd();
52341     virtual long GetInsertionPoint() const;
52342     virtual wxTextPos GetLastPosition() const;
52343
52344     virtual void SetSelection(long from, long to);
52345     virtual void SetEditable(bool editable);
52346
52347     virtual bool Enable( bool enable = true );
52348
52349
52350     void OnDropFiles( wxDropFilesEvent &event );
52351     void OnChar( wxKeyEvent &event );
52352
52353     void OnCut(wxCommandEvent& event);
52354     void OnCopy(wxCommandEvent& event);
52355     void OnPaste(wxCommandEvent& event);
52356     void OnUndo(wxCommandEvent& event);
52357     void OnRedo(wxCommandEvent& event);
52358
52359     void OnUpdateCut(wxUpdateUIEvent& event);
52360     void OnUpdateCopy(wxUpdateUIEvent& event);
52361     void OnUpdatePaste(wxUpdateUIEvent& event);
52362     void OnUpdateUndo(wxUpdateUIEvent& event);
52363     void OnUpdateRedo(wxUpdateUIEvent& event);
52364
52365     bool SetFont(const wxFont& font);
52366     bool SetForegroundColour(const wxColour& colour);
52367     bool SetBackgroundColour(const wxColour& colour);
52368
52369     GtkWidget* GetConnectWidget();
52370     bool IsOwnGtkWindow( GdkWindow *window );
52371     void DoApplyWidgetStyle(GtkRcStyle *style);
52372     void CalculateScrollbar();
52373     void OnInternalIdle();
52374
52375
52376     void SetUpdateFont(bool ) { }
52377
52378
52379
52380
52381
52382     void SetModified() { m_modified = true; }
52383
52384
52385
52386     virtual void Freeze();
52387     virtual void Thaw();
52388
52389
52390     virtual bool ScrollLines(int lines);
52391     virtual bool ScrollPages(int pages);
52392
52393
52394
52395
52396
52397
52398     virtual void OnParentEnable( bool enable ) ;
52399
52400
52401     void IgnoreNextTextUpdate();
52402
52403
52404     bool IgnoreTextUpdate();
52405
52406     static wxVisualAttributes
52407     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
52408
52409 protected:
52410     virtual wxSize DoGetBestSize() const;
52411
52412
52413     void Init();
52414
52415
52416     GtkAdjustment *GetVAdj() const;
52417
52418
52419
52420     bool DoScroll(GtkAdjustment *adj, int diff);
52421
52422
52423
52424     virtual bool UseGTKStyleBase() const { return true; }
52425
52426
52427
52428     bool IsFrozen() const { return m_frozenness > 0; }
52429
52430
52431 private:
52432
52433     void ChangeFontGlobally();
52434
52435     GtkWidget *m_text;
52436     GtkWidget *m_vScrollbar;
52437
52438     bool m_modified:1;
52439     bool m_vScrollbarVisible:1;
52440
52441
52442
52443     bool m_ignoreNextUpdate:1;
52444
52445
52446
52447
52448     GtkTextBuffer *m_buffer;
52449
52450
52451     unsigned int m_frozenness;
52452
52453
52454     void OnUrlMouseEvent(wxMouseEvent&);
52455     GdkCursor *m_gdkHandCursor;
52456     GdkCursor *m_gdkXTermCursor;
52457
52458
52459     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
52460     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
52461 };
52462 # 431 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/textctrl.h" 2
52463 # 445 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/textctrl.h"
52464
52465     extern const wxEventType wxEVT_COMMAND_TEXT_UPDATED;
52466     extern const wxEventType wxEVT_COMMAND_TEXT_ENTER;
52467     extern const wxEventType wxEVT_COMMAND_TEXT_URL;
52468     extern const wxEventType wxEVT_COMMAND_TEXT_MAXLEN;
52469
52470
52471
52472
52473 class wxTextUrlEvent : public wxCommandEvent
52474 {
52475 public:
52476     wxTextUrlEvent(int winid, const wxMouseEvent& evtMouse,
52477                    long start, long end)
52478         : wxCommandEvent(wxEVT_COMMAND_TEXT_URL, winid)
52479         , m_evtMouse(evtMouse), m_start(start), m_end(end)
52480         { }
52481
52482
52483     const wxMouseEvent& GetMouseEvent() const { return m_evtMouse; }
52484
52485
52486     long GetURLStart() const { return m_start; }
52487
52488
52489     long GetURLEnd() const { return m_end; }
52490
52491 protected:
52492
52493     wxMouseEvent m_evtMouse;
52494
52495
52496     long m_start,
52497          m_end;
52498
52499 private:
52500     private: wxTextUrlEvent(const wxTextUrlEvent&); wxTextUrlEvent& operator=(const wxTextUrlEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
52501
52502 public:
52503
52504     wxTextUrlEvent() : m_evtMouse(), m_start(0), m_end(0) { }
52505 };
52506
52507 typedef void (wxEvtHandler::*wxTextUrlEventFunction)(wxTextUrlEvent&);
52508 # 512 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/textctrl.h"
52509 class wxStreamToTextRedirector
52510 {
52511 private:
52512     void Init(wxTextCtrl *text)
52513     {
52514         m_sbufOld = m_ostr.rdbuf();
52515         m_ostr.rdbuf(text);
52516     }
52517
52518 public:
52519     wxStreamToTextRedirector(wxTextCtrl *text)
52520         : m_ostr(std:: cout)
52521     {
52522         Init(text);
52523     }
52524
52525     wxStreamToTextRedirector(wxTextCtrl *text, std:: ostream *ostr)
52526         : m_ostr(*ostr)
52527     {
52528         Init(text);
52529     }
52530
52531     ~wxStreamToTextRedirector()
52532     {
52533         m_ostr.rdbuf(m_sbufOld);
52534     }
52535
52536 private:
52537
52538     std:: ostream& m_ostr;
52539
52540
52541     std:: streambuf *m_sbufOld;
52542 };
52543 # 65 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
52544 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/slider.h" 1
52545 # 47 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/slider.h"
52546 extern const wxChar* wxSliderNameStr;
52547
52548
52549
52550
52551
52552 class wxSliderBase : public wxControl
52553 {
52554 public:
52555 # 67 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/slider.h"
52556     wxSliderBase() { }
52557
52558
52559     virtual int GetValue() const = 0;
52560     virtual void SetValue(int value) = 0;
52561
52562
52563     virtual void SetRange(int minValue, int maxValue) = 0;
52564     virtual int GetMin() const = 0;
52565     virtual int GetMax() const = 0;
52566     void SetMin( int minValue ) { SetRange( minValue , GetMax() ) ; }
52567     void SetMax( int maxValue ) { SetRange( GetMin() , maxValue ) ; }
52568
52569
52570
52571
52572     virtual void SetLineSize(int lineSize) = 0;
52573     virtual void SetPageSize(int pageSize) = 0;
52574     virtual int GetLineSize() const = 0;
52575     virtual int GetPageSize() const = 0;
52576
52577
52578     virtual void SetThumbLength(int lenPixels) = 0;
52579     virtual int GetThumbLength() const = 0;
52580
52581
52582
52583
52584     virtual void SetTickFreq(int , int ) { }
52585     virtual int GetTickFreq() const { return 0; }
52586     virtual void ClearTicks() { }
52587     virtual void SetTick(int ) { }
52588
52589     virtual void ClearSel() { }
52590     virtual int GetSelEnd() const { return GetMin(); }
52591     virtual int GetSelStart() const { return GetMax(); }
52592     virtual void SetSelection(int , int ) { }
52593
52594 protected:
52595
52596
52597     virtual int ValueInvertOrNot(int value) const
52598     {
52599         if (HasFlag(0x1000))
52600             return (GetMax() + GetMin()) - value;
52601         else
52602             return value;
52603     }
52604
52605 private:
52606     private: wxSliderBase(const wxSliderBase&); wxSliderBase& operator=(const wxSliderBase&);
52607 };
52608 # 134 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/slider.h"
52609 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/slider.h" 1
52610 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/slider.h"
52611 class wxSlider : public wxSliderBase
52612 {
52613 public:
52614     wxSlider() { }
52615     wxSlider(wxWindow *parent,
52616              wxWindowID id,
52617              int value, int minValue, int maxValue,
52618              const wxPoint& pos = wxDefaultPosition,
52619              const wxSize& size = wxDefaultSize,
52620              long style = wxHORIZONTAL,
52621              const wxValidator& validator = wxDefaultValidator,
52622              const wxString& name = wxSliderNameStr)
52623     {
52624         Create( parent, id, value, minValue, maxValue,
52625                 pos, size, style, validator, name );
52626     }
52627
52628     bool Create(wxWindow *parent,
52629                 wxWindowID id,
52630                 int value, int minValue, int maxValue,
52631                 const wxPoint& pos = wxDefaultPosition,
52632                 const wxSize& size = wxDefaultSize,
52633                 long style = wxHORIZONTAL,
52634                 const wxValidator& validator = wxDefaultValidator,
52635                 const wxString& name = wxSliderNameStr);
52636
52637
52638     virtual int GetValue() const;
52639     virtual void SetValue(int value);
52640
52641     virtual void SetRange(int minValue, int maxValue);
52642     virtual int GetMin() const;
52643     virtual int GetMax() const;
52644
52645     virtual void SetLineSize(int lineSize);
52646     virtual void SetPageSize(int pageSize);
52647     virtual int GetLineSize() const;
52648     virtual int GetPageSize() const;
52649
52650     virtual void SetThumbLength(int lenPixels);
52651     virtual int GetThumbLength() const;
52652
52653     static wxVisualAttributes
52654     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
52655
52656
52657     bool IsOwnGtkWindow( GdkWindow *window );
52658     void GtkDisableEvents();
52659     void GtkEnableEvents();
52660
52661     GtkAdjustment *m_adjust;
52662     float m_oldPos;
52663
52664 private:
52665     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
52666 };
52667 # 135 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/slider.h" 2
52668 # 66 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
52669 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gauge.h" 1
52670 # 39 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gauge.h"
52671 extern const wxChar* wxGaugeNameStr;
52672
52673
52674
52675
52676
52677 class wxGaugeBase : public wxControl
52678 {
52679 public:
52680     wxGaugeBase() { m_rangeMax = m_gaugePos = 0; }
52681     virtual ~wxGaugeBase();
52682
52683     bool Create(wxWindow *parent,
52684                 wxWindowID id,
52685                 int range,
52686                 const wxPoint& pos = wxDefaultPosition,
52687                 const wxSize& size = wxDefaultSize,
52688                 long style = wxHORIZONTAL,
52689                 const wxValidator& validator = wxDefaultValidator,
52690                 const wxString& name = wxGaugeNameStr);
52691
52692
52693     virtual void SetRange(int range);
52694     virtual int GetRange() const;
52695
52696
52697     virtual void SetValue(int pos);
52698     virtual int GetValue() const;
52699
52700
52701     bool IsVertical() const { return HasFlag(wxVERTICAL); }
52702
52703
52704
52705     virtual void SetShadowWidth(int w);
52706     virtual int GetShadowWidth() const;
52707
52708     virtual void SetBezelFace(int w);
52709     virtual int GetBezelFace() const;
52710
52711
52712     virtual bool AcceptsFocus() const { return false; }
52713
52714 protected:
52715
52716     int m_rangeMax;
52717
52718
52719     int m_gaugePos;
52720
52721     private: wxGaugeBase(const wxGaugeBase&); wxGaugeBase& operator=(const wxGaugeBase&);
52722 };
52723 # 104 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gauge.h"
52724 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/gauge.h" 1
52725 # 30 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/gauge.h"
52726 class wxGauge;
52727
52728
52729
52730
52731
52732 extern const wxChar* wxGaugeNameStr;
52733
52734
52735
52736
52737
52738 class wxGauge: public wxControl
52739 {
52740 public:
52741     wxGauge() { Init(); }
52742
52743     wxGauge( wxWindow *parent,
52744              wxWindowID id,
52745              int range,
52746              const wxPoint& pos = wxDefaultPosition,
52747              const wxSize& size = wxDefaultSize,
52748              long style = wxHORIZONTAL,
52749              const wxValidator& validator = wxDefaultValidator,
52750              const wxString& name = wxGaugeNameStr )
52751     {
52752         Init();
52753
52754         Create(parent, id, range, pos, size, style, validator, name);
52755     }
52756
52757     bool Create( wxWindow *parent,
52758                  wxWindowID id, int range,
52759                  const wxPoint& pos = wxDefaultPosition,
52760                  const wxSize& size = wxDefaultSize,
52761                  long style = wxHORIZONTAL,
52762                  const wxValidator& validator = wxDefaultValidator,
52763                  const wxString& name = wxGaugeNameStr );
52764
52765     void SetShadowWidth( int ) { }
52766     void SetBezelFace( int ) { }
52767     void SetRange( int r );
52768     void SetValue( int pos );
52769     int GetShadowWidth() const { return 0; };
52770     int GetBezelFace() const { return 0; };
52771     int GetRange() const;
52772     int GetValue() const;
52773
52774     bool IsVertical() const { return HasFlag(wxVERTICAL); }
52775
52776     static wxVisualAttributes
52777     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
52778
52779
52780
52781
52782
52783     int m_rangeMax,
52784         m_gaugePos;
52785
52786
52787
52788
52789
52790
52791 protected:
52792
52793     void Init() { m_rangeMax = m_gaugePos = 0; }
52794
52795
52796     void DoSetGauge();
52797
52798     virtual wxSize DoGetBestSize() const;
52799
52800     virtual wxVisualAttributes GetDefaultAttributes() const;
52801
52802 private:
52803     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
52804 };
52805 # 105 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gauge.h" 2
52806 # 67 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
52807 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/scrolwin.h" 1
52808 # 17 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/scrolwin.h"
52809 class wxScrollHelperEvtHandler;
52810 class wxTimer;
52811 # 216 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/scrolwin.h"
52812 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/scrolwin.h" 1
52813 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/scrolwin.h"
52814 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/panel.h" 1
52815 # 25 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/scrolwin.h" 2
52816
52817  extern const wxChar* wxPanelNameStr;
52818 # 37 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/scrolwin.h"
52819 class wxScrolledWindow : public wxPanel
52820 {
52821 public:
52822     wxScrolledWindow()
52823         { Init(); }
52824
52825     wxScrolledWindow(wxWindow *parent,
52826                      wxWindowID id = -1,
52827                      const wxPoint& pos = wxDefaultPosition,
52828                      const wxSize& size = wxDefaultSize,
52829                      long style = (0x40000000 | 0x80000000),
52830                      const wxString& name = wxPanelNameStr)
52831         { Create(parent, id, pos, size, style, name); }
52832
52833     void Init();
52834
52835     bool Create(wxWindow *parent,
52836                 wxWindowID id,
52837                 const wxPoint& pos = wxDefaultPosition,
52838                 const wxSize& size = wxDefaultSize,
52839                 long style = (0x40000000 | 0x80000000),
52840                 const wxString& name = wxPanelNameStr);
52841
52842
52843
52844
52845
52846
52847     virtual void SetTargetWindow( wxWindow *target, bool pushEventHandler = 0 );
52848     virtual wxWindow *GetTargetWindow() const;
52849
52850
52851     virtual void DoSetVirtualSize( int x, int y );
52852
52853
52854
52855     virtual wxSize GetBestVirtualSize() const;
52856
52857
52858
52859     virtual wxSize DoGetBestSize() const;
52860
52861
52862     void SetScrollRate( int xstep, int ystep );
52863
52864
52865
52866
52867
52868
52869     virtual void SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY,
52870                              int noUnitsX, int noUnitsY,
52871                              int xPos = 0, int yPos = 0,
52872                              bool noRefresh = 0 );
52873
52874
52875     virtual void Scroll(int x_pos, int y_pos);
52876
52877     int GetScrollPageSize(int orient) const;
52878     void SetScrollPageSize(int orient, int pageSize);
52879
52880     virtual void GetScrollPixelsPerUnit(int *x_unit, int *y_unit) const;
52881
52882
52883
52884
52885
52886
52887
52888     virtual void EnableScrolling(bool x_scrolling, bool y_scrolling);
52889
52890
52891     virtual void GetViewStart(int *x, int *y) const;
52892
52893
52894     void CalcScrolledPosition(int x, int y, int *xx, int *yy) const
52895         { DoCalcScrolledPosition(x, y, xx, yy); }
52896     wxPoint CalcScrolledPosition(const wxPoint& pt) const
52897     {
52898         wxPoint p2;
52899         DoCalcScrolledPosition(pt.x, pt.y, &p2.x, &p2.y);
52900         return p2;
52901     }
52902
52903     void CalcUnscrolledPosition(int x, int y, int *xx, int *yy) const
52904         { DoCalcUnscrolledPosition(x, y, xx, yy); }
52905     wxPoint CalcUnscrolledPosition(const wxPoint& pt) const
52906     {
52907         wxPoint p2;
52908         DoCalcUnscrolledPosition(pt.x, pt.y, &p2.x, &p2.y);
52909         return p2;
52910     }
52911
52912     virtual void DoCalcScrolledPosition(int x, int y, int *xx, int *yy) const;
52913     virtual void DoCalcUnscrolledPosition(int x, int y, int *xx, int *yy) const;
52914
52915
52916     virtual void OnDraw(wxDC& ) {}
52917
52918
52919
52920     void PrepareDC(wxDC& dc) { DoPrepareDC(dc); }
52921
52922
52923     virtual bool Layout();
52924
52925
52926     virtual void AdjustScrollbars();
52927
52928
52929     void SetScale(double xs, double ys) { m_scaleX = xs; m_scaleY = ys; }
52930     double GetScaleX() const { return m_scaleX; }
52931     double GetScaleY() const { return m_scaleY; }
52932
52933
52934     void OnScroll(wxScrollWinEvent& event);
52935     void OnSize(wxSizeEvent& event);
52936     void OnPaint(wxPaintEvent& event);
52937     void OnChar(wxKeyEvent& event);
52938
52939
52940     virtual int CalcScrollInc(wxScrollWinEvent& event);
52941
52942     virtual void SetScrollPos( int orient, int pos, bool refresh = 1 );
52943
52944
52945
52946
52947
52948
52949     virtual void DoPrepareDC(wxDC& dc);
52950
52951 protected:
52952     wxWindow *m_targetWindow;
52953     int m_xScrollPixelsPerLine;
52954     int m_yScrollPixelsPerLine;
52955     bool m_xScrollingEnabled;
52956     bool m_yScrollingEnabled;
52957
52958
52959
52960
52961     int m_xScrollPosition;
52962     int m_yScrollPosition;
52963     int m_xScrollLinesPerPage;
52964     int m_yScrollLinesPerPage;
52965
52966     double m_scaleY,m_scaleX;
52967
52968 private:
52969     void DoScroll(int orient, int pos, int* posOld, int pixelsPerLine);
52970     void DoAdjustScrollbars(GtkAdjustment* adj,
52971                             int pixelsPerLine,
52972                             int winSize,
52973                             int virtSize,
52974                             int *linesPerPage);
52975
52976     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
52977     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
52978 };
52979 # 217 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/scrolwin.h" 2
52980 # 68 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
52981 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dirdlg.h" 1
52982 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dirdlg.h"
52983 extern const wxChar* wxDirDialogNameStr;
52984 extern const wxChar* wxDirDialogDefaultFolderStr;
52985 extern const wxChar* wxDirSelectorPromptStr;
52986 # 94 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dirdlg.h"
52987 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/dirdlgg.h" 1
52988 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/dirdlgg.h"
52989 class wxGenericDirCtrl;
52990 class wxTextCtrl;
52991 class wxTreeEvent;
52992
52993
52994 extern const wxChar* wxDirDialogNameStr;
52995 extern const wxChar* wxDirSelectorPromptStr;
52996 # 40 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/dirdlgg.h"
52997 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dialog.h" 1
52998 # 41 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/dirdlgg.h" 2
52999
53000
53001
53002
53003
53004 class wxGenericDirDialog : public wxDialog
53005 {
53006 public:
53007     wxGenericDirDialog() : wxDialog() { }
53008
53009     wxGenericDirDialog(wxWindow* parent,
53010                        const wxString& title = wxDirSelectorPromptStr,
53011                        const wxString& defaultPath = wxEmptyString,
53012                        long style = ((0x20000000 | 0x0800 | 0x1000) | 0x0040 | 0x0080),
53013                        const wxPoint& pos = wxDefaultPosition,
53014                        const wxSize& sz = wxSize(450, 550),
53015                        const wxString& name = wxDirDialogNameStr);
53016
53017
53018     void SetMessage(const wxString& message) { m_message = message; }
53019     void SetPath(const wxString& path);
53020     void SetStyle(long style) { m_dialogStyle = style; }
53021
53022     wxString GetMessage() const { return m_message; }
53023     wxString GetPath() const;
53024     long GetStyle() const { return m_dialogStyle; }
53025
53026
53027     virtual int ShowModal();
53028
53029
53030     wxTextCtrl* GetInputCtrl() const { return m_input; }
53031
53032 protected:
53033
53034     void OnCloseWindow(wxCloseEvent& event);
53035     void OnOK(wxCommandEvent& event);
53036     void OnTreeSelected(wxTreeEvent &event);
53037     void OnTreeKeyDown(wxTreeEvent &event);
53038     void OnNew(wxCommandEvent& event);
53039     void OnGoHome(wxCommandEvent& event);
53040     void OnShowHidden(wxCommandEvent& event);
53041
53042     wxString m_message;
53043     long m_dialogStyle;
53044     wxString m_path;
53045     wxGenericDirCtrl* m_dirCtrl;
53046     wxTextCtrl* m_input;
53047
53048     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
53049     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
53050 };
53051 # 95 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dirdlg.h" 2
53052 # 103 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dirdlg.h"
53053  wxString
53054 wxDirSelector(const wxString& message = wxDirSelectorPromptStr,
53055               const wxString& defaultPath = wxEmptyString,
53056               long style = ((0x20000000 | 0x0800 | 0x1000) | 0x0040 | 0x0080),
53057               const wxPoint& pos = wxDefaultPosition,
53058               wxWindow *parent = __null);
53059 # 69 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
53060 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/toolbar.h" 1
53061 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/toolbar.h"
53062 enum
53063 {
53064
53065     wxTB_HORIZONTAL = wxHORIZONTAL,
53066
53067
53068     wxTB_VERTICAL = wxVERTICAL,
53069
53070
53071     wxTB_3DBUTTONS = 0x0010,
53072
53073
53074     wxTB_FLAT = 0x0020,
53075
53076
53077     wxTB_DOCKABLE = 0x0040,
53078
53079
53080     wxTB_NOICONS = 0x0080,
53081
53082
53083     wxTB_TEXT = 0x0100,
53084
53085
53086     wxTB_NODIVIDER = 0x0200,
53087
53088
53089     wxTB_NOALIGN = 0x0400,
53090
53091
53092     wxTB_HORZ_LAYOUT = 0x0800,
53093     wxTB_HORZ_TEXT = wxTB_HORZ_LAYOUT | wxTB_TEXT
53094 };
53095
53096
53097 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/tbarbase.h" 1
53098 # 31 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/tbarbase.h"
53099 class wxToolBarBase;
53100 class wxToolBarToolBase;
53101 class wxImage;
53102
53103
53104
53105
53106
53107 extern const wxChar* wxToolBarNameStr;
53108 extern const wxSize wxDefaultSize;
53109 extern const wxPoint wxDefaultPosition;
53110
53111 enum wxToolBarToolStyle
53112 {
53113     wxTOOL_STYLE_BUTTON = 1,
53114     wxTOOL_STYLE_SEPARATOR = 2,
53115     wxTOOL_STYLE_CONTROL
53116 };
53117 # 61 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/tbarbase.h"
53118 class wxToolBarToolBase : public wxObject
53119 {
53120 public:
53121
53122
53123
53124     wxToolBarToolBase(wxToolBarBase *tbar = (wxToolBarBase *)__null,
53125                       int toolid = wxID_SEPARATOR,
53126                       const wxString& label = wxEmptyString,
53127                       const wxBitmap& bmpNormal = wxNullBitmap,
53128                       const wxBitmap& bmpDisabled = wxNullBitmap,
53129                       wxItemKind kind = wxITEM_NORMAL,
53130                       wxObject *clientData = (wxObject *) __null,
53131                       const wxString& shortHelpString = wxEmptyString,
53132                       const wxString& longHelpString = wxEmptyString)
53133         : m_label(label),
53134           m_shortHelpString(shortHelpString),
53135           m_longHelpString(longHelpString)
53136     {
53137         m_tbar = tbar;
53138         m_id = toolid;
53139         if (m_id == wxID_ANY)
53140             m_id = wxNewId();
53141         m_clientData = clientData;
53142
53143         m_bmpNormal = bmpNormal;
53144         m_bmpDisabled = bmpDisabled;
53145
53146         m_kind = kind;
53147
53148         m_enabled = true;
53149         m_toggled = false;
53150
53151         m_toolStyle = toolid == wxID_SEPARATOR ? wxTOOL_STYLE_SEPARATOR
53152                                            : wxTOOL_STYLE_BUTTON;
53153     }
53154
53155     wxToolBarToolBase(wxToolBarBase *tbar, wxControl *control)
53156     {
53157         m_tbar = tbar;
53158         m_control = control;
53159         m_id = control->GetId();
53160
53161         m_kind = wxITEM_MAX;
53162
53163         m_enabled = true;
53164         m_toggled = false;
53165
53166         m_toolStyle = wxTOOL_STYLE_CONTROL;
53167     }
53168
53169     ~wxToolBarToolBase(){}
53170
53171
53172
53173
53174
53175     int GetId() const { return m_id; }
53176
53177     wxControl *GetControl() const
53178     {
53179         ;
53180
53181         return m_control;
53182     }
53183
53184     wxToolBarBase *GetToolBar() const { return m_tbar; }
53185
53186
53187     bool IsButton() const { return m_toolStyle == wxTOOL_STYLE_BUTTON; }
53188     bool IsControl() const { return m_toolStyle == wxTOOL_STYLE_CONTROL; }
53189     bool IsSeparator() const { return m_toolStyle == wxTOOL_STYLE_SEPARATOR; }
53190     int GetStyle() const { return m_toolStyle; }
53191     wxItemKind GetKind() const
53192     {
53193         ;
53194
53195         return m_kind;
53196     }
53197
53198
53199     bool IsEnabled() const { return m_enabled; }
53200     bool IsToggled() const { return m_toggled; }
53201     bool CanBeToggled() const
53202         { return m_kind == wxITEM_CHECK || m_kind == wxITEM_RADIO; }
53203
53204
53205     const wxBitmap& GetNormalBitmap() const { return m_bmpNormal; }
53206     const wxBitmap& GetDisabledBitmap() const { return m_bmpDisabled; }
53207
53208     const wxBitmap& GetBitmap() const
53209         { return IsEnabled() ? GetNormalBitmap() : GetDisabledBitmap(); }
53210
53211     const wxString& GetLabel() const { return m_label; }
53212
53213     const wxString& GetShortHelp() const { return m_shortHelpString; }
53214     const wxString& GetLongHelp() const { return m_longHelpString; }
53215
53216     wxObject *GetClientData() const
53217     {
53218         if ( m_toolStyle == wxTOOL_STYLE_CONTROL )
53219         {
53220             return (wxObject*)m_control->GetClientData();
53221         }
53222         else
53223         {
53224             return m_clientData;
53225         }
53226     }
53227
53228
53229     bool Enable(bool enable);
53230     bool Toggle(bool toggle);
53231     bool SetToggle(bool toggle);
53232     bool SetShortHelp(const wxString& help);
53233     bool SetLongHelp(const wxString& help);
53234
53235     void Toggle() { Toggle(!IsToggled()); }
53236
53237     void SetNormalBitmap(const wxBitmap& bmp) { m_bmpNormal = bmp; }
53238     void SetDisabledBitmap(const wxBitmap& bmp) { m_bmpDisabled = bmp; }
53239
53240     virtual void SetLabel(const wxString& label) { m_label = label; }
53241
53242     void SetClientData(wxObject *clientData)
53243     {
53244         if ( m_toolStyle == wxTOOL_STYLE_CONTROL )
53245         {
53246             m_control->SetClientData(clientData);
53247         }
53248         else
53249         {
53250             m_clientData = clientData;
53251         }
53252     }
53253
53254
53255     virtual void Detach() { m_tbar = (wxToolBarBase *)__null; }
53256     virtual void Attach(wxToolBarBase *tbar) { m_tbar = tbar; }
53257 # 210 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/tbarbase.h"
53258 protected:
53259     wxToolBarBase *m_tbar;
53260
53261
53262     int m_toolStyle;
53263     int m_id;
53264     wxItemKind m_kind;
53265
53266
53267     union
53268     {
53269         wxObject *m_clientData;
53270         wxControl *m_control;
53271     };
53272
53273
53274     bool m_toggled;
53275     bool m_enabled;
53276
53277
53278     wxBitmap m_bmpNormal;
53279     wxBitmap m_bmpDisabled;
53280
53281
53282     wxString m_label;
53283
53284
53285     wxString m_shortHelpString;
53286     wxString m_longHelpString;
53287
53288     private: wxToolBarToolBase(const wxToolBarToolBase&); wxToolBarToolBase& operator=(const wxToolBarToolBase&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
53289 };
53290
53291
53292 typedef wxToolBarToolBase _WX_LIST_ITEM_TYPE_wxToolBarToolsList; typedef int (*wxSortFuncFor_wxToolBarToolsList)(const wxToolBarToolBase **, const wxToolBarToolBase **); class wxwxToolBarToolsListNode : public wxNodeBase { public: wxwxToolBarToolsListNode(wxListBase *list = (wxListBase *)__null, wxwxToolBarToolsListNode *previous = (wxwxToolBarToolsListNode *)__null, wxwxToolBarToolsListNode *next = (wxwxToolBarToolsListNode *)__null, wxToolBarToolBase *data = (wxToolBarToolBase *)__null, const wxListKey& key = wxDefaultListKey) : wxNodeBase(list, previous, next, data, key) { } wxwxToolBarToolsListNode *GetNext() const { return (wxwxToolBarToolsListNode *)wxNodeBase::GetNext(); } wxwxToolBarToolsListNode *GetPrevious() const { return (wxwxToolBarToolsListNode *)wxNodeBase::GetPrevious(); } wxToolBarToolBase *GetData() const { return (wxToolBarToolBase *)wxNodeBase::GetData(); } void SetData(wxToolBarToolBase *data) { wxNodeBase::SetData(data); } protected: virtual void DeleteData(); private: wxwxToolBarToolsListNode(const wxwxToolBarToolsListNode&); wxwxToolBarToolsListNode& operator=(const wxwxToolBarToolsListNode&); }; class wxToolBarToolsList : public wxListBase { public: typedef wxwxToolBarToolsListNode Node; typedef Node* compatibility_iterator; wxToolBarToolsList(wxKeyType keyType = wxKEY_NONE) : wxListBase(keyType) { } wxToolBarToolsList(const wxToolBarToolsList& list) : wxListBase(list.GetKeyType()) { Assign(list); } wxToolBarToolsList(size_t count, wxToolBarToolBase *elements[]) : wxListBase(count, (void **)elements) { } wxToolBarToolsList& operator=(const wxToolBarToolsList& list) { Assign(list); return *this; } wxwxToolBarToolsListNode *GetFirst() const { return (wxwxToolBarToolsListNode *)wxListBase::GetFirst(); } wxwxToolBarToolsListNode *GetLast() const { return (wxwxToolBarToolsListNode *)wxListBase::GetLast(); } wxwxToolBarToolsListNode *Item(size_t index) const { return (wxwxToolBarToolsListNode *)wxListBase::Item(index); } wxToolBarToolBase *operator[](size_t index) const { wxwxToolBarToolsListNode *node = Item(index); return node ? (wxToolBarToolBase*)(node->GetData()) : (wxToolBarToolBase*)__null; } wxwxToolBarToolsListNode *Append(wxToolBarToolBase *object) { return (wxwxToolBarToolsListNode *)wxListBase::Append(object); } wxwxToolBarToolsListNode *Insert(wxToolBarToolBase *object) { return (wxwxToolBarToolsListNode *)Insert((wxwxToolBarToolsListNode*)__null, object); } wxwxToolBarToolsListNode *Insert(size_t pos, wxToolBarToolBase *object) { return (wxwxToolBarToolsListNode *)wxListBase::Insert(pos, object); } wxwxToolBarToolsListNode *Insert(wxwxToolBarToolsListNode *prev, wxToolBarToolBase *object) { return (wxwxToolBarToolsListNode *)wxListBase::Insert(prev, object); } wxwxToolBarToolsListNode *Append(long key, void *object) { return (wxwxToolBarToolsListNode *)wxListBase::Append(key, object); } wxwxToolBarToolsListNode *Append(const wxChar *key, void *object) { return (wxwxToolBarToolsListNode *)wxListBase::Append(key, object); } wxwxToolBarToolsListNode *DetachNode(wxwxToolBarToolsListNode *node) { return (wxwxToolBarToolsListNode *)wxListBase::DetachNode(node); } bool DeleteNode(wxwxToolBarToolsListNode *node) { return wxListBase::DeleteNode(node); } bool DeleteObject(wxToolBarToolBase *object) { return wxListBase::DeleteObject(object); } void Erase(compatibility_iterator it) { DeleteNode(it); } wxwxToolBarToolsListNode *Find(const wxToolBarToolBase *object) const { return (wxwxToolBarToolsListNode *)wxListBase::Find(object); } virtual wxwxToolBarToolsListNode *Find(const wxListKey& key) const { return (wxwxToolBarToolsListNode *)wxListBase::Find(key); } int IndexOf(wxToolBarToolBase *object) const { return wxListBase::IndexOf(object); } void Sort(wxSortCompareFunction func) { wxListBase::Sort(func); } void Sort(wxSortFuncFor_wxToolBarToolsList func) { Sort((wxSortCompareFunction)func); } protected: virtual wxNodeBase *CreateNode(wxNodeBase *prev, wxNodeBase *next, void *data, const wxListKey& key = wxDefaultListKey) { return new wxwxToolBarToolsListNode(this, (wxwxToolBarToolsListNode *)prev, (wxwxToolBarToolsListNode *)next, (wxToolBarToolBase *)data, key); } public: typedef size_t size_type; typedef int difference_type; typedef wxToolBarToolBase* value_type; typedef wxToolBarToolBase* base_value_type; typedef value_type& reference; typedef const value_type& const_reference; typedef base_value_type& base_reference; typedef const base_value_type& const_base_reference; class iterator { typedef wxToolBarToolsList list; public: typedef wxwxToolBarToolsListNode Node; typedef iterator itor; typedef wxToolBarToolBase* value_type; typedef value_type* ptr_type; typedef value_type& reference; Node* m_node; Node* m_init; public: typedef reference reference_type; typedef ptr_type pointer_type; iterator(Node* node, Node* init) : m_node(node), m_init(init) {} iterator() : m_node(__null), m_init(__null) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetNext(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetNext(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetPrevious() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetPrevious() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class const_iterator { typedef wxToolBarToolsList list; public: typedef wxwxToolBarToolsListNode Node; typedef wxToolBarToolBase* value_type; typedef const value_type& const_reference; typedef const_iterator itor; typedef value_type* ptr_type; Node* m_node; Node* m_init; public: typedef const_reference reference_type; typedef const ptr_type pointer_type; const_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } const_iterator() : m_node(__null), m_init(__null) { } const_iterator(const iterator& it) : m_node(it.m_node), m_init(it.m_init) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetNext(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetNext(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetPrevious() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetPrevious() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class reverse_iterator { typedef wxToolBarToolsList list; public: typedef wxwxToolBarToolsListNode Node; typedef wxToolBarToolBase* value_type; typedef reverse_iterator itor; typedef value_type* ptr_type; typedef value_type& reference; Node* m_node; Node* m_init; public: typedef reference reference_type; typedef ptr_type pointer_type; reverse_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } reverse_iterator() : m_node(__null), m_init(__null) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetPrevious(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetPrevious(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetNext() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetNext() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class const_reverse_iterator { typedef wxToolBarToolsList list; public: typedef wxwxToolBarToolsListNode Node; typedef wxToolBarToolBase* value_type; typedef const_reverse_iterator itor; typedef value_type* ptr_type; typedef const value_type& const_reference; Node* m_node; Node* m_init; public: typedef const_reference reference_type; typedef const ptr_type pointer_type; const_reverse_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } const_reverse_iterator() : m_node(__null), m_init(__null) { } const_reverse_iterator(const reverse_iterator& it) : m_node(it.m_node), m_init(it.m_init) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetPrevious(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetPrevious(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetNext() : m_init; return *this;} const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetNext() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; explicit wxToolBarToolsList(size_type n, const_reference v = value_type()) { assign(n, v); } wxToolBarToolsList(const const_iterator& first, const const_iterator& last) { assign(first, last); } iterator begin() { return iterator(GetFirst(), GetLast()); } const_iterator begin() const { return const_iterator(GetFirst(), GetLast()); } iterator end() { return iterator(__null, GetLast()); } const_iterator end() const { return const_iterator(__null, GetLast()); } reverse_iterator rbegin() { return reverse_iterator(GetLast(), GetFirst()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(GetLast(), GetFirst()); } reverse_iterator rend() { return reverse_iterator(__null, GetFirst()); } const_reverse_iterator rend() const { return const_reverse_iterator(__null, GetFirst()); } void resize(size_type n, value_type v = value_type()) { while (n < size()) pop_back(); while (n > size()) push_back(v); } size_type size() const { return GetCount(); } size_type max_size() const { return 2147483647; } bool empty() const { return IsEmpty(); } reference front() { return *begin(); } const_reference front() const { return *begin(); } reference back() { iterator tmp = end(); return *--tmp; } const_reference back() const { const_iterator tmp = end(); return *--tmp; } void push_front(const_reference v = value_type()) { Insert(GetFirst(), (const_base_reference)v); } void pop_front() { DeleteNode(GetFirst()); } void push_back(const_reference v = value_type()) { Append((const_base_reference)v); } void pop_back() { DeleteNode(GetLast()); } void assign(const_iterator first, const const_iterator& last) { clear(); for(; first != last; ++first) Append((const_base_reference)*first); } void assign(size_type n, const_reference v = value_type()) { clear(); for(size_type i = 0; i < n; ++i) Append((const_base_reference)v); } iterator insert(const iterator& it, const_reference v = value_type()) { Insert(it.m_node, (const_base_reference)v); return iterator(it.m_node->GetPrevious(), GetLast()); } void insert(const iterator& it, size_type n, const_reference v = value_type()) { for(size_type i = 0; i < n; ++i) Insert(it.m_node, (const_base_reference)v); } void insert(const iterator& it, const_iterator first, const const_iterator& last) { for(; first != last; ++first) Insert(it.m_node, (const_base_reference)*first); } iterator erase(const iterator& it) { iterator next = iterator(it.m_node->GetNext(), GetLast()); DeleteNode(it.m_node); return next; } iterator erase(const iterator& first, const iterator& last) { iterator next = last; ++next; DeleteNodes(first.m_node, last.m_node); return next; } void clear() { Clear(); } void splice(const iterator& it, wxToolBarToolsList& l, const iterator& first, const iterator& last) { insert(it, first, last); l.erase(first, last); } void splice(const iterator& it, wxToolBarToolsList& l) { splice(it, l, l.begin(), l.end() ); } void splice(const iterator& it, wxToolBarToolsList& l, const iterator& first) { iterator tmp = first; ++tmp; if(it == first || it == tmp) return; insert(it, *first); l.erase(first); } void remove(const_reference v) { DeleteObject((const_base_reference)v); } void reverse() { Reverse(); } };
53293
53294
53295
53296
53297
53298 class wxToolBarBase : public wxControl
53299 {
53300 public:
53301     wxToolBarBase();
53302     virtual ~wxToolBarBase();
53303 # 263 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/tbarbase.h"
53304     wxToolBarToolBase *AddTool(int toolid,
53305                                const wxString& label,
53306                                const wxBitmap& bitmap,
53307                                const wxBitmap& bmpDisabled,
53308                                wxItemKind kind = wxITEM_NORMAL,
53309                                const wxString& shortHelp = wxEmptyString,
53310                                const wxString& longHelp = wxEmptyString,
53311                                wxObject *data = __null)
53312     {
53313         return DoAddTool(toolid, label, bitmap, bmpDisabled, kind,
53314                          shortHelp, longHelp, data);
53315     }
53316
53317
53318     wxToolBarToolBase *AddTool(int toolid,
53319                                const wxString& label,
53320                                const wxBitmap& bitmap,
53321                                const wxString& shortHelp = wxEmptyString,
53322                                wxItemKind kind = wxITEM_NORMAL)
53323     {
53324         return AddTool(toolid, label, bitmap, wxNullBitmap, kind, shortHelp);
53325     }
53326
53327
53328     wxToolBarToolBase *AddCheckTool(int toolid,
53329                                     const wxString& label,
53330                                     const wxBitmap& bitmap,
53331                                     const wxBitmap& bmpDisabled = wxNullBitmap,
53332                                     const wxString& shortHelp = wxEmptyString,
53333                                     const wxString& longHelp = wxEmptyString,
53334                                     wxObject *data = __null)
53335     {
53336         return AddTool(toolid, label, bitmap, bmpDisabled, wxITEM_CHECK,
53337                        shortHelp, longHelp, data);
53338     }
53339
53340
53341
53342     wxToolBarToolBase *AddRadioTool(int toolid,
53343                                     const wxString& label,
53344                                     const wxBitmap& bitmap,
53345                                     const wxBitmap& bmpDisabled = wxNullBitmap,
53346                                     const wxString& shortHelp = wxEmptyString,
53347                                     const wxString& longHelp = wxEmptyString,
53348                                     wxObject *data = __null)
53349     {
53350         return AddTool(toolid, label, bitmap, bmpDisabled, wxITEM_RADIO,
53351                        shortHelp, longHelp, data);
53352     }
53353
53354
53355
53356
53357     virtual wxToolBarToolBase *InsertTool
53358                                (
53359                                     size_t pos,
53360                                     int toolid,
53361                                     const wxString& label,
53362                                     const wxBitmap& bitmap,
53363                                     const wxBitmap& bmpDisabled = wxNullBitmap,
53364                                     wxItemKind kind = wxITEM_NORMAL,
53365                                     const wxString& shortHelp = wxEmptyString,
53366                                     const wxString& longHelp = wxEmptyString,
53367                                     wxObject *clientData = __null
53368                                );
53369
53370     virtual wxToolBarToolBase *AddTool (wxToolBarToolBase *tool);
53371     virtual wxToolBarToolBase *InsertTool (size_t pos, wxToolBarToolBase *tool);
53372
53373
53374
53375
53376
53377
53378     virtual wxToolBarToolBase *AddControl(wxControl *control);
53379     virtual wxToolBarToolBase *InsertControl(size_t pos, wxControl *control);
53380
53381
53382     virtual wxControl *FindControl( int toolid );
53383
53384
53385     virtual wxToolBarToolBase *AddSeparator();
53386     virtual wxToolBarToolBase *InsertSeparator(size_t pos);
53387
53388
53389
53390     virtual wxToolBarToolBase *RemoveTool(int toolid);
53391
53392
53393     virtual bool DeleteToolByPos(size_t pos);
53394     virtual bool DeleteTool(int toolid);
53395
53396
53397     virtual void ClearTools();
53398
53399
53400
53401     virtual bool Realize();
53402
53403
53404
53405
53406     virtual void EnableTool(int toolid, bool enable);
53407     virtual void ToggleTool(int toolid, bool toggle);
53408
53409
53410     virtual void SetToggle(int toolid, bool toggle);
53411
53412
53413     virtual wxObject *GetToolClientData(int toolid) const;
53414     virtual void SetToolClientData(int toolid, wxObject *clientData);
53415
53416
53417     virtual int GetToolPos(int id) const;
53418
53419
53420     virtual bool GetToolState(int toolid) const;
53421
53422     virtual bool GetToolEnabled(int toolid) const;
53423
53424     virtual void SetToolShortHelp(int toolid, const wxString& helpString);
53425     virtual wxString GetToolShortHelp(int toolid) const;
53426     virtual void SetToolLongHelp(int toolid, const wxString& helpString);
53427     virtual wxString GetToolLongHelp(int toolid) const;
53428
53429
53430
53431
53432     virtual void SetMargins(int x, int y);
53433     void SetMargins(const wxSize& size)
53434         { SetMargins((int) size.x, (int) size.y); }
53435     virtual void SetToolPacking(int packing)
53436         { m_toolPacking = packing; }
53437     virtual void SetToolSeparation(int separation)
53438         { m_toolSeparation = separation; }
53439
53440     virtual wxSize GetToolMargins() const { return wxSize(m_xMargin, m_yMargin); }
53441     virtual int GetToolPacking() const { return m_toolPacking; }
53442     virtual int GetToolSeparation() const { return m_toolSeparation; }
53443
53444
53445
53446
53447
53448     virtual void SetRows(int nRows);
53449
53450
53451     void SetMaxRowsCols(int rows, int cols)
53452         { m_maxRows = rows; m_maxCols = cols; }
53453     int GetMaxRows() const { return m_maxRows; }
53454     int GetMaxCols() const { return m_maxCols; }
53455
53456
53457
53458     virtual void SetToolBitmapSize(const wxSize& size)
53459         { m_defaultWidth = size.x; m_defaultHeight = size.y; };
53460     virtual wxSize GetToolBitmapSize() const
53461         { return wxSize(m_defaultWidth, m_defaultHeight); }
53462
53463
53464
53465     virtual wxSize GetToolSize() const
53466         { return GetToolBitmapSize(); } ;
53467
53468
53469
53470     virtual wxToolBarToolBase *FindToolForPosition(wxCoord x,
53471                                                    wxCoord y) const = 0;
53472
53473
53474     wxToolBarToolBase *FindById(int toolid) const;
53475
53476
53477     bool IsVertical() const { return HasFlag(wxTB_VERTICAL); }
53478
53479
53480
53481
53482
53483
53484     wxToolBarToolBase *AddTool(int toolid,
53485                                const wxBitmap& bitmap,
53486                                const wxBitmap& bmpDisabled,
53487                                bool toggle = false,
53488                                wxObject *clientData = __null,
53489                                const wxString& shortHelpString = wxEmptyString,
53490                                const wxString& longHelpString = wxEmptyString)
53491     {
53492         return AddTool(toolid, wxEmptyString,
53493                        bitmap, bmpDisabled,
53494                        toggle ? wxITEM_CHECK : wxITEM_NORMAL,
53495                        shortHelpString, longHelpString, clientData);
53496     }
53497
53498     wxToolBarToolBase *AddTool(int toolid,
53499                                const wxBitmap& bitmap,
53500                                const wxString& shortHelpString = wxEmptyString,
53501                                const wxString& longHelpString = wxEmptyString)
53502     {
53503         return AddTool(toolid, wxEmptyString,
53504                        bitmap, wxNullBitmap, wxITEM_NORMAL,
53505                        shortHelpString, longHelpString, __null);
53506     }
53507
53508     wxToolBarToolBase *AddTool(int toolid,
53509                                const wxBitmap& bitmap,
53510                                const wxBitmap& bmpDisabled,
53511                                bool toggle,
53512                                wxCoord xPos,
53513                                wxCoord yPos = wxDefaultCoord,
53514                                wxObject *clientData = __null,
53515                                const wxString& shortHelp = wxEmptyString,
53516                                const wxString& longHelp = wxEmptyString)
53517     {
53518         return DoAddTool(toolid, wxEmptyString, bitmap, bmpDisabled,
53519                          toggle ? wxITEM_CHECK : wxITEM_NORMAL,
53520                          shortHelp, longHelp, clientData, xPos, yPos);
53521     }
53522
53523     wxToolBarToolBase *InsertTool(size_t pos,
53524                                   int toolid,
53525                                   const wxBitmap& bitmap,
53526                                   const wxBitmap& bmpDisabled = wxNullBitmap,
53527                                   bool toggle = false,
53528                                   wxObject *clientData = __null,
53529                                   const wxString& shortHelp = wxEmptyString,
53530                                   const wxString& longHelp = wxEmptyString)
53531     {
53532         return InsertTool(pos, toolid, wxEmptyString, bitmap, bmpDisabled,
53533                           toggle ? wxITEM_CHECK : wxITEM_NORMAL,
53534                           shortHelp, longHelp, clientData);
53535     }
53536
53537
53538
53539
53540
53541
53542
53543     virtual bool OnLeftClick(int toolid, bool toggleDown);
53544
53545
53546     virtual void OnRightClick(int toolid, long x, long y);
53547
53548
53549
53550     virtual void OnMouseEnter(int toolid);
53551
53552
53553
53554
53555
53556     wxSize GetMargins() const { return GetToolMargins(); }
53557
53558
53559
53560
53561     size_t GetToolsCount() const { return m_tools.GetCount(); }
53562
53563
53564     virtual void UpdateWindowUI(long flags = wxUPDATE_UI_NONE) ;
53565
53566
53567     virtual bool AcceptsFocus() const { return false; }
53568
53569 protected:
53570
53571
53572
53573
53574
53575     virtual wxToolBarToolBase *DoAddTool
53576                                (
53577                                    int toolid,
53578                                    const wxString& label,
53579                                    const wxBitmap& bitmap,
53580                                    const wxBitmap& bmpDisabled,
53581                                    wxItemKind kind,
53582                                    const wxString& shortHelp = wxEmptyString,
53583                                    const wxString& longHelp = wxEmptyString,
53584                                    wxObject *clientData = __null,
53585                                    wxCoord xPos = wxDefaultCoord,
53586                                    wxCoord yPos = wxDefaultCoord
53587                                );
53588
53589
53590
53591     virtual bool DoInsertTool(size_t pos, wxToolBarToolBase *tool) = 0;
53592
53593
53594
53595     virtual bool DoDeleteTool(size_t pos, wxToolBarToolBase *tool) = 0;
53596
53597
53598     virtual void DoEnableTool(wxToolBarToolBase *tool, bool enable) = 0;
53599
53600
53601     virtual void DoToggleTool(wxToolBarToolBase *tool, bool toggle) = 0;
53602
53603
53604     virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle) = 0;
53605
53606
53607     virtual wxToolBarToolBase *CreateTool(int toolid,
53608                                           const wxString& label,
53609                                           const wxBitmap& bmpNormal,
53610                                           const wxBitmap& bmpDisabled,
53611                                           wxItemKind kind,
53612                                           wxObject *clientData,
53613                                           const wxString& shortHelp,
53614                                           const wxString& longHelp) = 0;
53615
53616     virtual wxToolBarToolBase *CreateTool(wxControl *control) = 0;
53617
53618
53619
53620
53621
53622     void UnToggleRadioGroup(wxToolBarToolBase *tool);
53623
53624
53625     wxToolBarToolsList m_tools;
53626
53627
53628     int m_xMargin;
53629     int m_yMargin;
53630
53631
53632     int m_maxRows;
53633     int m_maxCols;
53634
53635
53636     int m_toolPacking,
53637         m_toolSeparation;
53638
53639
53640     wxCoord m_defaultWidth, m_defaultHeight;
53641
53642 private:
53643     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
53644     private: wxToolBarBase(const wxToolBarBase&); wxToolBarBase& operator=(const wxToolBarBase&);
53645 };
53646
53647
53648 bool wxCreateGreyedImage(const wxImage& in, wxImage& out) ;
53649 # 57 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/toolbar.h" 2
53650 # 71 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/toolbar.h"
53651 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/tbargtk.h" 1
53652 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/tbargtk.h"
53653 class wxToolBar : public wxToolBarBase
53654 {
53655 public:
53656
53657     wxToolBar() { Init(); }
53658     wxToolBar( wxWindow *parent,
53659                wxWindowID id,
53660                const wxPoint& pos = wxDefaultPosition,
53661                const wxSize& size = wxDefaultSize,
53662                long style = 0,
53663                const wxString& name = wxToolBarNameStr )
53664     {
53665         Init();
53666
53667         Create(parent, id, pos, size, style, name);
53668     }
53669
53670     bool Create( wxWindow *parent,
53671                  wxWindowID id,
53672                  const wxPoint& pos = wxDefaultPosition,
53673                  const wxSize& size = wxDefaultSize,
53674                  long style = 0,
53675                  const wxString& name = wxToolBarNameStr );
53676
53677     virtual ~wxToolBar();
53678
53679
53680     virtual void SetMargins(int x, int y);
53681     virtual void SetToolSeparation(int separation);
53682
53683     virtual wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y) const;
53684
53685     virtual void SetToolShortHelp(int id, const wxString& helpString);
53686
53687     virtual void SetWindowStyleFlag( long style );
53688
53689     static wxVisualAttributes
53690     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
53691
53692
53693
53694
53695     GtkToolbar *m_toolbar;
53696
53697     bool m_blockEvent;
53698
53699     void OnInternalIdle();
53700
53701 protected:
53702
53703     void Init();
53704
53705
53706     void GtkSetStyle();
53707
53708
53709     virtual bool DoInsertTool(size_t pos, wxToolBarToolBase *tool);
53710     virtual bool DoDeleteTool(size_t pos, wxToolBarToolBase *tool);
53711
53712     virtual void DoEnableTool(wxToolBarToolBase *tool, bool enable);
53713     virtual void DoToggleTool(wxToolBarToolBase *tool, bool toggle);
53714     virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle);
53715
53716     virtual wxToolBarToolBase *CreateTool(int id,
53717                                           const wxString& label,
53718                                           const wxBitmap& bitmap1,
53719                                           const wxBitmap& bitmap2,
53720                                           wxItemKind kind,
53721                                           wxObject *clientData,
53722                                           const wxString& shortHelpString,
53723                                           const wxString& longHelpString);
53724     virtual wxToolBarToolBase *CreateTool(wxControl *control);
53725
53726 private:
53727     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
53728 };
53729 # 72 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/toolbar.h" 2
53730 # 70 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
53731 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/combobox.h" 1
53732 # 19 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/combobox.h"
53733 extern const wxChar* wxComboBoxNameStr;
53734 # 28 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/combobox.h"
53735 class wxComboBoxBase : public wxItemContainer
53736 {
53737 public:
53738
53739     virtual wxString GetValue() const = 0;
53740     virtual void SetValue(const wxString& value) = 0;
53741
53742     virtual void Copy() = 0;
53743     virtual void Cut() = 0;
53744     virtual void Paste() = 0;
53745     virtual void SetInsertionPoint(long pos) = 0;
53746     virtual long GetInsertionPoint() const = 0;
53747     virtual wxTextPos GetLastPosition() const = 0;
53748     virtual void Replace(long from, long to, const wxString& value) = 0;
53749     virtual void SetSelection(long from, long to) = 0;
53750     virtual void SetEditable(bool editable) = 0;
53751
53752     virtual void SetInsertionPointEnd()
53753         { SetInsertionPoint(GetLastPosition()); }
53754     virtual void Remove(long from, long to)
53755         { Replace(from, to, wxEmptyString); }
53756
53757     virtual bool IsEditable() const = 0;
53758
53759     virtual void Undo() = 0;
53760     virtual void Redo() = 0;
53761     virtual void SelectAll() = 0;
53762
53763     virtual bool CanCopy() const = 0;
53764     virtual bool CanCut() const = 0;
53765     virtual bool CanPaste() const = 0;
53766     virtual bool CanUndo() const = 0;
53767     virtual bool CanRedo() const = 0;
53768
53769
53770
53771
53772     virtual void SetSelection(int n) = 0;
53773 };
53774 # 79 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/combobox.h"
53775 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/combobox.h" 1
53776 # 29 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/combobox.h"
53777 class wxComboBox;
53778
53779
53780
53781
53782
53783 extern const wxChar* wxComboBoxNameStr;
53784 extern const wxChar* wxEmptyString;
53785
53786
53787
53788
53789
53790 class wxComboBox : public wxControl, public wxComboBoxBase
53791 {
53792 public:
53793     inline wxComboBox() {}
53794     inline wxComboBox(wxWindow *parent, wxWindowID id,
53795            const wxString& value = wxEmptyString,
53796            const wxPoint& pos = wxDefaultPosition,
53797            const wxSize& size = wxDefaultSize,
53798            int n = 0, const wxString choices[] = (const wxString *) __null,
53799            long style = 0,
53800            const wxValidator& validator = wxDefaultValidator,
53801            const wxString& name = wxComboBoxNameStr)
53802     {
53803         Create(parent, id, value, pos, size, n, choices, style, validator, name);
53804     }
53805     inline wxComboBox(wxWindow *parent, wxWindowID id,
53806            const wxString& value,
53807            const wxPoint& pos,
53808            const wxSize& size,
53809            const wxArrayString& choices,
53810            long style = 0,
53811            const wxValidator& validator = wxDefaultValidator,
53812            const wxString& name = wxComboBoxNameStr)
53813     {
53814         Create(parent, id, value, pos, size, choices, style, validator, name);
53815     }
53816
53817     ~wxComboBox();
53818
53819     bool Create(wxWindow *parent, wxWindowID id,
53820            const wxString& value = wxEmptyString,
53821            const wxPoint& pos = wxDefaultPosition,
53822            const wxSize& size = wxDefaultSize,
53823            int n = 0, const wxString choices[] = (const wxString *) __null,
53824            long style = 0,
53825            const wxValidator& validator = wxDefaultValidator,
53826            const wxString& name = wxComboBoxNameStr);
53827     bool Create(wxWindow *parent, wxWindowID id,
53828            const wxString& value,
53829            const wxPoint& pos,
53830            const wxSize& size,
53831            const wxArrayString& choices,
53832            long style = 0,
53833            const wxValidator& validator = wxDefaultValidator,
53834            const wxString& name = wxComboBoxNameStr);
53835
53836     void Clear();
53837     void Delete( int n );
53838
53839     virtual int FindString( const wxString &item ) const;
53840     int GetSelection() const;
53841
53842     int GetCurrentSelection() const;
53843
53844     wxString GetString( int n ) const;
53845     wxString GetStringSelection() const;
53846     int GetCount() const;
53847     int Number() const { return GetCount(); }
53848     void SetSelection( int n );
53849     void SetString(int n, const wxString &text);
53850
53851     wxString GetValue() const;
53852     void SetValue(const wxString& value);
53853
53854     void Copy();
53855     void Cut();
53856     void Paste();
53857     bool CanCopy() const;
53858     bool CanCut() const;
53859     bool CanPaste() const;
53860     void SetInsertionPoint( long pos );
53861     void SetInsertionPointEnd() { SetInsertionPoint( -1 ); }
53862     long GetInsertionPoint() const;
53863     virtual wxTextPos GetLastPosition() const;
53864     void Remove(long from, long to) { Replace(from, to, wxEmptyString); }
53865     void Replace( long from, long to, const wxString& value );
53866     void SetSelection( long from, long to );
53867     void GetSelection( long* from, long* to ) const;
53868     void SetEditable( bool editable );
53869     void Undo() ;
53870     void Redo() ;
53871     bool CanUndo() const;
53872     bool CanRedo() const;
53873     void SelectAll();
53874     bool IsEditable() const ;
53875     bool HasSelection() const ;
53876
53877
53878
53879     virtual void SetFocus();
53880
53881     void OnSize( wxSizeEvent &event );
53882     void OnChar( wxKeyEvent &event );
53883
53884
53885     void OnCut(wxCommandEvent& event);
53886     void OnCopy(wxCommandEvent& event);
53887     void OnPaste(wxCommandEvent& event);
53888     void OnUndo(wxCommandEvent& event);
53889     void OnRedo(wxCommandEvent& event);
53890     void OnDelete(wxCommandEvent& event);
53891     void OnSelectAll(wxCommandEvent& event);
53892
53893     void OnUpdateCut(wxUpdateUIEvent& event);
53894     void OnUpdateCopy(wxUpdateUIEvent& event);
53895     void OnUpdatePaste(wxUpdateUIEvent& event);
53896     void OnUpdateUndo(wxUpdateUIEvent& event);
53897     void OnUpdateRedo(wxUpdateUIEvent& event);
53898     void OnUpdateDelete(wxUpdateUIEvent& event);
53899     void OnUpdateSelectAll(wxUpdateUIEvent& event);
53900
53901     bool m_ignoreNextUpdate:1;
53902     wxList m_clientDataList;
53903     wxList m_clientObjectList;
53904     int m_prevSelection;
53905
53906     void DisableEvents();
53907     void EnableEvents();
53908     GtkWidget* GetConnectWidget();
53909     bool IsOwnGtkWindow( GdkWindow *window );
53910     void DoApplyWidgetStyle(GtkRcStyle *style);
53911
53912     void SetClientData(void *data) { wxControl::SetClientData(data); } void *GetClientData() const { return wxControl::GetClientData(); } void SetClientObject(wxClientData *data) { wxControl::SetClientObject(data); } wxClientData *GetClientObject() const { return wxControl::GetClientObject(); } void SetClientData(int n, void* clientData) { wxItemContainer::SetClientData(n, clientData); } void* GetClientData(int n) const { return wxItemContainer::GetClientData(n); } void SetClientObject(int n, wxClientData* clientData) { wxItemContainer::SetClientObject(n, clientData); } wxClientData* GetClientObject(int n) const { return wxItemContainer::GetClientObject(n); }
53913
53914     static wxVisualAttributes
53915     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
53916
53917 protected:
53918     virtual int DoAppend(const wxString& item);
53919     virtual int DoInsert(const wxString& item, int pos);
53920
53921     virtual void DoSetItemClientData( int n, void* clientData );
53922     virtual void* DoGetItemClientData( int n ) const;
53923     virtual void DoSetItemClientObject( int n, wxClientData* clientData );
53924     virtual wxClientData* DoGetItemClientObject( int n ) const;
53925
53926     virtual wxSize DoGetBestSize() const;
53927
53928
53929
53930     virtual bool UseGTKStyleBase() const { return true; }
53931
53932 private:
53933     private: wxComboBox(const wxComboBox&); wxComboBox& operator=(const wxComboBox&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
53934     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
53935 };
53936 # 80 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/combobox.h" 2
53937 # 71 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
53938 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/layout.h" 1
53939 # 37 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/layout.h"
53940 class wxWindowBase;
53941 class wxLayoutConstraints;
53942
53943
53944
53945
53946
53947
53948
53949 enum wxEdge
53950 {
53951     wxLeft, wxTop, wxRight, wxBottom, wxWidth, wxHeight,
53952     wxCentre, wxCenter = wxCentre, wxCentreX, wxCentreY
53953 };
53954
53955 enum wxRelationship
53956 {
53957     wxUnconstrained = 0,
53958     wxAsIs,
53959     wxPercentOf,
53960     wxAbove,
53961     wxBelow,
53962     wxLeftOf,
53963     wxRightOf,
53964     wxSameAs,
53965     wxAbsolute
53966 };
53967
53968
53969
53970
53971
53972 class wxIndividualLayoutConstraint : public wxObject
53973 {
53974 public:
53975     wxIndividualLayoutConstraint();
53976
53977
53978
53979     ~wxIndividualLayoutConstraint(){}
53980
53981     void Set(wxRelationship rel, wxWindowBase *otherW, wxEdge otherE, int val = 0, int marg = 0);
53982
53983
53984
53985
53986     void LeftOf(wxWindowBase *sibling, int marg = 0);
53987     void RightOf(wxWindowBase *sibling, int marg = 0);
53988     void Above(wxWindowBase *sibling, int marg = 0);
53989     void Below(wxWindowBase *sibling, int marg = 0);
53990
53991
53992
53993
53994     void SameAs(wxWindowBase *otherW, wxEdge edge, int marg = 0);
53995
53996
53997     void PercentOf(wxWindowBase *otherW, wxEdge wh, int per);
53998
53999
54000
54001
54002     void Absolute(int val);
54003
54004
54005
54006
54007     void Unconstrained() { relationship = wxUnconstrained; }
54008
54009
54010
54011
54012     void AsIs() { relationship = wxAsIs; }
54013
54014
54015
54016
54017     wxWindowBase *GetOtherWindow() { return otherWin; }
54018     wxEdge GetMyEdge() const { return myEdge; }
54019     void SetEdge(wxEdge which) { myEdge = which; }
54020     void SetValue(int v) { value = v; }
54021     int GetMargin() { return margin; }
54022     void SetMargin(int m) { margin = m; }
54023     int GetValue() const { return value; }
54024     int GetPercent() const { return percent; }
54025     int GetOtherEdge() const { return otherEdge; }
54026     bool GetDone() const { return done; }
54027     void SetDone(bool d) { done = d; }
54028     wxRelationship GetRelationship() { return relationship; }
54029     void SetRelationship(wxRelationship r) { relationship = r; }
54030
54031
54032     bool ResetIfWin(wxWindowBase *otherW);
54033
54034
54035     bool SatisfyConstraint(wxLayoutConstraints *constraints, wxWindowBase *win);
54036
54037
54038
54039     int GetEdge(wxEdge which, wxWindowBase *thisWin, wxWindowBase *other) const;
54040
54041 protected:
54042
54043     friend class wxIndividualLayoutConstraint_Serialize;
54044
54045
54046     wxWindowBase *otherWin;
54047
54048     wxEdge myEdge;
54049     wxRelationship relationship;
54050     int margin;
54051     int value;
54052     int percent;
54053     wxEdge otherEdge;
54054     bool done;
54055
54056     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
54057 };
54058
54059
54060
54061
54062
54063 class wxLayoutConstraints : public wxObject
54064 {
54065 public:
54066
54067     wxIndividualLayoutConstraint left;
54068     wxIndividualLayoutConstraint top;
54069     wxIndividualLayoutConstraint right;
54070     wxIndividualLayoutConstraint bottom;
54071
54072     wxIndividualLayoutConstraint width;
54073     wxIndividualLayoutConstraint height;
54074
54075     wxIndividualLayoutConstraint centreX;
54076     wxIndividualLayoutConstraint centreY;
54077
54078     wxLayoutConstraints();
54079
54080
54081
54082     ~wxLayoutConstraints(){}
54083
54084     bool SatisfyConstraints(wxWindowBase *win, int *noChanges);
54085     bool AreSatisfied() const
54086     {
54087         return left.GetDone() && top.GetDone() &&
54088                width.GetDone() && height.GetDone();
54089     }
54090
54091     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
54092 };
54093 # 72 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
54094 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/sizer.h" 1
54095 # 25 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/sizer.h"
54096 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/bookctrl.h" 1
54097 # 30 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/bookctrl.h"
54098 typedef wxWindow * _wxArraywxArrayPages; struct wxAssert_wxArrayPages { unsigned int TypeTooBigToBeStoredInwxBaseArrayPtrVoid: sizeof(_wxArraywxArrayPages) <= sizeof(wxBaseArrayPtrVoid::base_type); }; typedef int ( *CMPFUNC_wxArraywxArrayPages)(_wxArraywxArrayPages *pItem1, _wxArraywxArrayPages *pItem2); class wxArrayPages : public wxBaseArrayPtrVoid { public: wxArrayPages() { } ~wxArrayPages() { } wxArrayPages& operator=(const wxArrayPages& src) { wxBaseArrayPtrVoid* temp = (wxBaseArrayPtrVoid*) this; (*temp) = ((const wxBaseArrayPtrVoid&)src); return *this; } _wxArraywxArrayPages& operator[](size_t uiIndex) const { return (_wxArraywxArrayPages&)(wxBaseArrayPtrVoid::operator[](uiIndex)); } _wxArraywxArrayPages& Item(size_t uiIndex) const { return (_wxArraywxArrayPages&)(wxBaseArrayPtrVoid::operator[](uiIndex)); } _wxArraywxArrayPages& Last() const { return (_wxArraywxArrayPages&)(wxBaseArrayPtrVoid::operator[](Count() - 1)); } int Index(_wxArraywxArrayPages lItem, bool bFromEnd = false) const { return wxBaseArrayPtrVoid::Index((base_type)lItem, bFromEnd); } void Add(_wxArraywxArrayPages lItem, size_t nInsert = 1) { wxBaseArrayPtrVoid::Add((base_type)lItem, nInsert); } void Insert(_wxArraywxArrayPages lItem, size_t uiIndex, size_t nInsert = 1) { wxBaseArrayPtrVoid::Insert((base_type)lItem, uiIndex, nInsert) ; } void RemoveAt(size_t uiIndex, size_t nRemove = 1) { wxBaseArrayPtrVoid::RemoveAt(uiIndex, nRemove); } void Remove(_wxArraywxArrayPages lItem) { int iIndex = Index(lItem); if (!(iIndex != (-1))) {; return; }; wxBaseArrayPtrVoid::RemoveAt((size_t)iIndex); } void Sort(CMPFUNC_wxArraywxArrayPages fCmp) { wxBaseArrayPtrVoid::Sort((CMPFUNC)fCmp); } private: typedef wxBaseArrayPtrVoid::iterator biterator; typedef wxBaseArrayPtrVoid::const_iterator bconst_iterator; typedef wxBaseArrayPtrVoid::value_type bvalue_type; typedef wxBaseArrayPtrVoid::const_reference bconst_reference; public: typedef _wxArraywxArrayPages value_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type* iterator; typedef const value_type* const_iterator; typedef value_type& reference; typedef const value_type& const_reference; typedef wxBaseArrayPtrVoid::difference_type difference_type; typedef wxBaseArrayPtrVoid::size_type size_type; class reverse_iterator { typedef _wxArraywxArrayPages value_type; typedef value_type& reference; typedef value_type* pointer; typedef reverse_iterator itor; friend inline itor operator+(int o, const itor& it) { return it.m_ptr - o; } friend inline itor operator+(const itor& it, int o) { return it.m_ptr - o; } friend inline itor operator-(const itor& it, int o) { return it.m_ptr + o; } friend inline difference_type operator-(const itor& i1, const itor& i2) { return i1.m_ptr - i2.m_ptr; } public: pointer m_ptr; reverse_iterator() : m_ptr(__null) { } reverse_iterator(pointer ptr) : m_ptr(ptr) { } reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { } reference operator*() const { return *m_ptr; } itor& operator++() { --m_ptr; return *this; } const itor operator++(int) { reverse_iterator tmp = *this; --m_ptr; return tmp; } itor& operator--() { ++m_ptr; return *this; } const itor operator--(int) { itor tmp = *this; ++m_ptr; return tmp; } bool operator ==(const itor& it) { return m_ptr == it.m_ptr; } bool operator !=(const itor& it) { return m_ptr != it.m_ptr; } }; class const_reverse_iterator { typedef _wxArraywxArrayPages value_type; typedef const value_type& reference; typedef const value_type* pointer; typedef const_reverse_iterator itor; friend inline itor operator+(int o, const itor& it) { return it.m_ptr - o; } friend inline itor operator+(const itor& it, int o) { return it.m_ptr - o; } friend inline itor operator-(const itor& it, int o) { return it.m_ptr + o; } friend inline difference_type operator-(const itor& i1, const itor& i2) { return i1.m_ptr - i2.m_ptr; } public: pointer m_ptr; const_reverse_iterator() : m_ptr(__null) { } const_reverse_iterator(pointer ptr) : m_ptr(ptr) { } const_reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { } const_reverse_iterator(const reverse_iterator& it) : m_ptr(it.m_ptr) { } reference operator*() const { return *m_ptr; } itor& operator++() { --m_ptr; return *this; } const itor operator++(int) { itor tmp = *this; --m_ptr; return tmp; } itor& operator--() { ++m_ptr; return *this; } const itor operator--(int) { itor tmp = *this; ++m_ptr; return tmp; } bool operator ==(const itor& it) { return m_ptr == it.m_ptr; } bool operator !=(const itor& it) { return m_ptr != it.m_ptr; } }; wxArrayPages(size_type n, const_reference v) { assign(n, v); } wxArrayPages(const_iterator first, const_iterator last) { assign(first, last); } void assign(const_iterator first, const_iterator last) { wxBaseArrayPtrVoid::assign((bconst_iterator)first, (bconst_iterator)last); } void assign(size_type n, const_reference v) { wxBaseArrayPtrVoid::assign(n, (bconst_reference)v); } reference back() { return *(end() - 1); } const_reference back() const { return *(end() - 1); } iterator begin() { return (iterator)wxBaseArrayPtrVoid::begin(); } const_iterator begin() const { return (const_iterator)wxBaseArrayPtrVoid::begin(); } size_type capacity() const { return wxBaseArrayPtrVoid::capacity(); } iterator end() { return (iterator)wxBaseArrayPtrVoid::end(); } const_iterator end() const { return (const_iterator)wxBaseArrayPtrVoid::end(); } iterator erase(iterator first, iterator last) { return (iterator)wxBaseArrayPtrVoid::erase((biterator)first, (biterator)last); } iterator erase(iterator it) { return (iterator)wxBaseArrayPtrVoid::erase((biterator)it); } reference front() { return *begin(); } const_reference front() const { return *begin(); } void insert(iterator it, size_type n, const_reference v) { wxBaseArrayPtrVoid::insert((biterator)it, n, (bconst_reference)v); } iterator insert(iterator it, const_reference v = value_type()) { return (iterator)wxBaseArrayPtrVoid::insert((biterator)it, (bconst_reference)v); } void insert(iterator it, const_iterator first, const_iterator last) { wxBaseArrayPtrVoid::insert((biterator)it, (bconst_iterator)first, (bconst_iterator)last); } void pop_back() { wxBaseArrayPtrVoid::pop_back(); } void push_back(const_reference v) { wxBaseArrayPtrVoid::push_back((bconst_reference)v); } reverse_iterator rbegin() { return reverse_iterator(end() - 1); } const_reverse_iterator rbegin() const; reverse_iterator rend() { return reverse_iterator(begin() - 1); } const_reverse_iterator rend() const; void reserve(size_type n) { wxBaseArrayPtrVoid::reserve(n); }; void resize(size_type n, value_type v = value_type()); };
54099
54100 class wxImageList;
54101
54102
54103
54104
54105
54106 class wxBookCtrlBase : public wxControl
54107 {
54108 public:
54109
54110
54111
54112     wxBookCtrlBase()
54113     {
54114         Init();
54115     }
54116
54117     wxBookCtrlBase(wxWindow *parent,
54118                    wxWindowID winid,
54119                    const wxPoint& pos = wxDefaultPosition,
54120                    const wxSize& size = wxDefaultSize,
54121                    long style = 0,
54122                    const wxString& name = wxEmptyString)
54123     {
54124         Init();
54125
54126         (void)Create(parent, winid, pos, size, style, name);
54127     }
54128
54129
54130     bool Create(wxWindow *parent,
54131                 wxWindowID winid,
54132                 const wxPoint& pos = wxDefaultPosition,
54133                 const wxSize& size = wxDefaultSize,
54134                 long style = 0,
54135                 const wxString& name = wxEmptyString);
54136
54137
54138     virtual ~wxBookCtrlBase();
54139
54140
54141
54142
54143
54144
54145     virtual size_t GetPageCount() const { return m_pages.size(); }
54146
54147
54148     virtual wxWindow *GetPage(size_t n) { return m_pages[n]; }
54149
54150
54151     wxWindow *GetCurrentPage() const
54152     {
54153         int n = GetSelection();
54154         return n == (-1) ? __null
54155                                 : const_cast<wxBookCtrlBase *>(this)->GetPage(n);
54156     }
54157
54158
54159     virtual int GetSelection() const = 0;
54160
54161
54162     virtual bool SetPageText(size_t n, const wxString& strText) = 0;
54163     virtual wxString GetPageText(size_t n) const = 0;
54164
54165
54166
54167
54168
54169
54170
54171     virtual void SetImageList(wxImageList *imageList);
54172
54173
54174     void AssignImageList(wxImageList *imageList);
54175
54176
54177     wxImageList* GetImageList() const { return m_imageList; }
54178
54179
54180     virtual int GetPageImage(size_t n) const = 0;
54181     virtual bool SetPageImage(size_t n, int imageId) = 0;
54182
54183
54184
54185
54186
54187
54188     virtual void SetPageSize(const wxSize& size);
54189
54190
54191     virtual wxSize CalcSizeFromPage(const wxSize& sizePage) const = 0;
54192
54193
54194
54195
54196
54197
54198     virtual bool DeletePage(size_t n);
54199
54200
54201     virtual bool RemovePage(size_t n)
54202     {
54203         InvalidateBestSize();
54204         return DoRemovePage(n) != __null;
54205     }
54206
54207
54208     virtual bool DeleteAllPages()
54209     {
54210         InvalidateBestSize();
54211         { size_t count = (m_pages).size(); for ( size_t n = 0; n < count; n++ ) { delete (m_pages)[n]; } (m_pages).clear(); };
54212         return true;
54213     }
54214
54215
54216     virtual bool AddPage(wxWindow *page,
54217                          const wxString& text,
54218                          bool bSelect = false,
54219                          int imageId = -1)
54220     {
54221         InvalidateBestSize();
54222         return InsertPage(GetPageCount(), page, text, bSelect, imageId);
54223     }
54224
54225
54226     virtual bool InsertPage(size_t n,
54227                             wxWindow *page,
54228                             const wxString& text,
54229                             bool bSelect = false,
54230                             int imageId = -1) = 0;
54231
54232
54233
54234
54235
54236     virtual int SetSelection(size_t n) = 0;
54237
54238
54239
54240     void AdvanceSelection(bool forward = true)
54241     {
54242         int nPage = GetNextPage(forward);
54243         if ( nPage != -1 )
54244         {
54245
54246             SetSelection((size_t)nPage);
54247         }
54248     }
54249
54250 protected:
54251
54252     virtual wxWindow *DoRemovePage(size_t page) = 0;
54253
54254
54255     virtual wxSize DoGetBestSize() const;
54256
54257
54258     int GetNextPage(bool forward) const;
54259
54260
54261     void Init();
54262
54263
54264     virtual void SetInitialBestSize(const wxSize& ) { }
54265
54266
54267     wxArrayPages m_pages;
54268
54269
54270     wxImageList *m_imageList;
54271
54272
54273     bool m_ownsImageList;
54274
54275
54276     private: wxBookCtrlBase(const wxBookCtrlBase&); wxBookCtrlBase& operator=(const wxBookCtrlBase&);
54277 };
54278
54279
54280
54281
54282
54283 class wxBookCtrlBaseEvent : public wxNotifyEvent
54284 {
54285 public:
54286     wxBookCtrlBaseEvent(wxEventType commandType = wxEVT_NULL, int winid = 0,
54287                         int nSel = -1, int nOldSel = -1)
54288         : wxNotifyEvent(commandType, winid)
54289         {
54290             m_nSel = nSel;
54291             m_nOldSel = nOldSel;
54292         }
54293
54294
54295
54296     int GetSelection() const { return m_nSel; }
54297     void SetSelection(int nSel) { m_nSel = nSel; }
54298
54299     int GetOldSelection() const { return m_nOldSel; }
54300     void SetOldSelection(int nOldSel) { m_nOldSel = nOldSel; }
54301
54302 private:
54303     int m_nSel,
54304         m_nOldSel;
54305 };
54306
54307
54308
54309
54310 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/notebook.h" 1
54311 # 27 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/notebook.h"
54312 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/bookctrl.h" 1
54313 # 28 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/notebook.h" 2
54314
54315
54316
54317
54318
54319
54320 enum
54321 {
54322     wxNB_HITTEST_NOWHERE = 1,
54323     wxNB_HITTEST_ONICON = 2,
54324     wxNB_HITTEST_ONLABEL = 4,
54325     wxNB_HITTEST_ONITEM = wxNB_HITTEST_ONICON | wxNB_HITTEST_ONLABEL
54326 };
54327
54328 typedef wxWindow wxNotebookPage;
54329
54330 extern const wxChar* wxNotebookNameStr;
54331 # 54 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/notebook.h"
54332 class wxNotebookBase : public wxBookCtrlBase
54333 {
54334 public:
54335
54336
54337
54338     wxNotebookBase() { }
54339
54340     wxNotebookBase(wxWindow *parent,
54341                    wxWindowID winid,
54342                    const wxPoint& pos = wxDefaultPosition,
54343                    const wxSize& size = wxDefaultSize,
54344                    long style = 0,
54345                    const wxString& name = wxNotebookNameStr) ;
54346
54347
54348
54349
54350
54351
54352     virtual int GetRowCount() const { return 1; }
54353
54354
54355     virtual void SetPadding(const wxSize& padding) = 0;
54356
54357
54358     virtual void SetTabSize(const wxSize& sz) = 0;
54359
54360
54361
54362     virtual int HitTest(const wxPoint& ,
54363                         long * = __null) const
54364     {
54365         return (-1);
54366     }
54367
54368
54369
54370     virtual wxSize CalcSizeFromPage(const wxSize& sizePage) const;
54371
54372
54373     virtual wxColour GetThemeBackgroundColour() const { return wxNullColour; }
54374
54375
54376
54377
54378     virtual void ReservedNotebookFunc1() {}
54379     virtual void ReservedNotebookFunc2() {}
54380     virtual void ReservedNotebookFunc3() {}
54381     virtual void ReservedNotebookFunc4() {}
54382     virtual void ReservedNotebookFunc5() {}
54383
54384
54385 protected:
54386     private: wxNotebookBase(const wxNotebookBase&); wxNotebookBase& operator=(const wxNotebookBase&);
54387 };
54388
54389
54390
54391
54392
54393 class wxNotebookEvent : public wxBookCtrlBaseEvent
54394 {
54395 public:
54396     wxNotebookEvent(wxEventType commandType = wxEVT_NULL, int winid = 0,
54397                     int nSel = -1, int nOldSel = -1)
54398         : wxBookCtrlBaseEvent(commandType, winid, nSel, nOldSel)
54399     {
54400     }
54401
54402 private:
54403     private: wxNotebookEvent(const wxNotebookEvent&); wxNotebookEvent& operator=(const wxNotebookEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
54404 };
54405
54406
54407     extern const wxEventType wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED;
54408     extern const wxEventType wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING;
54409
54410
54411 typedef void (wxEvtHandler::*wxNotebookEventFunction)(wxNotebookEvent&);
54412 # 155 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/notebook.h"
54413 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/notebook.h" 1
54414 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/notebook.h"
54415 class wxGtkNotebookPage;
54416
54417
54418 typedef wxGtkNotebookPage _WX_LIST_ITEM_TYPE_wxGtkNotebookPagesList; typedef int (*wxSortFuncFor_wxGtkNotebookPagesList)(const wxGtkNotebookPage **, const wxGtkNotebookPage **); class wxwxGtkNotebookPagesListNode : public wxNodeBase { public: wxwxGtkNotebookPagesListNode(wxListBase *list = (wxListBase *)__null, wxwxGtkNotebookPagesListNode *previous = (wxwxGtkNotebookPagesListNode *)__null, wxwxGtkNotebookPagesListNode *next = (wxwxGtkNotebookPagesListNode *)__null, wxGtkNotebookPage *data = (wxGtkNotebookPage *)__null, const wxListKey& key = wxDefaultListKey) : wxNodeBase(list, previous, next, data, key) { } wxwxGtkNotebookPagesListNode *GetNext() const { return (wxwxGtkNotebookPagesListNode *)wxNodeBase::GetNext(); } wxwxGtkNotebookPagesListNode *GetPrevious() const { return (wxwxGtkNotebookPagesListNode *)wxNodeBase::GetPrevious(); } wxGtkNotebookPage *GetData() const { return (wxGtkNotebookPage *)wxNodeBase::GetData(); } void SetData(wxGtkNotebookPage *data) { wxNodeBase::SetData(data); } protected: virtual void DeleteData(); private: wxwxGtkNotebookPagesListNode(const wxwxGtkNotebookPagesListNode&); wxwxGtkNotebookPagesListNode& operator=(const wxwxGtkNotebookPagesListNode&); }; class wxGtkNotebookPagesList : public wxListBase { public: typedef wxwxGtkNotebookPagesListNode Node; typedef Node* compatibility_iterator; wxGtkNotebookPagesList(wxKeyType keyType = wxKEY_NONE) : wxListBase(keyType) { } wxGtkNotebookPagesList(const wxGtkNotebookPagesList& list) : wxListBase(list.GetKeyType()) { Assign(list); } wxGtkNotebookPagesList(size_t count, wxGtkNotebookPage *elements[]) : wxListBase(count, (void **)elements) { } wxGtkNotebookPagesList& operator=(const wxGtkNotebookPagesList& list) { Assign(list); return *this; } wxwxGtkNotebookPagesListNode *GetFirst() const { return (wxwxGtkNotebookPagesListNode *)wxListBase::GetFirst(); } wxwxGtkNotebookPagesListNode *GetLast() const { return (wxwxGtkNotebookPagesListNode *)wxListBase::GetLast(); } wxwxGtkNotebookPagesListNode *Item(size_t index) const { return (wxwxGtkNotebookPagesListNode *)wxListBase::Item(index); } wxGtkNotebookPage *operator[](size_t index) const { wxwxGtkNotebookPagesListNode *node = Item(index); return node ? (wxGtkNotebookPage*)(node->GetData()) : (wxGtkNotebookPage*)__null; } wxwxGtkNotebookPagesListNode *Append(wxGtkNotebookPage *object) { return (wxwxGtkNotebookPagesListNode *)wxListBase::Append(object); } wxwxGtkNotebookPagesListNode *Insert(wxGtkNotebookPage *object) { return (wxwxGtkNotebookPagesListNode *)Insert((wxwxGtkNotebookPagesListNode*)__null, object); } wxwxGtkNotebookPagesListNode *Insert(size_t pos, wxGtkNotebookPage *object) { return (wxwxGtkNotebookPagesListNode *)wxListBase::Insert(pos, object); } wxwxGtkNotebookPagesListNode *Insert(wxwxGtkNotebookPagesListNode *prev, wxGtkNotebookPage *object) { return (wxwxGtkNotebookPagesListNode *)wxListBase::Insert(prev, object); } wxwxGtkNotebookPagesListNode *Append(long key, void *object) { return (wxwxGtkNotebookPagesListNode *)wxListBase::Append(key, object); } wxwxGtkNotebookPagesListNode *Append(const wxChar *key, void *object) { return (wxwxGtkNotebookPagesListNode *)wxListBase::Append(key, object); } wxwxGtkNotebookPagesListNode *DetachNode(wxwxGtkNotebookPagesListNode *node) { return (wxwxGtkNotebookPagesListNode *)wxListBase::DetachNode(node); } bool DeleteNode(wxwxGtkNotebookPagesListNode *node) { return wxListBase::DeleteNode(node); } bool DeleteObject(wxGtkNotebookPage *object) { return wxListBase::DeleteObject(object); } void Erase(compatibility_iterator it) { DeleteNode(it); } wxwxGtkNotebookPagesListNode *Find(const wxGtkNotebookPage *object) const { return (wxwxGtkNotebookPagesListNode *)wxListBase::Find(object); } virtual wxwxGtkNotebookPagesListNode *Find(const wxListKey& key) const { return (wxwxGtkNotebookPagesListNode *)wxListBase::Find(key); } int IndexOf(wxGtkNotebookPage *object) const { return wxListBase::IndexOf(object); } void Sort(wxSortCompareFunction func) { wxListBase::Sort(func); } void Sort(wxSortFuncFor_wxGtkNotebookPagesList func) { Sort((wxSortCompareFunction)func); } protected: virtual wxNodeBase *CreateNode(wxNodeBase *prev, wxNodeBase *next, void *data, const wxListKey& key = wxDefaultListKey) { return new wxwxGtkNotebookPagesListNode(this, (wxwxGtkNotebookPagesListNode *)prev, (wxwxGtkNotebookPagesListNode *)next, (wxGtkNotebookPage *)data, key); } public: typedef size_t size_type; typedef int difference_type; typedef wxGtkNotebookPage* value_type; typedef wxGtkNotebookPage* base_value_type; typedef value_type& reference; typedef const value_type& const_reference; typedef base_value_type& base_reference; typedef const base_value_type& const_base_reference; class iterator { typedef wxGtkNotebookPagesList list; public: typedef wxwxGtkNotebookPagesListNode Node; typedef iterator itor; typedef wxGtkNotebookPage* value_type; typedef value_type* ptr_type; typedef value_type& reference; Node* m_node; Node* m_init; public: typedef reference reference_type; typedef ptr_type pointer_type; iterator(Node* node, Node* init) : m_node(node), m_init(init) {} iterator() : m_node(__null), m_init(__null) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetNext(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetNext(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetPrevious() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetPrevious() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class const_iterator { typedef wxGtkNotebookPagesList list; public: typedef wxwxGtkNotebookPagesListNode Node; typedef wxGtkNotebookPage* value_type; typedef const value_type& const_reference; typedef const_iterator itor; typedef value_type* ptr_type; Node* m_node; Node* m_init; public: typedef const_reference reference_type; typedef const ptr_type pointer_type; const_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } const_iterator() : m_node(__null), m_init(__null) { } const_iterator(const iterator& it) : m_node(it.m_node), m_init(it.m_init) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetNext(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetNext(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetPrevious() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetPrevious() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class reverse_iterator { typedef wxGtkNotebookPagesList list; public: typedef wxwxGtkNotebookPagesListNode Node; typedef wxGtkNotebookPage* value_type; typedef reverse_iterator itor; typedef value_type* ptr_type; typedef value_type& reference; Node* m_node; Node* m_init; public: typedef reference reference_type; typedef ptr_type pointer_type; reverse_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } reverse_iterator() : m_node(__null), m_init(__null) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetPrevious(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetPrevious(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetNext() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetNext() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class const_reverse_iterator { typedef wxGtkNotebookPagesList list; public: typedef wxwxGtkNotebookPagesListNode Node; typedef wxGtkNotebookPage* value_type; typedef const_reverse_iterator itor; typedef value_type* ptr_type; typedef const value_type& const_reference; Node* m_node; Node* m_init; public: typedef const_reference reference_type; typedef const ptr_type pointer_type; const_reverse_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } const_reverse_iterator() : m_node(__null), m_init(__null) { } const_reverse_iterator(const reverse_iterator& it) : m_node(it.m_node), m_init(it.m_init) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetPrevious(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetPrevious(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetNext() : m_init; return *this;} const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetNext() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; explicit wxGtkNotebookPagesList(size_type n, const_reference v = value_type()) { assign(n, v); } wxGtkNotebookPagesList(const const_iterator& first, const const_iterator& last) { assign(first, last); } iterator begin() { return iterator(GetFirst(), GetLast()); } const_iterator begin() const { return const_iterator(GetFirst(), GetLast()); } iterator end() { return iterator(__null, GetLast()); } const_iterator end() const { return const_iterator(__null, GetLast()); } reverse_iterator rbegin() { return reverse_iterator(GetLast(), GetFirst()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(GetLast(), GetFirst()); } reverse_iterator rend() { return reverse_iterator(__null, GetFirst()); } const_reverse_iterator rend() const { return const_reverse_iterator(__null, GetFirst()); } void resize(size_type n, value_type v = value_type()) { while (n < size()) pop_back(); while (n > size()) push_back(v); } size_type size() const { return GetCount(); } size_type max_size() const { return 2147483647; } bool empty() const { return IsEmpty(); } reference front() { return *begin(); } const_reference front() const { return *begin(); } reference back() { iterator tmp = end(); return *--tmp; } const_reference back() const { const_iterator tmp = end(); return *--tmp; } void push_front(const_reference v = value_type()) { Insert(GetFirst(), (const_base_reference)v); } void pop_front() { DeleteNode(GetFirst()); } void push_back(const_reference v = value_type()) { Append((const_base_reference)v); } void pop_back() { DeleteNode(GetLast()); } void assign(const_iterator first, const const_iterator& last) { clear(); for(; first != last; ++first) Append((const_base_reference)*first); } void assign(size_type n, const_reference v = value_type()) { clear(); for(size_type i = 0; i < n; ++i) Append((const_base_reference)v); } iterator insert(const iterator& it, const_reference v = value_type()) { Insert(it.m_node, (const_base_reference)v); return iterator(it.m_node->GetPrevious(), GetLast()); } void insert(const iterator& it, size_type n, const_reference v = value_type()) { for(size_type i = 0; i < n; ++i) Insert(it.m_node, (const_base_reference)v); } void insert(const iterator& it, const_iterator first, const const_iterator& last) { for(; first != last; ++first) Insert(it.m_node, (const_base_reference)*first); } iterator erase(const iterator& it) { iterator next = iterator(it.m_node->GetNext(), GetLast()); DeleteNode(it.m_node); return next; } iterator erase(const iterator& first, const iterator& last) { iterator next = last; ++next; DeleteNodes(first.m_node, last.m_node); return next; } void clear() { Clear(); } void splice(const iterator& it, wxGtkNotebookPagesList& l, const iterator& first, const iterator& last) { insert(it, first, last); l.erase(first, last); } void splice(const iterator& it, wxGtkNotebookPagesList& l) { splice(it, l, l.begin(), l.end() ); } void splice(const iterator& it, wxGtkNotebookPagesList& l, const iterator& first) { iterator tmp = first; ++tmp; if(it == first || it == tmp) return; insert(it, *first); l.erase(first); } void remove(const_reference v) { DeleteObject((const_base_reference)v); } void reverse() { Reverse(); } };
54419
54420
54421
54422
54423
54424 class wxNotebook : public wxNotebookBase
54425 {
54426 public:
54427
54428     wxNotebook();
54429
54430     wxNotebook(wxWindow *parent,
54431              wxWindowID id,
54432              const wxPoint& pos = wxDefaultPosition,
54433              const wxSize& size = wxDefaultSize,
54434              long style = 0,
54435              const wxString& name = wxNotebookNameStr);
54436
54437     bool Create(wxWindow *parent,
54438               wxWindowID id,
54439               const wxPoint& pos = wxDefaultPosition,
54440               const wxSize& size = wxDefaultSize,
54441               long style = 0,
54442               const wxString& name = wxNotebookNameStr);
54443
54444     virtual ~wxNotebook();
54445
54446
54447
54448
54449
54450
54451
54452   int SetSelection(size_t nPage);
54453
54454   int GetSelection() const;
54455
54456
54457   bool SetPageText(size_t nPage, const wxString& strText);
54458   wxString GetPageText(size_t nPage) const;
54459
54460
54461   int GetPageImage(size_t nPage) const;
54462   bool SetPageImage(size_t nPage, int nImage);
54463
54464
54465
54466   void SetPageSize(const wxSize& size);
54467
54468   void SetPadding(const wxSize& padding);
54469
54470   void SetTabSize(const wxSize& sz);
54471
54472   virtual int HitTest(const wxPoint& pt, long *flags = __null) const;
54473
54474
54475
54476
54477   bool DeleteAllPages();
54478
54479
54480
54481
54482     bool InsertPage( size_t position,
54483                      wxNotebookPage *win,
54484                      const wxString& strText,
54485                      bool bSelect = false,
54486                      int imageId = -1 );
54487
54488
54489
54490     void OnNavigationKey(wxNavigationKeyEvent& event);
54491
54492
54493     static wxVisualAttributes
54494     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
54495
54496
54497
54498
54499
54500     void SetConstraintSizes(bool recurse);
54501     bool DoPhase(int phase);
54502
54503
54504
54505     void DoApplyWidgetStyle(GtkRcStyle *style);
54506
54507
54508     bool IsOwnGtkWindow( GdkWindow *window );
54509
54510
54511     void Init();
54512
54513
54514     wxGtkNotebookPage* GetNotebookPage(int page) const;
54515
54516
54517     wxGtkNotebookPagesList m_pagesData;
54518
54519
54520
54521     int m_selection;
54522
54523
54524     bool m_inSwitchPage;
54525
54526 protected:
54527
54528     virtual wxNotebookPage *DoRemovePage(size_t nPage);
54529
54530 private:
54531
54532     int m_padding;
54533
54534     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
54535     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
54536 };
54537 # 156 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/notebook.h" 2
54538 # 243 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/bookctrl.h" 2
54539 # 26 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/sizer.h" 2
54540
54541
54542
54543
54544
54545 class wxSizerItem;
54546 class wxSizer;
54547 class wxBoxSizer;
54548
54549
54550
54551
54552
54553
54554 class wxSizerFlags
54555 {
54556 public:
54557
54558
54559     wxSizerFlags(int proportion = 0) : m_proportion(proportion)
54560     {
54561         m_flags = 0;
54562         m_borderInPixels = 0;
54563     }
54564
54565
54566
54567
54568     wxSizerFlags& Proportion(int proportion)
54569     {
54570         m_proportion = proportion;
54571         return *this;
54572     }
54573
54574     wxSizerFlags& Align(int alignment)
54575     {
54576         m_flags &= wxALL;
54577         m_flags |= alignment;
54578
54579         return *this;
54580     }
54581
54582
54583     wxSizerFlags& Expand() { return Align(wxEXPAND); }
54584     wxSizerFlags& Centre() { return Align(wxCENTRE); }
54585     wxSizerFlags& Center() { return Centre(); }
54586     wxSizerFlags& Left() { return Align(wxALIGN_LEFT); }
54587     wxSizerFlags& Right() { return Align(wxALIGN_RIGHT); }
54588
54589
54590     wxSizerFlags& Border(int direction, int borderInPixels)
54591     {
54592         m_flags &= ~wxALL;
54593         m_flags |= direction;
54594
54595         m_borderInPixels = borderInPixels;
54596
54597         return *this;
54598     }
54599
54600     wxSizerFlags& Border(int direction = wxALL)
54601     {
54602
54603         return Border(direction, 5);
54604     }
54605
54606
54607
54608     int GetProportion() const { return m_proportion; }
54609     int GetFlags() const { return m_flags; }
54610     int GetBorderInPixels() const { return m_borderInPixels; }
54611
54612 private:
54613     int m_proportion;
54614     int m_flags;
54615     int m_borderInPixels;
54616 };
54617
54618
54619
54620
54621
54622
54623 class wxSizerSpacer
54624 {
54625 public:
54626     wxSizerSpacer(const wxSize& size) : m_size(size), m_isShown(true) { }
54627
54628     void SetSize(const wxSize& size) { m_size = size; }
54629     const wxSize& GetSize() const { return m_size; }
54630
54631     void Show(bool show) { m_isShown = show; }
54632     bool IsShown() const { return m_isShown; }
54633
54634 private:
54635
54636     wxSize m_size;
54637
54638
54639     bool m_isShown;
54640 };
54641
54642
54643
54644
54645
54646 class wxSizerItem : public wxObject
54647 {
54648 public:
54649
54650     wxSizerItem( wxWindow *window,
54651                  int proportion,
54652                  int flag,
54653                  int border,
54654                  wxObject* userData );
54655
54656
54657     wxSizerItem(wxWindow *window, const wxSizerFlags& flags)
54658     {
54659         Init(flags);
54660
54661         SetWindow(window);
54662     }
54663
54664
54665     wxSizerItem( wxSizer *sizer,
54666                  int proportion,
54667                  int flag,
54668                  int border,
54669                  wxObject* userData );
54670
54671
54672     wxSizerItem(wxSizer *sizer, const wxSizerFlags& flags)
54673     {
54674         Init(flags);
54675
54676         SetSizer(sizer);
54677     }
54678
54679
54680     wxSizerItem( int width,
54681                  int height,
54682                  int proportion,
54683                  int flag,
54684                  int border,
54685                  wxObject* userData);
54686
54687
54688     wxSizerItem(int width, int height, const wxSizerFlags& flags)
54689     {
54690         Init(flags);
54691
54692         SetSpacer(width, height);
54693     }
54694
54695     wxSizerItem();
54696     virtual ~wxSizerItem();
54697
54698     virtual void DeleteWindows();
54699
54700
54701     void DetachSizer() { m_sizer = __null; }
54702
54703     virtual wxSize GetSize() const;
54704     virtual wxSize CalcMin();
54705     virtual void SetDimension( wxPoint pos, wxSize size );
54706
54707     wxSize GetMinSize() const
54708         { return m_minSize; }
54709     wxSize GetMinSizeWithBorder() const;
54710
54711     void SetMinSize(const wxSize& size)
54712     {
54713         if ( IsWindow() )
54714             m_window->SetMinSize(size);
54715         m_minSize = size;
54716     }
54717     void SetMinSize( int x, int y )
54718         { SetMinSize(wxSize(x, y)); }
54719     void SetInitSize( int x, int y )
54720         { SetMinSize(wxSize(x, y)); }
54721
54722
54723
54724     void SetRatio(int width, int height)
54725         { m_ratio = (width && height) ? ((float) width / (float) height) : 1; }
54726     void SetRatio(const wxSize& size)
54727         { SetRatio(size.x, size.y); }
54728     void SetRatio(float ratio)
54729         { m_ratio = ratio; }
54730     float GetRatio() const
54731         { return m_ratio; }
54732
54733     virtual wxRect GetRect() { return m_rect; }
54734
54735     bool IsWindow() const { return m_kind == Item_Window; }
54736     bool IsSizer() const { return m_kind == Item_Sizer; }
54737     bool IsSpacer() const { return m_kind == Item_Spacer; }
54738
54739
54740     void SetOption( int option ) __attribute__ ((deprecated));
54741     int GetOption() const __attribute__ ((deprecated));
54742
54743     void SetProportion( int proportion )
54744         { m_proportion = proportion; }
54745     int GetProportion() const
54746         { return m_proportion; }
54747     void SetFlag( int flag )
54748         { m_flag = flag; }
54749     int GetFlag() const
54750         { return m_flag; }
54751     void SetBorder( int border )
54752         { m_border = border; }
54753     int GetBorder() const
54754         { return m_border; }
54755
54756     wxWindow *GetWindow() const
54757         { return m_kind == Item_Window ? m_window : __null; }
54758     wxSizer *GetSizer() const
54759         { return m_kind == Item_Sizer ? m_sizer : __null; }
54760     wxSize GetSpacer() const;
54761
54762     void Show(bool show);
54763     bool IsShown() const;
54764
54765
54766     void SetUserData(wxObject* userData)
54767         { delete m_userData; m_userData = userData; }
54768
54769     wxObject* GetUserData() const
54770         { return m_userData; }
54771     wxPoint GetPosition() const
54772         { return m_pos; }
54773
54774
54775
54776     void SetWindow(wxWindow *window);
54777     void SetSizer(wxSizer *sizer);
54778     void SetSpacer(const wxSize& size);
54779     void SetSpacer(int width, int height) { SetSpacer(wxSize(width, height)); }
54780
54781 protected:
54782
54783     void Init() { m_userData = __null; }
54784
54785
54786     void Init(const wxSizerFlags& flags);
54787
54788     enum
54789     {
54790         Item_None,
54791         Item_Window,
54792         Item_Sizer,
54793         Item_Spacer,
54794         Item_Max
54795     } m_kind;
54796     union
54797     {
54798         wxWindow *m_window;
54799         wxSizer *m_sizer;
54800         wxSizerSpacer *m_spacer;
54801     };
54802
54803     wxPoint m_pos;
54804     wxSize m_minSize;
54805     int m_proportion;
54806     int m_border;
54807     int m_flag;
54808
54809
54810     wxRect m_rect;
54811
54812
54813
54814
54815     float m_ratio;
54816
54817     wxObject *m_userData;
54818
54819 private:
54820     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
54821     private: wxSizerItem(const wxSizerItem&); wxSizerItem& operator=(const wxSizerItem&);
54822 };
54823
54824 typedef wxSizerItem _WX_LIST_ITEM_TYPE_wxSizerItemList; typedef int (*wxSortFuncFor_wxSizerItemList)(const wxSizerItem **, const wxSizerItem **); class wxwxSizerItemListNode : public wxNodeBase { public: wxwxSizerItemListNode(wxListBase *list = (wxListBase *)__null, wxwxSizerItemListNode *previous = (wxwxSizerItemListNode *)__null, wxwxSizerItemListNode *next = (wxwxSizerItemListNode *)__null, wxSizerItem *data = (wxSizerItem *)__null, const wxListKey& key = wxDefaultListKey) : wxNodeBase(list, previous, next, data, key) { } wxwxSizerItemListNode *GetNext() const { return (wxwxSizerItemListNode *)wxNodeBase::GetNext(); } wxwxSizerItemListNode *GetPrevious() const { return (wxwxSizerItemListNode *)wxNodeBase::GetPrevious(); } wxSizerItem *GetData() const { return (wxSizerItem *)wxNodeBase::GetData(); } void SetData(wxSizerItem *data) { wxNodeBase::SetData(data); } protected: virtual void DeleteData(); private: wxwxSizerItemListNode(const wxwxSizerItemListNode&); wxwxSizerItemListNode& operator=(const wxwxSizerItemListNode&); }; class wxSizerItemList : public wxListBase { public: typedef wxwxSizerItemListNode Node; typedef Node* compatibility_iterator; wxSizerItemList(wxKeyType keyType = wxKEY_NONE) : wxListBase(keyType) { } wxSizerItemList(const wxSizerItemList& list) : wxListBase(list.GetKeyType()) { Assign(list); } wxSizerItemList(size_t count, wxSizerItem *elements[]) : wxListBase(count, (void **)elements) { } wxSizerItemList& operator=(const wxSizerItemList& list) { Assign(list); return *this; } wxwxSizerItemListNode *GetFirst() const { return (wxwxSizerItemListNode *)wxListBase::GetFirst(); } wxwxSizerItemListNode *GetLast() const { return (wxwxSizerItemListNode *)wxListBase::GetLast(); } wxwxSizerItemListNode *Item(size_t index) const { return (wxwxSizerItemListNode *)wxListBase::Item(index); } wxSizerItem *operator[](size_t index) const { wxwxSizerItemListNode *node = Item(index); return node ? (wxSizerItem*)(node->GetData()) : (wxSizerItem*)__null; } wxwxSizerItemListNode *Append(wxSizerItem *object) { return (wxwxSizerItemListNode *)wxListBase::Append(object); } wxwxSizerItemListNode *Insert(wxSizerItem *object) { return (wxwxSizerItemListNode *)Insert((wxwxSizerItemListNode*)__null, object); } wxwxSizerItemListNode *Insert(size_t pos, wxSizerItem *object) { return (wxwxSizerItemListNode *)wxListBase::Insert(pos, object); } wxwxSizerItemListNode *Insert(wxwxSizerItemListNode *prev, wxSizerItem *object) { return (wxwxSizerItemListNode *)wxListBase::Insert(prev, object); } wxwxSizerItemListNode *Append(long key, void *object) { return (wxwxSizerItemListNode *)wxListBase::Append(key, object); } wxwxSizerItemListNode *Append(const wxChar *key, void *object) { return (wxwxSizerItemListNode *)wxListBase::Append(key, object); } wxwxSizerItemListNode *DetachNode(wxwxSizerItemListNode *node) { return (wxwxSizerItemListNode *)wxListBase::DetachNode(node); } bool DeleteNode(wxwxSizerItemListNode *node) { return wxListBase::DeleteNode(node); } bool DeleteObject(wxSizerItem *object) { return wxListBase::DeleteObject(object); } void Erase(compatibility_iterator it) { DeleteNode(it); } wxwxSizerItemListNode *Find(const wxSizerItem *object) const { return (wxwxSizerItemListNode *)wxListBase::Find(object); } virtual wxwxSizerItemListNode *Find(const wxListKey& key) const { return (wxwxSizerItemListNode *)wxListBase::Find(key); } int IndexOf(wxSizerItem *object) const { return wxListBase::IndexOf(object); } void Sort(wxSortCompareFunction func) { wxListBase::Sort(func); } void Sort(wxSortFuncFor_wxSizerItemList func) { Sort((wxSortCompareFunction)func); } protected: virtual wxNodeBase *CreateNode(wxNodeBase *prev, wxNodeBase *next, void *data, const wxListKey& key = wxDefaultListKey) { return new wxwxSizerItemListNode(this, (wxwxSizerItemListNode *)prev, (wxwxSizerItemListNode *)next, (wxSizerItem *)data, key); } public: typedef size_t size_type; typedef int difference_type; typedef wxSizerItem* value_type; typedef wxSizerItem* base_value_type; typedef value_type& reference; typedef const value_type& const_reference; typedef base_value_type& base_reference; typedef const base_value_type& const_base_reference; class iterator { typedef wxSizerItemList list; public: typedef wxwxSizerItemListNode Node; typedef iterator itor; typedef wxSizerItem* value_type; typedef value_type* ptr_type; typedef value_type& reference; Node* m_node; Node* m_init; public: typedef reference reference_type; typedef ptr_type pointer_type; iterator(Node* node, Node* init) : m_node(node), m_init(init) {} iterator() : m_node(__null), m_init(__null) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetNext(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetNext(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetPrevious() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetPrevious() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class const_iterator { typedef wxSizerItemList list; public: typedef wxwxSizerItemListNode Node; typedef wxSizerItem* value_type; typedef const value_type& const_reference; typedef const_iterator itor; typedef value_type* ptr_type; Node* m_node; Node* m_init; public: typedef const_reference reference_type; typedef const ptr_type pointer_type; const_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } const_iterator() : m_node(__null), m_init(__null) { } const_iterator(const iterator& it) : m_node(it.m_node), m_init(it.m_init) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetNext(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetNext(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetPrevious() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetPrevious() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class reverse_iterator { typedef wxSizerItemList list; public: typedef wxwxSizerItemListNode Node; typedef wxSizerItem* value_type; typedef reverse_iterator itor; typedef value_type* ptr_type; typedef value_type& reference; Node* m_node; Node* m_init; public: typedef reference reference_type; typedef ptr_type pointer_type; reverse_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } reverse_iterator() : m_node(__null), m_init(__null) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetPrevious(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetPrevious(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetNext() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetNext() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class const_reverse_iterator { typedef wxSizerItemList list; public: typedef wxwxSizerItemListNode Node; typedef wxSizerItem* value_type; typedef const_reverse_iterator itor; typedef value_type* ptr_type; typedef const value_type& const_reference; Node* m_node; Node* m_init; public: typedef const_reference reference_type; typedef const ptr_type pointer_type; const_reverse_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } const_reverse_iterator() : m_node(__null), m_init(__null) { } const_reverse_iterator(const reverse_iterator& it) : m_node(it.m_node), m_init(it.m_init) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetPrevious(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetPrevious(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetNext() : m_init; return *this;} const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetNext() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; explicit wxSizerItemList(size_type n, const_reference v = value_type()) { assign(n, v); } wxSizerItemList(const const_iterator& first, const const_iterator& last) { assign(first, last); } iterator begin() { return iterator(GetFirst(), GetLast()); } const_iterator begin() const { return const_iterator(GetFirst(), GetLast()); } iterator end() { return iterator(__null, GetLast()); } const_iterator end() const { return const_iterator(__null, GetLast()); } reverse_iterator rbegin() { return reverse_iterator(GetLast(), GetFirst()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(GetLast(), GetFirst()); } reverse_iterator rend() { return reverse_iterator(__null, GetFirst()); } const_reverse_iterator rend() const { return const_reverse_iterator(__null, GetFirst()); } void resize(size_type n, value_type v = value_type()) { while (n < size()) pop_back(); while (n > size()) push_back(v); } size_type size() const { return GetCount(); } size_type max_size() const { return 2147483647; } bool empty() const { return IsEmpty(); } reference front() { return *begin(); } const_reference front() const { return *begin(); } reference back() { iterator tmp = end(); return *--tmp; } const_reference back() const { const_iterator tmp = end(); return *--tmp; } void push_front(const_reference v = value_type()) { Insert(GetFirst(), (const_base_reference)v); } void pop_front() { DeleteNode(GetFirst()); } void push_back(const_reference v = value_type()) { Append((const_base_reference)v); } void pop_back() { DeleteNode(GetLast()); } void assign(const_iterator first, const const_iterator& last) { clear(); for(; first != last; ++first) Append((const_base_reference)*first); } void assign(size_type n, const_reference v = value_type()) { clear(); for(size_type i = 0; i < n; ++i) Append((const_base_reference)v); } iterator insert(const iterator& it, const_reference v = value_type()) { Insert(it.m_node, (const_base_reference)v); return iterator(it.m_node->GetPrevious(), GetLast()); } void insert(const iterator& it, size_type n, const_reference v = value_type()) { for(size_type i = 0; i < n; ++i) Insert(it.m_node, (const_base_reference)v); } void insert(const iterator& it, const_iterator first, const const_iterator& last) { for(; first != last; ++first) Insert(it.m_node, (const_base_reference)*first); } iterator erase(const iterator& it) { iterator next = iterator(it.m_node->GetNext(), GetLast()); DeleteNode(it.m_node); return next; } iterator erase(const iterator& first, const iterator& last) { iterator next = last; ++next; DeleteNodes(first.m_node, last.m_node); return next; } void clear() { Clear(); } void splice(const iterator& it, wxSizerItemList& l, const iterator& first, const iterator& last) { insert(it, first, last); l.erase(first, last); } void splice(const iterator& it, wxSizerItemList& l) { splice(it, l, l.begin(), l.end() ); } void splice(const iterator& it, wxSizerItemList& l, const iterator& first) { iterator tmp = first; ++tmp; if(it == first || it == tmp) return; insert(it, *first); l.erase(first); } void remove(const_reference v) { DeleteObject((const_base_reference)v); } void reverse() { Reverse(); } };
54825
54826
54827
54828
54829
54830
54831 class wxSizer: public wxObject, public wxClientDataContainer
54832 {
54833 public:
54834     wxSizer();
54835     ~wxSizer();
54836
54837
54838
54839     inline wxSizerItem* Add( wxWindow *window,
54840                              int proportion = 0,
54841                              int flag = 0,
54842                              int border = 0,
54843                              wxObject* userData = __null );
54844     inline wxSizerItem* Add( wxSizer *sizer,
54845                              int proportion = 0,
54846                              int flag = 0,
54847                              int border = 0,
54848                              wxObject* userData = __null );
54849     inline wxSizerItem* Add( int width,
54850                              int height,
54851                              int proportion = 0,
54852                              int flag = 0,
54853                              int border = 0,
54854                              wxObject* userData = __null );
54855     inline wxSizerItem* Add( wxWindow *window, const wxSizerFlags& flags );
54856     inline wxSizerItem* Add( wxSizer *sizer, const wxSizerFlags& flags );
54857     inline wxSizerItem* Add( wxSizerItem *item );
54858
54859     inline wxSizerItem* AddSpacer(int size);
54860     inline wxSizerItem* AddStretchSpacer(int prop = 1);
54861
54862     inline wxSizerItem* Insert( size_t index,
54863                                 wxWindow *window,
54864                                 int proportion = 0,
54865                                 int flag = 0,
54866                                 int border = 0,
54867                                 wxObject* userData = __null );
54868     inline wxSizerItem* Insert( size_t index,
54869                                 wxSizer *sizer,
54870                                 int proportion = 0,
54871                                 int flag = 0,
54872                                 int border = 0,
54873                                 wxObject* userData = __null );
54874     inline wxSizerItem* Insert( size_t index,
54875                                 int width,
54876                                 int height,
54877                                 int proportion = 0,
54878                                 int flag = 0,
54879                                 int border = 0,
54880                                 wxObject* userData = __null );
54881     inline wxSizerItem* Insert( size_t index,
54882                                 wxWindow *window,
54883                                 const wxSizerFlags& flags );
54884     inline wxSizerItem* Insert( size_t index,
54885                                 wxSizer *sizer,
54886                                 const wxSizerFlags& flags );
54887     virtual wxSizerItem* Insert( size_t index, wxSizerItem *item );
54888
54889     inline wxSizerItem* InsertSpacer(size_t index, int size);
54890     inline wxSizerItem* InsertStretchSpacer(size_t index, int prop = 1);
54891
54892     inline wxSizerItem* Prepend( wxWindow *window,
54893                                  int proportion = 0,
54894                                  int flag = 0,
54895                                  int border = 0,
54896                                  wxObject* userData = __null );
54897     inline wxSizerItem* Prepend( wxSizer *sizer,
54898                                  int proportion = 0,
54899                                  int flag = 0,
54900                                  int border = 0,
54901                                  wxObject* userData = __null );
54902     inline wxSizerItem* Prepend( int width,
54903                                  int height,
54904                                  int proportion = 0,
54905                                  int flag = 0,
54906                                  int border = 0,
54907                                  wxObject* userData = __null );
54908     inline wxSizerItem* Prepend( wxWindow *window, const wxSizerFlags& flags );
54909     inline wxSizerItem* Prepend( wxSizer *sizer, const wxSizerFlags& flags );
54910     inline wxSizerItem* Prepend( wxSizerItem *item );
54911
54912     inline wxSizerItem* PrependSpacer(int size);
54913     inline wxSizerItem* PrependStretchSpacer(int prop = 1);
54914
54915
54916
54917
54918     virtual bool Remove( wxWindow *window ) __attribute__ ((deprecated));
54919     virtual bool Remove( wxSizer *sizer );
54920     virtual bool Remove( int index );
54921
54922     virtual bool Detach( wxWindow *window );
54923     virtual bool Detach( wxSizer *sizer );
54924     virtual bool Detach( int index );
54925
54926     virtual void Clear( bool delete_windows = false );
54927     virtual void DeleteWindows();
54928
54929     void SetMinSize( int width, int height )
54930         { DoSetMinSize( width, height ); }
54931     void SetMinSize( wxSize size )
54932         { DoSetMinSize( size.x, size.y ); }
54933
54934
54935     bool SetItemMinSize( wxWindow *window, int width, int height )
54936         { return DoSetItemMinSize( window, width, height ); }
54937     bool SetItemMinSize( wxWindow *window, wxSize size )
54938         { return DoSetItemMinSize( window, size.x, size.y ); }
54939
54940
54941     bool SetItemMinSize( wxSizer *sizer, int width, int height )
54942         { return DoSetItemMinSize( sizer, width, height ); }
54943     bool SetItemMinSize( wxSizer *sizer, wxSize size )
54944         { return DoSetItemMinSize( sizer, size.x, size.y ); }
54945
54946     bool SetItemMinSize( size_t index, int width, int height )
54947         { return DoSetItemMinSize( index, width, height ); }
54948     bool SetItemMinSize( size_t index, wxSize size )
54949         { return DoSetItemMinSize( index, size.x, size.y ); }
54950
54951     wxSize GetSize() const
54952         { return m_size; }
54953     wxPoint GetPosition() const
54954         { return m_position; }
54955
54956
54957     wxSize GetMinSize();
54958
54959     virtual void RecalcSizes() = 0;
54960     virtual wxSize CalcMin() = 0;
54961
54962     virtual void Layout();
54963
54964     wxSize Fit( wxWindow *window );
54965     void FitInside( wxWindow *window );
54966     void SetSizeHints( wxWindow *window );
54967     void SetVirtualSizeHints( wxWindow *window );
54968
54969     wxSizerItemList& GetChildren()
54970         { return m_children; }
54971
54972     void SetDimension( int x, int y, int width, int height );
54973
54974     wxSizerItem* GetItem( wxWindow *window, bool recursive = false );
54975     wxSizerItem* GetItem( wxSizer *sizer, bool recursive = false );
54976     wxSizerItem* GetItem( size_t index );
54977
54978
54979
54980     bool Show( wxWindow *window, bool show = true, bool recursive = false );
54981     bool Show( wxSizer *sizer, bool show = true, bool recursive = false );
54982     bool Show( size_t index, bool show = true );
54983
54984     bool Hide( wxSizer *sizer, bool recursive = false )
54985         { return Show( sizer, false, recursive ); }
54986     bool Hide( wxWindow *window, bool recursive = false )
54987         { return Show( window, false, recursive ); }
54988     bool Hide( size_t index )
54989         { return Show( index, false ); }
54990
54991     bool IsShown( wxWindow *window ) const;
54992     bool IsShown( wxSizer *sizer ) const;
54993     bool IsShown( size_t index ) const;
54994
54995
54996     virtual void ShowItems (bool show);
54997
54998     void Show(bool show)
54999     { m_isShown = show;
55000         ShowItems(show);
55001     }
55002     bool IsShown() const { return m_isShown; }
55003
55004 protected:
55005     wxSize m_size;
55006     wxSize m_minSize;
55007     wxPoint m_position;
55008     wxSizerItemList m_children;
55009     bool m_isShown;
55010
55011     wxSize GetMaxWindowSize( wxWindow *window ) const;
55012     wxSize GetMinWindowSize( wxWindow *window );
55013     wxSize GetMaxClientSize( wxWindow *window ) const;
55014     wxSize GetMinClientSize( wxWindow *window );
55015     wxSize FitSize( wxWindow *window );
55016     wxSize VirtualFitSize( wxWindow *window );
55017
55018     virtual void DoSetMinSize( int width, int height );
55019     virtual bool DoSetItemMinSize( wxWindow *window, int width, int height );
55020     virtual bool DoSetItemMinSize( wxSizer *sizer, int width, int height );
55021     virtual bool DoSetItemMinSize( size_t index, int width, int height );
55022
55023 private:
55024     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
55025 };
55026
55027
55028
55029
55030
55031 class wxGridSizer: public wxSizer
55032 {
55033 public:
55034     wxGridSizer( int rows, int cols, int vgap, int hgap );
55035     wxGridSizer( int cols, int vgap = 0, int hgap = 0 );
55036
55037     virtual void RecalcSizes();
55038     virtual wxSize CalcMin();
55039
55040     void SetCols( int cols ) { m_cols = cols; }
55041     void SetRows( int rows ) { m_rows = rows; }
55042     void SetVGap( int gap ) { m_vgap = gap; }
55043     void SetHGap( int gap ) { m_hgap = gap; }
55044     int GetCols() const { return m_cols; }
55045     int GetRows() const { return m_rows; }
55046     int GetVGap() const { return m_vgap; }
55047     int GetHGap() const { return m_hgap; }
55048
55049 protected:
55050     int m_rows;
55051     int m_cols;
55052     int m_vgap;
55053     int m_hgap;
55054
55055
55056     int CalcRowsCols(int& rows, int& cols) const;
55057
55058     void SetItemBounds( wxSizerItem *item, int x, int y, int w, int h );
55059
55060 private:
55061     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
55062 };
55063
55064
55065
55066
55067
55068
55069
55070 enum wxFlexSizerGrowMode
55071 {
55072
55073     wxFLEX_GROWMODE_NONE,
55074
55075
55076     wxFLEX_GROWMODE_SPECIFIED,
55077
55078
55079     wxFLEX_GROWMODE_ALL
55080 };
55081
55082 class wxFlexGridSizer: public wxGridSizer
55083 {
55084 public:
55085
55086     wxFlexGridSizer( int rows, int cols, int vgap, int hgap );
55087     wxFlexGridSizer( int cols, int vgap = 0, int hgap = 0 );
55088     virtual ~wxFlexGridSizer();
55089
55090
55091
55092
55093     void AddGrowableRow( size_t idx, int proportion = 0 );
55094     void RemoveGrowableRow( size_t idx );
55095     void AddGrowableCol( size_t idx, int proportion = 0 );
55096     void RemoveGrowableCol( size_t idx );
55097
55098
55099
55100
55101
55102
55103     void SetFlexibleDirection(int direction) { m_flexDirection = direction; }
55104     int GetFlexibleDirection() const { return m_flexDirection; }
55105
55106
55107
55108     void SetNonFlexibleGrowMode(wxFlexSizerGrowMode mode) { m_growMode = mode; }
55109     wxFlexSizerGrowMode GetNonFlexibleGrowMode() const { return m_growMode; }
55110
55111
55112     const wxArrayInt& GetRowHeights() const { return m_rowHeights; }
55113     const wxArrayInt& GetColWidths() const { return m_colWidths; }
55114
55115
55116     virtual void RecalcSizes();
55117     virtual wxSize CalcMin();
55118
55119 protected:
55120     void AdjustForFlexDirection();
55121     void AdjustForGrowables(const wxSize& sz, const wxSize& minsz,
55122                             int nrows, int ncols);
55123
55124
55125     wxArrayInt m_rowHeights,
55126                 m_colWidths;
55127
55128
55129     wxArrayInt m_growableRows,
55130                 m_growableCols;
55131
55132
55133     wxArrayInt m_growableRowsProportions,
55134                 m_growableColsProportions;
55135
55136
55137
55138     int m_flexDirection;
55139     wxFlexSizerGrowMode m_growMode;
55140
55141
55142     wxSize m_calculatedMinSize;
55143
55144 private:
55145     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
55146     private: wxFlexGridSizer(const wxFlexGridSizer&); wxFlexGridSizer& operator=(const wxFlexGridSizer&);
55147 };
55148
55149
55150
55151
55152
55153 class wxBoxSizer: public wxSizer
55154 {
55155 public:
55156     wxBoxSizer( int orient );
55157
55158     void RecalcSizes();
55159     wxSize CalcMin();
55160
55161     int GetOrientation() const
55162         { return m_orient; }
55163
55164     void SetOrientation(int orient)
55165         { m_orient = orient; }
55166
55167 protected:
55168     int m_orient;
55169     int m_stretchable;
55170     int m_minWidth;
55171     int m_minHeight;
55172     int m_fixedWidth;
55173     int m_fixedHeight;
55174
55175 private:
55176     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
55177 };
55178
55179
55180
55181
55182
55183
55184
55185 class wxStaticBox;
55186
55187 class wxStaticBoxSizer: public wxBoxSizer
55188 {
55189 public:
55190     wxStaticBoxSizer(wxStaticBox *box, int orient);
55191     wxStaticBoxSizer(int orient, wxWindow *win, const wxString& label = wxEmptyString);
55192
55193     void RecalcSizes();
55194     wxSize CalcMin();
55195
55196     wxStaticBox *GetStaticBox() const
55197         { return m_staticBox; }
55198
55199
55200     virtual void ShowItems (bool show);
55201
55202 protected:
55203     wxStaticBox *m_staticBox;
55204
55205 private:
55206     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
55207     private: wxStaticBoxSizer(const wxStaticBoxSizer&); wxStaticBoxSizer& operator=(const wxStaticBoxSizer&);
55208 };
55209
55210
55211
55212
55213
55214 class wxStdDialogButtonSizer: public wxBoxSizer
55215 {
55216 public:
55217
55218
55219
55220     wxStdDialogButtonSizer();
55221
55222
55223
55224     void AddButton(wxButton *button);
55225
55226
55227     void SetAffirmativeButton( wxButton *button );
55228     void SetNegativeButton( wxButton *button );
55229     void SetCancelButton( wxButton *button );
55230 # 724 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/sizer.h"
55231     void Realize();
55232
55233     wxButton *GetAffirmativeButton() const { return m_buttonAffirmative; }
55234     wxButton *GetApplyButton() const { return m_buttonApply; }
55235     wxButton *GetNegativeButton() const { return m_buttonNegative; }
55236     wxButton *GetCancelButton() const { return m_buttonCancel; }
55237     wxButton *GetHelpButton() const { return m_buttonHelp; }
55238
55239 protected:
55240     wxButton *m_buttonAffirmative;
55241     wxButton *m_buttonApply;
55242     wxButton *m_buttonNegative;
55243     wxButton *m_buttonCancel;
55244     wxButton *m_buttonHelp;
55245
55246 private:
55247     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
55248     private: wxStdDialogButtonSizer(const wxStdDialogButtonSizer&); wxStdDialogButtonSizer& operator=(const wxStdDialogButtonSizer&);
55249 };
55250 # 758 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/sizer.h"
55251 class wxBookCtrlBase;
55252
55253 class wxBookCtrlSizer : public wxSizer
55254 {
55255 public:
55256     wxBookCtrlSizer(wxBookCtrlBase *bookctrl) __attribute__ ((deprecated));
55257
55258     wxBookCtrlBase *GetControl() const { return m_bookctrl; }
55259
55260     virtual void RecalcSizes();
55261     virtual wxSize CalcMin();
55262
55263 protected:
55264
55265
55266     wxBookCtrlSizer() {}
55267
55268     wxBookCtrlBase *m_bookctrl;
55269
55270 private:
55271     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
55272     private: wxBookCtrlSizer(const wxBookCtrlSizer&); wxBookCtrlSizer& operator=(const wxBookCtrlSizer&);
55273 };
55274
55275
55276
55277
55278
55279
55280 class wxNotebook;
55281
55282 class wxNotebookSizer : public wxBookCtrlSizer
55283 {
55284 public:
55285     wxNotebookSizer(wxNotebook *nb) __attribute__ ((deprecated));
55286
55287     wxNotebook *GetNotebook() const { return (wxNotebook *)m_bookctrl; }
55288
55289 private:
55290     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
55291     private: wxNotebookSizer(const wxNotebookSizer&); wxNotebookSizer& operator=(const wxNotebookSizer&);
55292 };
55293 # 811 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/sizer.h"
55294 inline wxSizerItem*
55295 wxSizer::Add( wxWindow *window, int proportion, int flag, int border, wxObject* userData )
55296 {
55297     return Add( new wxSizerItem( window, proportion, flag, border, userData ) );
55298 }
55299
55300 inline wxSizerItem*
55301 wxSizer::Add( wxSizer *sizer, int proportion, int flag, int border, wxObject* userData )
55302 {
55303     return Add( new wxSizerItem( sizer, proportion, flag, border, userData ) );
55304 }
55305
55306 inline wxSizerItem*
55307 wxSizer::Add( int width, int height, int proportion, int flag, int border, wxObject* userData )
55308 {
55309     return Add( new wxSizerItem( width, height, proportion, flag, border, userData ) );
55310 }
55311
55312 inline wxSizerItem*
55313 wxSizer::Add( wxWindow *window, const wxSizerFlags& flags )
55314 {
55315     return Add( new wxSizerItem(window, flags) );
55316 }
55317
55318 inline wxSizerItem*
55319 wxSizer::Add( wxSizer *sizer, const wxSizerFlags& flags )
55320 {
55321     return Add( new wxSizerItem(sizer, flags) );
55322 }
55323
55324 inline wxSizerItem*
55325 wxSizer::Add( wxSizerItem *item )
55326 {
55327     return Insert( m_children.GetCount(), item );
55328 }
55329
55330 inline wxSizerItem*
55331 wxSizer::AddSpacer(int size)
55332 {
55333     return Add(size, size);
55334 }
55335
55336 inline wxSizerItem*
55337 wxSizer::AddStretchSpacer(int prop)
55338 {
55339     return Add(0, 0, prop);
55340 }
55341
55342 inline wxSizerItem*
55343 wxSizer::Prepend( wxWindow *window, int proportion, int flag, int border, wxObject* userData )
55344 {
55345     return Prepend( new wxSizerItem( window, proportion, flag, border, userData ) );
55346 }
55347
55348 inline wxSizerItem*
55349 wxSizer::Prepend( wxSizer *sizer, int proportion, int flag, int border, wxObject* userData )
55350 {
55351     return Prepend( new wxSizerItem( sizer, proportion, flag, border, userData ) );
55352 }
55353
55354 inline wxSizerItem*
55355 wxSizer::Prepend( int width, int height, int proportion, int flag, int border, wxObject* userData )
55356 {
55357     return Prepend( new wxSizerItem( width, height, proportion, flag, border, userData ) );
55358 }
55359
55360 inline wxSizerItem*
55361 wxSizer::Prepend( wxSizerItem *item )
55362 {
55363     return Insert( 0, item );
55364 }
55365
55366 inline wxSizerItem*
55367 wxSizer::PrependSpacer(int size)
55368 {
55369     return Prepend(size, size);
55370 }
55371
55372 inline wxSizerItem*
55373 wxSizer::PrependStretchSpacer(int prop)
55374 {
55375     return Prepend(0, 0, prop);
55376 }
55377
55378 inline wxSizerItem*
55379 wxSizer::Prepend( wxWindow *window, const wxSizerFlags& flags )
55380 {
55381     return Prepend( new wxSizerItem(window, flags) );
55382 }
55383
55384 inline wxSizerItem*
55385 wxSizer::Prepend( wxSizer *sizer, const wxSizerFlags& flags )
55386 {
55387     return Prepend( new wxSizerItem(sizer, flags) );
55388 }
55389
55390 inline wxSizerItem*
55391 wxSizer::Insert( size_t index,
55392                  wxWindow *window,
55393                  int proportion,
55394                  int flag,
55395                  int border,
55396                  wxObject* userData )
55397 {
55398     return Insert( index, new wxSizerItem( window, proportion, flag, border, userData ) );
55399 }
55400
55401 inline wxSizerItem*
55402 wxSizer::Insert( size_t index,
55403                  wxSizer *sizer,
55404                  int proportion,
55405                  int flag,
55406                  int border,
55407                  wxObject* userData )
55408 {
55409     return Insert( index, new wxSizerItem( sizer, proportion, flag, border, userData ) );
55410 }
55411
55412 inline wxSizerItem*
55413 wxSizer::Insert( size_t index,
55414                  int width,
55415                  int height,
55416                  int proportion,
55417                  int flag,
55418                  int border,
55419                  wxObject* userData )
55420 {
55421     return Insert( index, new wxSizerItem( width, height, proportion, flag, border, userData ) );
55422 }
55423
55424 inline wxSizerItem*
55425 wxSizer::Insert( size_t index, wxWindow *window, const wxSizerFlags& flags )
55426 {
55427     return Insert( index, new wxSizerItem(window, flags) );
55428 }
55429
55430 inline wxSizerItem*
55431 wxSizer::Insert( size_t index, wxSizer *sizer, const wxSizerFlags& flags )
55432 {
55433     return Insert( index, new wxSizerItem(sizer, flags) );
55434 }
55435
55436 inline wxSizerItem*
55437 wxSizer::InsertSpacer(size_t index, int size)
55438 {
55439     return Insert(index, size, size);
55440 }
55441
55442 inline wxSizerItem*
55443 wxSizer::InsertStretchSpacer(size_t index, int prop)
55444 {
55445     return Insert(index, 0, 0, prop);
55446 }
55447 # 73 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
55448
55449 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/mdi.h" 1
55450 # 26 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/mdi.h"
55451 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/mdi.h" 1
55452 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/mdi.h"
55453 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/toolbar.h" 1
55454 # 25 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/mdi.h" 2
55455
55456
55457
55458
55459
55460 class wxMDIParentFrame;
55461 class wxMDIClientWindow;
55462 class wxMDIChildFrame;
55463
55464
55465
55466
55467
55468 extern const wxChar* wxFrameNameStr;
55469 extern const wxChar* wxStatusLineNameStr;
55470
55471
55472
55473
55474
55475 class wxMDIParentFrame: public wxFrame
55476 {
55477 public:
55478     wxMDIParentFrame() { Init(); }
55479     wxMDIParentFrame(wxWindow *parent,
55480                      wxWindowID id,
55481                      const wxString& title,
55482                      const wxPoint& pos = wxDefaultPosition,
55483                      const wxSize& size = wxDefaultSize,
55484                      long style = (0x0800 | 0x0040 | 0x0400 | 0x0200 | 0x1000 | 0x20000000 | 0x00400000) | 0x80000000 | 0x40000000,
55485                      const wxString& name = wxFrameNameStr)
55486     {
55487         Init();
55488
55489         (void)Create(parent, id, title, pos, size, style, name);
55490     }
55491
55492     ~wxMDIParentFrame();
55493     bool Create( wxWindow *parent,
55494                  wxWindowID id,
55495                  const wxString& title,
55496                  const wxPoint& pos = wxDefaultPosition,
55497                  const wxSize& size = wxDefaultSize,
55498                  long style = (0x0800 | 0x0040 | 0x0400 | 0x0200 | 0x1000 | 0x20000000 | 0x00400000) | 0x80000000 | 0x40000000,
55499                  const wxString& name = wxFrameNameStr );
55500
55501     wxMDIChildFrame *GetActiveChild() const;
55502
55503     wxMDIClientWindow *GetClientWindow() const;
55504     virtual wxMDIClientWindow *OnCreateClient();
55505
55506     virtual void Cascade() {}
55507     virtual void Tile(wxOrientation = wxHORIZONTAL) {}
55508     virtual void ArrangeIcons() {}
55509     virtual void ActivateNext();
55510     virtual void ActivatePrevious();
55511
55512
55513
55514     wxMDIClientWindow *m_clientWindow;
55515     bool m_justInserted;
55516
55517     virtual void GtkOnSize( int x, int y, int width, int height );
55518     virtual void OnInternalIdle();
55519
55520 protected:
55521     void Init();
55522
55523     virtual void DoGetClientSize(int *width, int *height) const;
55524
55525 private:
55526     friend class wxMDIChildFrame;
55527
55528     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
55529 };
55530
55531
55532
55533
55534
55535 class wxMDIChildFrame: public wxFrame
55536 {
55537 public:
55538     wxMDIChildFrame();
55539     wxMDIChildFrame( wxMDIParentFrame *parent,
55540                      wxWindowID id,
55541                      const wxString& title,
55542                      const wxPoint& pos = wxDefaultPosition,
55543                      const wxSize& size = wxDefaultSize,
55544                      long style = (0x0800 | 0x0040 | 0x0400 | 0x0200 | 0x1000 | 0x20000000 | 0x00400000),
55545                      const wxString& name = wxFrameNameStr );
55546
55547     virtual ~wxMDIChildFrame();
55548     bool Create( wxMDIParentFrame *parent,
55549                  wxWindowID id,
55550                  const wxString& title,
55551                  const wxPoint& pos = wxDefaultPosition,
55552                  const wxSize& size = wxDefaultSize,
55553                  long style = (0x0800 | 0x0040 | 0x0400 | 0x0200 | 0x1000 | 0x20000000 | 0x00400000),
55554                  const wxString& name = wxFrameNameStr );
55555
55556     virtual void SetMenuBar( wxMenuBar *menu_bar );
55557     virtual wxMenuBar *GetMenuBar() const;
55558
55559     virtual void AddChild( wxWindowBase *child );
55560
55561     virtual void Activate();
55562
55563
55564
55565     virtual wxStatusBar* CreateStatusBar( int = 1,
55566                                         long = 1,
55567                                         wxWindowID = 1,
55568                                         const wxString& = wxEmptyString)
55569       { return (wxStatusBar*)__null; }
55570
55571     virtual wxStatusBar *GetStatusBar() const { return (wxStatusBar*)__null; }
55572     virtual void SetStatusText( const wxString &, int =0 ) {}
55573     virtual void SetStatusWidths( int , const int [] ) {}
55574
55575
55576
55577     virtual void DoSetSizeHints( int ,
55578                                int ,
55579                                int = -1,
55580                                int = -1,
55581                                int = -1,
55582                                int = -1) {}
55583
55584
55585
55586     virtual wxToolBar* CreateToolBar( long ,
55587                                        wxWindowID ,
55588                                        const wxString& )
55589         { return (wxToolBar*)__null; }
55590     virtual wxToolBar *GetToolBar() const { return (wxToolBar*)__null; }
55591
55592
55593
55594     virtual void SetIcon(const wxIcon& icon)
55595         { wxTopLevelWindowBase::SetIcon(icon); }
55596     virtual void SetIcons(const wxIconBundle& icons )
55597         { wxTopLevelWindowBase::SetIcons(icons); }
55598
55599
55600     void SetTitle( const wxString &title );
55601     wxString GetTitle() const { return m_title; }
55602
55603
55604     virtual void Maximize( bool = true ) { }
55605     virtual bool IsMaximized() const { return true; }
55606     virtual void Iconize(bool = true) { }
55607     virtual bool IsIconized() const { return false; }
55608     virtual void Restore() {}
55609
55610     virtual bool IsTopLevel() const { return false; }
55611
55612     void OnActivate( wxActivateEvent& event );
55613     void OnMenuHighlight( wxMenuEvent& event );
55614
55615
55616
55617     wxMenuBar *m_menuBar;
55618     GtkNotebookPage *m_page;
55619     bool m_justInserted;
55620
55621 protected:
55622
55623     virtual void DoSetSize(int x, int y,
55624                            int width, int height,
55625                            int sizeFlags = (0x0001|0x0002));
55626     virtual void DoSetClientSize(int width, int height);
55627     virtual void DoGetClientSize( int *width, int *height ) const;
55628
55629 private:
55630     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
55631     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
55632 };
55633
55634
55635
55636
55637
55638 class wxMDIClientWindow: public wxWindow
55639 {
55640 public:
55641     wxMDIClientWindow();
55642     wxMDIClientWindow( wxMDIParentFrame *parent, long style = 0 );
55643     ~wxMDIClientWindow();
55644     virtual bool CreateClient( wxMDIParentFrame *parent, long style = 0x80000000 | 0x40000000 );
55645
55646 private:
55647     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
55648 };
55649 # 27 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/mdi.h" 2
55650 # 75 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
55651 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/statusbr.h" 1
55652 # 26 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/statusbr.h"
55653 typedef wxString _WX_LIST_ITEM_TYPE_wxListString; typedef int (*wxSortFuncFor_wxListString)(const wxString **, const wxString **); class wxwxListStringNode : public wxNodeBase { public: wxwxListStringNode(wxListBase *list = (wxListBase *)__null, wxwxListStringNode *previous = (wxwxListStringNode *)__null, wxwxListStringNode *next = (wxwxListStringNode *)__null, wxString *data = (wxString *)__null, const wxListKey& key = wxDefaultListKey) : wxNodeBase(list, previous, next, data, key) { } wxwxListStringNode *GetNext() const { return (wxwxListStringNode *)wxNodeBase::GetNext(); } wxwxListStringNode *GetPrevious() const { return (wxwxListStringNode *)wxNodeBase::GetPrevious(); } wxString *GetData() const { return (wxString *)wxNodeBase::GetData(); } void SetData(wxString *data) { wxNodeBase::SetData(data); } protected: virtual void DeleteData(); private: wxwxListStringNode(const wxwxListStringNode&); wxwxListStringNode& operator=(const wxwxListStringNode&); }; class wxListString : public wxListBase { public: typedef wxwxListStringNode Node; typedef Node* compatibility_iterator; wxListString(wxKeyType keyType = wxKEY_NONE) : wxListBase(keyType) { } wxListString(const wxListString& list) : wxListBase(list.GetKeyType()) { Assign(list); } wxListString(size_t count, wxString *elements[]) : wxListBase(count, (void **)elements) { } wxListString& operator=(const wxListString& list) { Assign(list); return *this; } wxwxListStringNode *GetFirst() const { return (wxwxListStringNode *)wxListBase::GetFirst(); } wxwxListStringNode *GetLast() const { return (wxwxListStringNode *)wxListBase::GetLast(); } wxwxListStringNode *Item(size_t index) const { return (wxwxListStringNode *)wxListBase::Item(index); } wxString *operator[](size_t index) const { wxwxListStringNode *node = Item(index); return node ? (wxString*)(node->GetData()) : (wxString*)__null; } wxwxListStringNode *Append(wxString *object) { return (wxwxListStringNode *)wxListBase::Append(object); } wxwxListStringNode *Insert(wxString *object) { return (wxwxListStringNode *)Insert((wxwxListStringNode*)__null, object); } wxwxListStringNode *Insert(size_t pos, wxString *object) { return (wxwxListStringNode *)wxListBase::Insert(pos, object); } wxwxListStringNode *Insert(wxwxListStringNode *prev, wxString *object) { return (wxwxListStringNode *)wxListBase::Insert(prev, object); } wxwxListStringNode *Append(long key, void *object) { return (wxwxListStringNode *)wxListBase::Append(key, object); } wxwxListStringNode *Append(const wxChar *key, void *object) { return (wxwxListStringNode *)wxListBase::Append(key, object); } wxwxListStringNode *DetachNode(wxwxListStringNode *node) { return (wxwxListStringNode *)wxListBase::DetachNode(node); } bool DeleteNode(wxwxListStringNode *node) { return wxListBase::DeleteNode(node); } bool DeleteObject(wxString *object) { return wxListBase::DeleteObject(object); } void Erase(compatibility_iterator it) { DeleteNode(it); } wxwxListStringNode *Find(const wxString *object) const { return (wxwxListStringNode *)wxListBase::Find(object); } virtual wxwxListStringNode *Find(const wxListKey& key) const { return (wxwxListStringNode *)wxListBase::Find(key); } int IndexOf(wxString *object) const { return wxListBase::IndexOf(object); } void Sort(wxSortCompareFunction func) { wxListBase::Sort(func); } void Sort(wxSortFuncFor_wxListString func) { Sort((wxSortCompareFunction)func); } protected: virtual wxNodeBase *CreateNode(wxNodeBase *prev, wxNodeBase *next, void *data, const wxListKey& key = wxDefaultListKey) { return new wxwxListStringNode(this, (wxwxListStringNode *)prev, (wxwxListStringNode *)next, (wxString *)data, key); } public: typedef size_t size_type; typedef int difference_type; typedef wxString* value_type; typedef wxString* base_value_type; typedef value_type& reference; typedef const value_type& const_reference; typedef base_value_type& base_reference; typedef const base_value_type& const_base_reference; class iterator { typedef wxListString list; public: typedef wxwxListStringNode Node; typedef iterator itor; typedef wxString* value_type; typedef value_type* ptr_type; typedef value_type& reference; Node* m_node; Node* m_init; public: typedef reference reference_type; typedef ptr_type pointer_type; iterator(Node* node, Node* init) : m_node(node), m_init(init) {} iterator() : m_node(__null), m_init(__null) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetNext(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetNext(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetPrevious() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetPrevious() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class const_iterator { typedef wxListString list; public: typedef wxwxListStringNode Node; typedef wxString* value_type; typedef const value_type& const_reference; typedef const_iterator itor; typedef value_type* ptr_type; Node* m_node; Node* m_init; public: typedef const_reference reference_type; typedef const ptr_type pointer_type; const_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } const_iterator() : m_node(__null), m_init(__null) { } const_iterator(const iterator& it) : m_node(it.m_node), m_init(it.m_init) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetNext(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetNext(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetPrevious() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetPrevious() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class reverse_iterator { typedef wxListString list; public: typedef wxwxListStringNode Node; typedef wxString* value_type; typedef reverse_iterator itor; typedef value_type* ptr_type; typedef value_type& reference; Node* m_node; Node* m_init; public: typedef reference reference_type; typedef ptr_type pointer_type; reverse_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } reverse_iterator() : m_node(__null), m_init(__null) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetPrevious(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetPrevious(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetNext() : m_init; return *this; } const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetNext() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; class const_reverse_iterator { typedef wxListString list; public: typedef wxwxListStringNode Node; typedef wxString* value_type; typedef const_reverse_iterator itor; typedef value_type* ptr_type; typedef const value_type& const_reference; Node* m_node; Node* m_init; public: typedef const_reference reference_type; typedef const ptr_type pointer_type; const_reverse_iterator(Node* node, Node* init) : m_node(node), m_init(init) { } const_reverse_iterator() : m_node(__null), m_init(__null) { } const_reverse_iterator(const reverse_iterator& it) : m_node(it.m_node), m_init(it.m_init) { } reference_type operator*() const { return *(pointer_type)m_node->GetDataPtr(); } itor& operator++() { m_node = m_node->GetPrevious(); return *this; } const itor operator++(int) { itor tmp = *this; m_node = m_node->GetPrevious(); return tmp; } itor& operator--() { m_node = m_node ? m_node->GetNext() : m_init; return *this;} const itor operator--(int) { itor tmp = *this; m_node = m_node ? m_node->GetNext() : m_init; return tmp; } bool operator!=(const itor& it) const { return it.m_node != m_node; } bool operator==(const itor& it) const { return it.m_node == m_node; } }; explicit wxListString(size_type n, const_reference v = value_type()) { assign(n, v); } wxListString(const const_iterator& first, const const_iterator& last) { assign(first, last); } iterator begin() { return iterator(GetFirst(), GetLast()); } const_iterator begin() const { return const_iterator(GetFirst(), GetLast()); } iterator end() { return iterator(__null, GetLast()); } const_iterator end() const { return const_iterator(__null, GetLast()); } reverse_iterator rbegin() { return reverse_iterator(GetLast(), GetFirst()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(GetLast(), GetFirst()); } reverse_iterator rend() { return reverse_iterator(__null, GetFirst()); } const_reverse_iterator rend() const { return const_reverse_iterator(__null, GetFirst()); } void resize(size_type n, value_type v = value_type()) { while (n < size()) pop_back(); while (n > size()) push_back(v); } size_type size() const { return GetCount(); } size_type max_size() const { return 2147483647; } bool empty() const { return IsEmpty(); } reference front() { return *begin(); } const_reference front() const { return *begin(); } reference back() { iterator tmp = end(); return *--tmp; } const_reference back() const { const_iterator tmp = end(); return *--tmp; } void push_front(const_reference v = value_type()) { Insert(GetFirst(), (const_base_reference)v); } void pop_front() { DeleteNode(GetFirst()); } void push_back(const_reference v = value_type()) { Append((const_base_reference)v); } void pop_back() { DeleteNode(GetLast()); } void assign(const_iterator first, const const_iterator& last) { clear(); for(; first != last; ++first) Append((const_base_reference)*first); } void assign(size_type n, const_reference v = value_type()) { clear(); for(size_type i = 0; i < n; ++i) Append((const_base_reference)v); } iterator insert(const iterator& it, const_reference v = value_type()) { Insert(it.m_node, (const_base_reference)v); return iterator(it.m_node->GetPrevious(), GetLast()); } void insert(const iterator& it, size_type n, const_reference v = value_type()) { for(size_type i = 0; i < n; ++i) Insert(it.m_node, (const_base_reference)v); } void insert(const iterator& it, const_iterator first, const const_iterator& last) { for(; first != last; ++first) Insert(it.m_node, (const_base_reference)*first); } iterator erase(const iterator& it) { iterator next = iterator(it.m_node->GetNext(), GetLast()); DeleteNode(it.m_node); return next; } iterator erase(const iterator& first, const iterator& last) { iterator next = last; ++next; DeleteNodes(first.m_node, last.m_node); return next; } void clear() { Clear(); } void splice(const iterator& it, wxListString& l, const iterator& first, const iterator& last) { insert(it, first, last); l.erase(first, last); } void splice(const iterator& it, wxListString& l) { splice(it, l, l.begin(), l.end() ); } void splice(const iterator& it, wxListString& l, const iterator& first) { iterator tmp = first; ++tmp; if(it == first || it == tmp) return; insert(it, *first); l.erase(first); } void remove(const_reference v) { DeleteObject((const_base_reference)v); } void reverse() { Reverse(); } };
55654 # 41 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/statusbr.h"
55655 class wxStatusBarBase : public wxWindow
55656 {
55657 public:
55658     wxStatusBarBase();
55659
55660     virtual ~wxStatusBarBase();
55661
55662
55663
55664
55665
55666
55667     virtual void SetFieldsCount(int number = 1, const int *widths = __null);
55668     int GetFieldsCount() const { return m_nFields; }
55669
55670
55671
55672
55673     virtual void SetStatusText(const wxString& text, int number = 0) = 0;
55674     virtual wxString GetStatusText(int number = 0) const = 0;
55675
55676     void PushStatusText(const wxString& text, int number = 0);
55677     void PopStatusText(int number = 0);
55678 # 74 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/statusbr.h"
55679     virtual void SetStatusWidths(int n, const int widths[]);
55680 # 83 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/statusbr.h"
55681     virtual void SetStatusStyles(int n, const int styles[]);
55682
55683
55684
55685
55686
55687     virtual bool GetFieldRect(int i, wxRect& rect) const = 0;
55688
55689
55690     virtual void SetMinHeight(int height) = 0;
55691
55692
55693     virtual int GetBorderX() const = 0;
55694     virtual int GetBorderY() const = 0;
55695
55696
55697     virtual bool AcceptsFocus() const { return false; }
55698
55699 protected:
55700
55701     void InitWidths();
55702
55703
55704     void FreeWidths();
55705
55706
55707     void ReinitWidths() { FreeWidths(); InitWidths(); }
55708
55709
55710     void InitStyles();
55711     void FreeStyles();
55712     void ReinitStyles() { FreeStyles(); InitStyles(); }
55713
55714
55715     void InitStacks();
55716     void FreeStacks();
55717     void ReinitStacks() { FreeStacks(); InitStacks(); }
55718
55719
55720     wxArrayInt CalculateAbsWidths(wxCoord widthTotal) const;
55721
55722
55723     wxListString *GetStatusStack(int i) const;
55724     wxListString *GetOrCreateStatusStack(int i);
55725
55726
55727     int m_nFields;
55728
55729
55730
55731     int *m_statusWidths;
55732
55733
55734     int *m_statusStyles;
55735
55736
55737
55738     wxListString **m_statusTextStacks;
55739
55740     private: wxStatusBarBase(const wxStatusBarBase&); wxStatusBarBase& operator=(const wxStatusBarBase&);
55741 };
55742 # 169 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/statusbr.h"
55743 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/statusbr.h" 1
55744 # 19 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/statusbr.h"
55745 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/pen.h" 1
55746 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/statusbr.h" 2
55747 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/font.h" 1
55748 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/statusbr.h" 2
55749 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/statusbr.h" 1
55750 # 22 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/statusbr.h" 2
55751 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/arrstr.h" 1
55752 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/statusbr.h" 2
55753
55754 extern const wxChar* wxPanelNameStr;
55755
55756 class wxStatusBar : public wxStatusBarBase
55757 {
55758 public:
55759   wxStatusBar() { Init(); }
55760   wxStatusBar(wxWindow *parent,
55761               wxWindowID winid,
55762               const wxPoint& pos = wxDefaultPosition,
55763               const wxSize& size = wxDefaultSize,
55764               long style = 0x00010000,
55765               const wxString& name = wxPanelNameStr)
55766   {
55767       Init();
55768
55769       Create(parent, winid, pos, size, style, name);
55770   }
55771   wxStatusBar(wxWindow *parent,
55772                      wxWindowID winid,
55773                      long style,
55774                      const wxString& name = wxPanelNameStr)
55775   {
55776       Init();
55777
55778       Create(parent, winid, style, name);
55779   }
55780
55781   virtual ~wxStatusBar();
55782
55783   bool Create(wxWindow *parent, wxWindowID winid,
55784               const wxPoint& = wxDefaultPosition,
55785               const wxSize& = wxDefaultSize,
55786               long style = 0x00010000,
55787               const wxString& name = wxPanelNameStr)
55788   {
55789       return Create(parent, winid, style, name);
55790   }
55791
55792   bool Create(wxWindow *parent, wxWindowID winid,
55793               long style,
55794               const wxString& name = wxPanelNameStr);
55795
55796
55797   virtual void SetFieldsCount(int number = 1,
55798                               const int *widths = (const int *) __null);
55799
55800
55801   virtual void SetStatusText(const wxString& text, int number = 0);
55802   virtual wxString GetStatusText(int number = 0) const;
55803
55804
55805   virtual void SetStatusWidths(int n, const int widths_field[]);
55806
55807
55808   virtual bool GetFieldRect(int i, wxRect& rect) const;
55809
55810
55811   virtual void SetMinHeight(int height);
55812
55813   virtual int GetBorderX() const { return m_borderX; }
55814   virtual int GetBorderY() const { return m_borderY; }
55815
55816
55817
55818
55819   virtual void DrawFieldText(wxDC& dc, int i);
55820   virtual void DrawField(wxDC& dc, int i);
55821
55822   void SetBorderX(int x);
55823   void SetBorderY(int y);
55824
55825   void OnPaint(wxPaintEvent& event);
55826
55827   void OnLeftDown(wxMouseEvent& event);
55828   void OnRightDown(wxMouseEvent& event);
55829
55830   virtual void InitColours();
55831
55832
55833   void OnSysColourChanged(wxSysColourChangedEvent& event);
55834
55835 protected:
55836
55837   void Init();
55838
55839   wxArrayString m_statusStrings;
55840
55841
55842   int m_lastClientWidth;
55843
55844   wxArrayInt m_widthsAbs;
55845
55846   int m_borderX;
55847   int m_borderY;
55848   wxPen m_mediumShadowPen;
55849   wxPen m_hilightPen;
55850
55851   virtual wxSize DoGetBestSize() const;
55852
55853 private:
55854   private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
55855   private: wxStatusBar(const wxStatusBar&); wxStatusBar& operator=(const wxStatusBar&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
55856 };
55857 # 170 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/statusbr.h" 2
55858 # 76 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
55859
55860 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/choicdlg.h" 1
55861 # 17 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/choicdlg.h"
55862 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/choicdgg.h" 1
55863 # 19 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/choicdgg.h"
55864 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dynarray.h" 1
55865 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/choicdgg.h" 2
55866
55867
55868 class wxListBox;
55869 # 43 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/choicdgg.h"
55870 class wxAnyChoiceDialog : public wxDialog
55871 {
55872 public:
55873     wxAnyChoiceDialog() { }
55874
55875     wxAnyChoiceDialog(wxWindow *parent,
55876                       const wxString& message,
55877                       const wxString& caption,
55878                       int n, const wxString *choices,
55879                       long styleDlg = ((0x20000000 | 0x0800 | 0x1000) | 0x0040 | 0x00000004 | 0x00000010 | wxCENTRE),
55880                       const wxPoint& pos = wxDefaultPosition,
55881                       long styleLbox = 0x0400)
55882     {
55883         (void)Create(parent, message, caption, n, choices,
55884                      styleDlg, pos, styleLbox);
55885     }
55886     wxAnyChoiceDialog(wxWindow *parent,
55887                       const wxString& message,
55888                       const wxString& caption,
55889                       const wxArrayString& choices,
55890                       long styleDlg = ((0x20000000 | 0x0800 | 0x1000) | 0x0040 | 0x00000004 | 0x00000010 | wxCENTRE),
55891                       const wxPoint& pos = wxDefaultPosition,
55892                       long styleLbox = 0x0400)
55893     {
55894         (void)Create(parent, message, caption, choices,
55895                      styleDlg, pos, styleLbox);
55896     }
55897
55898     bool Create(wxWindow *parent,
55899                 const wxString& message,
55900                 const wxString& caption,
55901                 int n, const wxString *choices,
55902                 long styleDlg = ((0x20000000 | 0x0800 | 0x1000) | 0x0040 | 0x00000004 | 0x00000010 | wxCENTRE),
55903                 const wxPoint& pos = wxDefaultPosition,
55904                 long styleLbox = 0x0400);
55905     bool Create(wxWindow *parent,
55906                 const wxString& message,
55907                 const wxString& caption,
55908                 const wxArrayString& choices,
55909                 long styleDlg = ((0x20000000 | 0x0800 | 0x1000) | 0x0040 | 0x00000004 | 0x00000010 | wxCENTRE),
55910                 const wxPoint& pos = wxDefaultPosition,
55911                 long styleLbox = 0x0400);
55912
55913 protected:
55914     wxListBox *m_listbox;
55915
55916     private: wxAnyChoiceDialog(const wxAnyChoiceDialog&); wxAnyChoiceDialog& operator=(const wxAnyChoiceDialog&);
55917 };
55918
55919
55920
55921
55922
55923 class wxSingleChoiceDialog : public wxAnyChoiceDialog
55924 {
55925 public:
55926     wxSingleChoiceDialog()
55927     {
55928         m_selection = -1;
55929     }
55930
55931     wxSingleChoiceDialog(wxWindow *parent,
55932                          const wxString& message,
55933                          const wxString& caption,
55934                          int n,
55935                          const wxString *choices,
55936                          char **clientData = (char **)__null,
55937                          long style = ((0x20000000 | 0x0800 | 0x1000) | 0x0040 | 0x00000004 | 0x00000010 | wxCENTRE),
55938                          const wxPoint& pos = wxDefaultPosition);
55939     wxSingleChoiceDialog(wxWindow *parent,
55940                          const wxString& message,
55941                          const wxString& caption,
55942                          const wxArrayString& choices,
55943                          char **clientData = (char **)__null,
55944                          long style = ((0x20000000 | 0x0800 | 0x1000) | 0x0040 | 0x00000004 | 0x00000010 | wxCENTRE),
55945                          const wxPoint& pos = wxDefaultPosition);
55946
55947     bool Create(wxWindow *parent,
55948                 const wxString& message,
55949                 const wxString& caption,
55950                 int n,
55951                 const wxString *choices,
55952                 char **clientData = (char **)__null,
55953                 long style = ((0x20000000 | 0x0800 | 0x1000) | 0x0040 | 0x00000004 | 0x00000010 | wxCENTRE),
55954                 const wxPoint& pos = wxDefaultPosition);
55955     bool Create(wxWindow *parent,
55956                 const wxString& message,
55957                 const wxString& caption,
55958                 const wxArrayString& choices,
55959                 char **clientData = (char **)__null,
55960                 long style = ((0x20000000 | 0x0800 | 0x1000) | 0x0040 | 0x00000004 | 0x00000010 | wxCENTRE),
55961                 const wxPoint& pos = wxDefaultPosition);
55962
55963     void SetSelection(int sel);
55964     int GetSelection() const { return m_selection; }
55965     wxString GetStringSelection() const { return m_stringSelection; }
55966
55967
55968     char *GetSelectionClientData() const { return (char *)m_clientData; }
55969
55970
55971     void OnOK(wxCommandEvent& event);
55972     void OnListBoxDClick(wxCommandEvent& event);
55973
55974 protected:
55975     int m_selection;
55976     wxString m_stringSelection;
55977
55978 private:
55979     private: wxSingleChoiceDialog(const wxSingleChoiceDialog&); wxSingleChoiceDialog& operator=(const wxSingleChoiceDialog&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
55980     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
55981 };
55982
55983
55984
55985
55986
55987 class wxMultiChoiceDialog : public wxAnyChoiceDialog
55988 {
55989 public:
55990     wxMultiChoiceDialog() { }
55991
55992     wxMultiChoiceDialog(wxWindow *parent,
55993                         const wxString& message,
55994                         const wxString& caption,
55995                         int n,
55996                         const wxString *choices,
55997                         long style = ((0x20000000 | 0x0800 | 0x1000) | 0x0040 | 0x00000004 | 0x00000010 | wxCENTRE),
55998                         const wxPoint& pos = wxDefaultPosition)
55999     {
56000         (void)Create(parent, message, caption, n, choices, style, pos);
56001     }
56002     wxMultiChoiceDialog(wxWindow *parent,
56003                         const wxString& message,
56004                         const wxString& caption,
56005                         const wxArrayString& choices,
56006                         long style = ((0x20000000 | 0x0800 | 0x1000) | 0x0040 | 0x00000004 | 0x00000010 | wxCENTRE),
56007                         const wxPoint& pos = wxDefaultPosition)
56008     {
56009         (void)Create(parent, message, caption, choices, style, pos);
56010     }
56011
56012     bool Create(wxWindow *parent,
56013                 const wxString& message,
56014                 const wxString& caption,
56015                 int n,
56016                 const wxString *choices,
56017                 long style = ((0x20000000 | 0x0800 | 0x1000) | 0x0040 | 0x00000004 | 0x00000010 | wxCENTRE),
56018                 const wxPoint& pos = wxDefaultPosition);
56019     bool Create(wxWindow *parent,
56020                 const wxString& message,
56021                 const wxString& caption,
56022                 const wxArrayString& choices,
56023                 long style = ((0x20000000 | 0x0800 | 0x1000) | 0x0040 | 0x00000004 | 0x00000010 | wxCENTRE),
56024                 const wxPoint& pos = wxDefaultPosition);
56025
56026     void SetSelections(const wxArrayInt& selections);
56027     wxArrayInt GetSelections() const { return m_selections; }
56028
56029
56030     virtual bool TransferDataFromWindow();
56031
56032 protected:
56033     wxArrayInt m_selections;
56034
56035 private:
56036     private: wxMultiChoiceDialog(const wxMultiChoiceDialog&); wxMultiChoiceDialog& operator=(const wxMultiChoiceDialog&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
56037 };
56038
56039
56040
56041
56042
56043
56044  wxString wxGetSingleChoice(const wxString& message,
56045                                        const wxString& caption,
56046                                        const wxArrayString& choices,
56047                                        wxWindow *parent = (wxWindow *) __null,
56048                                        int x = wxDefaultCoord,
56049                                        int y = wxDefaultCoord,
56050                                        bool centre = true,
56051                                        int width = 200,
56052                                        int height = 150);
56053
56054  wxString wxGetSingleChoice(const wxString& message,
56055                                        const wxString& caption,
56056                                        int n, const wxString *choices,
56057                                        wxWindow *parent = (wxWindow *) __null,
56058                                        int x = wxDefaultCoord,
56059                                        int y = wxDefaultCoord,
56060                                        bool centre = true,
56061                                        int width = 200,
56062                                        int height = 150);
56063
56064
56065
56066  int wxGetSingleChoiceIndex(const wxString& message,
56067                                        const wxString& caption,
56068                                        const wxArrayString& choices,
56069                                        wxWindow *parent = (wxWindow *) __null,
56070                                        int x = wxDefaultCoord,
56071                                        int y = wxDefaultCoord,
56072                                        bool centre = true,
56073                                        int width = 200,
56074                                        int height = 150);
56075
56076  int wxGetSingleChoiceIndex(const wxString& message,
56077                                        const wxString& caption,
56078                                        int n, const wxString *choices,
56079                                        wxWindow *parent = (wxWindow *) __null,
56080                                        int x = wxDefaultCoord,
56081                                        int y = wxDefaultCoord,
56082                                        bool centre = true,
56083                                        int width = 200,
56084                                        int height = 150);
56085
56086
56087  void* wxGetSingleChoiceData(const wxString& message,
56088                                         const wxString& caption,
56089                                         const wxArrayString& choices,
56090                                         void **client_data,
56091                                         wxWindow *parent = (wxWindow *) __null,
56092                                         int x = wxDefaultCoord,
56093                                         int y = wxDefaultCoord,
56094                                         bool centre = true,
56095                                         int width = 200,
56096                                         int height = 150);
56097
56098  void* wxGetSingleChoiceData(const wxString& message,
56099                                         const wxString& caption,
56100                                         int n, const wxString *choices,
56101                                         void **client_data,
56102                                         wxWindow *parent = (wxWindow *) __null,
56103                                         int x = wxDefaultCoord,
56104                                         int y = wxDefaultCoord,
56105                                         bool centre = true,
56106                                         int width = 200,
56107                                         int height = 150);
56108
56109
56110
56111
56112  size_t wxGetMultipleChoices(wxArrayInt& selections,
56113                                         const wxString& message,
56114                                         const wxString& caption,
56115                                         int n, const wxString *choices,
56116                                         wxWindow *parent = (wxWindow *) __null,
56117                                         int x = wxDefaultCoord,
56118                                         int y = wxDefaultCoord,
56119                                         bool centre = true,
56120                                         int width = 200,
56121                                         int height = 150);
56122
56123  size_t wxGetMultipleChoices(wxArrayInt& selections,
56124                                         const wxString& message,
56125                                         const wxString& caption,
56126                                         const wxArrayString& choices,
56127                                         wxWindow *parent = (wxWindow *) __null,
56128                                         int x = wxDefaultCoord,
56129                                         int y = wxDefaultCoord,
56130                                         bool centre = true,
56131                                         int width = 200,
56132                                         int height = 150);
56133 # 18 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/choicdlg.h" 2
56134 # 78 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
56135 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/textdlg.h" 1
56136 # 15 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/textdlg.h"
56137 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/textdlgg.h" 1
56138 # 26 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/textdlgg.h"
56139 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/valtext.h" 1
56140 # 36 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/valtext.h"
56141 class wxTextValidator: public wxValidator
56142 {
56143 public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
56144 public:
56145
56146     wxTextValidator(long style = 0x0000, wxString *val = 0);
56147     wxTextValidator(const wxTextValidator& val);
56148
56149     ~wxTextValidator(){}
56150
56151
56152
56153
56154
56155     virtual wxObject *Clone() const { return new wxTextValidator(*this); }
56156     bool Copy(const wxTextValidator& val);
56157
56158
56159
56160     virtual bool Validate(wxWindow *parent);
56161
56162
56163     virtual bool TransferToWindow();
56164
56165
56166     virtual bool TransferFromWindow();
56167
56168
56169     inline long GetStyle() const { return m_validatorStyle; }
56170     inline void SetStyle(long style) { m_validatorStyle = style; }
56171
56172
56173     void SetIncludeList(const wxStringList& list) __attribute__ ((deprecated));
56174     wxStringList& GetIncludeList() __attribute__ ((deprecated));
56175
56176     void SetExcludeList(const wxStringList& list) __attribute__ ((deprecated));
56177     wxStringList& GetExcludeList() __attribute__ ((deprecated));
56178
56179     bool IsInCharIncludeList(const wxString& val) __attribute__ ((deprecated));
56180     bool IsNotInCharExcludeList(const wxString& val) __attribute__ ((deprecated));
56181
56182
56183     void SetIncludes(const wxArrayString& includes) { m_includes = includes; }
56184     inline wxArrayString& GetIncludes() { return m_includes; }
56185
56186     void SetExcludes(const wxArrayString& excludes) { m_excludes = excludes; }
56187     inline wxArrayString& GetExcludes() { return m_excludes; }
56188
56189     bool IsInCharIncludes(const wxString& val);
56190     bool IsNotInCharExcludes(const wxString& val);
56191
56192
56193     void OnChar(wxKeyEvent& event);
56194
56195
56196 private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
56197
56198 protected:
56199     long m_validatorStyle;
56200     wxString * m_stringValue;
56201
56202     wxStringList m_includeList;
56203     wxStringList m_excludeList;
56204
56205     wxArrayString m_includes;
56206     wxArrayString m_excludes;
56207
56208     bool CheckValidator() const
56209     {
56210         if (!(m_validatorWindow)) {; return false; };
56211
56212         if (!(m_validatorWindow->IsKindOf((&wxTextCtrl::ms_classInfo)))) {; return false; };
56213
56214
56215         return true;
56216     }
56217
56218 private:
56219
56220
56221
56222
56223
56224     wxTextValidator& operator=(const wxTextValidator&);
56225 };
56226 # 27 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/textdlgg.h" 2
56227
56228
56229 class wxTextCtrl;
56230
56231 extern const wxChar* wxGetTextFromUserPromptStr;
56232 extern const wxChar* wxGetPasswordFromUserPromptStr;
56233
56234
56235
56236
56237
56238
56239
56240 class wxTextEntryDialog : public wxDialog
56241 {
56242 public:
56243     wxTextEntryDialog(wxWindow *parent,
56244                       const wxString& message,
56245                       const wxString& caption = wxGetTextFromUserPromptStr,
56246                       const wxString& value = wxEmptyString,
56247                       long style = (0x00000004 | 0x00000010 | wxCENTRE | 0x00000001),
56248                       const wxPoint& pos = wxDefaultPosition);
56249
56250     void SetValue(const wxString& val);
56251     wxString GetValue() const { return m_value; }
56252
56253
56254     void SetTextValidator( wxTextValidator& validator );
56255     void SetTextValidator( long style = 0x0000 );
56256     wxTextValidator* GetTextValidator() { return (wxTextValidator*)m_textctrl->GetValidator(); }
56257
56258
56259
56260
56261     void OnOK(wxCommandEvent& event);
56262
56263 protected:
56264     wxTextCtrl *m_textctrl;
56265     wxString m_value;
56266     long m_dialogStyle;
56267
56268 private:
56269     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
56270     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
56271     private: wxTextEntryDialog(const wxTextEntryDialog&); wxTextEntryDialog& operator=(const wxTextEntryDialog&);
56272 };
56273
56274
56275
56276
56277
56278 class wxPasswordEntryDialog : public wxTextEntryDialog
56279 {
56280 public:
56281     wxPasswordEntryDialog(wxWindow *parent,
56282                       const wxString& message,
56283                       const wxString& caption = wxGetPasswordFromUserPromptStr,
56284                       const wxString& value = wxEmptyString,
56285                       long style = (0x00000004 | 0x00000010 | wxCENTRE | 0x00000001),
56286                       const wxPoint& pos = wxDefaultPosition);
56287 private:
56288     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
56289     private: wxPasswordEntryDialog(const wxPasswordEntryDialog&); wxPasswordEntryDialog& operator=(const wxPasswordEntryDialog&);
56290 };
56291
56292
56293
56294
56295
56296 wxString
56297 wxGetTextFromUser(const wxString& message,
56298                   const wxString& caption = wxGetTextFromUserPromptStr,
56299                   const wxString& default_value = wxEmptyString,
56300                   wxWindow *parent = (wxWindow *) __null,
56301                   wxCoord x = wxDefaultCoord,
56302                   wxCoord y = wxDefaultCoord,
56303                   bool centre = true);
56304
56305 wxString
56306 wxGetPasswordFromUser(const wxString& message,
56307                       const wxString& caption = wxGetPasswordFromUserPromptStr,
56308                       const wxString& default_value = wxEmptyString,
56309                       wxWindow *parent = (wxWindow *) __null,
56310                       wxCoord x = wxDefaultCoord,
56311                       wxCoord y = wxDefaultCoord,
56312                       bool centre = true);
56313 # 16 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/textdlg.h" 2
56314
56315
56316
56317 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/numdlg.h" 1
56318 # 17 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/numdlg.h"
56319 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/numdlgg.h" 1
56320 # 26 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/numdlgg.h"
56321     class wxSpinCtrl;
56322 # 35 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/numdlgg.h"
56323 class wxNumberEntryDialog : public wxDialog
56324 {
56325 public:
56326     wxNumberEntryDialog(wxWindow *parent,
56327                         const wxString& message,
56328                         const wxString& prompt,
56329                         const wxString& caption,
56330                         long value, long min, long max,
56331                         const wxPoint& pos = wxDefaultPosition);
56332
56333     long GetValue() const { return m_value; }
56334
56335
56336     void OnOK(wxCommandEvent& event);
56337     void OnCancel(wxCommandEvent& event);
56338
56339 protected:
56340
56341
56342     wxSpinCtrl *m_spinctrl;
56343
56344
56345
56346
56347     long m_value, m_min, m_max;
56348
56349 private:
56350     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
56351     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
56352     private: wxNumberEntryDialog(const wxNumberEntryDialog&); wxNumberEntryDialog& operator=(const wxNumberEntryDialog&);
56353 };
56354
56355
56356
56357
56358
56359 long
56360 wxGetNumberFromUser(const wxString& message,
56361                     const wxString& prompt,
56362                     const wxString& caption,
56363                     long value = 0,
56364                     long min = 0,
56365                     long max = 100,
56366                     wxWindow *parent = (wxWindow *)__null,
56367                     const wxPoint& pos = wxDefaultPosition);
56368 # 18 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/numdlg.h" 2
56369 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/textdlg.h" 2
56370 # 79 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
56371 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filedlg.h" 1
56372 # 30 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filedlg.h"
56373 enum
56374 {
56375     wxOPEN = 0x0001,
56376     wxSAVE = 0x0002,
56377     wxOVERWRITE_PROMPT = 0x0004,
56378
56379     wxHIDE_READONLY = 0x0008,
56380
56381     wxFILE_MUST_EXIST = 0x0010,
56382     wxMULTIPLE = 0x0020,
56383     wxCHANGE_DIR = 0x0040
56384 };
56385
56386 extern const wxChar* wxFileSelectorPromptStr;
56387 extern const wxChar* wxFileSelectorDefaultWildcardStr;
56388
56389
56390
56391
56392
56393 class wxFileDialogBase: public wxDialog
56394 {
56395 public:
56396     wxFileDialogBase () { Init(); }
56397
56398     wxFileDialogBase(wxWindow *parent,
56399                      const wxString& message = wxFileSelectorPromptStr,
56400                      const wxString& defaultDir = wxEmptyString,
56401                      const wxString& defaultFile = wxEmptyString,
56402                      const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
56403                      long style = 0,
56404                      const wxPoint& pos = wxDefaultPosition) : wxDialog()
56405     {
56406         Init();
56407         Create(parent, message, defaultDir, defaultFile, wildCard, style, pos);
56408     }
56409
56410     bool Create(wxWindow *parent,
56411                 const wxString& message = wxFileSelectorPromptStr,
56412                 const wxString& defaultDir = wxEmptyString,
56413                 const wxString& defaultFile = wxEmptyString,
56414                 const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
56415                 long style = 0,
56416                 const wxPoint& pos = wxDefaultPosition);
56417
56418     virtual void SetMessage(const wxString& message) { m_message = message; }
56419     virtual void SetPath(const wxString& path) { m_path = path; }
56420     virtual void SetDirectory(const wxString& dir) { m_dir = dir; }
56421     virtual void SetFilename(const wxString& name) { m_fileName = name; }
56422     virtual void SetWildcard(const wxString& wildCard) { m_wildCard = wildCard; }
56423     virtual void SetStyle(long style) { m_dialogStyle = style; }
56424     virtual void SetFilterIndex(int filterIndex) { m_filterIndex = filterIndex; }
56425
56426     virtual wxString GetMessage() const { return m_message; }
56427     virtual wxString GetPath() const { return m_path; }
56428     virtual void GetPaths(wxArrayString& paths) const { paths.Empty(); paths.Add(m_path); }
56429     virtual wxString GetDirectory() const { return m_dir; }
56430     virtual wxString GetFilename() const { return m_fileName; }
56431     virtual void GetFilenames(wxArrayString& files) const { files.Empty(); files.Add(m_fileName); }
56432     virtual wxString GetWildcard() const { return m_wildCard; }
56433     virtual long GetStyle() const { return m_dialogStyle; }
56434     virtual int GetFilterIndex() const { return m_filterIndex; }
56435 # 101 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filedlg.h"
56436     static int ParseWildcard(const wxString& wildCard, wxArrayString& descriptions, wxArrayString& filters) __attribute__ ((deprecated));
56437 # 110 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filedlg.h"
56438     static wxString AppendExtension(const wxString &filePath,
56439                                     const wxString &extensionList);
56440
56441 protected:
56442     wxString m_message;
56443     long m_dialogStyle;
56444     wxWindow *m_parent;
56445     wxString m_dir;
56446     wxString m_path;
56447     wxString m_fileName;
56448     wxString m_wildCard;
56449     int m_filterIndex;
56450
56451 private:
56452     void Init();
56453     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
56454     private: wxFileDialogBase(const wxFileDialogBase&); wxFileDialogBase& operator=(const wxFileDialogBase&);
56455 };
56456
56457
56458
56459
56460
56461
56462  wxString
56463 wxFileSelector(const wxChar *message = wxFileSelectorPromptStr,
56464                const wxChar *default_path = __null,
56465                const wxChar *default_filename = __null,
56466                const wxChar *default_extension = __null,
56467                const wxChar *wildcard = wxFileSelectorDefaultWildcardStr,
56468                int flags = 0,
56469                wxWindow *parent = __null,
56470                int x = wxDefaultCoord, int y = wxDefaultCoord);
56471
56472
56473  wxString
56474 wxFileSelectorEx(const wxChar *message = wxFileSelectorPromptStr,
56475                  const wxChar *default_path = __null,
56476                  const wxChar *default_filename = __null,
56477                  int *indexDefaultExtension = __null,
56478                  const wxChar *wildcard = wxFileSelectorDefaultWildcardStr,
56479                  int flags = 0,
56480                  wxWindow *parent = __null,
56481                  int x = wxDefaultCoord, int y = wxDefaultCoord);
56482
56483
56484  wxString
56485 wxLoadFileSelector(const wxChar *what,
56486                    const wxChar *extension,
56487                    const wxChar *default_name = (const wxChar *)__null,
56488                    wxWindow *parent = (wxWindow *) __null);
56489
56490
56491  wxString
56492 wxSaveFileSelector(const wxChar *what,
56493                    const wxChar *extension,
56494                    const wxChar *default_name = (const wxChar *) __null,
56495                    wxWindow *parent = (wxWindow *) __null);
56496 # 177 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filedlg.h"
56497 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/filedlg.h" 1
56498 # 18 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/filedlg.h"
56499 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/filedlgg.h" 1
56500 # 19 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/filedlgg.h"
56501 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/listctrl.h" 1
56502 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/listctrl.h"
56503 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/listbase.h" 1
56504 # 34 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/listbase.h"
56505 typedef int ( *wxListCtrlCompare)(long item1, long item2, long sortData);
56506 # 112 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/listbase.h"
56507 enum
56508 {
56509     wxLIST_NEXT_ABOVE,
56510     wxLIST_NEXT_ALL,
56511     wxLIST_NEXT_BELOW,
56512     wxLIST_NEXT_LEFT,
56513     wxLIST_NEXT_RIGHT
56514 };
56515
56516
56517 enum
56518 {
56519     wxLIST_ALIGN_DEFAULT,
56520     wxLIST_ALIGN_LEFT,
56521     wxLIST_ALIGN_TOP,
56522     wxLIST_ALIGN_SNAP_TO_GRID
56523 };
56524
56525
56526 enum wxListColumnFormat
56527 {
56528     wxLIST_FORMAT_LEFT,
56529     wxLIST_FORMAT_RIGHT,
56530     wxLIST_FORMAT_CENTRE,
56531     wxLIST_FORMAT_CENTER = wxLIST_FORMAT_CENTRE
56532 };
56533
56534
56535 enum
56536 {
56537     wxLIST_AUTOSIZE = -1,
56538     wxLIST_AUTOSIZE_USEHEADER = -2
56539 };
56540
56541
56542 enum
56543 {
56544     wxLIST_RECT_BOUNDS,
56545     wxLIST_RECT_ICON,
56546     wxLIST_RECT_LABEL
56547 };
56548
56549
56550 enum
56551 {
56552     wxLIST_FIND_UP,
56553     wxLIST_FIND_DOWN,
56554     wxLIST_FIND_LEFT,
56555     wxLIST_FIND_RIGHT
56556 };
56557
56558
56559
56560
56561
56562 class wxListItemAttr
56563 {
56564 public:
56565
56566     wxListItemAttr() { }
56567     wxListItemAttr(const wxColour& colText,
56568                    const wxColour& colBack,
56569                    const wxFont& font)
56570         : m_colText(colText), m_colBack(colBack), m_font(font) { }
56571
56572
56573     void SetTextColour(const wxColour& colText) { m_colText = colText; }
56574     void SetBackgroundColour(const wxColour& colBack) { m_colBack = colBack; }
56575     void SetFont(const wxFont& font) { m_font = font; }
56576
56577
56578     bool HasTextColour() const { return m_colText.Ok(); }
56579     bool HasBackgroundColour() const { return m_colBack.Ok(); }
56580     bool HasFont() const { return m_font.Ok(); }
56581
56582     const wxColour& GetTextColour() const { return m_colText; }
56583     const wxColour& GetBackgroundColour() const { return m_colBack; }
56584     const wxFont& GetFont() const { return m_font; }
56585
56586 private:
56587     wxColour m_colText,
56588              m_colBack;
56589     wxFont m_font;
56590 };
56591
56592
56593
56594
56595
56596 class wxListItem : public wxObject
56597 {
56598 public:
56599     wxListItem() { Init(); m_attr = __null; }
56600     wxListItem(const wxListItem& item)
56601         : wxObject(),
56602           m_mask(item.m_mask),
56603           m_itemId(item.m_itemId),
56604           m_col(item.m_col),
56605           m_state(item.m_state),
56606           m_stateMask(item.m_stateMask),
56607           m_text(item.m_text),
56608           m_image(item.m_image),
56609           m_data(item.m_data),
56610           m_format(item.m_format),
56611           m_width(item.m_width),
56612           m_attr(__null)
56613     {
56614
56615         if( item.HasAttributes() )
56616             m_attr = new wxListItemAttr(*item.GetAttributes());
56617     }
56618     virtual ~wxListItem() { delete m_attr; }
56619
56620
56621     void Clear() { Init(); m_text.clear(); ClearAttributes(); }
56622     void ClearAttributes() { if ( m_attr ) { delete m_attr; m_attr = __null; } }
56623
56624
56625     void SetMask(long mask)
56626         { m_mask = mask; }
56627     void SetId(long id)
56628         { m_itemId = id; }
56629     void SetColumn(int col)
56630         { m_col = col; }
56631     void SetState(long state)
56632         { m_mask |= 0x0001; m_state = state; m_stateMask |= state; }
56633     void SetStateMask(long stateMask)
56634         { m_stateMask = stateMask; }
56635     void SetText(const wxString& text)
56636         { m_mask |= 0x0002; m_text = text; }
56637     void SetImage(int image)
56638         { m_mask |= 0x0004; m_image = image; }
56639     void SetData(long data)
56640         { m_mask |= 0x0008; m_data = data; }
56641     void SetData(void *data)
56642         { m_mask |= 0x0008; m_data = wxPtrToUInt(data); }
56643
56644     void SetWidth(int width)
56645         { m_mask |= 0x0020; m_width = width; }
56646     void SetAlign(wxListColumnFormat align)
56647         { m_mask |= 0x0040; m_format = align; }
56648
56649     void SetTextColour(const wxColour& colText)
56650         { Attributes().SetTextColour(colText); }
56651     void SetBackgroundColour(const wxColour& colBack)
56652         { Attributes().SetBackgroundColour(colBack); }
56653     void SetFont(const wxFont& font)
56654         { Attributes().SetFont(font); }
56655
56656
56657     long GetMask() const { return m_mask; }
56658     long GetId() const { return m_itemId; }
56659     int GetColumn() const { return m_col; }
56660     long GetState() const { return m_state & m_stateMask; }
56661     const wxString& GetText() const { return m_text; }
56662     int GetImage() const { return m_image; }
56663     wxUIntPtr GetData() const { return m_data; }
56664
56665     int GetWidth() const { return m_width; }
56666     wxListColumnFormat GetAlign() const { return (wxListColumnFormat)m_format; }
56667
56668     wxListItemAttr *GetAttributes() const { return m_attr; }
56669     bool HasAttributes() const { return m_attr != __null; }
56670
56671     wxColour GetTextColour() const
56672         { return HasAttributes() ? m_attr->GetTextColour() : wxNullColour; }
56673     wxColour GetBackgroundColour() const
56674         { return HasAttributes() ? m_attr->GetBackgroundColour()
56675                                  : wxNullColour; }
56676     wxFont GetFont() const
56677         { return HasAttributes() ? m_attr->GetFont() : wxNullFont; }
56678
56679
56680
56681     operator long() const { return m_itemId; }
56682
56683
56684
56685     long m_mask;
56686     long m_itemId;
56687     int m_col;
56688     long m_state;
56689     long m_stateMask;
56690     wxString m_text;
56691     int m_image;
56692     wxUIntPtr m_data;
56693
56694
56695     int m_format;
56696     int m_width;
56697
56698
56699
56700
56701
56702 protected:
56703
56704     wxListItemAttr& Attributes()
56705     {
56706         if ( !m_attr )
56707             m_attr = new wxListItemAttr;
56708
56709         return *m_attr;
56710     }
56711
56712     void Init()
56713     {
56714         m_mask = 0;
56715         m_itemId = 0;
56716         m_col = 0;
56717         m_state = 0;
56718         m_stateMask = 0;
56719         m_image = 0;
56720         m_data = 0;
56721
56722         m_format = wxLIST_FORMAT_CENTRE;
56723         m_width = 0;
56724     }
56725
56726     wxListItemAttr *m_attr;
56727
56728 private:
56729
56730     wxListItem& operator=(const wxListItem& item);
56731
56732     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
56733 };
56734
56735
56736
56737
56738
56739 class wxListEvent : public wxNotifyEvent
56740 {
56741 public:
56742     wxListEvent(wxEventType commandType = wxEVT_NULL, int winid = 0)
56743         : wxNotifyEvent(commandType, winid)
56744         , m_code(0)
56745         , m_oldItemIndex(0)
56746         , m_itemIndex(0)
56747         , m_col(0)
56748         , m_pointDrag()
56749         , m_item()
56750         , m_editCancelled(false)
56751         { }
56752
56753     wxListEvent(const wxListEvent& event)
56754         : wxNotifyEvent(event)
56755         , m_code(event.m_code)
56756         , m_oldItemIndex(event.m_oldItemIndex)
56757         , m_itemIndex(event.m_itemIndex)
56758         , m_col(event.m_col)
56759         , m_pointDrag(event.m_pointDrag)
56760         , m_item(event.m_item)
56761         , m_editCancelled(event.m_editCancelled)
56762         { }
56763
56764     int GetKeyCode() const { return m_code; }
56765     long GetIndex() const { return m_itemIndex; }
56766     int GetColumn() const { return m_col; }
56767     wxPoint GetPoint() const { return m_pointDrag; }
56768     const wxString& GetLabel() const { return m_item.m_text; }
56769     const wxString& GetText() const { return m_item.m_text; }
56770     int GetImage() const { return m_item.m_image; }
56771     long GetData() const { return static_cast<long>(m_item.m_data); }
56772     long GetMask() const { return m_item.m_mask; }
56773     const wxListItem& GetItem() const { return m_item; }
56774
56775
56776     long GetCacheFrom() const { return m_oldItemIndex; }
56777     long GetCacheTo() const { return m_itemIndex; }
56778
56779
56780     bool IsEditCancelled() const { return m_editCancelled; }
56781     void SetEditCanceled(bool editCancelled) { m_editCancelled = editCancelled; }
56782 # 397 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/listbase.h"
56783     virtual wxEvent *Clone() const { return new wxListEvent(*this); }
56784
56785
56786     int m_code;
56787     long m_oldItemIndex;
56788     long m_itemIndex;
56789     int m_col;
56790     wxPoint m_pointDrag;
56791
56792     wxListItem m_item;
56793
56794 protected:
56795     bool m_editCancelled;
56796
56797 private:
56798     private: wxListEvent& operator=(const wxListEvent&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
56799 };
56800
56801
56802
56803
56804
56805
56806     extern const wxEventType wxEVT_COMMAND_LIST_BEGIN_DRAG;
56807     extern const wxEventType wxEVT_COMMAND_LIST_BEGIN_RDRAG;
56808     extern const wxEventType wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT;
56809     extern const wxEventType wxEVT_COMMAND_LIST_END_LABEL_EDIT;
56810     extern const wxEventType wxEVT_COMMAND_LIST_DELETE_ITEM;
56811     extern const wxEventType wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS;
56812
56813     extern const wxEventType wxEVT_COMMAND_LIST_GET_INFO;
56814     extern const wxEventType wxEVT_COMMAND_LIST_SET_INFO;
56815
56816     extern const wxEventType wxEVT_COMMAND_LIST_ITEM_SELECTED;
56817     extern const wxEventType wxEVT_COMMAND_LIST_ITEM_DESELECTED;
56818     extern const wxEventType wxEVT_COMMAND_LIST_KEY_DOWN;
56819     extern const wxEventType wxEVT_COMMAND_LIST_INSERT_ITEM;
56820     extern const wxEventType wxEVT_COMMAND_LIST_COL_CLICK;
56821     extern const wxEventType wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK;
56822     extern const wxEventType wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK;
56823     extern const wxEventType wxEVT_COMMAND_LIST_ITEM_ACTIVATED;
56824     extern const wxEventType wxEVT_COMMAND_LIST_CACHE_HINT;
56825     extern const wxEventType wxEVT_COMMAND_LIST_COL_RIGHT_CLICK;
56826     extern const wxEventType wxEVT_COMMAND_LIST_COL_BEGIN_DRAG;
56827     extern const wxEventType wxEVT_COMMAND_LIST_COL_DRAGGING;
56828     extern const wxEventType wxEVT_COMMAND_LIST_COL_END_DRAG;
56829     extern const wxEventType wxEVT_COMMAND_LIST_ITEM_FOCUSED;
56830
56831
56832 typedef void (wxEvtHandler::*wxListEventFunction)(wxListEvent&);
56833 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/listctrl.h" 2
56834
56835
56836
56837
56838
56839 extern const wxChar* wxListCtrlNameStr;
56840 # 38 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/listctrl.h"
56841 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/listctrl.h" 1
56842 # 23 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/listctrl.h"
56843 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/imaglist.h" 1
56844 # 19 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/imaglist.h"
56845 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/list.h" 1
56846 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/imaglist.h" 2
56847 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/icon.h" 1
56848 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/imaglist.h" 2
56849
56850 class wxDC;
56851 class wxBitmap;
56852 class wxColour;
56853 # 49 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/imaglist.h"
56854 enum {
56855     wxIMAGE_LIST_NORMAL,
56856     wxIMAGE_LIST_SMALL,
56857     wxIMAGE_LIST_STATE
56858 };
56859
56860
56861
56862 class wxGenericImageList: public wxObject
56863 {
56864 public:
56865     wxGenericImageList() { m_width = m_height = 0; }
56866     wxGenericImageList( int width, int height, bool mask = true, int initialCount = 1 );
56867     ~wxGenericImageList();
56868     bool Create( int width, int height, bool mask = true, int initialCount = 1 );
56869     bool Create();
56870
56871     virtual int GetImageCount() const;
56872     virtual bool GetSize( int index, int &width, int &height ) const;
56873
56874     int Add( const wxBitmap& bitmap );
56875     int Add( const wxBitmap& bitmap, const wxBitmap& mask );
56876     int Add( const wxBitmap& bitmap, const wxColour& maskColour );
56877     wxBitmap GetBitmap(int index) const;
56878     wxIcon GetIcon(int index) const;
56879     bool Replace( int index, const wxBitmap &bitmap );
56880     bool Remove( int index );
56881     bool RemoveAll();
56882
56883     virtual bool Draw(int index, wxDC& dc, int x, int y,
56884               int flags = 0x0001,
56885               bool solidBackground = false);
56886
56887
56888     const wxBitmap *GetBitmapPtr(int index) const;
56889 private:
56890     wxList m_images;
56891
56892     int m_width;
56893     int m_height;
56894
56895     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
56896 };
56897
56898
56899
56900
56901
56902
56903
56904 class wxImageList: public wxGenericImageList
56905 {
56906     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
56907
56908 public:
56909     wxImageList() {}
56910
56911     wxImageList( int width, int height, bool mask = true, int initialCount = 1 )
56912         : wxGenericImageList(width, height, mask, initialCount)
56913     {
56914     }
56915 };
56916 # 24 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/listctrl.h" 2
56917
56918
56919 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/control.h" 1
56920 # 27 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/listctrl.h" 2
56921 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/timer.h" 1
56922 # 28 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/listctrl.h" 2
56923 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/dcclient.h" 1
56924 # 29 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/listctrl.h" 2
56925 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/scrolwin.h" 1
56926 # 30 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/listctrl.h" 2
56927 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/settings.h" 1
56928 # 31 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/listctrl.h" 2
56929 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/listbase.h" 1
56930 # 32 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/listctrl.h" 2
56931
56932
56933 class wxDropTarget;
56934
56935
56936
56937
56938
56939
56940 class wxListItem;
56941 class wxListEvent;
56942
56943
56944 class wxListCtrl;
56945 # 55 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/listctrl.h"
56946 class wxListHeaderData;
56947 class wxListItemData;
56948 class wxListLineData;
56949
56950 class wxListHeaderWindow;
56951 class wxListMainWindow;
56952
56953 class wxListRenameTimer;
56954 class wxListTextCtrl;
56955
56956
56957
56958
56959
56960 class wxGenericListCtrl: public wxControl
56961 {
56962 public:
56963     wxGenericListCtrl();
56964     wxGenericListCtrl( wxWindow *parent,
56965                 wxWindowID winid = wxID_ANY,
56966                 const wxPoint &pos = wxDefaultPosition,
56967                 const wxSize &size = wxDefaultSize,
56968                 long style = 0x0004,
56969                 const wxValidator& validator = wxDefaultValidator,
56970                 const wxString &name = wxListCtrlNameStr)
56971     {
56972         Create(parent, winid, pos, size, style, validator, name);
56973     }
56974     ~wxGenericListCtrl();
56975
56976     bool Create( wxWindow *parent,
56977                  wxWindowID winid = wxID_ANY,
56978                  const wxPoint &pos = wxDefaultPosition,
56979                  const wxSize &size = wxDefaultSize,
56980                  long style = 0x0004,
56981                  const wxValidator& validator = wxDefaultValidator,
56982                  const wxString &name = wxListCtrlNameStr);
56983
56984     bool GetColumn( int col, wxListItem& item ) const;
56985     bool SetColumn( int col, wxListItem& item );
56986     int GetColumnWidth( int col ) const;
56987     bool SetColumnWidth( int col, int width);
56988     int GetCountPerPage() const;
56989     wxRect GetViewRect() const;
56990
56991     bool GetItem( wxListItem& info ) const;
56992     bool SetItem( wxListItem& info ) ;
56993     long SetItem( long index, int col, const wxString& label, int imageId = -1 );
56994     int GetItemState( long item, long stateMask ) const;
56995     bool SetItemState( long item, long state, long stateMask);
56996     bool SetItemImage( long item, int image, int selImage = -1 );
56997
56998     bool SetItemColumnImage( long item, long column, int image );
56999
57000     wxString GetItemText( long item ) const;
57001     void SetItemText( long item, const wxString& str );
57002     wxUIntPtr GetItemData( long item ) const;
57003     bool SetItemData( long item, long data );
57004     bool GetItemRect( long item, wxRect& rect, int code = wxLIST_RECT_BOUNDS ) const;
57005     bool GetItemPosition( long item, wxPoint& pos ) const;
57006     bool SetItemPosition( long item, const wxPoint& pos );
57007     int GetItemCount() const;
57008     int GetColumnCount() const;
57009     void SetItemSpacing( int spacing, bool isSmall = false );
57010     wxSize GetItemSpacing() const;
57011     void SetItemTextColour( long item, const wxColour& col);
57012     wxColour GetItemTextColour( long item ) const;
57013     void SetItemBackgroundColour( long item, const wxColour &col);
57014     wxColour GetItemBackgroundColour( long item ) const;
57015
57016     void SetItemFont( long item, const wxFont &f);
57017     wxFont GetItemFont( long item ) const;
57018
57019     int GetSelectedItemCount() const;
57020     wxColour GetTextColour() const;
57021     void SetTextColour(const wxColour& col);
57022     long GetTopItem() const;
57023
57024     void SetSingleStyle( long style, bool add = true ) ;
57025     void SetWindowStyleFlag( long style );
57026     void RecreateWindow() {}
57027     long GetNextItem( long item, int geometry = wxLIST_NEXT_ALL, int state = 0x0000 ) const;
57028     wxImageList *GetImageList( int which ) const;
57029     void SetImageList( wxImageList *imageList, int which );
57030     void AssignImageList( wxImageList *imageList, int which );
57031     bool Arrange( int flag = wxLIST_ALIGN_DEFAULT );
57032
57033     void ClearAll();
57034     bool DeleteItem( long item );
57035     bool DeleteAllItems();
57036     bool DeleteAllColumns();
57037     bool DeleteColumn( int col );
57038
57039     void SetItemCount(long count);
57040
57041     void EditLabel( long item ) { Edit(item); }
57042     void Edit( long item );
57043
57044     bool EnsureVisible( long item );
57045     long FindItem( long start, const wxString& str, bool partial = false );
57046     long FindItem( long start, wxUIntPtr data );
57047     long FindItem( long start, const wxPoint& pt, int direction );
57048     long HitTest( const wxPoint& point, int& flags);
57049     long InsertItem(wxListItem& info);
57050     long InsertItem( long index, const wxString& label );
57051     long InsertItem( long index, int imageIndex );
57052     long InsertItem( long index, const wxString& label, int imageIndex );
57053     long InsertColumn( long col, wxListItem& info );
57054     long InsertColumn( long col, const wxString& heading,
57055                        int format = wxLIST_FORMAT_LEFT, int width = -1 );
57056     bool ScrollList( int dx, int dy );
57057     bool SortItems( wxListCtrlCompare fn, long data );
57058     bool Update( long item );
57059
57060
57061     bool InReportView() const { return HasFlag(0x0020); }
57062
57063
57064     bool IsVirtual() const { return HasFlag(0x0200); }
57065
57066
57067     bool HasHeader() const
57068         { return InReportView() && !HasFlag(0x0800); }
57069
57070
57071     void RefreshItem(long item);
57072     void RefreshItems(long itemFrom, long itemTo);
57073
57074
57075     int GetItemSpacing( bool isSmall ) const __attribute__ ((deprecated));
57076
57077
57078     virtual wxVisualAttributes GetDefaultAttributes() const
57079     {
57080         return GetClassDefaultAttributes(GetWindowVariant());
57081     }
57082
57083     static wxVisualAttributes
57084     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
57085
57086
57087
57088
57089     void OnInternalIdle( );
57090     void OnSize( wxSizeEvent &event );
57091
57092
57093     virtual void Refresh(bool eraseBackground = true,
57094                          const wxRect *rect = __null);
57095
57096     virtual void Freeze();
57097     virtual void Thaw();
57098
57099     virtual bool SetBackgroundColour( const wxColour &colour );
57100     virtual bool SetForegroundColour( const wxColour &colour );
57101     virtual wxColour GetBackgroundColour() const;
57102     virtual wxColour GetForegroundColour() const;
57103     virtual bool SetFont( const wxFont &font );
57104     virtual bool SetCursor( const wxCursor &cursor );
57105
57106
57107     virtual void SetDropTarget( wxDropTarget *dropTarget );
57108     virtual wxDropTarget *GetDropTarget() const;
57109
57110
57111     virtual bool DoPopupMenu( wxMenu *menu, int x, int y );
57112
57113     virtual bool ShouldInheritColours() const { return false; }
57114     virtual void SetFocus();
57115
57116     virtual wxSize DoGetBestSize() const;
57117
57118
57119
57120
57121     wxImageList *m_imageListNormal;
57122     wxImageList *m_imageListSmall;
57123     wxImageList *m_imageListState;
57124     bool m_ownsImageListNormal,
57125                          m_ownsImageListSmall,
57126                          m_ownsImageListState;
57127     wxListHeaderWindow *m_headerWin;
57128     wxListMainWindow *m_mainWin;
57129     wxCoord m_headerHeight;
57130
57131 protected:
57132
57133     virtual wxString OnGetItemText(long item, long column) const;
57134
57135
57136     virtual int OnGetItemImage(long item) const;
57137
57138
57139     virtual wxListItemAttr *OnGetItemAttr(long item) const;
57140
57141
57142     friend class wxListMainWindow;
57143
57144
57145
57146
57147     virtual void DoClientToScreen( int *x, int *y ) const;
57148     virtual void DoScreenToClient( int *x, int *y ) const;
57149
57150
57151 private:
57152
57153     virtual void Update() { wxWindow::Update(); }
57154
57155
57156     void CreateHeaderWindow();
57157
57158
57159     void CalculateAndSetHeaderHeight();
57160
57161
57162
57163     void ResizeReportView(bool showHeader);
57164
57165     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
57166     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
57167 };
57168
57169
57170
57171
57172
57173
57174
57175 class wxListCtrl: public wxGenericListCtrl
57176 {
57177     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
57178
57179 public:
57180     wxListCtrl() {}
57181
57182     wxListCtrl(wxWindow *parent, wxWindowID winid = wxID_ANY,
57183                const wxPoint& pos = wxDefaultPosition,
57184                const wxSize& size = wxDefaultSize,
57185                long style = 0x0004,
57186                const wxValidator &validator = wxDefaultValidator,
57187                const wxString &name = wxListCtrlNameStr)
57188     : wxGenericListCtrl(parent, winid, pos, size, style, validator, name)
57189     {
57190     }
57191 };
57192 # 39 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/listctrl.h" 2
57193
57194
57195
57196
57197
57198
57199 class wxListView : public wxListCtrl
57200 {
57201 public:
57202     wxListView() { }
57203     wxListView( wxWindow *parent,
57204                 wxWindowID winid = wxID_ANY,
57205                 const wxPoint& pos = wxDefaultPosition,
57206                 const wxSize& size = wxDefaultSize,
57207                 long style = 0x0020,
57208                 const wxValidator& validator = wxDefaultValidator,
57209                 const wxString &name = wxListCtrlNameStr)
57210     {
57211         Create(parent, winid, pos, size, style, validator, name);
57212     }
57213
57214
57215
57216
57217
57218     void Select(long n, bool on = true)
57219     {
57220         SetItemState(n, on ? 0x0004 : 0, 0x0004);
57221     }
57222
57223
57224     void Focus(long index)
57225     {
57226         SetItemState(index, 0x0002, 0x0002);
57227         EnsureVisible(index);
57228     }
57229
57230
57231     long GetFocusedItem() const
57232     {
57233         return GetNextItem(-1, wxLIST_NEXT_ALL, 0x0002);
57234     }
57235
57236
57237     long GetNextSelected(long item) const
57238         { return GetNextItem(item, wxLIST_NEXT_ALL, 0x0004); }
57239     long GetFirstSelected() const
57240         { return GetNextSelected(-1); }
57241
57242
57243     bool IsSelected(long index)
57244         { return GetItemState(index, 0x0004) != 0; }
57245
57246
57247
57248
57249     void SetColumnImage(int col, int image)
57250     {
57251         wxListItem item;
57252         item.SetMask(0x0004);
57253         item.SetImage(image);
57254         SetColumn(col, item);
57255     }
57256
57257     void ClearColumnImage(int col) { SetColumnImage(col, -1); }
57258
57259 private:
57260     private: wxListView(const wxListView&); wxListView& operator=(const wxListView&); public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
57261 };
57262 # 20 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/filedlgg.h" 2
57263 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h" 1
57264 # 25 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
57265 # 1 "/usr/include/time.h" 1 3 4
57266 # 26 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h" 2
57267
57268
57269
57270
57271 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/limits.h" 1 3 4
57272 # 31 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h" 2
57273
57274
57275
57276 class wxDateTime;
57277 class wxTimeSpan;
57278 class wxDateSpan;
57279 # 111 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
57280 class wxDateTime;
57281
57282 extern const wxChar* wxDefaultDateTimeFormat;
57283 extern const wxChar* wxDefaultTimeSpanFormat;
57284 extern const wxDateTime wxDefaultDateTime;
57285
57286
57287
57288
57289
57290
57291
57292 class wxDateTime
57293 {
57294 public:
57295 # 134 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
57296     typedef unsigned short wxDateTime_t;
57297
57298
57299
57300
57301
57302     enum TZ
57303     {
57304
57305         Local,
57306
57307
57308
57309
57310
57311
57312         GMT_12, GMT_11, GMT_10, GMT_9, GMT_8, GMT_7,
57313         GMT_6, GMT_5, GMT_4, GMT_3, GMT_2, GMT_1,
57314         GMT0,
57315         GMT1, GMT2, GMT3, GMT4, GMT5, GMT6,
57316         GMT7, GMT8, GMT9, GMT10, GMT11, GMT12,
57317
57318
57319
57320
57321
57322
57323         WET = GMT0,
57324         WEST = GMT1,
57325         CET = GMT1,
57326         CEST = GMT2,
57327         EET = GMT2,
57328         EEST = GMT3,
57329         MSK = GMT3,
57330         MSD = GMT4,
57331
57332
57333         AST = GMT_4,
57334         ADT = GMT_3,
57335         EST = GMT_5,
57336         EDT = GMT_4,
57337         CST = GMT_6,
57338         CDT = GMT_5,
57339         MST = GMT_7,
57340         MDT = GMT_6,
57341         PST = GMT_8,
57342         PDT = GMT_7,
57343         HST = GMT_10,
57344         AKST = GMT_9,
57345         AKDT = GMT_8,
57346
57347
57348
57349         A_WST = GMT8,
57350         A_CST = GMT12 + 1,
57351         A_EST = GMT10,
57352         A_ESST = GMT11,
57353
57354
57355
57356
57357
57358         UTC = GMT0
57359     };
57360
57361
57362
57363
57364
57365     enum Calendar
57366     {
57367         Gregorian,
57368         Julian
57369
57370
57371     };
57372 # 220 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
57373     enum GregorianAdoption
57374     {
57375         Gr_Unknown,
57376         Gr_Standard,
57377
57378         Gr_Alaska,
57379         Gr_Albania,
57380
57381         Gr_Austria = Gr_Unknown,
57382         Gr_Austria_Brixen,
57383         Gr_Austria_Salzburg = Gr_Austria_Brixen,
57384         Gr_Austria_Tyrol = Gr_Austria_Brixen,
57385         Gr_Austria_Carinthia,
57386         Gr_Austria_Styria = Gr_Austria_Carinthia,
57387
57388         Gr_Belgium,
57389
57390         Gr_Bulgaria = Gr_Unknown,
57391         Gr_Bulgaria_1,
57392         Gr_Bulgaria_2,
57393         Gr_Bulgaria_3,
57394
57395         Gr_Canada = Gr_Unknown,
57396
57397
57398         Gr_China = Gr_Unknown,
57399         Gr_China_1,
57400         Gr_China_2,
57401
57402         Gr_Czechoslovakia,
57403         Gr_Denmark,
57404         Gr_Egypt,
57405         Gr_Estonia,
57406         Gr_Finland,
57407
57408         Gr_France,
57409         Gr_France_Alsace,
57410         Gr_France_Lorraine,
57411         Gr_France_Strasbourg,
57412
57413         Gr_Germany = Gr_Unknown,
57414         Gr_Germany_Catholic,
57415         Gr_Germany_Prussia,
57416         Gr_Germany_Protestant,
57417
57418         Gr_GreatBritain,
57419
57420         Gr_Greece,
57421         Gr_Hungary,
57422         Gr_Ireland = Gr_GreatBritain,
57423         Gr_Italy = Gr_Standard,
57424
57425         Gr_Japan = Gr_Unknown,
57426         Gr_Japan_1,
57427         Gr_Japan_2,
57428         Gr_Japan_3,
57429
57430         Gr_Latvia,
57431         Gr_Lithuania,
57432         Gr_Luxemburg,
57433         Gr_Netherlands = Gr_Belgium,
57434
57435
57436
57437
57438
57439
57440         Gr_Netherlands_Groningen,
57441         Gr_Netherlands_Gelderland,
57442         Gr_Netherlands_Utrecht,
57443         Gr_Netherlands_Friesland,
57444
57445         Gr_Norway = Gr_Denmark,
57446         Gr_Poland = Gr_Standard,
57447         Gr_Portugal = Gr_Standard,
57448         Gr_Romania,
57449         Gr_Russia,
57450         Gr_Scotland = Gr_GreatBritain,
57451         Gr_Spain = Gr_Standard,
57452 # 317 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
57453         Gr_Sweden = Gr_Finland,
57454
57455         Gr_Switzerland = Gr_Unknown,
57456         Gr_Switzerland_Catholic,
57457         Gr_Switzerland_Protestant,
57458
57459         Gr_Turkey,
57460         Gr_USA = Gr_GreatBritain,
57461         Gr_Wales = Gr_GreatBritain,
57462         Gr_Yugoslavia
57463     };
57464 # 340 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
57465     enum Country
57466     {
57467         Country_Unknown,
57468         Country_Default,
57469
57470
57471
57472
57473
57474
57475
57476         Country_WesternEurope_Start,
57477         Country_EEC = Country_WesternEurope_Start,
57478         France,
57479         Germany,
57480         UK,
57481         Country_WesternEurope_End = UK,
57482
57483         Russia,
57484         USA
57485     };
57486
57487     enum Month
57488     {
57489         Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, Inv_Month
57490     };
57491
57492
57493     enum WeekDay
57494     {
57495         Sun, Mon, Tue, Wed, Thu, Fri, Sat, Inv_WeekDay
57496     };
57497
57498
57499     enum Year
57500     {
57501         Inv_Year = (-32767 - 1)
57502     };
57503
57504
57505     enum NameFlags
57506     {
57507         Name_Full = 0x01,
57508         Name_Abbr = 0x02
57509     };
57510
57511
57512     enum WeekFlags
57513     {
57514         Default_First,
57515         Monday_First,
57516         Sunday_First
57517     };
57518
57519
57520
57521
57522
57523
57524     class TimeZone
57525     {
57526     public:
57527         TimeZone(TZ tz);
57528         TimeZone(wxDateTime_t offset = 0) { m_offset = offset; }
57529
57530         long GetOffset() const { return m_offset; }
57531
57532     private:
57533
57534         long m_offset;
57535     };
57536 # 419 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
57537     struct Tm
57538     {
57539         wxDateTime_t msec, sec, min, hour, mday;
57540         Month mon;
57541         int year;
57542
57543
57544         Tm();
57545
57546
57547         Tm(const struct tm& tm, const TimeZone& tz);
57548
57549
57550         bool IsValid() const;
57551
57552
57553         WeekDay GetWeekDay()
57554         {
57555             if ( wday == Inv_WeekDay )
57556                 ComputeWeekDay();
57557
57558             return (WeekDay)wday;
57559         }
57560
57561
57562         void AddMonths(int monDiff);
57563
57564
57565         void AddDays(int dayDiff);
57566
57567     private:
57568
57569         void ComputeWeekDay();
57570
57571
57572         TimeZone m_tz;
57573
57574
57575
57576         wxDateTime_t wday, yday;
57577     };
57578
57579
57580
57581
57582
57583     static void SetCountry(Country country);
57584
57585     static Country GetCountry();
57586
57587
57588
57589     static bool IsWestEuropeanCountry(Country country = Country_Default);
57590
57591
57592     static int GetCurrentYear(Calendar cal = Gregorian);
57593
57594
57595
57596
57597
57598     static int ConvertYearToBC(int year);
57599
57600
57601     static Month GetCurrentMonth(Calendar cal = Gregorian);
57602
57603
57604     static bool IsLeapYear(int year = Inv_Year, Calendar cal = Gregorian);
57605
57606
57607     static int GetCentury(int year = Inv_Year);
57608
57609
57610
57611     static wxDateTime_t GetNumberOfDays(int year, Calendar cal = Gregorian);
57612
57613
57614
57615     static wxDateTime_t GetNumberOfDays(Month month,
57616                                         int year = Inv_Year,
57617                                         Calendar cal = Gregorian);
57618
57619
57620
57621     static wxString GetMonthName(Month month,
57622                                  NameFlags flags = Name_Full);
57623
57624
57625
57626     static wxString GetWeekDayName(WeekDay weekday,
57627                                    NameFlags flags = Name_Full);
57628
57629
57630     static void GetAmPmStrings(wxString *am, wxString *pm);
57631
57632
57633     static bool IsDSTApplicable(int year = Inv_Year,
57634                                 Country country = Country_Default);
57635
57636
57637
57638
57639     static wxDateTime GetBeginDST(int year = Inv_Year,
57640                                   Country country = Country_Default);
57641
57642
57643
57644     static wxDateTime GetEndDST(int year = Inv_Year,
57645                                 Country country = Country_Default);
57646
57647
57648     static inline wxDateTime Now();
57649
57650
57651
57652     static wxDateTime UNow();
57653
57654
57655
57656     static inline wxDateTime Today();
57657
57658
57659
57660
57661
57662
57663
57664     wxDateTime() { m_time = wxLongLong((long)(9223372036854775807L * 2UL + 1UL), (9223372036854775807L * 2UL + 1UL)); }
57665
57666
57667
57668
57669     inline wxDateTime(time_t timet);
57670
57671
57672     inline wxDateTime(const struct tm& tm);
57673
57674     inline wxDateTime(const Tm& tm);
57675
57676
57677     inline wxDateTime(double jdn);
57678
57679
57680     inline wxDateTime(wxDateTime_t hour,
57681                       wxDateTime_t minute = 0,
57682                       wxDateTime_t second = 0,
57683                       wxDateTime_t millisec = 0);
57684
57685     inline wxDateTime(wxDateTime_t day,
57686                       Month month,
57687                       int year = Inv_Year,
57688                       wxDateTime_t hour = 0,
57689                       wxDateTime_t minute = 0,
57690                       wxDateTime_t second = 0,
57691                       wxDateTime_t millisec = 0);
57692 # 585 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
57693     inline wxDateTime& SetToCurrent();
57694
57695
57696
57697
57698     inline wxDateTime& Set(time_t timet);
57699
57700
57701
57702     wxDateTime& Set(const struct tm& tm);
57703
57704
57705     inline wxDateTime& Set(const Tm& tm);
57706
57707
57708     wxDateTime& Set(double jdn);
57709
57710
57711     wxDateTime& Set(wxDateTime_t hour,
57712                     wxDateTime_t minute = 0,
57713                     wxDateTime_t second = 0,
57714                     wxDateTime_t millisec = 0);
57715
57716
57717
57718     wxDateTime& Set(wxDateTime_t day,
57719                     Month month,
57720                     int year = Inv_Year,
57721                     wxDateTime_t hour = 0,
57722                     wxDateTime_t minute = 0,
57723                     wxDateTime_t second = 0,
57724                     wxDateTime_t millisec = 0);
57725
57726
57727     wxDateTime& ResetTime();
57728
57729
57730
57731
57732
57733     wxDateTime& SetYear(int year);
57734
57735     wxDateTime& SetMonth(Month month);
57736
57737     wxDateTime& SetDay(wxDateTime_t day);
57738
57739     wxDateTime& SetHour(wxDateTime_t hour);
57740
57741     wxDateTime& SetMinute(wxDateTime_t minute);
57742
57743     wxDateTime& SetSecond(wxDateTime_t second);
57744
57745     wxDateTime& SetMillisecond(wxDateTime_t millisecond);
57746
57747
57748     wxDateTime& operator=(time_t timet) { return Set(timet); }
57749
57750
57751     wxDateTime& operator=(const struct tm& tm) { return Set(tm); }
57752
57753
57754     wxDateTime& operator=(const Tm& tm) { return Set(tm); }
57755 # 656 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
57756     wxDateTime& SetToWeekDayInSameWeek(WeekDay weekday,
57757                                        WeekFlags flags = Monday_First);
57758     inline wxDateTime GetWeekDayInSameWeek(WeekDay weekday,
57759                                            WeekFlags flags = Monday_First) const;
57760
57761
57762     wxDateTime& SetToNextWeekDay(WeekDay weekday);
57763     inline wxDateTime GetNextWeekDay(WeekDay weekday) const;
57764
57765
57766     wxDateTime& SetToPrevWeekDay(WeekDay weekday);
57767     inline wxDateTime GetPrevWeekDay(WeekDay weekday) const;
57768
57769
57770
57771
57772
57773     bool SetToWeekDay(WeekDay weekday,
57774                       int n = 1,
57775                       Month month = Inv_Month,
57776                       int year = Inv_Year);
57777     inline wxDateTime GetWeekDay(WeekDay weekday,
57778                                  int n = 1,
57779                                  Month month = Inv_Month,
57780                                  int year = Inv_Year) const;
57781
57782
57783     inline bool SetToLastWeekDay(WeekDay weekday,
57784                                  Month month = Inv_Month,
57785                                  int year = Inv_Year);
57786     inline wxDateTime GetLastWeekDay(WeekDay weekday,
57787                                      Month month = Inv_Month,
57788                                      int year = Inv_Year);
57789
57790
57791
57792
57793
57794
57795
57796     bool SetToTheWeek(wxDateTime_t numWeek, WeekDay weekday = Mon, WeekFlags flags = Monday_First) __attribute__ ((deprecated));
57797
57798
57799     wxDateTime GetWeek(wxDateTime_t numWeek, WeekDay weekday = Mon, WeekFlags flags = Monday_First) const __attribute__ ((deprecated));
57800
57801
57802
57803
57804
57805     static wxDateTime SetToWeekOfYear(int year,
57806                                       wxDateTime_t numWeek,
57807                                       WeekDay weekday = Mon);
57808
57809
57810
57811     wxDateTime& SetToLastMonthDay(Month month = Inv_Month,
57812                                   int year = Inv_Year);
57813     inline wxDateTime GetLastMonthDay(Month month = Inv_Month,
57814                                       int year = Inv_Year) const;
57815
57816
57817     wxDateTime& SetToYearDay(wxDateTime_t yday);
57818     inline wxDateTime GetYearDay(wxDateTime_t yday) const;
57819 # 744 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
57820     double GetJulianDayNumber() const;
57821     double GetJDN() const { return GetJulianDayNumber(); }
57822
57823
57824
57825
57826     double GetModifiedJulianDayNumber() const { return GetJDN() - 2400000.5; }
57827     double GetMJD() const { return GetModifiedJulianDayNumber(); }
57828
57829
57830     double GetRataDie() const;
57831 # 773 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
57832     inline wxDateTime ToTimezone(const TimeZone& tz, bool noDST = false) const;
57833     wxDateTime& MakeTimezone(const TimeZone& tz, bool noDST = false);
57834
57835
57836
57837
57838     inline wxDateTime FromTimezone(const TimeZone& tz, bool noDST = false) const;
57839     wxDateTime& MakeFromTimezone(const TimeZone& tz, bool noDST = false);
57840
57841
57842
57843     wxDateTime ToUTC(bool noDST = false) const { return ToTimezone(UTC, noDST); }
57844     wxDateTime& MakeUTC(bool noDST = false) { return MakeTimezone(UTC, noDST); }
57845
57846     wxDateTime ToGMT(bool noDST = false) const { return ToUTC(noDST); }
57847     wxDateTime& MakeGMT(bool noDST = false) { return MakeUTC(noDST); }
57848
57849
57850     wxDateTime FromUTC(bool noDST = false) const
57851         { return FromTimezone(UTC, noDST); }
57852     wxDateTime& MakeFromUTC(bool noDST = false)
57853         { return MakeFromTimezone(UTC, noDST); }
57854
57855
57856
57857
57858
57859
57860
57861     int IsDST(Country country = Country_Default) const;
57862 # 813 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
57863     inline bool IsValid() const { return m_time != wxDefaultDateTime.m_time; }
57864
57865
57866
57867
57868
57869
57870     Tm GetTm(const TimeZone& tz = Local) const;
57871
57872
57873
57874     inline time_t GetTicks() const;
57875
57876
57877     int GetYear(const TimeZone& tz = Local) const
57878             { return GetTm(tz).year; }
57879
57880     Month GetMonth(const TimeZone& tz = Local) const
57881             { return (Month)GetTm(tz).mon; }
57882
57883     wxDateTime_t GetDay(const TimeZone& tz = Local) const
57884             { return GetTm(tz).mday; }
57885
57886     WeekDay GetWeekDay(const TimeZone& tz = Local) const
57887             { return GetTm(tz).GetWeekDay(); }
57888
57889     wxDateTime_t GetHour(const TimeZone& tz = Local) const
57890             { return GetTm(tz).hour; }
57891
57892     wxDateTime_t GetMinute(const TimeZone& tz = Local) const
57893             { return GetTm(tz).min; }
57894
57895     wxDateTime_t GetSecond(const TimeZone& tz = Local) const
57896             { return GetTm(tz).sec; }
57897
57898     wxDateTime_t GetMillisecond(const TimeZone& tz = Local) const
57899             { return GetTm(tz).msec; }
57900
57901
57902     wxDateTime_t GetDayOfYear(const TimeZone& tz = Local) const;
57903
57904
57905     wxDateTime_t GetWeekOfYear(WeekFlags flags = Monday_First,
57906                                const TimeZone& tz = Local) const;
57907
57908
57909     wxDateTime_t GetWeekOfMonth(WeekFlags flags = Monday_First,
57910                                 const TimeZone& tz = Local) const;
57911
57912
57913
57914     bool IsWorkDay(Country country = Country_Default) const;
57915
57916
57917
57918
57919
57920
57921
57922     bool IsGregorianDate(GregorianAdoption country = Gr_Standard) const;
57923
57924
57925
57926
57927
57928     wxDateTime& SetFromDOS(unsigned long ddt);
57929
57930
57931     unsigned long GetAsDOS() const;
57932
57933
57934
57935
57936
57937     inline bool IsEqualTo(const wxDateTime& datetime) const;
57938
57939
57940     inline bool IsEarlierThan(const wxDateTime& datetime) const;
57941
57942
57943     inline bool IsLaterThan(const wxDateTime& datetime) const;
57944
57945
57946     inline bool IsStrictlyBetween(const wxDateTime& t1,
57947                                   const wxDateTime& t2) const;
57948
57949
57950     inline bool IsBetween(const wxDateTime& t1, const wxDateTime& t2) const;
57951
57952
57953     inline bool IsSameDate(const wxDateTime& dt) const;
57954
57955
57956     inline bool IsSameTime(const wxDateTime& dt) const;
57957
57958
57959     inline bool IsEqualUpTo(const wxDateTime& dt, const wxTimeSpan& ts) const;
57960
57961     inline bool operator<(const wxDateTime& dt) const
57962     {
57963         ;
57964         return GetValue() < dt.GetValue();
57965     }
57966
57967     inline bool operator<=(const wxDateTime& dt) const
57968     {
57969         ;
57970         return GetValue() <= dt.GetValue();
57971     }
57972
57973     inline bool operator>(const wxDateTime& dt) const
57974     {
57975         ;
57976         return GetValue() > dt.GetValue();
57977     }
57978
57979     inline bool operator>=(const wxDateTime& dt) const
57980     {
57981         ;
57982         return GetValue() >= dt.GetValue();
57983     }
57984
57985     inline bool operator==(const wxDateTime& dt) const
57986     {
57987         ;
57988         return GetValue() == dt.GetValue();
57989     }
57990
57991     inline bool operator!=(const wxDateTime& dt) const
57992     {
57993         ;
57994         return GetValue() != dt.GetValue();
57995     }
57996
57997
57998
57999
58000
58001     inline wxDateTime Add(const wxTimeSpan& diff) const;
58002
58003     inline wxDateTime& Add(const wxTimeSpan& diff);
58004
58005     inline wxDateTime& operator+=(const wxTimeSpan& diff);
58006     inline wxDateTime operator+(const wxTimeSpan& ts) const
58007     {
58008         wxDateTime dt(*this);
58009         dt.Add(ts);
58010         return dt;
58011     }
58012
58013
58014     inline wxDateTime Subtract(const wxTimeSpan& diff) const;
58015
58016     inline wxDateTime& Subtract(const wxTimeSpan& diff);
58017
58018     inline wxDateTime& operator-=(const wxTimeSpan& diff);
58019     inline wxDateTime operator-(const wxTimeSpan& ts) const
58020     {
58021         wxDateTime dt(*this);
58022         dt.Subtract(ts);
58023         return dt;
58024     }
58025
58026
58027     inline wxDateTime Add(const wxDateSpan& diff) const;
58028
58029     wxDateTime& Add(const wxDateSpan& diff);
58030
58031     inline wxDateTime& operator+=(const wxDateSpan& diff);
58032     inline wxDateTime operator+(const wxDateSpan& ds) const
58033     {
58034         wxDateTime dt(*this);
58035         dt.Add(ds);
58036         return dt;
58037     }
58038
58039
58040     inline wxDateTime Subtract(const wxDateSpan& diff) const;
58041
58042     inline wxDateTime& Subtract(const wxDateSpan& diff);
58043
58044     inline wxDateTime& operator-=(const wxDateSpan& diff);
58045     inline wxDateTime operator-(const wxDateSpan& ds) const
58046     {
58047         wxDateTime dt(*this);
58048         dt.Subtract(ds);
58049         return dt;
58050     }
58051
58052
58053     inline wxTimeSpan Subtract(const wxDateTime& dt) const;
58054     inline wxTimeSpan operator-(const wxDateTime& dt2) const;
58055 # 1013 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
58056     const wxChar *ParseRfc822Date(const wxChar* date);
58057
58058
58059
58060
58061     const wxChar *ParseFormat(const wxChar *date,
58062                               const wxChar *format = wxDefaultDateTimeFormat,
58063                               const wxDateTime& dateDef = wxDefaultDateTime);
58064
58065
58066     const wxChar *ParseDateTime(const wxChar *datetime);
58067
58068
58069     const wxChar *ParseDate(const wxChar *date);
58070
58071     const wxChar *ParseTime(const wxChar *time);
58072
58073
58074
58075
58076
58077     wxString Format(const wxChar *format = wxDefaultDateTimeFormat,
58078                     const TimeZone& tz = Local) const;
58079
58080     wxString FormatDate() const { return Format("%x"); }
58081
58082     wxString FormatTime() const { return Format("%X"); }
58083
58084
58085     wxString FormatISODate() const { return Format("%Y-%m-%d"); }
58086
58087
58088     wxString FormatISOTime() const { return Format("%H:%M:%S"); }
58089
58090
58091
58092
58093
58094     wxDateTime(const wxLongLong& time) { m_time = time; }
58095
58096
58097     inline wxLongLong GetValue() const;
58098
58099
58100     static time_t GetTimeNow() { return time((time_t *)__null); }
58101
58102
58103     static struct tm *GetTmNow()
58104     {
58105         time_t t = GetTimeNow();
58106         return localtime(&t);
58107     }
58108
58109 private:
58110
58111
58112
58113     static Country ms_country;
58114
58115
58116
58117
58118     static const long TIME_T_FACTOR;
58119
58120
58121
58122     inline bool IsInStdRange() const;
58123
58124
58125
58126
58127     wxLongLong m_time;
58128 };
58129
58130
58131
58132
58133
58134
58135
58136 class wxTimeSpan
58137 {
58138 public:
58139
58140
58141
58142
58143     static wxTimeSpan Seconds(long sec) { return wxTimeSpan(0, 0, sec); }
58144     static wxTimeSpan Second() { return Seconds(1); }
58145
58146
58147     static wxTimeSpan Minutes(long min) { return wxTimeSpan(0, min, 0 ); }
58148     static wxTimeSpan Minute() { return Minutes(1); }
58149
58150
58151     static wxTimeSpan Hours(long hours) { return wxTimeSpan(hours, 0, 0); }
58152     static wxTimeSpan Hour() { return Hours(1); }
58153
58154
58155     static wxTimeSpan Days(long days) { return Hours(24 * days); }
58156     static wxTimeSpan Day() { return Days(1); }
58157
58158
58159     static wxTimeSpan Weeks(long days) { return Days(7 * days); }
58160     static wxTimeSpan Week() { return Weeks(1); }
58161
58162
58163     wxTimeSpan() { }
58164
58165
58166
58167
58168     inline wxTimeSpan(long hours,
58169                       long minutes = 0,
58170                       long seconds = 0,
58171                       long milliseconds = 0);
58172 # 1138 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
58173     inline wxTimeSpan Add(const wxTimeSpan& diff) const;
58174
58175     inline wxTimeSpan& Add(const wxTimeSpan& diff);
58176
58177     wxTimeSpan& operator+=(const wxTimeSpan& diff) { return Add(diff); }
58178     inline wxTimeSpan operator+(const wxTimeSpan& ts) const
58179     {
58180         return wxTimeSpan(GetValue() + ts.GetValue());
58181     }
58182
58183
58184     inline wxTimeSpan Subtract(const wxTimeSpan& diff) const;
58185
58186     inline wxTimeSpan& Subtract(const wxTimeSpan& diff);
58187
58188     wxTimeSpan& operator-=(const wxTimeSpan& diff) { return Subtract(diff); }
58189     inline wxTimeSpan operator-(const wxTimeSpan& ts)
58190     {
58191         return wxTimeSpan(GetValue() - ts.GetValue());
58192     }
58193
58194
58195     inline wxTimeSpan Multiply(int n) const;
58196
58197     inline wxTimeSpan& Multiply(int n);
58198
58199     wxTimeSpan& operator*=(int n) { return Multiply(n); }
58200     inline wxTimeSpan operator*(int n) const
58201     {
58202         return wxTimeSpan(*this).Multiply(n);
58203     }
58204
58205
58206     wxTimeSpan Negate() const { return wxTimeSpan(-GetValue()); }
58207
58208     wxTimeSpan& Neg() { m_diff = -GetValue(); return *this; }
58209
58210     wxTimeSpan& operator-() { return Neg(); }
58211
58212
58213
58214     inline wxTimeSpan Abs() const;
58215 # 1188 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
58216     bool IsNull() const { return m_diff == 0l; }
58217
58218     bool operator!() const { return !IsNull(); }
58219
58220
58221     bool IsPositive() const { return m_diff > 0l; }
58222
58223
58224     bool IsNegative() const { return m_diff < 0l; }
58225
58226
58227     inline bool IsEqualTo(const wxTimeSpan& ts) const;
58228
58229
58230
58231     inline bool IsLongerThan(const wxTimeSpan& ts) const;
58232
58233
58234
58235     bool IsShorterThan(const wxTimeSpan& t) const { return !IsLongerThan(t); }
58236
58237     inline bool operator<(const wxTimeSpan &ts) const
58238     {
58239         return GetValue() < ts.GetValue();
58240     }
58241
58242     inline bool operator<=(const wxTimeSpan &ts) const
58243     {
58244         return GetValue() <= ts.GetValue();
58245     }
58246
58247     inline bool operator>(const wxTimeSpan &ts) const
58248     {
58249         return GetValue() > ts.GetValue();
58250     }
58251
58252     inline bool operator>=(const wxTimeSpan &ts) const
58253     {
58254         return GetValue() >= ts.GetValue();
58255     }
58256
58257     inline bool operator==(const wxTimeSpan &ts) const
58258     {
58259         return GetValue() == ts.GetValue();
58260     }
58261
58262     inline bool operator!=(const wxTimeSpan &ts) const
58263     {
58264         return GetValue() != ts.GetValue();
58265     }
58266
58267
58268
58269
58270
58271     inline int GetWeeks() const;
58272
58273     inline int GetDays() const;
58274
58275     inline int GetHours() const;
58276
58277     inline int GetMinutes() const;
58278
58279     inline wxLongLong GetSeconds() const;
58280
58281     wxLongLong GetMilliseconds() const { return m_diff; }
58282 # 1264 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
58283     wxString Format(const wxChar *format = wxDefaultTimeSpanFormat) const;
58284
58285
58286
58287
58288
58289     wxTimeSpan(const wxLongLong& diff) { m_diff = diff; }
58290
58291
58292     wxLongLong GetValue() const { return m_diff; }
58293
58294 private:
58295
58296     wxLongLong m_diff;
58297 };
58298 # 1315 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
58299 class wxDateSpan
58300 {
58301 public:
58302
58303
58304
58305
58306     wxDateSpan(int years = 0, int months = 0, int weeks = 0, int days = 0)
58307     {
58308         m_years = years;
58309         m_months = months;
58310         m_weeks = weeks;
58311         m_days = days;
58312     }
58313
58314
58315     static wxDateSpan Days(int days) { return wxDateSpan(0, 0, 0, days); }
58316     static wxDateSpan Day() { return Days(1); }
58317
58318
58319     static wxDateSpan Weeks(int weeks) { return wxDateSpan(0, 0, weeks, 0); }
58320     static wxDateSpan Week() { return Weeks(1); }
58321
58322
58323     static wxDateSpan Months(int mon) { return wxDateSpan(0, mon, 0, 0); }
58324     static wxDateSpan Month() { return Months(1); }
58325
58326
58327     static wxDateSpan Years(int years) { return wxDateSpan(years, 0, 0, 0); }
58328     static wxDateSpan Year() { return Years(1); }
58329 # 1354 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
58330     wxDateSpan& SetYears(int n) { m_years = n; return *this; }
58331
58332     wxDateSpan& SetMonths(int n) { m_months = n; return *this; }
58333
58334     wxDateSpan& SetWeeks(int n) { m_weeks = n; return *this; }
58335
58336     wxDateSpan& SetDays(int n) { m_days = n; return *this; }
58337
58338
58339     int GetYears() const { return m_years; }
58340
58341     int GetMonths() const { return m_months; }
58342
58343     int GetWeeks() const { return m_weeks; }
58344
58345     int GetDays() const { return m_days; }
58346
58347     int GetTotalDays() const { return 7*m_weeks + m_days; }
58348
58349
58350
58351
58352
58353     inline wxDateSpan Add(const wxDateSpan& other) const;
58354
58355     inline wxDateSpan& Add(const wxDateSpan& other);
58356
58357     inline wxDateSpan& operator+=(const wxDateSpan& other);
58358     inline wxDateSpan operator+(const wxDateSpan& ds) const
58359     {
58360         return wxDateSpan(GetYears() + ds.GetYears(),
58361                           GetMonths() + ds.GetMonths(),
58362                           GetWeeks() + ds.GetWeeks(),
58363                           GetDays() + ds.GetDays());
58364     }
58365
58366
58367     inline wxDateSpan Subtract(const wxDateSpan& other) const;
58368
58369     inline wxDateSpan& Subtract(const wxDateSpan& other);
58370
58371     inline wxDateSpan& operator-=(const wxDateSpan& other);
58372     inline wxDateSpan operator-(const wxDateSpan& ds) const
58373     {
58374         return wxDateSpan(GetYears() - ds.GetYears(),
58375                           GetMonths() - ds.GetMonths(),
58376                           GetWeeks() - ds.GetWeeks(),
58377                           GetDays() - ds.GetDays());
58378     }
58379
58380
58381     inline wxDateSpan Negate() const;
58382
58383     inline wxDateSpan& Neg();
58384
58385     wxDateSpan& operator-() { return Neg(); }
58386
58387
58388     inline wxDateSpan Multiply(int factor) const;
58389
58390     inline wxDateSpan& Multiply(int factor);
58391
58392     inline wxDateSpan& operator*=(int factor) { return Multiply(factor); }
58393     inline wxDateSpan operator*(int n) const
58394     {
58395         return wxDateSpan(*this).Multiply(n);
58396     }
58397
58398
58399     inline bool operator==(const wxDateSpan& ds) const
58400     {
58401         return GetYears() == ds.GetYears() &&
58402                GetMonths() == ds.GetMonths() &&
58403                GetTotalDays() == ds.GetTotalDays();
58404     }
58405
58406     inline bool operator!=(const wxDateSpan& ds) const
58407     {
58408         return !(*this == ds);
58409     }
58410
58411 private:
58412     int m_years,
58413         m_months,
58414         m_weeks,
58415         m_days;
58416 };
58417
58418
58419
58420
58421
58422 typedef wxDateTime _wxObjArraywxDateTimeArray; typedef int ( *CMPFUNC_wxObjArraywxDateTimeArray)(_wxObjArraywxDateTimeArray **pItem1, _wxObjArraywxDateTimeArray **pItem2); class wxDateTimeArray : protected wxArrayPtrVoid { typedef int ( *CMPFUNCwxArrayPtrVoid)(void **pItem1, void **pItem2); typedef wxArrayPtrVoid base_array; public: wxDateTimeArray() { } wxDateTimeArray(const wxDateTimeArray& src); wxDateTimeArray& operator=(const wxDateTimeArray& src); ~wxDateTimeArray(); void Alloc(size_t count) { reserve(count); } size_t GetCount() const { return base_array::size(); } size_t size() const { return base_array::size(); } bool IsEmpty() const { return base_array::empty(); } bool empty() const { return base_array::empty(); } size_t Count() const { return base_array::size(); } void Shrink() { wxArrayPtrVoid::Shrink(); } _wxObjArraywxDateTimeArray& operator[](size_t uiIndex) const { return *(_wxObjArraywxDateTimeArray*)wxArrayPtrVoid::operator[](uiIndex); } _wxObjArraywxDateTimeArray& Item(size_t uiIndex) const { return *(_wxObjArraywxDateTimeArray*)wxArrayPtrVoid::operator[](uiIndex); } _wxObjArraywxDateTimeArray& Last() const { return *(_wxObjArraywxDateTimeArray*)(wxArrayPtrVoid::operator[](size() - 1)); } int Index(const _wxObjArraywxDateTimeArray& lItem, bool bFromEnd = false) const; void Add(const _wxObjArraywxDateTimeArray& lItem, size_t nInsert = 1); void Add(const _wxObjArraywxDateTimeArray* pItem) { wxArrayPtrVoid::push_back((_wxObjArraywxDateTimeArray*)pItem); } void push_back(const _wxObjArraywxDateTimeArray* pItem) { wxArrayPtrVoid::push_back((_wxObjArraywxDateTimeArray*)pItem); } void push_back(const _wxObjArraywxDateTimeArray& lItem) { Add(lItem); } void Insert(const _wxObjArraywxDateTimeArray& lItem, size_t uiIndex, size_t nInsert = 1); void Insert(const _wxObjArraywxDateTimeArray* pItem, size_t uiIndex) { wxArrayPtrVoid::insert(begin() + uiIndex, (_wxObjArraywxDateTimeArray*)pItem); } void Empty() { DoEmpty(); wxArrayPtrVoid::clear(); } void Clear() { DoEmpty(); wxArrayPtrVoid::clear(); } _wxObjArraywxDateTimeArray* Detach(size_t uiIndex) { _wxObjArraywxDateTimeArray* p = (_wxObjArraywxDateTimeArray*)wxArrayPtrVoid::operator[](uiIndex); wxArrayPtrVoid::erase(begin() + uiIndex); return p; } void RemoveAt(size_t uiIndex, size_t nRemove = 1); void Sort(CMPFUNC_wxObjArraywxDateTimeArray fCmp) { wxArrayPtrVoid::Sort((CMPFUNCwxArrayPtrVoid)fCmp); } private: void DoEmpty(); void DoCopy(const wxDateTimeArray& src); };
58423 # 1457 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
58424 class wxDateTimeHolidayAuthority;
58425 typedef wxDateTimeHolidayAuthority * _wxArraywxHolidayAuthoritiesArray; struct wxAssert_wxHolidayAuthoritiesArray { unsigned int TypeTooBigToBeStoredInwxBaseArrayPtrVoid: sizeof(_wxArraywxHolidayAuthoritiesArray) <= sizeof(wxBaseArrayPtrVoid::base_type); }; typedef int ( *CMPFUNC_wxArraywxHolidayAuthoritiesArray)(_wxArraywxHolidayAuthoritiesArray *pItem1, _wxArraywxHolidayAuthoritiesArray *pItem2); class wxHolidayAuthoritiesArray : public wxBaseArrayPtrVoid { public: wxHolidayAuthoritiesArray() { } ~wxHolidayAuthoritiesArray() { } wxHolidayAuthoritiesArray& operator=(const wxHolidayAuthoritiesArray& src) { wxBaseArrayPtrVoid* temp = (wxBaseArrayPtrVoid*) this; (*temp) = ((const wxBaseArrayPtrVoid&)src); return *this; } _wxArraywxHolidayAuthoritiesArray& operator[](size_t uiIndex) const { return (_wxArraywxHolidayAuthoritiesArray&)(wxBaseArrayPtrVoid::operator[](uiIndex)); } _wxArraywxHolidayAuthoritiesArray& Item(size_t uiIndex) const { return (_wxArraywxHolidayAuthoritiesArray&)(wxBaseArrayPtrVoid::operator[](uiIndex)); } _wxArraywxHolidayAuthoritiesArray& Last() const { return (_wxArraywxHolidayAuthoritiesArray&)(wxBaseArrayPtrVoid::operator[](Count() - 1)); } int Index(_wxArraywxHolidayAuthoritiesArray lItem, bool bFromEnd = false) const { return wxBaseArrayPtrVoid::Index((base_type)lItem, bFromEnd); } void Add(_wxArraywxHolidayAuthoritiesArray lItem, size_t nInsert = 1) { wxBaseArrayPtrVoid::Add((base_type)lItem, nInsert); } void Insert(_wxArraywxHolidayAuthoritiesArray lItem, size_t uiIndex, size_t nInsert = 1) { wxBaseArrayPtrVoid::Insert((base_type)lItem, uiIndex, nInsert) ; } void RemoveAt(size_t uiIndex, size_t nRemove = 1) { wxBaseArrayPtrVoid::RemoveAt(uiIndex, nRemove); } void Remove(_wxArraywxHolidayAuthoritiesArray lItem) { int iIndex = Index(lItem); if (!(iIndex != (-1))) {; return; }; wxBaseArrayPtrVoid::RemoveAt((size_t)iIndex); } void Sort(CMPFUNC_wxArraywxHolidayAuthoritiesArray fCmp) { wxBaseArrayPtrVoid::Sort((CMPFUNC)fCmp); } private: typedef wxBaseArrayPtrVoid::iterator biterator; typedef wxBaseArrayPtrVoid::const_iterator bconst_iterator; typedef wxBaseArrayPtrVoid::value_type bvalue_type; typedef wxBaseArrayPtrVoid::const_reference bconst_reference; public: typedef _wxArraywxHolidayAuthoritiesArray value_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type* iterator; typedef const value_type* const_iterator; typedef value_type& reference; typedef const value_type& const_reference; typedef wxBaseArrayPtrVoid::difference_type difference_type; typedef wxBaseArrayPtrVoid::size_type size_type; class reverse_iterator { typedef _wxArraywxHolidayAuthoritiesArray value_type; typedef value_type& reference; typedef value_type* pointer; typedef reverse_iterator itor; friend inline itor operator+(int o, const itor& it) { return it.m_ptr - o; } friend inline itor operator+(const itor& it, int o) { return it.m_ptr - o; } friend inline itor operator-(const itor& it, int o) { return it.m_ptr + o; } friend inline difference_type operator-(const itor& i1, const itor& i2) { return i1.m_ptr - i2.m_ptr; } public: pointer m_ptr; reverse_iterator() : m_ptr(__null) { } reverse_iterator(pointer ptr) : m_ptr(ptr) { } reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { } reference operator*() const { return *m_ptr; } itor& operator++() { --m_ptr; return *this; } const itor operator++(int) { reverse_iterator tmp = *this; --m_ptr; return tmp; } itor& operator--() { ++m_ptr; return *this; } const itor operator--(int) { itor tmp = *this; ++m_ptr; return tmp; } bool operator ==(const itor& it) { return m_ptr == it.m_ptr; } bool operator !=(const itor& it) { return m_ptr != it.m_ptr; } }; class const_reverse_iterator { typedef _wxArraywxHolidayAuthoritiesArray value_type; typedef const value_type& reference; typedef const value_type* pointer; typedef const_reverse_iterator itor; friend inline itor operator+(int o, const itor& it) { return it.m_ptr - o; } friend inline itor operator+(const itor& it, int o) { return it.m_ptr - o; } friend inline itor operator-(const itor& it, int o) { return it.m_ptr + o; } friend inline difference_type operator-(const itor& i1, const itor& i2) { return i1.m_ptr - i2.m_ptr; } public: pointer m_ptr; const_reverse_iterator() : m_ptr(__null) { } const_reverse_iterator(pointer ptr) : m_ptr(ptr) { } const_reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { } const_reverse_iterator(const reverse_iterator& it) : m_ptr(it.m_ptr) { } reference operator*() const { return *m_ptr; } itor& operator++() { --m_ptr; return *this; } const itor operator++(int) { itor tmp = *this; --m_ptr; return tmp; } itor& operator--() { ++m_ptr; return *this; } const itor operator--(int) { itor tmp = *this; ++m_ptr; return tmp; } bool operator ==(const itor& it) { return m_ptr == it.m_ptr; } bool operator !=(const itor& it) { return m_ptr != it.m_ptr; } }; wxHolidayAuthoritiesArray(size_type n, const_reference v) { assign(n, v); } wxHolidayAuthoritiesArray(const_iterator first, const_iterator last) { assign(first, last); } void assign(const_iterator first, const_iterator last) { wxBaseArrayPtrVoid::assign((bconst_iterator)first, (bconst_iterator)last); } void assign(size_type n, const_reference v) { wxBaseArrayPtrVoid::assign(n, (bconst_reference)v); } reference back() { return *(end() - 1); } const_reference back() const { return *(end() - 1); } iterator begin() { return (iterator)wxBaseArrayPtrVoid::begin(); } const_iterator begin() const { return (const_iterator)wxBaseArrayPtrVoid::begin(); } size_type capacity() const { return wxBaseArrayPtrVoid::capacity(); } iterator end() { return (iterator)wxBaseArrayPtrVoid::end(); } const_iterator end() const { return (const_iterator)wxBaseArrayPtrVoid::end(); } iterator erase(iterator first, iterator last) { return (iterator)wxBaseArrayPtrVoid::erase((biterator)first, (biterator)last); } iterator erase(iterator it) { return (iterator)wxBaseArrayPtrVoid::erase((biterator)it); } reference front() { return *begin(); } const_reference front() const { return *begin(); } void insert(iterator it, size_type n, const_reference v) { wxBaseArrayPtrVoid::insert((biterator)it, n, (bconst_reference)v); } iterator insert(iterator it, const_reference v = value_type()) { return (iterator)wxBaseArrayPtrVoid::insert((biterator)it, (bconst_reference)v); } void insert(iterator it, const_iterator first, const_iterator last) { wxBaseArrayPtrVoid::insert((biterator)it, (bconst_iterator)first, (bconst_iterator)last); } void pop_back() { wxBaseArrayPtrVoid::pop_back(); } void push_back(const_reference v) { wxBaseArrayPtrVoid::push_back((bconst_reference)v); } reverse_iterator rbegin() { return reverse_iterator(end() - 1); } const_reverse_iterator rbegin() const; reverse_iterator rend() { return reverse_iterator(begin() - 1); } const_reverse_iterator rend() const; void reserve(size_type n) { wxBaseArrayPtrVoid::reserve(n); }; void resize(size_type n, value_type v = value_type()); };
58426
58427
58428
58429 class wxDateTimeHolidaysModule;
58430 class wxDateTimeHolidayAuthority
58431 {
58432 friend class wxDateTimeHolidaysModule;
58433 public:
58434
58435     static bool IsHoliday(const wxDateTime& dt);
58436
58437
58438
58439     static size_t GetHolidaysInRange(const wxDateTime& dtStart,
58440                                      const wxDateTime& dtEnd,
58441                                      wxDateTimeArray& holidays);
58442
58443
58444     static void ClearAllAuthorities();
58445
58446
58447
58448     static void AddAuthority(wxDateTimeHolidayAuthority *auth);
58449
58450
58451     virtual ~wxDateTimeHolidayAuthority();
58452
58453 protected:
58454
58455     virtual bool DoIsHoliday(const wxDateTime& dt) const = 0;
58456 # 1498 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
58457     virtual size_t DoGetHolidaysInRange(const wxDateTime& dtStart,
58458                                         const wxDateTime& dtEnd,
58459                                         wxDateTimeArray& holidays) const = 0;
58460
58461 private:
58462
58463     static wxHolidayAuthoritiesArray ms_authorities;
58464 };
58465
58466
58467 class wxDateTimeWorkDays : public wxDateTimeHolidayAuthority
58468 {
58469 protected:
58470     virtual bool DoIsHoliday(const wxDateTime& dt) const;
58471     virtual size_t DoGetHolidaysInRange(const wxDateTime& dtStart,
58472                                         const wxDateTime& dtEnd,
58473                                         wxDateTimeArray& holidays) const;
58474 };
58475 # 1540 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
58476 inline bool wxDateTime::IsInStdRange() const
58477 {
58478     return m_time >= 0l && (m_time / TIME_T_FACTOR) < 9223372036854775807L;
58479 }
58480
58481
58482 inline wxDateTime wxDateTime::Now()
58483 {
58484     return wxDateTime(*GetTmNow());
58485 }
58486
58487
58488 inline wxDateTime wxDateTime::Today()
58489 {
58490     wxDateTime dt(Now());
58491     dt.ResetTime();
58492
58493     return dt;
58494 }
58495
58496
58497 inline wxDateTime& wxDateTime::Set(time_t timet)
58498 {
58499
58500     m_time = timet - 0 ;
58501     m_time *= TIME_T_FACTOR;
58502
58503     return *this;
58504 }
58505
58506
58507 inline wxDateTime& wxDateTime::SetToCurrent()
58508 {
58509     *this = Now();
58510     return *this;
58511 }
58512
58513
58514 inline wxDateTime::wxDateTime(time_t timet)
58515 {
58516     Set(timet);
58517 }
58518
58519
58520 inline wxDateTime::wxDateTime(const struct tm& tm)
58521 {
58522     Set(tm);
58523 }
58524
58525 inline wxDateTime::wxDateTime(const Tm& tm)
58526 {
58527     Set(tm);
58528 }
58529
58530 inline wxDateTime::wxDateTime(double jdn)
58531 {
58532     Set(jdn);
58533 }
58534
58535 inline wxDateTime& wxDateTime::Set(const Tm& tm)
58536 {
58537     ;
58538
58539     return Set(tm.mday, (Month)tm.mon, tm.year,
58540                tm.hour, tm.min, tm.sec, tm.msec);
58541 }
58542
58543 inline wxDateTime::wxDateTime(wxDateTime_t hour,
58544                               wxDateTime_t minute,
58545                               wxDateTime_t second,
58546                               wxDateTime_t millisec)
58547 {
58548     Set(hour, minute, second, millisec);
58549 }
58550
58551 inline wxDateTime::wxDateTime(wxDateTime_t day,
58552                               Month month,
58553                               int year,
58554                               wxDateTime_t hour,
58555                               wxDateTime_t minute,
58556                               wxDateTime_t second,
58557                               wxDateTime_t millisec)
58558 {
58559     Set(day, month, year, hour, minute, second, millisec);
58560 }
58561
58562
58563
58564
58565
58566 inline wxLongLong wxDateTime::GetValue() const
58567 {
58568     ;
58569
58570     return m_time;
58571 }
58572
58573 inline time_t wxDateTime::GetTicks() const
58574 {
58575     ;
58576     if ( !IsInStdRange() )
58577     {
58578         return (time_t)-1;
58579     }
58580
58581     return (time_t)((m_time / (long)TIME_T_FACTOR).GetLo())+0 ;
58582 }
58583
58584 inline bool wxDateTime::SetToLastWeekDay(WeekDay weekday,
58585                                          Month month,
58586                                          int year)
58587 {
58588     return SetToWeekDay(weekday, -1, month, year);
58589 }
58590
58591 inline wxDateTime
58592 wxDateTime::GetWeekDayInSameWeek(WeekDay weekday,
58593                                  WeekFlags ) const
58594 {
58595     return wxDateTime(*this).SetToWeekDayInSameWeek(weekday);
58596 }
58597
58598 inline wxDateTime wxDateTime::GetNextWeekDay(WeekDay weekday) const
58599 {
58600     return wxDateTime(*this).SetToNextWeekDay(weekday);
58601 }
58602
58603 inline wxDateTime wxDateTime::GetPrevWeekDay(WeekDay weekday) const
58604 {
58605     return wxDateTime(*this).SetToPrevWeekDay(weekday);
58606 }
58607
58608 inline wxDateTime wxDateTime::GetWeekDay(WeekDay weekday,
58609                                          int n,
58610                                          Month month,
58611                                          int year) const
58612 {
58613     wxDateTime dt(*this);
58614
58615     return dt.SetToWeekDay(weekday, n, month, year) ? dt : wxDefaultDateTime;
58616 }
58617
58618 inline wxDateTime wxDateTime::GetLastWeekDay(WeekDay weekday,
58619                                              Month month,
58620                                              int year)
58621 {
58622     wxDateTime dt(*this);
58623
58624     return dt.SetToLastWeekDay(weekday, month, year) ? dt : wxDefaultDateTime;
58625 }
58626
58627 inline wxDateTime wxDateTime::GetLastMonthDay(Month month, int year) const
58628 {
58629     return wxDateTime(*this).SetToLastMonthDay(month, year);
58630 }
58631
58632 inline wxDateTime wxDateTime::GetYearDay(wxDateTime_t yday) const
58633 {
58634     return wxDateTime(*this).SetToYearDay(yday);
58635 }
58636
58637
58638
58639
58640
58641 inline bool wxDateTime::IsEqualTo(const wxDateTime& datetime) const
58642 {
58643     ;
58644
58645     return m_time == datetime.m_time;
58646 }
58647
58648 inline bool wxDateTime::IsEarlierThan(const wxDateTime& datetime) const
58649 {
58650     ;
58651
58652     return m_time < datetime.m_time;
58653 }
58654
58655 inline bool wxDateTime::IsLaterThan(const wxDateTime& datetime) const
58656 {
58657     ;
58658
58659     return m_time > datetime.m_time;
58660 }
58661
58662 inline bool wxDateTime::IsStrictlyBetween(const wxDateTime& t1,
58663                                           const wxDateTime& t2) const
58664 {
58665
58666     return IsLaterThan(t1) && IsEarlierThan(t2);
58667 }
58668
58669 inline bool wxDateTime::IsBetween(const wxDateTime& t1,
58670                                   const wxDateTime& t2) const
58671 {
58672
58673     return IsEqualTo(t1) || IsEqualTo(t2) || IsStrictlyBetween(t1, t2);
58674 }
58675
58676 inline bool wxDateTime::IsSameDate(const wxDateTime& dt) const
58677 {
58678     Tm tm1 = GetTm(),
58679        tm2 = dt.GetTm();
58680
58681     return tm1.year == tm2.year &&
58682            tm1.mon == tm2.mon &&
58683            tm1.mday == tm2.mday;
58684 }
58685
58686 inline bool wxDateTime::IsSameTime(const wxDateTime& dt) const
58687 {
58688
58689
58690
58691
58692
58693     Tm tm1 = GetTm(),
58694        tm2 = dt.GetTm();
58695
58696     return tm1.hour == tm2.hour &&
58697            tm1.min == tm2.min &&
58698            tm1.sec == tm2.sec &&
58699            tm1.msec == tm2.msec;
58700 }
58701
58702 inline bool wxDateTime::IsEqualUpTo(const wxDateTime& dt,
58703                                     const wxTimeSpan& ts) const
58704 {
58705     return IsBetween(dt.Subtract(ts), dt.Add(ts));
58706 }
58707
58708
58709
58710
58711
58712 inline wxDateTime wxDateTime::Add(const wxTimeSpan& diff) const
58713 {
58714     ;
58715
58716     return wxDateTime(m_time + diff.GetValue());
58717 }
58718
58719 inline wxDateTime& wxDateTime::Add(const wxTimeSpan& diff)
58720 {
58721     ;
58722
58723     m_time += diff.GetValue();
58724
58725     return *this;
58726 }
58727
58728 inline wxDateTime& wxDateTime::operator+=(const wxTimeSpan& diff)
58729 {
58730     return Add(diff);
58731 }
58732
58733 inline wxDateTime wxDateTime::Subtract(const wxTimeSpan& diff) const
58734 {
58735     ;
58736
58737     return wxDateTime(m_time - diff.GetValue());
58738 }
58739
58740 inline wxDateTime& wxDateTime::Subtract(const wxTimeSpan& diff)
58741 {
58742     ;
58743
58744     m_time -= diff.GetValue();
58745
58746     return *this;
58747 }
58748
58749 inline wxDateTime& wxDateTime::operator-=(const wxTimeSpan& diff)
58750 {
58751     return Subtract(diff);
58752 }
58753
58754 inline wxTimeSpan wxDateTime::Subtract(const wxDateTime& datetime) const
58755 {
58756     ;
58757
58758     return wxTimeSpan(GetValue() - datetime.GetValue());
58759 }
58760
58761 inline wxTimeSpan wxDateTime::operator-(const wxDateTime& dt2) const
58762 {
58763     return this->Subtract(dt2);
58764 }
58765
58766 inline wxDateTime wxDateTime::Add(const wxDateSpan& diff) const
58767 {
58768     return wxDateTime(*this).Add(diff);
58769 }
58770
58771 inline wxDateTime& wxDateTime::Subtract(const wxDateSpan& diff)
58772 {
58773     return Add(diff.Negate());
58774 }
58775
58776 inline wxDateTime wxDateTime::Subtract(const wxDateSpan& diff) const
58777 {
58778     return wxDateTime(*this).Subtract(diff);
58779 }
58780
58781 inline wxDateTime& wxDateTime::operator-=(const wxDateSpan& diff)
58782 {
58783     return Subtract(diff);
58784 }
58785
58786 inline wxDateTime& wxDateTime::operator+=(const wxDateSpan& diff)
58787 {
58788     return Add(diff);
58789 }
58790
58791
58792
58793
58794
58795 inline wxDateTime
58796 wxDateTime::ToTimezone(const wxDateTime::TimeZone& tz, bool noDST) const
58797 {
58798     return wxDateTime(*this).MakeTimezone(tz, noDST);
58799 }
58800
58801
58802
58803 inline wxDateTime
58804 wxDateTime::FromTimezone(const wxDateTime::TimeZone& tz, bool noDST) const
58805 {
58806     return wxDateTime(*this).MakeFromTimezone(tz, noDST);
58807 }
58808
58809
58810
58811
58812
58813
58814
58815 inline wxTimeSpan::wxTimeSpan(long hours,
58816                               long minutes,
58817                               long seconds,
58818                               long milliseconds)
58819 {
58820
58821     m_diff = hours;
58822     m_diff *= 60l;
58823     m_diff += minutes;
58824     m_diff *= 60l;
58825     m_diff += seconds;
58826     m_diff *= 1000l;
58827     m_diff += milliseconds;
58828 }
58829
58830
58831
58832
58833
58834 inline wxLongLong wxTimeSpan::GetSeconds() const
58835 {
58836     return m_diff / 1000l;
58837 }
58838
58839 inline int wxTimeSpan::GetMinutes() const
58840 {
58841     return (GetSeconds() / 60l).GetLo();
58842 }
58843
58844 inline int wxTimeSpan::GetHours() const
58845 {
58846     return GetMinutes() / 60;
58847 }
58848
58849 inline int wxTimeSpan::GetDays() const
58850 {
58851     return GetHours() / 24;
58852 }
58853
58854 inline int wxTimeSpan::GetWeeks() const
58855 {
58856     return GetDays() / 7;
58857 }
58858
58859
58860
58861
58862
58863 inline wxTimeSpan wxTimeSpan::Add(const wxTimeSpan& diff) const
58864 {
58865     return wxTimeSpan(m_diff + diff.GetValue());
58866 }
58867
58868 inline wxTimeSpan& wxTimeSpan::Add(const wxTimeSpan& diff)
58869 {
58870     m_diff += diff.GetValue();
58871
58872     return *this;
58873 }
58874
58875 inline wxTimeSpan wxTimeSpan::Subtract(const wxTimeSpan& diff) const
58876 {
58877     return wxTimeSpan(m_diff - diff.GetValue());
58878 }
58879
58880 inline wxTimeSpan& wxTimeSpan::Subtract(const wxTimeSpan& diff)
58881 {
58882     m_diff -= diff.GetValue();
58883
58884     return *this;
58885 }
58886
58887 inline wxTimeSpan& wxTimeSpan::Multiply(int n)
58888 {
58889     m_diff *= (long)n;
58890
58891     return *this;
58892 }
58893
58894 inline wxTimeSpan wxTimeSpan::Multiply(int n) const
58895 {
58896     return wxTimeSpan(m_diff * (long)n);
58897 }
58898
58899 inline wxTimeSpan wxTimeSpan::Abs() const
58900 {
58901     return wxTimeSpan(GetValue().Abs());
58902 }
58903
58904 inline bool wxTimeSpan::IsEqualTo(const wxTimeSpan& ts) const
58905 {
58906     return GetValue() == ts.GetValue();
58907 }
58908
58909 inline bool wxTimeSpan::IsLongerThan(const wxTimeSpan& ts) const
58910 {
58911     return GetValue().Abs() > ts.GetValue().Abs();
58912 }
58913
58914
58915
58916
58917
58918 inline wxDateSpan& wxDateSpan::operator+=(const wxDateSpan& other)
58919 {
58920     m_years += other.m_years;
58921     m_months += other.m_months;
58922     m_weeks += other.m_weeks;
58923     m_days += other.m_days;
58924
58925     return *this;
58926 }
58927
58928 inline wxDateSpan& wxDateSpan::Add(const wxDateSpan& other)
58929 {
58930     return *this += other;
58931 }
58932
58933 inline wxDateSpan wxDateSpan::Add(const wxDateSpan& other) const
58934 {
58935     wxDateSpan ds(*this);
58936     ds.Add(other);
58937     return ds;
58938 }
58939
58940 inline wxDateSpan& wxDateSpan::Multiply(int factor)
58941 {
58942     m_years *= factor;
58943     m_months *= factor;
58944     m_weeks *= factor;
58945     m_days *= factor;
58946
58947     return *this;
58948 }
58949
58950 inline wxDateSpan wxDateSpan::Multiply(int factor) const
58951 {
58952     wxDateSpan ds(*this);
58953     ds.Multiply(factor);
58954     return ds;
58955 }
58956
58957 inline wxDateSpan wxDateSpan::Negate() const
58958 {
58959     return wxDateSpan(-m_years, -m_months, -m_weeks, -m_days);
58960 }
58961
58962 inline wxDateSpan& wxDateSpan::Neg()
58963 {
58964     m_years = -m_years;
58965     m_months = -m_months;
58966     m_weeks = -m_weeks;
58967     m_days = -m_days;
58968
58969     return *this;
58970 }
58971
58972 inline wxDateSpan& wxDateSpan::operator-=(const wxDateSpan& other)
58973 {
58974     return *this += other.Negate();
58975 }
58976
58977 inline wxDateSpan& wxDateSpan::Subtract(const wxDateSpan& other)
58978 {
58979     return *this -= other;
58980 }
58981
58982 inline wxDateSpan wxDateSpan::Subtract(const wxDateSpan& other) const
58983 {
58984     wxDateSpan ds(*this);
58985     ds.Subtract(other);
58986     return ds;
58987 }
58988 # 2065 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
58989 wxTimeSpan operator*(int n, const wxTimeSpan& ts);
58990
58991
58992
58993
58994
58995 wxDateSpan operator*(int n, const wxDateSpan& ds);
58996 # 2083 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/datetime.h"
58997  void wxNextMonth(wxDateTime::Month& m);
58998  void wxPrevMonth(wxDateTime::Month& m);
58999  void wxNextWDay(wxDateTime::WeekDay& wd);
59000  void wxPrevWDay(wxDateTime::WeekDay& wd);
59001 # 21 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/filedlgg.h" 2
59002
59003
59004
59005
59006
59007 class wxBitmapButton;
59008 class wxCheckBox;
59009 class wxChoice;
59010 class wxFileData;
59011 class wxFileCtrl;
59012 class wxGenericFileDialog;
59013 class wxListEvent;
59014 class wxListItem;
59015 class wxStaticText;
59016 class wxTextCtrl;
59017 # 45 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/filedlgg.h"
59018 class wxGenericFileDialog: public wxFileDialogBase
59019 {
59020 public:
59021     wxGenericFileDialog() : wxFileDialogBase() { Init(); }
59022
59023     wxGenericFileDialog(wxWindow *parent,
59024                         const wxString& message = wxFileSelectorPromptStr,
59025                         const wxString& defaultDir = wxEmptyString,
59026                         const wxString& defaultFile = wxEmptyString,
59027                         const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
59028                         long style = 0,
59029                         const wxPoint& pos = wxDefaultPosition,
59030                         bool bypassGenericImpl = false );
59031
59032     bool Create( wxWindow *parent,
59033                  const wxString& message = wxFileSelectorPromptStr,
59034                  const wxString& defaultDir = wxEmptyString,
59035                  const wxString& defaultFile = wxEmptyString,
59036                  const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
59037                  long style = 0,
59038                  const wxPoint& pos = wxDefaultPosition,
59039                  bool bypassGenericImpl = false );
59040
59041     virtual ~wxGenericFileDialog();
59042
59043     virtual void SetMessage(const wxString& message) { SetTitle(message); }
59044     virtual void SetPath(const wxString& path);
59045     virtual void SetFilterIndex(int filterIndex);
59046     virtual void SetWildcard(const wxString& wildCard);
59047
59048
59049     virtual void GetPaths(wxArrayString& paths) const;
59050     virtual void GetFilenames(wxArrayString& files) const;
59051
59052
59053
59054
59055     virtual int ShowModal();
59056     virtual bool Show( bool show = true );
59057
59058     void OnSelected( wxListEvent &event );
59059     void OnActivated( wxListEvent &event );
59060     void OnList( wxCommandEvent &event );
59061     void OnReport( wxCommandEvent &event );
59062     void OnUp( wxCommandEvent &event );
59063     void OnHome( wxCommandEvent &event );
59064     void OnListOk( wxCommandEvent &event );
59065     void OnNew( wxCommandEvent &event );
59066     void OnChoiceFilter( wxCommandEvent &event );
59067     void OnTextEnter( wxCommandEvent &event );
59068     void OnTextChange( wxCommandEvent &event );
59069     void OnCheck( wxCommandEvent &event );
59070
59071     virtual void HandleAction( const wxString &fn );
59072
59073     virtual void UpdateControls();
59074
59075 private:
59076
59077     bool m_bypassGenericImpl;
59078
59079 protected:
59080
59081     void DoSetFilterIndex(int filterindex);
59082
59083     wxString m_filterExtension;
59084     wxChoice *m_choice;
59085     wxTextCtrl *m_text;
59086     wxFileCtrl *m_list;
59087     wxCheckBox *m_check;
59088     wxStaticText *m_static;
59089     wxBitmapButton *m_upDirButton;
59090     wxBitmapButton *m_newDirButton;
59091
59092 private:
59093     void Init();
59094     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
59095     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
59096
59097
59098     static long ms_lastViewStyle;
59099     static bool ms_lastShowHidden;
59100 };
59101 # 157 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/generic/filedlgg.h"
59102 class wxFileData
59103 {
59104 public:
59105     enum fileType
59106     {
59107         is_file = 0x0000,
59108         is_dir = 0x0001,
59109         is_link = 0x0002,
59110         is_exe = 0x0004,
59111         is_drive = 0x0008
59112     };
59113
59114     wxFileData() { Init(); }
59115
59116     wxFileData( const wxFileData& fileData ) { Copy(fileData); }
59117
59118     wxFileData( const wxString &filePath, const wxString &fileName,
59119                 fileType type, int image_id );
59120
59121
59122     void Copy( const wxFileData &other );
59123
59124
59125     void ReadData();
59126
59127
59128     wxString GetFileName() const { return m_fileName; }
59129
59130     wxString GetFilePath() const { return m_filePath; }
59131
59132     void SetNewName( const wxString &filePath, const wxString &fileName );
59133
59134
59135     long GetSize() const { return m_size; }
59136
59137     wxString GetFileType() const;
59138
59139     wxDateTime GetDateTime() const { return m_dateTime; }
59140
59141     wxString GetModificationTime() const;
59142
59143     wxString GetPermissions() const { return m_permissions; }
59144
59145     int GetImageId() const { return m_image; }
59146
59147     bool IsFile() const { return !IsDir() && !IsLink() && !IsDrive(); }
59148     bool IsDir() const { return (m_type & is_dir ) != 0; }
59149     bool IsLink() const { return (m_type & is_link ) != 0; }
59150     bool IsExe() const { return (m_type & is_exe ) != 0; }
59151     bool IsDrive() const { return (m_type & is_drive) != 0; }
59152
59153
59154     int GetType() const { return m_type; }
59155
59156
59157     enum fileListFieldType
59158     {
59159         FileList_Name,
59160         FileList_Size,
59161         FileList_Type,
59162         FileList_Time,
59163
59164         FileList_Perm,
59165
59166         FileList_Max
59167     };
59168
59169
59170     wxString GetEntry( fileListFieldType num ) const;
59171
59172
59173     wxString GetHint() const;
59174
59175     void MakeItem( wxListItem &item );
59176
59177
59178     wxFileData& operator = (const wxFileData& fd) { Copy(fd); return *this; }
59179
59180 protected:
59181     wxString m_fileName;
59182     wxString m_filePath;
59183     long m_size;
59184     wxDateTime m_dateTime;
59185     wxString m_permissions;
59186     int m_type;
59187     int m_image;
59188
59189 private:
59190     void Init();
59191 };
59192
59193
59194
59195
59196
59197 class wxFileCtrl : public wxListCtrl
59198 {
59199 public:
59200     wxFileCtrl();
59201     wxFileCtrl( wxWindow *win,
59202                 wxWindowID id,
59203                 const wxString &wild,
59204                 bool showHidden,
59205                 const wxPoint &pos = wxDefaultPosition,
59206                 const wxSize &size = wxDefaultSize,
59207                 long style = 0x0010,
59208                 const wxValidator &validator = wxDefaultValidator,
59209                 const wxString &name = "filelist" );
59210     virtual ~wxFileCtrl();
59211
59212     virtual void ChangeToListMode();
59213     virtual void ChangeToReportMode();
59214     virtual void ChangeToSmallIconMode();
59215     virtual void ShowHidden( bool show = true );
59216     bool GetShowHidden() const { return m_showHidden; }
59217
59218     virtual long Add( wxFileData *fd, wxListItem &item );
59219     virtual void UpdateItem(const wxListItem &item);
59220     virtual void UpdateFiles();
59221     virtual void MakeDir();
59222     virtual void GoToParentDir();
59223     virtual void GoToHomeDir();
59224     virtual void GoToDir( const wxString &dir );
59225     virtual void SetWild( const wxString &wild );
59226     wxString GetWild() const { return m_wild; }
59227     wxString GetDir() const { return m_dirName; }
59228
59229     void OnListDeleteItem( wxListEvent &event );
59230     void OnListDeleteAllItems( wxListEvent &event );
59231     void OnListEndLabelEdit( wxListEvent &event );
59232     void OnListColClick( wxListEvent &event );
59233
59234     virtual void SortItems(wxFileData::fileListFieldType field, bool foward);
59235     bool GetSortDirection() const { return m_sort_foward; }
59236     wxFileData::fileListFieldType GetSortField() const { return m_sort_field; }
59237
59238 protected:
59239     void FreeItemData(wxListItem& item);
59240     void FreeAllItemsData();
59241
59242     wxString m_dirName;
59243     bool m_showHidden;
59244     wxString m_wild;
59245
59246     bool m_sort_foward;
59247     wxFileData::fileListFieldType m_sort_field;
59248
59249 private:
59250     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
59251     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
59252 };
59253 # 19 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/gtk/filedlg.h" 2
59254
59255
59256
59257
59258
59259 class wxFileDialog: public wxGenericFileDialog
59260 {
59261 public:
59262     wxFileDialog() { }
59263
59264     wxFileDialog(wxWindow *parent,
59265                  const wxString& message = wxFileSelectorPromptStr,
59266                  const wxString& defaultDir = wxEmptyString,
59267                  const wxString& defaultFile = wxEmptyString,
59268                  const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
59269                  long style = 0,
59270                  const wxPoint& pos = wxDefaultPosition);
59271
59272     virtual ~wxFileDialog();
59273
59274     virtual wxString GetPath() const;
59275     virtual void GetPaths(wxArrayString& paths) const;
59276     virtual wxString GetDirectory() const;
59277     virtual wxString GetFilename() const;
59278     virtual void GetFilenames(wxArrayString& files) const;
59279     virtual int GetFilterIndex() const;
59280
59281     virtual void SetMessage(const wxString& message);
59282     virtual void SetPath(const wxString& path);
59283     virtual void SetDirectory(const wxString& dir);
59284     virtual void SetFilename(const wxString& name);
59285     virtual void SetWildcard(const wxString& wildCard);
59286     virtual void SetFilterIndex(int filterIndex);
59287
59288     virtual int ShowModal();
59289     virtual bool Show( bool show = true );
59290
59291
59292     bool m_destroyed_by_delete;
59293
59294
59295
59296     virtual void DoSetSize(int x, int y,
59297                            int width, int height,
59298                            int sizeFlags = (0x0001|0x0002));
59299
59300
59301 private:
59302     public: static wxClassInfo ms_classInfo; virtual wxClassInfo *GetClassInfo() const; static wxObject* wxCreateObject();
59303     private: static const wxEventTableEntry sm_eventTableEntries[]; protected: static const wxEventTable sm_eventTable; virtual const wxEventTable* GetEventTable() const; static wxEventHashTable sm_eventHashTable; virtual wxEventHashTable& GetEventHashTable() const;
59304     void OnFakeOk( wxCommandEvent &event );
59305 };
59306 # 178 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/filedlg.h" 2
59307 # 80 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
59308
59309
59310
59311
59312
59313 # 1 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/valtext.h" 1
59314 # 86 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wx.h" 2
59315 # 55 "/var/tmp/portage/x11-libs/wxGTK-2.6.3.3/work/wxPython-src-2.6.3.3/include/wx/wxprec.h" 2