1 |
# 1 "src/PamVMCCaloID.cxx" |
2 |
# 1 "<built-in>" |
3 |
# 1 "<command line>" |
4 |
# 1 "src/PamVMCCaloID.cxx" |
5 |
# 1 "include/PamVMCCaloID.h" 1 |
6 |
|
7 |
|
8 |
|
9 |
# 1 "include/PamVMCGeoID.h" 1 |
10 |
|
11 |
|
12 |
# 1 "/cern/ROOT/include/TString.h" 1 |
13 |
# 27 "/cern/ROOT/include/TString.h" |
14 |
# 1 "/usr/include/string.h" 1 3 4 |
15 |
# 26 "/usr/include/string.h" 3 4 |
16 |
# 1 "/usr/include/features.h" 1 3 4 |
17 |
# 319 "/usr/include/features.h" 3 4 |
18 |
# 1 "/usr/include/sys/cdefs.h" 1 3 4 |
19 |
# 320 "/usr/include/features.h" 2 3 4 |
20 |
# 342 "/usr/include/features.h" 3 4 |
21 |
# 1 "/usr/include/gnu/stubs.h" 1 3 4 |
22 |
# 343 "/usr/include/features.h" 2 3 4 |
23 |
# 27 "/usr/include/string.h" 2 3 4 |
24 |
|
25 |
extern "C" { |
26 |
|
27 |
|
28 |
|
29 |
|
30 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 1 3 4 |
31 |
# 213 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 3 4 |
32 |
typedef unsigned int size_t; |
33 |
# 34 "/usr/include/string.h" 2 3 4 |
34 |
|
35 |
|
36 |
|
37 |
|
38 |
extern void *memcpy (void *__restrict __dest, |
39 |
__const void *__restrict __src, size_t __n) |
40 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
41 |
|
42 |
|
43 |
extern void *memmove (void *__dest, __const void *__src, size_t __n) |
44 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
45 |
|
46 |
|
47 |
|
48 |
|
49 |
|
50 |
|
51 |
extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, |
52 |
int __c, size_t __n) |
53 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
54 |
|
55 |
|
56 |
|
57 |
|
58 |
|
59 |
extern void *memset (void *__s, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1))); |
60 |
|
61 |
|
62 |
extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) |
63 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); |
64 |
|
65 |
|
66 |
extern void *memchr (__const void *__s, int __c, size_t __n) |
67 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); |
68 |
|
69 |
|
70 |
|
71 |
|
72 |
|
73 |
extern void *rawmemchr (__const void *__s, int __c) |
74 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); |
75 |
|
76 |
|
77 |
extern void *memrchr (__const void *__s, int __c, size_t __n) |
78 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); |
79 |
|
80 |
|
81 |
|
82 |
|
83 |
|
84 |
extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) |
85 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
86 |
|
87 |
extern char *strncpy (char *__restrict __dest, |
88 |
__const char *__restrict __src, size_t __n) |
89 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
90 |
|
91 |
|
92 |
extern char *strcat (char *__restrict __dest, __const char *__restrict __src) |
93 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
94 |
|
95 |
extern char *strncat (char *__restrict __dest, __const char *__restrict __src, |
96 |
size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); |
97 |
|
98 |
|
99 |
extern int strcmp (__const char *__s1, __const char *__s2) |
100 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); |
101 |
|
102 |
extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) |
103 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); |
104 |
|
105 |
|
106 |
extern int strcoll (__const char *__s1, __const char *__s2) |
107 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); |
108 |
|
109 |
extern size_t strxfrm (char *__restrict __dest, |
110 |
__const char *__restrict __src, size_t __n) |
111 |
throw () __attribute__ ((__nonnull__ (2))); |
112 |
|
113 |
|
114 |
|
115 |
|
116 |
|
117 |
|
118 |
# 1 "/usr/include/xlocale.h" 1 3 4 |
119 |
# 28 "/usr/include/xlocale.h" 3 4 |
120 |
typedef struct __locale_struct |
121 |
{ |
122 |
|
123 |
struct locale_data *__locales[13]; |
124 |
|
125 |
|
126 |
const unsigned short int *__ctype_b; |
127 |
const int *__ctype_tolower; |
128 |
const int *__ctype_toupper; |
129 |
|
130 |
|
131 |
const char *__names[13]; |
132 |
} *__locale_t; |
133 |
# 119 "/usr/include/string.h" 2 3 4 |
134 |
|
135 |
|
136 |
extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l) |
137 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); |
138 |
|
139 |
extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n, |
140 |
__locale_t __l) throw () __attribute__ ((__nonnull__ (2, 4))); |
141 |
|
142 |
|
143 |
|
144 |
|
145 |
extern char *strdup (__const char *__s) |
146 |
throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); |
147 |
|
148 |
|
149 |
|
150 |
|
151 |
|
152 |
|
153 |
extern char *strndup (__const char *__string, size_t __n) |
154 |
throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); |
155 |
# 165 "/usr/include/string.h" 3 4 |
156 |
|
157 |
|
158 |
extern char *strchr (__const char *__s, int __c) |
159 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); |
160 |
|
161 |
extern char *strrchr (__const char *__s, int __c) |
162 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); |
163 |
|
164 |
|
165 |
|
166 |
|
167 |
|
168 |
extern char *strchrnul (__const char *__s, int __c) |
169 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); |
170 |
|
171 |
|
172 |
|
173 |
|
174 |
|
175 |
extern size_t strcspn (__const char *__s, __const char *__reject) |
176 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); |
177 |
|
178 |
|
179 |
extern size_t strspn (__const char *__s, __const char *__accept) |
180 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); |
181 |
|
182 |
extern char *strpbrk (__const char *__s, __const char *__accept) |
183 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); |
184 |
|
185 |
extern char *strstr (__const char *__haystack, __const char *__needle) |
186 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); |
187 |
|
188 |
|
189 |
|
190 |
extern char *strtok (char *__restrict __s, __const char *__restrict __delim) |
191 |
throw () __attribute__ ((__nonnull__ (2))); |
192 |
|
193 |
|
194 |
|
195 |
|
196 |
extern char *__strtok_r (char *__restrict __s, |
197 |
__const char *__restrict __delim, |
198 |
char **__restrict __save_ptr) |
199 |
throw () __attribute__ ((__nonnull__ (2, 3))); |
200 |
|
201 |
extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, |
202 |
char **__restrict __save_ptr) |
203 |
throw () __attribute__ ((__nonnull__ (2, 3))); |
204 |
|
205 |
|
206 |
|
207 |
|
208 |
extern char *strcasestr (__const char *__haystack, __const char *__needle) |
209 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); |
210 |
|
211 |
|
212 |
|
213 |
|
214 |
|
215 |
|
216 |
extern void *memmem (__const void *__haystack, size_t __haystacklen, |
217 |
__const void *__needle, size_t __needlelen) |
218 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))); |
219 |
|
220 |
|
221 |
|
222 |
extern void *__mempcpy (void *__restrict __dest, |
223 |
__const void *__restrict __src, size_t __n) |
224 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
225 |
extern void *mempcpy (void *__restrict __dest, |
226 |
__const void *__restrict __src, size_t __n) |
227 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
228 |
|
229 |
|
230 |
|
231 |
|
232 |
|
233 |
extern size_t strlen (__const char *__s) |
234 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); |
235 |
|
236 |
|
237 |
|
238 |
|
239 |
|
240 |
extern size_t strnlen (__const char *__string, size_t __maxlen) |
241 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); |
242 |
|
243 |
|
244 |
|
245 |
|
246 |
|
247 |
extern char *strerror (int __errnum) throw (); |
248 |
|
249 |
# 281 "/usr/include/string.h" 3 4 |
250 |
extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) |
251 |
throw () __attribute__ ((__nonnull__ (2))); |
252 |
|
253 |
|
254 |
|
255 |
|
256 |
|
257 |
extern void __bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); |
258 |
|
259 |
|
260 |
|
261 |
extern void bcopy (__const void *__src, void *__dest, size_t __n) |
262 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
263 |
|
264 |
|
265 |
extern void bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); |
266 |
|
267 |
|
268 |
extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) |
269 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); |
270 |
|
271 |
|
272 |
extern char *index (__const char *__s, int __c) |
273 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); |
274 |
|
275 |
|
276 |
extern char *rindex (__const char *__s, int __c) |
277 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); |
278 |
|
279 |
|
280 |
|
281 |
extern int ffs (int __i) throw () __attribute__ ((__const__)); |
282 |
|
283 |
|
284 |
|
285 |
|
286 |
extern int ffsl (long int __l) throw () __attribute__ ((__const__)); |
287 |
|
288 |
__extension__ extern int ffsll (long long int __ll) |
289 |
throw () __attribute__ ((__const__)); |
290 |
|
291 |
|
292 |
|
293 |
|
294 |
extern int strcasecmp (__const char *__s1, __const char *__s2) |
295 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); |
296 |
|
297 |
|
298 |
extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) |
299 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); |
300 |
|
301 |
|
302 |
|
303 |
|
304 |
|
305 |
extern int strcasecmp_l (__const char *__s1, __const char *__s2, |
306 |
__locale_t __loc) |
307 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); |
308 |
|
309 |
extern int strncasecmp_l (__const char *__s1, __const char *__s2, |
310 |
size_t __n, __locale_t __loc) |
311 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); |
312 |
|
313 |
|
314 |
|
315 |
|
316 |
|
317 |
extern char *strsep (char **__restrict __stringp, |
318 |
__const char *__restrict __delim) |
319 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
320 |
|
321 |
|
322 |
|
323 |
|
324 |
extern int strverscmp (__const char *__s1, __const char *__s2) |
325 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); |
326 |
|
327 |
|
328 |
extern char *strsignal (int __sig) throw (); |
329 |
|
330 |
|
331 |
extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src) |
332 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
333 |
extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src) |
334 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
335 |
|
336 |
|
337 |
|
338 |
extern char *__stpncpy (char *__restrict __dest, |
339 |
__const char *__restrict __src, size_t __n) |
340 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
341 |
extern char *stpncpy (char *__restrict __dest, |
342 |
__const char *__restrict __src, size_t __n) |
343 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
344 |
|
345 |
|
346 |
extern char *strfry (char *__string) throw () __attribute__ ((__nonnull__ (1))); |
347 |
|
348 |
|
349 |
extern void *memfrob (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); |
350 |
|
351 |
|
352 |
|
353 |
|
354 |
|
355 |
|
356 |
extern char *basename (__const char *__filename) throw () __attribute__ ((__nonnull__ (1))); |
357 |
# 426 "/usr/include/string.h" 3 4 |
358 |
} |
359 |
# 28 "/cern/ROOT/include/TString.h" 2 |
360 |
# 1 "/usr/include/stdio.h" 1 3 4 |
361 |
# 30 "/usr/include/stdio.h" 3 4 |
362 |
extern "C" { |
363 |
|
364 |
|
365 |
|
366 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 1 3 4 |
367 |
# 35 "/usr/include/stdio.h" 2 3 4 |
368 |
|
369 |
# 1 "/usr/include/bits/types.h" 1 3 4 |
370 |
# 28 "/usr/include/bits/types.h" 3 4 |
371 |
# 1 "/usr/include/bits/wordsize.h" 1 3 4 |
372 |
# 29 "/usr/include/bits/types.h" 2 3 4 |
373 |
|
374 |
|
375 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 1 3 4 |
376 |
# 32 "/usr/include/bits/types.h" 2 3 4 |
377 |
|
378 |
|
379 |
typedef unsigned char __u_char; |
380 |
typedef unsigned short int __u_short; |
381 |
typedef unsigned int __u_int; |
382 |
typedef unsigned long int __u_long; |
383 |
|
384 |
|
385 |
typedef signed char __int8_t; |
386 |
typedef unsigned char __uint8_t; |
387 |
typedef signed short int __int16_t; |
388 |
typedef unsigned short int __uint16_t; |
389 |
typedef signed int __int32_t; |
390 |
typedef unsigned int __uint32_t; |
391 |
|
392 |
|
393 |
|
394 |
|
395 |
__extension__ typedef signed long long int __int64_t; |
396 |
__extension__ typedef unsigned long long int __uint64_t; |
397 |
|
398 |
|
399 |
|
400 |
|
401 |
|
402 |
|
403 |
|
404 |
__extension__ typedef long long int __quad_t; |
405 |
__extension__ typedef unsigned long long int __u_quad_t; |
406 |
# 129 "/usr/include/bits/types.h" 3 4 |
407 |
# 1 "/usr/include/bits/typesizes.h" 1 3 4 |
408 |
# 130 "/usr/include/bits/types.h" 2 3 4 |
409 |
|
410 |
|
411 |
|
412 |
|
413 |
|
414 |
|
415 |
__extension__ typedef __u_quad_t __dev_t; |
416 |
__extension__ typedef unsigned int __uid_t; |
417 |
__extension__ typedef unsigned int __gid_t; |
418 |
__extension__ typedef unsigned long int __ino_t; |
419 |
__extension__ typedef __u_quad_t __ino64_t; |
420 |
__extension__ typedef unsigned int __mode_t; |
421 |
__extension__ typedef unsigned int __nlink_t; |
422 |
__extension__ typedef long int __off_t; |
423 |
__extension__ typedef __quad_t __off64_t; |
424 |
__extension__ typedef int __pid_t; |
425 |
__extension__ typedef struct { int __val[2]; } __fsid_t; |
426 |
__extension__ typedef long int __clock_t; |
427 |
__extension__ typedef unsigned long int __rlim_t; |
428 |
__extension__ typedef __u_quad_t __rlim64_t; |
429 |
__extension__ typedef unsigned int __id_t; |
430 |
__extension__ typedef long int __time_t; |
431 |
__extension__ typedef unsigned int __useconds_t; |
432 |
__extension__ typedef long int __suseconds_t; |
433 |
|
434 |
__extension__ typedef int __daddr_t; |
435 |
__extension__ typedef long int __swblk_t; |
436 |
__extension__ typedef int __key_t; |
437 |
|
438 |
|
439 |
__extension__ typedef int __clockid_t; |
440 |
|
441 |
|
442 |
__extension__ typedef int __timer_t; |
443 |
|
444 |
|
445 |
__extension__ typedef long int __blksize_t; |
446 |
|
447 |
|
448 |
|
449 |
|
450 |
__extension__ typedef long int __blkcnt_t; |
451 |
__extension__ typedef __quad_t __blkcnt64_t; |
452 |
|
453 |
|
454 |
__extension__ typedef unsigned long int __fsblkcnt_t; |
455 |
__extension__ typedef __u_quad_t __fsblkcnt64_t; |
456 |
|
457 |
|
458 |
__extension__ typedef unsigned long int __fsfilcnt_t; |
459 |
__extension__ typedef __u_quad_t __fsfilcnt64_t; |
460 |
|
461 |
__extension__ typedef int __ssize_t; |
462 |
|
463 |
|
464 |
|
465 |
typedef __off64_t __loff_t; |
466 |
typedef __quad_t *__qaddr_t; |
467 |
typedef char *__caddr_t; |
468 |
|
469 |
|
470 |
__extension__ typedef int __intptr_t; |
471 |
|
472 |
|
473 |
__extension__ typedef unsigned int __socklen_t; |
474 |
# 37 "/usr/include/stdio.h" 2 3 4 |
475 |
|
476 |
|
477 |
|
478 |
|
479 |
|
480 |
|
481 |
|
482 |
|
483 |
|
484 |
typedef struct _IO_FILE FILE; |
485 |
|
486 |
|
487 |
|
488 |
|
489 |
|
490 |
# 62 "/usr/include/stdio.h" 3 4 |
491 |
typedef struct _IO_FILE __FILE; |
492 |
# 72 "/usr/include/stdio.h" 3 4 |
493 |
# 1 "/usr/include/libio.h" 1 3 4 |
494 |
# 32 "/usr/include/libio.h" 3 4 |
495 |
# 1 "/usr/include/_G_config.h" 1 3 4 |
496 |
# 14 "/usr/include/_G_config.h" 3 4 |
497 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 1 3 4 |
498 |
# 354 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 3 4 |
499 |
typedef unsigned int wint_t; |
500 |
# 15 "/usr/include/_G_config.h" 2 3 4 |
501 |
# 24 "/usr/include/_G_config.h" 3 4 |
502 |
# 1 "/usr/include/wchar.h" 1 3 4 |
503 |
# 48 "/usr/include/wchar.h" 3 4 |
504 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 1 3 4 |
505 |
# 49 "/usr/include/wchar.h" 2 3 4 |
506 |
|
507 |
# 1 "/usr/include/bits/wchar.h" 1 3 4 |
508 |
# 51 "/usr/include/wchar.h" 2 3 4 |
509 |
# 76 "/usr/include/wchar.h" 3 4 |
510 |
typedef struct |
511 |
{ |
512 |
int __count; |
513 |
union |
514 |
{ |
515 |
wint_t __wch; |
516 |
char __wchb[4]; |
517 |
} __value; |
518 |
} __mbstate_t; |
519 |
# 25 "/usr/include/_G_config.h" 2 3 4 |
520 |
|
521 |
typedef struct |
522 |
{ |
523 |
__off_t __pos; |
524 |
__mbstate_t __state; |
525 |
} _G_fpos_t; |
526 |
typedef struct |
527 |
{ |
528 |
__off64_t __pos; |
529 |
__mbstate_t __state; |
530 |
} _G_fpos64_t; |
531 |
# 44 "/usr/include/_G_config.h" 3 4 |
532 |
# 1 "/usr/include/gconv.h" 1 3 4 |
533 |
# 28 "/usr/include/gconv.h" 3 4 |
534 |
# 1 "/usr/include/wchar.h" 1 3 4 |
535 |
# 48 "/usr/include/wchar.h" 3 4 |
536 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 1 3 4 |
537 |
# 49 "/usr/include/wchar.h" 2 3 4 |
538 |
# 29 "/usr/include/gconv.h" 2 3 4 |
539 |
|
540 |
|
541 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 1 3 4 |
542 |
# 32 "/usr/include/gconv.h" 2 3 4 |
543 |
|
544 |
|
545 |
|
546 |
|
547 |
|
548 |
enum |
549 |
{ |
550 |
__GCONV_OK = 0, |
551 |
__GCONV_NOCONV, |
552 |
__GCONV_NODB, |
553 |
__GCONV_NOMEM, |
554 |
|
555 |
__GCONV_EMPTY_INPUT, |
556 |
__GCONV_FULL_OUTPUT, |
557 |
__GCONV_ILLEGAL_INPUT, |
558 |
__GCONV_INCOMPLETE_INPUT, |
559 |
|
560 |
__GCONV_ILLEGAL_DESCRIPTOR, |
561 |
__GCONV_INTERNAL_ERROR |
562 |
}; |
563 |
|
564 |
|
565 |
|
566 |
enum |
567 |
{ |
568 |
__GCONV_IS_LAST = 0x0001, |
569 |
__GCONV_IGNORE_ERRORS = 0x0002 |
570 |
}; |
571 |
|
572 |
|
573 |
|
574 |
struct __gconv_step; |
575 |
struct __gconv_step_data; |
576 |
struct __gconv_loaded_object; |
577 |
struct __gconv_trans_data; |
578 |
|
579 |
|
580 |
|
581 |
typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, |
582 |
__const unsigned char **, __const unsigned char *, |
583 |
unsigned char **, size_t *, int, int); |
584 |
|
585 |
|
586 |
typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); |
587 |
|
588 |
|
589 |
typedef int (*__gconv_init_fct) (struct __gconv_step *); |
590 |
typedef void (*__gconv_end_fct) (struct __gconv_step *); |
591 |
|
592 |
|
593 |
|
594 |
typedef int (*__gconv_trans_fct) (struct __gconv_step *, |
595 |
struct __gconv_step_data *, void *, |
596 |
__const unsigned char *, |
597 |
__const unsigned char **, |
598 |
__const unsigned char *, unsigned char **, |
599 |
size_t *); |
600 |
|
601 |
|
602 |
typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, |
603 |
__const unsigned char *, |
604 |
unsigned char *, unsigned char *); |
605 |
|
606 |
|
607 |
typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, |
608 |
size_t *); |
609 |
|
610 |
|
611 |
typedef int (*__gconv_trans_init_fct) (void **, const char *); |
612 |
typedef void (*__gconv_trans_end_fct) (void *); |
613 |
|
614 |
struct __gconv_trans_data |
615 |
{ |
616 |
|
617 |
__gconv_trans_fct __trans_fct; |
618 |
__gconv_trans_context_fct __trans_context_fct; |
619 |
__gconv_trans_end_fct __trans_end_fct; |
620 |
void *__data; |
621 |
struct __gconv_trans_data *__next; |
622 |
}; |
623 |
|
624 |
|
625 |
|
626 |
struct __gconv_step |
627 |
{ |
628 |
struct __gconv_loaded_object *__shlib_handle; |
629 |
__const char *__modname; |
630 |
|
631 |
int __counter; |
632 |
|
633 |
char *__from_name; |
634 |
char *__to_name; |
635 |
|
636 |
__gconv_fct __fct; |
637 |
__gconv_btowc_fct __btowc_fct; |
638 |
__gconv_init_fct __init_fct; |
639 |
__gconv_end_fct __end_fct; |
640 |
|
641 |
|
642 |
|
643 |
int __min_needed_from; |
644 |
int __max_needed_from; |
645 |
int __min_needed_to; |
646 |
int __max_needed_to; |
647 |
|
648 |
|
649 |
int __stateful; |
650 |
|
651 |
void *__data; |
652 |
}; |
653 |
|
654 |
|
655 |
|
656 |
struct __gconv_step_data |
657 |
{ |
658 |
unsigned char *__outbuf; |
659 |
unsigned char *__outbufend; |
660 |
|
661 |
|
662 |
|
663 |
int __flags; |
664 |
|
665 |
|
666 |
|
667 |
int __invocation_counter; |
668 |
|
669 |
|
670 |
|
671 |
int __internal_use; |
672 |
|
673 |
__mbstate_t *__statep; |
674 |
__mbstate_t __state; |
675 |
|
676 |
|
677 |
|
678 |
struct __gconv_trans_data *__trans; |
679 |
}; |
680 |
|
681 |
|
682 |
|
683 |
typedef struct __gconv_info |
684 |
{ |
685 |
size_t __nsteps; |
686 |
struct __gconv_step *__steps; |
687 |
__extension__ struct __gconv_step_data __data []; |
688 |
} *__gconv_t; |
689 |
# 45 "/usr/include/_G_config.h" 2 3 4 |
690 |
typedef union |
691 |
{ |
692 |
struct __gconv_info __cd; |
693 |
struct |
694 |
{ |
695 |
struct __gconv_info __cd; |
696 |
struct __gconv_step_data __data; |
697 |
} __combined; |
698 |
} _G_iconv_t; |
699 |
|
700 |
typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); |
701 |
typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); |
702 |
typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); |
703 |
typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); |
704 |
# 33 "/usr/include/libio.h" 2 3 4 |
705 |
# 53 "/usr/include/libio.h" 3 4 |
706 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stdarg.h" 1 3 4 |
707 |
# 43 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stdarg.h" 3 4 |
708 |
typedef __builtin_va_list __gnuc_va_list; |
709 |
# 54 "/usr/include/libio.h" 2 3 4 |
710 |
# 166 "/usr/include/libio.h" 3 4 |
711 |
struct _IO_jump_t; struct _IO_FILE; |
712 |
# 176 "/usr/include/libio.h" 3 4 |
713 |
typedef void _IO_lock_t; |
714 |
|
715 |
|
716 |
|
717 |
|
718 |
|
719 |
struct _IO_marker { |
720 |
struct _IO_marker *_next; |
721 |
struct _IO_FILE *_sbuf; |
722 |
|
723 |
|
724 |
|
725 |
int _pos; |
726 |
# 199 "/usr/include/libio.h" 3 4 |
727 |
}; |
728 |
|
729 |
|
730 |
enum __codecvt_result |
731 |
{ |
732 |
__codecvt_ok, |
733 |
__codecvt_partial, |
734 |
__codecvt_error, |
735 |
__codecvt_noconv |
736 |
}; |
737 |
# 267 "/usr/include/libio.h" 3 4 |
738 |
struct _IO_FILE { |
739 |
int _flags; |
740 |
|
741 |
|
742 |
|
743 |
|
744 |
char* _IO_read_ptr; |
745 |
char* _IO_read_end; |
746 |
char* _IO_read_base; |
747 |
char* _IO_write_base; |
748 |
char* _IO_write_ptr; |
749 |
char* _IO_write_end; |
750 |
char* _IO_buf_base; |
751 |
char* _IO_buf_end; |
752 |
|
753 |
char *_IO_save_base; |
754 |
char *_IO_backup_base; |
755 |
char *_IO_save_end; |
756 |
|
757 |
struct _IO_marker *_markers; |
758 |
|
759 |
struct _IO_FILE *_chain; |
760 |
|
761 |
int _fileno; |
762 |
|
763 |
|
764 |
|
765 |
int _flags2; |
766 |
|
767 |
__off_t _old_offset; |
768 |
|
769 |
|
770 |
|
771 |
unsigned short _cur_column; |
772 |
signed char _vtable_offset; |
773 |
char _shortbuf[1]; |
774 |
|
775 |
|
776 |
|
777 |
_IO_lock_t *_lock; |
778 |
# 315 "/usr/include/libio.h" 3 4 |
779 |
__off64_t _offset; |
780 |
# 324 "/usr/include/libio.h" 3 4 |
781 |
void *__pad1; |
782 |
void *__pad2; |
783 |
void *__pad3; |
784 |
void *__pad4; |
785 |
size_t __pad5; |
786 |
|
787 |
int _mode; |
788 |
|
789 |
char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; |
790 |
|
791 |
}; |
792 |
|
793 |
|
794 |
|
795 |
|
796 |
|
797 |
struct _IO_FILE_plus; |
798 |
|
799 |
extern struct _IO_FILE_plus _IO_2_1_stdin_; |
800 |
extern struct _IO_FILE_plus _IO_2_1_stdout_; |
801 |
extern struct _IO_FILE_plus _IO_2_1_stderr_; |
802 |
# 360 "/usr/include/libio.h" 3 4 |
803 |
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); |
804 |
|
805 |
|
806 |
|
807 |
|
808 |
|
809 |
|
810 |
|
811 |
typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, |
812 |
size_t __n); |
813 |
|
814 |
|
815 |
|
816 |
|
817 |
|
818 |
|
819 |
|
820 |
typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); |
821 |
|
822 |
|
823 |
typedef int __io_close_fn (void *__cookie); |
824 |
|
825 |
|
826 |
|
827 |
|
828 |
typedef __io_read_fn cookie_read_function_t; |
829 |
typedef __io_write_fn cookie_write_function_t; |
830 |
typedef __io_seek_fn cookie_seek_function_t; |
831 |
typedef __io_close_fn cookie_close_function_t; |
832 |
|
833 |
|
834 |
typedef struct |
835 |
{ |
836 |
__io_read_fn *read; |
837 |
__io_write_fn *write; |
838 |
__io_seek_fn *seek; |
839 |
__io_close_fn *close; |
840 |
} _IO_cookie_io_functions_t; |
841 |
typedef _IO_cookie_io_functions_t cookie_io_functions_t; |
842 |
|
843 |
struct _IO_cookie_file; |
844 |
|
845 |
|
846 |
extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write, |
847 |
void *__cookie, _IO_cookie_io_functions_t __fns); |
848 |
|
849 |
|
850 |
|
851 |
|
852 |
extern "C" { |
853 |
|
854 |
|
855 |
extern int __underflow (_IO_FILE *) throw (); |
856 |
extern int __uflow (_IO_FILE *) throw (); |
857 |
extern int __overflow (_IO_FILE *, int) throw (); |
858 |
extern wint_t __wunderflow (_IO_FILE *) throw (); |
859 |
extern wint_t __wuflow (_IO_FILE *) throw (); |
860 |
extern wint_t __woverflow (_IO_FILE *, wint_t) throw (); |
861 |
# 450 "/usr/include/libio.h" 3 4 |
862 |
extern int _IO_getc (_IO_FILE *__fp) throw (); |
863 |
extern int _IO_putc (int __c, _IO_FILE *__fp) throw (); |
864 |
extern int _IO_feof (_IO_FILE *__fp) throw (); |
865 |
extern int _IO_ferror (_IO_FILE *__fp) throw (); |
866 |
|
867 |
extern int _IO_peekc_locked (_IO_FILE *__fp) throw (); |
868 |
|
869 |
|
870 |
|
871 |
|
872 |
|
873 |
extern void _IO_flockfile (_IO_FILE *) throw (); |
874 |
extern void _IO_funlockfile (_IO_FILE *) throw (); |
875 |
extern int _IO_ftrylockfile (_IO_FILE *) throw (); |
876 |
# 480 "/usr/include/libio.h" 3 4 |
877 |
extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, |
878 |
__gnuc_va_list, int *__restrict); |
879 |
extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, |
880 |
__gnuc_va_list); |
881 |
extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) throw (); |
882 |
extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) throw (); |
883 |
|
884 |
extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) throw (); |
885 |
extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) throw (); |
886 |
|
887 |
extern void _IO_free_backup_area (_IO_FILE *) throw (); |
888 |
# 538 "/usr/include/libio.h" 3 4 |
889 |
} |
890 |
# 73 "/usr/include/stdio.h" 2 3 4 |
891 |
|
892 |
|
893 |
|
894 |
|
895 |
typedef __gnuc_va_list va_list; |
896 |
# 86 "/usr/include/stdio.h" 3 4 |
897 |
|
898 |
|
899 |
typedef _G_fpos_t fpos_t; |
900 |
|
901 |
|
902 |
|
903 |
|
904 |
|
905 |
typedef _G_fpos64_t fpos64_t; |
906 |
# 138 "/usr/include/stdio.h" 3 4 |
907 |
# 1 "/usr/include/bits/stdio_lim.h" 1 3 4 |
908 |
# 139 "/usr/include/stdio.h" 2 3 4 |
909 |
|
910 |
|
911 |
|
912 |
extern struct _IO_FILE *stdin; |
913 |
extern struct _IO_FILE *stdout; |
914 |
extern struct _IO_FILE *stderr; |
915 |
|
916 |
|
917 |
|
918 |
|
919 |
|
920 |
|
921 |
|
922 |
|
923 |
|
924 |
extern int remove (__const char *__filename) throw (); |
925 |
|
926 |
extern int rename (__const char *__old, __const char *__new) throw (); |
927 |
|
928 |
|
929 |
|
930 |
|
931 |
|
932 |
|
933 |
|
934 |
|
935 |
|
936 |
extern FILE *tmpfile (void); |
937 |
# 176 "/usr/include/stdio.h" 3 4 |
938 |
extern FILE *tmpfile64 (void); |
939 |
|
940 |
|
941 |
|
942 |
extern char *tmpnam (char *__s) throw (); |
943 |
|
944 |
|
945 |
|
946 |
|
947 |
|
948 |
extern char *tmpnam_r (char *__s) throw (); |
949 |
# 198 "/usr/include/stdio.h" 3 4 |
950 |
extern char *tempnam (__const char *__dir, __const char *__pfx) |
951 |
throw () __attribute__ ((__malloc__)); |
952 |
|
953 |
|
954 |
|
955 |
|
956 |
|
957 |
|
958 |
|
959 |
|
960 |
extern int fclose (FILE *__stream); |
961 |
|
962 |
|
963 |
|
964 |
|
965 |
extern int fflush (FILE *__stream); |
966 |
|
967 |
# 223 "/usr/include/stdio.h" 3 4 |
968 |
extern int fflush_unlocked (FILE *__stream); |
969 |
# 233 "/usr/include/stdio.h" 3 4 |
970 |
extern int fcloseall (void); |
971 |
|
972 |
|
973 |
|
974 |
|
975 |
|
976 |
|
977 |
|
978 |
|
979 |
|
980 |
extern FILE *fopen (__const char *__restrict __filename, |
981 |
__const char *__restrict __modes); |
982 |
|
983 |
|
984 |
|
985 |
|
986 |
extern FILE *freopen (__const char *__restrict __filename, |
987 |
__const char *__restrict __modes, |
988 |
FILE *__restrict __stream); |
989 |
# 264 "/usr/include/stdio.h" 3 4 |
990 |
|
991 |
|
992 |
extern FILE *fopen64 (__const char *__restrict __filename, |
993 |
__const char *__restrict __modes); |
994 |
extern FILE *freopen64 (__const char *__restrict __filename, |
995 |
__const char *__restrict __modes, |
996 |
FILE *__restrict __stream); |
997 |
|
998 |
|
999 |
|
1000 |
|
1001 |
extern FILE *fdopen (int __fd, __const char *__modes) throw (); |
1002 |
|
1003 |
|
1004 |
|
1005 |
|
1006 |
|
1007 |
extern FILE *fopencookie (void *__restrict __magic_cookie, |
1008 |
__const char *__restrict __modes, |
1009 |
_IO_cookie_io_functions_t __io_funcs) throw (); |
1010 |
|
1011 |
|
1012 |
extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) throw (); |
1013 |
|
1014 |
|
1015 |
|
1016 |
|
1017 |
extern FILE *open_memstream (char **__restrict __bufloc, |
1018 |
size_t *__restrict __sizeloc) throw (); |
1019 |
|
1020 |
|
1021 |
|
1022 |
|
1023 |
|
1024 |
|
1025 |
extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw (); |
1026 |
|
1027 |
|
1028 |
|
1029 |
extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, |
1030 |
int __modes, size_t __n) throw (); |
1031 |
|
1032 |
|
1033 |
|
1034 |
|
1035 |
|
1036 |
extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, |
1037 |
size_t __size) throw (); |
1038 |
|
1039 |
|
1040 |
extern void setlinebuf (FILE *__stream) throw (); |
1041 |
|
1042 |
|
1043 |
|
1044 |
|
1045 |
|
1046 |
|
1047 |
|
1048 |
|
1049 |
extern int fprintf (FILE *__restrict __stream, |
1050 |
__const char *__restrict __format, ...); |
1051 |
|
1052 |
|
1053 |
|
1054 |
|
1055 |
extern int printf (__const char *__restrict __format, ...); |
1056 |
|
1057 |
extern int sprintf (char *__restrict __s, |
1058 |
__const char *__restrict __format, ...) throw (); |
1059 |
|
1060 |
|
1061 |
|
1062 |
|
1063 |
|
1064 |
extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, |
1065 |
__gnuc_va_list __arg); |
1066 |
|
1067 |
|
1068 |
|
1069 |
|
1070 |
extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); |
1071 |
|
1072 |
extern int vsprintf (char *__restrict __s, __const char *__restrict __format, |
1073 |
__gnuc_va_list __arg) throw (); |
1074 |
|
1075 |
|
1076 |
|
1077 |
|
1078 |
|
1079 |
extern int snprintf (char *__restrict __s, size_t __maxlen, |
1080 |
__const char *__restrict __format, ...) |
1081 |
throw () __attribute__ ((__format__ (__printf__, 3, 4))); |
1082 |
|
1083 |
extern int vsnprintf (char *__restrict __s, size_t __maxlen, |
1084 |
__const char *__restrict __format, __gnuc_va_list __arg) |
1085 |
throw () __attribute__ ((__format__ (__printf__, 3, 0))); |
1086 |
|
1087 |
|
1088 |
|
1089 |
|
1090 |
|
1091 |
|
1092 |
extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f, |
1093 |
__gnuc_va_list __arg) |
1094 |
throw () __attribute__ ((__format__ (__printf__, 2, 0))); |
1095 |
extern int __asprintf (char **__restrict __ptr, |
1096 |
__const char *__restrict __fmt, ...) |
1097 |
throw () __attribute__ ((__format__ (__printf__, 2, 3))); |
1098 |
extern int asprintf (char **__restrict __ptr, |
1099 |
__const char *__restrict __fmt, ...) |
1100 |
throw () __attribute__ ((__format__ (__printf__, 2, 3))); |
1101 |
|
1102 |
|
1103 |
|
1104 |
|
1105 |
|
1106 |
|
1107 |
|
1108 |
extern int vdprintf (int __fd, __const char *__restrict __fmt, |
1109 |
__gnuc_va_list __arg) |
1110 |
__attribute__ ((__format__ (__printf__, 2, 0))); |
1111 |
extern int dprintf (int __fd, __const char *__restrict __fmt, ...) |
1112 |
__attribute__ ((__format__ (__printf__, 2, 3))); |
1113 |
|
1114 |
|
1115 |
|
1116 |
|
1117 |
|
1118 |
|
1119 |
|
1120 |
|
1121 |
extern int fscanf (FILE *__restrict __stream, |
1122 |
__const char *__restrict __format, ...); |
1123 |
|
1124 |
|
1125 |
|
1126 |
|
1127 |
extern int scanf (__const char *__restrict __format, ...); |
1128 |
|
1129 |
extern int sscanf (__const char *__restrict __s, |
1130 |
__const char *__restrict __format, ...) throw (); |
1131 |
|
1132 |
|
1133 |
|
1134 |
|
1135 |
|
1136 |
|
1137 |
|
1138 |
|
1139 |
extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, |
1140 |
__gnuc_va_list __arg) |
1141 |
__attribute__ ((__format__ (__scanf__, 2, 0))); |
1142 |
|
1143 |
|
1144 |
|
1145 |
|
1146 |
|
1147 |
extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) |
1148 |
__attribute__ ((__format__ (__scanf__, 1, 0))); |
1149 |
|
1150 |
|
1151 |
extern int vsscanf (__const char *__restrict __s, |
1152 |
__const char *__restrict __format, __gnuc_va_list __arg) |
1153 |
throw () __attribute__ ((__format__ (__scanf__, 2, 0))); |
1154 |
|
1155 |
|
1156 |
|
1157 |
|
1158 |
|
1159 |
|
1160 |
|
1161 |
|
1162 |
|
1163 |
extern int fgetc (FILE *__stream); |
1164 |
extern int getc (FILE *__stream); |
1165 |
|
1166 |
|
1167 |
|
1168 |
|
1169 |
|
1170 |
extern int getchar (void); |
1171 |
|
1172 |
# 456 "/usr/include/stdio.h" 3 4 |
1173 |
extern int getc_unlocked (FILE *__stream); |
1174 |
extern int getchar_unlocked (void); |
1175 |
# 467 "/usr/include/stdio.h" 3 4 |
1176 |
extern int fgetc_unlocked (FILE *__stream); |
1177 |
|
1178 |
|
1179 |
|
1180 |
|
1181 |
|
1182 |
|
1183 |
|
1184 |
|
1185 |
|
1186 |
|
1187 |
|
1188 |
extern int fputc (int __c, FILE *__stream); |
1189 |
extern int putc (int __c, FILE *__stream); |
1190 |
|
1191 |
|
1192 |
|
1193 |
|
1194 |
|
1195 |
extern int putchar (int __c); |
1196 |
|
1197 |
# 500 "/usr/include/stdio.h" 3 4 |
1198 |
extern int fputc_unlocked (int __c, FILE *__stream); |
1199 |
|
1200 |
|
1201 |
|
1202 |
|
1203 |
|
1204 |
|
1205 |
|
1206 |
extern int putc_unlocked (int __c, FILE *__stream); |
1207 |
extern int putchar_unlocked (int __c); |
1208 |
|
1209 |
|
1210 |
|
1211 |
|
1212 |
|
1213 |
|
1214 |
extern int getw (FILE *__stream); |
1215 |
|
1216 |
|
1217 |
extern int putw (int __w, FILE *__stream); |
1218 |
|
1219 |
|
1220 |
|
1221 |
|
1222 |
|
1223 |
|
1224 |
|
1225 |
|
1226 |
extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream); |
1227 |
|
1228 |
|
1229 |
|
1230 |
|
1231 |
|
1232 |
|
1233 |
extern char *gets (char *__s); |
1234 |
|
1235 |
# 545 "/usr/include/stdio.h" 3 4 |
1236 |
extern char *fgets_unlocked (char *__restrict __s, int __n, |
1237 |
FILE *__restrict __stream); |
1238 |
# 561 "/usr/include/stdio.h" 3 4 |
1239 |
extern __ssize_t __getdelim (char **__restrict __lineptr, |
1240 |
size_t *__restrict __n, int __delimiter, |
1241 |
FILE *__restrict __stream); |
1242 |
extern __ssize_t getdelim (char **__restrict __lineptr, |
1243 |
size_t *__restrict __n, int __delimiter, |
1244 |
FILE *__restrict __stream); |
1245 |
|
1246 |
|
1247 |
|
1248 |
|
1249 |
|
1250 |
|
1251 |
|
1252 |
extern __ssize_t getline (char **__restrict __lineptr, |
1253 |
size_t *__restrict __n, |
1254 |
FILE *__restrict __stream); |
1255 |
|
1256 |
|
1257 |
|
1258 |
|
1259 |
|
1260 |
|
1261 |
|
1262 |
|
1263 |
extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); |
1264 |
|
1265 |
|
1266 |
|
1267 |
|
1268 |
|
1269 |
extern int puts (__const char *__s); |
1270 |
|
1271 |
|
1272 |
|
1273 |
|
1274 |
|
1275 |
|
1276 |
extern int ungetc (int __c, FILE *__stream); |
1277 |
|
1278 |
|
1279 |
|
1280 |
|
1281 |
|
1282 |
|
1283 |
extern size_t fread (void *__restrict __ptr, size_t __size, |
1284 |
size_t __n, FILE *__restrict __stream); |
1285 |
|
1286 |
|
1287 |
|
1288 |
|
1289 |
extern size_t fwrite (__const void *__restrict __ptr, size_t __size, |
1290 |
size_t __n, FILE *__restrict __s); |
1291 |
|
1292 |
# 622 "/usr/include/stdio.h" 3 4 |
1293 |
extern int fputs_unlocked (__const char *__restrict __s, |
1294 |
FILE *__restrict __stream); |
1295 |
# 633 "/usr/include/stdio.h" 3 4 |
1296 |
extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, |
1297 |
size_t __n, FILE *__restrict __stream); |
1298 |
extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, |
1299 |
size_t __n, FILE *__restrict __stream); |
1300 |
|
1301 |
|
1302 |
|
1303 |
|
1304 |
|
1305 |
|
1306 |
|
1307 |
|
1308 |
extern int fseek (FILE *__stream, long int __off, int __whence); |
1309 |
|
1310 |
|
1311 |
|
1312 |
|
1313 |
extern long int ftell (FILE *__stream); |
1314 |
|
1315 |
|
1316 |
|
1317 |
|
1318 |
extern void rewind (FILE *__stream); |
1319 |
|
1320 |
# 669 "/usr/include/stdio.h" 3 4 |
1321 |
extern int fseeko (FILE *__stream, __off_t __off, int __whence); |
1322 |
|
1323 |
|
1324 |
|
1325 |
|
1326 |
extern __off_t ftello (FILE *__stream); |
1327 |
# 688 "/usr/include/stdio.h" 3 4 |
1328 |
|
1329 |
|
1330 |
|
1331 |
|
1332 |
|
1333 |
|
1334 |
extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); |
1335 |
|
1336 |
|
1337 |
|
1338 |
|
1339 |
extern int fsetpos (FILE *__stream, __const fpos_t *__pos); |
1340 |
# 711 "/usr/include/stdio.h" 3 4 |
1341 |
|
1342 |
|
1343 |
|
1344 |
extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); |
1345 |
extern __off64_t ftello64 (FILE *__stream); |
1346 |
extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); |
1347 |
extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos); |
1348 |
|
1349 |
|
1350 |
|
1351 |
|
1352 |
extern void clearerr (FILE *__stream) throw (); |
1353 |
|
1354 |
extern int feof (FILE *__stream) throw (); |
1355 |
|
1356 |
extern int ferror (FILE *__stream) throw (); |
1357 |
|
1358 |
|
1359 |
|
1360 |
|
1361 |
extern void clearerr_unlocked (FILE *__stream) throw (); |
1362 |
extern int feof_unlocked (FILE *__stream) throw (); |
1363 |
extern int ferror_unlocked (FILE *__stream) throw (); |
1364 |
|
1365 |
|
1366 |
|
1367 |
|
1368 |
|
1369 |
|
1370 |
|
1371 |
|
1372 |
extern void perror (__const char *__s); |
1373 |
|
1374 |
|
1375 |
|
1376 |
|
1377 |
|
1378 |
|
1379 |
# 1 "/usr/include/bits/sys_errlist.h" 1 3 4 |
1380 |
# 27 "/usr/include/bits/sys_errlist.h" 3 4 |
1381 |
extern int sys_nerr; |
1382 |
extern __const char *__const sys_errlist[]; |
1383 |
|
1384 |
|
1385 |
extern int _sys_nerr; |
1386 |
extern __const char *__const _sys_errlist[]; |
1387 |
# 750 "/usr/include/stdio.h" 2 3 4 |
1388 |
|
1389 |
|
1390 |
|
1391 |
|
1392 |
extern int fileno (FILE *__stream) throw (); |
1393 |
|
1394 |
|
1395 |
|
1396 |
|
1397 |
extern int fileno_unlocked (FILE *__stream) throw (); |
1398 |
# 769 "/usr/include/stdio.h" 3 4 |
1399 |
extern FILE *popen (__const char *__command, __const char *__modes); |
1400 |
|
1401 |
|
1402 |
|
1403 |
|
1404 |
|
1405 |
extern int pclose (FILE *__stream); |
1406 |
|
1407 |
|
1408 |
|
1409 |
|
1410 |
|
1411 |
extern char *ctermid (char *__s) throw (); |
1412 |
|
1413 |
|
1414 |
|
1415 |
|
1416 |
|
1417 |
extern char *cuserid (char *__s); |
1418 |
|
1419 |
|
1420 |
|
1421 |
|
1422 |
struct obstack; |
1423 |
|
1424 |
|
1425 |
extern int obstack_printf (struct obstack *__restrict __obstack, |
1426 |
__const char *__restrict __format, ...) |
1427 |
throw () __attribute__ ((__format__ (__printf__, 2, 3))); |
1428 |
extern int obstack_vprintf (struct obstack *__restrict __obstack, |
1429 |
__const char *__restrict __format, |
1430 |
__gnuc_va_list __args) |
1431 |
throw () __attribute__ ((__format__ (__printf__, 2, 0))); |
1432 |
|
1433 |
|
1434 |
|
1435 |
|
1436 |
|
1437 |
|
1438 |
|
1439 |
extern void flockfile (FILE *__stream) throw (); |
1440 |
|
1441 |
|
1442 |
|
1443 |
extern int ftrylockfile (FILE *__stream) throw (); |
1444 |
|
1445 |
|
1446 |
extern void funlockfile (FILE *__stream) throw (); |
1447 |
# 836 "/usr/include/stdio.h" 3 4 |
1448 |
} |
1449 |
# 29 "/cern/ROOT/include/TString.h" 2 |
1450 |
|
1451 |
|
1452 |
|
1453 |
# 1 "/cern/ROOT/include/TRefCnt.h" 1 |
1454 |
# 25 "/cern/ROOT/include/TRefCnt.h" |
1455 |
# 1 "/cern/ROOT/include/Rtypes.h" 1 |
1456 |
# 24 "/cern/ROOT/include/Rtypes.h" |
1457 |
# 1 "/cern/ROOT/include/RConfig.h" 1 |
1458 |
# 23 "/cern/ROOT/include/RConfig.h" |
1459 |
# 1 "/cern/ROOT/include/RVersion.h" 1 |
1460 |
# 24 "/cern/ROOT/include/RConfig.h" 2 |
1461 |
# 25 "/cern/ROOT/include/Rtypes.h" 2 |
1462 |
|
1463 |
|
1464 |
# 1 "/cern/ROOT/include/DllImport.h" 1 |
1465 |
# 28 "/cern/ROOT/include/Rtypes.h" 2 |
1466 |
|
1467 |
|
1468 |
# 1 "/cern/ROOT/include/Rtypeinfo.h" 1 |
1469 |
# 32 "/cern/ROOT/include/Rtypeinfo.h" |
1470 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/typeinfo" 1 3 |
1471 |
# 38 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/typeinfo" 3 |
1472 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/exception" 1 3 |
1473 |
# 40 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/exception" 3 |
1474 |
extern "C++" { |
1475 |
|
1476 |
namespace std |
1477 |
{ |
1478 |
# 52 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/exception" 3 |
1479 |
class exception |
1480 |
{ |
1481 |
public: |
1482 |
exception() throw() { } |
1483 |
virtual ~exception() throw(); |
1484 |
|
1485 |
|
1486 |
virtual const char* what() const throw(); |
1487 |
}; |
1488 |
|
1489 |
|
1490 |
|
1491 |
class bad_exception : public exception |
1492 |
{ |
1493 |
public: |
1494 |
bad_exception() throw() { } |
1495 |
|
1496 |
|
1497 |
virtual ~bad_exception() throw(); |
1498 |
}; |
1499 |
|
1500 |
|
1501 |
typedef void (*terminate_handler) (); |
1502 |
|
1503 |
typedef void (*unexpected_handler) (); |
1504 |
|
1505 |
|
1506 |
terminate_handler set_terminate(terminate_handler) throw(); |
1507 |
|
1508 |
|
1509 |
void terminate() __attribute__ ((__noreturn__)); |
1510 |
|
1511 |
|
1512 |
unexpected_handler set_unexpected(unexpected_handler) throw(); |
1513 |
|
1514 |
|
1515 |
void unexpected() __attribute__ ((__noreturn__)); |
1516 |
# 100 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/exception" 3 |
1517 |
bool uncaught_exception() throw(); |
1518 |
} |
1519 |
|
1520 |
namespace __gnu_cxx |
1521 |
{ |
1522 |
# 115 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/exception" 3 |
1523 |
void __verbose_terminate_handler (); |
1524 |
} |
1525 |
|
1526 |
} |
1527 |
# 39 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/typeinfo" 2 3 |
1528 |
|
1529 |
extern "C++" { |
1530 |
|
1531 |
namespace __cxxabiv1 |
1532 |
{ |
1533 |
class __class_type_info; |
1534 |
} |
1535 |
# 55 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/typeinfo" 3 |
1536 |
namespace std |
1537 |
{ |
1538 |
|
1539 |
|
1540 |
|
1541 |
|
1542 |
|
1543 |
|
1544 |
class type_info |
1545 |
{ |
1546 |
public: |
1547 |
|
1548 |
|
1549 |
|
1550 |
|
1551 |
virtual ~type_info(); |
1552 |
|
1553 |
private: |
1554 |
|
1555 |
type_info& operator=(const type_info&); |
1556 |
type_info(const type_info&); |
1557 |
|
1558 |
protected: |
1559 |
const char *__name; |
1560 |
|
1561 |
protected: |
1562 |
explicit type_info(const char *__n): __name(__n) { } |
1563 |
|
1564 |
public: |
1565 |
|
1566 |
|
1567 |
|
1568 |
const char* name() const |
1569 |
{ return __name; } |
1570 |
# 101 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/typeinfo" 3 |
1571 |
bool before(const type_info& __arg) const |
1572 |
{ return __name < __arg.__name; } |
1573 |
bool operator==(const type_info& __arg) const |
1574 |
{ return __name == __arg.__name; } |
1575 |
|
1576 |
bool operator!=(const type_info& __arg) const |
1577 |
{ return !operator==(__arg); } |
1578 |
|
1579 |
|
1580 |
public: |
1581 |
|
1582 |
virtual bool __is_pointer_p() const; |
1583 |
|
1584 |
virtual bool __is_function_p() const; |
1585 |
|
1586 |
|
1587 |
|
1588 |
|
1589 |
|
1590 |
|
1591 |
|
1592 |
virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj, |
1593 |
unsigned __outer) const; |
1594 |
|
1595 |
|
1596 |
virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target, |
1597 |
void **__obj_ptr) const; |
1598 |
}; |
1599 |
|
1600 |
|
1601 |
|
1602 |
|
1603 |
|
1604 |
|
1605 |
class bad_cast : public exception |
1606 |
{ |
1607 |
public: |
1608 |
bad_cast() throw() { } |
1609 |
|
1610 |
|
1611 |
virtual ~bad_cast() throw(); |
1612 |
}; |
1613 |
|
1614 |
|
1615 |
class bad_typeid : public exception |
1616 |
{ |
1617 |
public: |
1618 |
bad_typeid () throw() { } |
1619 |
|
1620 |
|
1621 |
virtual ~bad_typeid() throw(); |
1622 |
}; |
1623 |
} |
1624 |
|
1625 |
} |
1626 |
# 33 "/cern/ROOT/include/Rtypeinfo.h" 2 |
1627 |
using std::type_info; |
1628 |
# 31 "/cern/ROOT/include/Rtypes.h" 2 |
1629 |
# 39 "/cern/ROOT/include/Rtypes.h" |
1630 |
class TClass; |
1631 |
class TBuffer; |
1632 |
class TMemberInspector; |
1633 |
class TObject; |
1634 |
class TNamed; |
1635 |
class TRootIOCtor; |
1636 |
|
1637 |
|
1638 |
|
1639 |
typedef char Char_t; |
1640 |
typedef unsigned char UChar_t; |
1641 |
typedef short Short_t; |
1642 |
typedef unsigned short UShort_t; |
1643 |
|
1644 |
|
1645 |
|
1646 |
|
1647 |
typedef int Int_t; |
1648 |
typedef unsigned int UInt_t; |
1649 |
|
1650 |
|
1651 |
|
1652 |
|
1653 |
|
1654 |
|
1655 |
typedef int Seek_t; |
1656 |
typedef long Long_t; |
1657 |
typedef unsigned long ULong_t; |
1658 |
|
1659 |
typedef float Float_t; |
1660 |
typedef double Double_t; |
1661 |
typedef double Double32_t; |
1662 |
typedef char Text_t; |
1663 |
typedef bool Bool_t; |
1664 |
typedef unsigned char Byte_t; |
1665 |
typedef short Version_t; |
1666 |
typedef const char Option_t; |
1667 |
typedef int Ssiz_t; |
1668 |
typedef float Real_t; |
1669 |
|
1670 |
|
1671 |
|
1672 |
|
1673 |
typedef long long Long64_t; |
1674 |
typedef unsigned long long ULong64_t; |
1675 |
|
1676 |
typedef double Axis_t; |
1677 |
typedef double Stat_t; |
1678 |
|
1679 |
typedef short Font_t; |
1680 |
typedef short Style_t; |
1681 |
typedef short Marker_t; |
1682 |
typedef short Width_t; |
1683 |
typedef short Color_t; |
1684 |
typedef short SCoord_t; |
1685 |
typedef double Coord_t; |
1686 |
typedef float Angle_t; |
1687 |
typedef float Size_t; |
1688 |
|
1689 |
enum EColor { kWhite =0, kBlack =1, kGray=920 |
1690 |
,kRed =632, kGreen =416, kBlue=600, kYellow=400, kMagenta=616, kCyan=432 |
1691 |
,kOrange=800, kSpring=820, kTeal=840, kAzure =860, kViolet =880, kPink=900}; |
1692 |
|
1693 |
|
1694 |
class TClassStreamer; |
1695 |
class TMemberStreamer; |
1696 |
typedef void (*ClassStreamerFunc_t)(TBuffer&, void*); |
1697 |
typedef void (*MemberStreamerFunc_t)(TBuffer&, void*, Int_t); |
1698 |
|
1699 |
|
1700 |
class TVirtualCollectionProxy; |
1701 |
|
1702 |
typedef void (*VoidFuncPtr_t)(); |
1703 |
# 120 "/cern/ROOT/include/Rtypes.h" |
1704 |
const Bool_t kTRUE = true; |
1705 |
const Bool_t kFALSE = false; |
1706 |
|
1707 |
const Int_t kMaxUChar = 256; |
1708 |
const Int_t kMaxChar = kMaxUChar >> 1; |
1709 |
const Int_t kMinChar = -kMaxChar - 1; |
1710 |
|
1711 |
const Int_t kMaxUShort = 65534; |
1712 |
const Int_t kMaxShort = kMaxUShort >> 1; |
1713 |
const Int_t kMinShort = -kMaxShort - 1; |
1714 |
|
1715 |
const UInt_t kMaxUInt = UInt_t(~0); |
1716 |
const Int_t kMaxInt = Int_t(kMaxUInt >> 1); |
1717 |
const Int_t kMinInt = -kMaxInt - 1; |
1718 |
|
1719 |
const ULong_t kMaxULong = ULong_t(~0); |
1720 |
const Long_t kMaxLong = Long_t(kMaxULong >> 1); |
1721 |
const Long_t kMinLong = -kMaxLong - 1; |
1722 |
|
1723 |
const ULong64_t kMaxULong64 = ULong64_t(~0LL); |
1724 |
const Long64_t kMaxLong64 = Long64_t(kMaxULong64 >> 1); |
1725 |
const Long64_t kMinLong64 = -kMaxLong64 - 1; |
1726 |
|
1727 |
const size_t kBitsPerByte = 8; |
1728 |
const Ssiz_t kNPOS = ~(Ssiz_t)0; |
1729 |
# 157 "/cern/ROOT/include/Rtypes.h" |
1730 |
extern Int_t gDebug; |
1731 |
|
1732 |
|
1733 |
|
1734 |
|
1735 |
typedef void (*ShowMembersFunc_t)(void *obj, TMemberInspector &R__insp, char *R__parent); |
1736 |
class TVirtualIsAProxy; |
1737 |
typedef TClass *(*IsAGlobalFunc_t)(const TClass*, const void *obj); |
1738 |
|
1739 |
|
1740 |
template <class Tmpl> TBuffer &operator>>(TBuffer &buf, Tmpl *&obj); |
1741 |
template <class Tmpl> TBuffer &operator<<(TBuffer &buf, const Tmpl *obj); |
1742 |
|
1743 |
|
1744 |
|
1745 |
|
1746 |
namespace ROOT { |
1747 |
|
1748 |
class TGenericClassInfo; |
1749 |
typedef void *(*NewFunc_t)(void *); |
1750 |
typedef void *(*NewArrFunc_t)(Long_t size, void *arena); |
1751 |
typedef void (*DelFunc_t)(void *); |
1752 |
typedef void (*DelArrFunc_t)(void *); |
1753 |
typedef void (*DesFunc_t)(void *); |
1754 |
|
1755 |
template <class RootClass> Short_t SetClassVersion(RootClass *); |
1756 |
|
1757 |
extern TClass *CreateClass(const char *cname, Version_t id, |
1758 |
const type_info &info, TVirtualIsAProxy *isa, |
1759 |
ShowMembersFunc_t show, |
1760 |
const char *dfil, const char *ifil, |
1761 |
Int_t dl, Int_t il); |
1762 |
extern void AddClass(const char *cname, Version_t id, const type_info &info, |
1763 |
VoidFuncPtr_t dict, Int_t pragmabits); |
1764 |
extern void RemoveClass(const char *cname); |
1765 |
extern void ResetClassVersion(TClass*, const char*, Short_t); |
1766 |
|
1767 |
extern TNamed *RegisterClassTemplate(const char *name, |
1768 |
const char *file, Int_t line); |
1769 |
# 208 "/cern/ROOT/include/Rtypes.h" |
1770 |
class TInitBehavior { |
1771 |
|
1772 |
|
1773 |
|
1774 |
|
1775 |
public: |
1776 |
virtual ~TInitBehavior() { } |
1777 |
virtual void Register(const char *cname, Version_t id, const type_info &info, |
1778 |
VoidFuncPtr_t dict, Int_t pragmabits) const = 0; |
1779 |
virtual void Unregister(const char *classname) const = 0; |
1780 |
virtual TClass *CreateClass(const char *cname, Version_t id, |
1781 |
const type_info &info, TVirtualIsAProxy *isa, |
1782 |
ShowMembersFunc_t show, |
1783 |
const char *dfil, const char *ifil, |
1784 |
Int_t dl, Int_t il) const = 0; |
1785 |
}; |
1786 |
|
1787 |
class TDefaultInitBehavior : public TInitBehavior { |
1788 |
public: |
1789 |
virtual void Register(const char *cname, Version_t id, const type_info &info, |
1790 |
VoidFuncPtr_t dict, Int_t pragmabits) const { |
1791 |
ROOT::AddClass(cname, id, info, dict, pragmabits); |
1792 |
} |
1793 |
virtual void Unregister(const char *classname) const { |
1794 |
ROOT::RemoveClass(classname); |
1795 |
} |
1796 |
virtual TClass *CreateClass(const char *cname, Version_t id, |
1797 |
const type_info &info, TVirtualIsAProxy *isa, |
1798 |
ShowMembersFunc_t show, |
1799 |
const char *dfil, const char *ifil, |
1800 |
Int_t dl, Int_t il) const { |
1801 |
return ROOT::CreateClass(cname, id, info, isa, show, dfil, ifil, dl, il); |
1802 |
} |
1803 |
}; |
1804 |
|
1805 |
const TInitBehavior *DefineBehavior(void * , |
1806 |
void * ); |
1807 |
|
1808 |
} |
1809 |
|
1810 |
|
1811 |
|
1812 |
# 1 "/cern/ROOT/include/TGenericClassInfo.h" 1 |
1813 |
# 16 "/cern/ROOT/include/TGenericClassInfo.h" |
1814 |
class TVirtualIsAProxy; |
1815 |
|
1816 |
namespace ROOT { |
1817 |
|
1818 |
class TCollectionProxyInfo; |
1819 |
|
1820 |
class TGenericClassInfo { |
1821 |
|
1822 |
|
1823 |
|
1824 |
|
1825 |
const TInitBehavior *fAction; |
1826 |
TClass *fClass; |
1827 |
const char *fClassName; |
1828 |
const char *fDeclFileName; |
1829 |
Int_t fDeclFileLine; |
1830 |
VoidFuncPtr_t fDictionary; |
1831 |
const type_info &fInfo; |
1832 |
const char *fImplFileName; |
1833 |
Int_t fImplFileLine; |
1834 |
TVirtualIsAProxy *fIsA; |
1835 |
void *fShowMembers; |
1836 |
Int_t fVersion; |
1837 |
NewFunc_t fNew; |
1838 |
NewArrFunc_t fNewArray; |
1839 |
DelFunc_t fDelete; |
1840 |
DelArrFunc_t fDeleteArray; |
1841 |
DesFunc_t fDestructor; |
1842 |
TClassStreamer *fStreamer; |
1843 |
TVirtualCollectionProxy *fCollectionProxy; |
1844 |
Int_t fSizeof; |
1845 |
TCollectionProxyInfo *fCollectionProxyInfo; |
1846 |
TCollectionProxyInfo *fCollectionStreamerInfo; |
1847 |
|
1848 |
public: |
1849 |
TGenericClassInfo(const char *fullClassname, |
1850 |
const char *declFileName, Int_t declFileLine, |
1851 |
const type_info &info, const TInitBehavior *action, |
1852 |
void *showmembers, VoidFuncPtr_t dictionary, |
1853 |
TVirtualIsAProxy *isa, Int_t pragmabits, Int_t sizof); |
1854 |
|
1855 |
TGenericClassInfo(const char *fullClassname, Int_t version, |
1856 |
const char *declFileName, Int_t declFileLine, |
1857 |
const type_info &info, const TInitBehavior *action, |
1858 |
void *showmembers, VoidFuncPtr_t dictionary, |
1859 |
TVirtualIsAProxy *isa, Int_t pragmabits, Int_t sizof); |
1860 |
|
1861 |
TGenericClassInfo(const char *fullClassname, Int_t version, |
1862 |
const char *declFileName, Int_t declFileLine, |
1863 |
const type_info &info, const TInitBehavior *action, |
1864 |
VoidFuncPtr_t dictionary, |
1865 |
TVirtualIsAProxy *isa, Int_t pragmabits, Int_t sizof); |
1866 |
|
1867 |
TGenericClassInfo(const char *fullClassname, Int_t version, |
1868 |
const char *declFileName, Int_t declFileLine, |
1869 |
const TInitBehavior *action, |
1870 |
VoidFuncPtr_t dictionary, Int_t pragmabits); |
1871 |
|
1872 |
void Init(Int_t pragmabits); |
1873 |
~TGenericClassInfo(); |
1874 |
|
1875 |
const TInitBehavior &GetAction() const; |
1876 |
TClass *GetClass(); |
1877 |
const char *GetClassName() const; |
1878 |
TCollectionProxyInfo *GetCollectionProxyInfo() const; |
1879 |
TCollectionProxyInfo *GetCollectionStreamerInfo() const; |
1880 |
const char *GetDeclFileName() const; |
1881 |
Int_t GetDeclFileLine() const; |
1882 |
DelFunc_t GetDelete() const; |
1883 |
DelArrFunc_t GetDeleteArray() const; |
1884 |
DesFunc_t GetDestructor() const; |
1885 |
const char *GetImplFileName(); |
1886 |
Int_t GetImplFileLine(); |
1887 |
const type_info &GetInfo() const; |
1888 |
TVirtualIsAProxy *GetIsA() const; |
1889 |
NewFunc_t GetNew() const; |
1890 |
NewArrFunc_t GetNewArray() const; |
1891 |
void *GetShowMembers() const; |
1892 |
Int_t GetVersion() const; |
1893 |
|
1894 |
TClass *IsA(const void *obj); |
1895 |
|
1896 |
Short_t AdoptStreamer(TClassStreamer*); |
1897 |
Short_t AdoptCollectionProxy(TVirtualCollectionProxy*); |
1898 |
void AdoptCollectionProxyInfo(TCollectionProxyInfo*); |
1899 |
void AdoptCollectionStreamerInfo(TCollectionProxyInfo*); |
1900 |
Int_t SetDeclFile(const char *file, Int_t line); |
1901 |
void SetDelete(DelFunc_t deleteFunc); |
1902 |
void SetDeleteArray(DelArrFunc_t deleteArrayFunc); |
1903 |
void SetDestructor(DesFunc_t destructorFunc); |
1904 |
void SetFromTemplate(); |
1905 |
Int_t SetImplFile(const char *file, Int_t line); |
1906 |
void SetNew(NewFunc_t newFunc); |
1907 |
void SetNewArray(NewArrFunc_t newArrayFunc); |
1908 |
Short_t SetStreamer(ClassStreamerFunc_t); |
1909 |
Short_t SetVersion(Short_t version); |
1910 |
|
1911 |
|
1912 |
private: |
1913 |
TGenericClassInfo(const TGenericClassInfo&); |
1914 |
TGenericClassInfo& operator=(const TGenericClassInfo&); |
1915 |
|
1916 |
private: |
1917 |
TGenericClassInfo(); |
1918 |
|
1919 |
}; |
1920 |
|
1921 |
} |
1922 |
# 251 "/cern/ROOT/include/Rtypes.h" 2 |
1923 |
# 26 "/cern/ROOT/include/TRefCnt.h" 2 |
1924 |
|
1925 |
|
1926 |
|
1927 |
class TRefCnt { |
1928 |
|
1929 |
protected: |
1930 |
UInt_t fRefs; |
1931 |
|
1932 |
public: |
1933 |
enum EReferenceFlag { kStaticInit }; |
1934 |
|
1935 |
TRefCnt(Int_t initRef = 0) : fRefs((UInt_t)initRef-1) { } |
1936 |
TRefCnt(EReferenceFlag); |
1937 |
virtual ~TRefCnt() { } |
1938 |
UInt_t References() const { return fRefs+1; } |
1939 |
void SetRefCount(UInt_t r) { fRefs = r-1; } |
1940 |
void AddReference() { fRefs++; } |
1941 |
UInt_t RemoveReference() { return fRefs--; } |
1942 |
}; |
1943 |
# 33 "/cern/ROOT/include/TString.h" 2 |
1944 |
|
1945 |
|
1946 |
|
1947 |
# 1 "/cern/ROOT/include/Riosfwd.h" 1 |
1948 |
# 33 "/cern/ROOT/include/Riosfwd.h" |
1949 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/iosfwd" 1 3 |
1950 |
# 43 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/iosfwd" 3 |
1951 |
|
1952 |
# 44 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/iosfwd" 3 |
1953 |
|
1954 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++config.h" 1 3 |
1955 |
# 35 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++config.h" 3 |
1956 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/os_defines.h" 1 3 |
1957 |
# 36 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++config.h" 2 3 |
1958 |
# 57 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++config.h" 3 |
1959 |
namespace __gnu_debug_def { } |
1960 |
|
1961 |
namespace __gnu_debug |
1962 |
{ |
1963 |
using namespace __gnu_debug_def; |
1964 |
} |
1965 |
# 46 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/iosfwd" 2 3 |
1966 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++locale.h" 1 3 |
1967 |
# 39 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++locale.h" 3 |
1968 |
|
1969 |
# 40 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++locale.h" 3 |
1970 |
|
1971 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstring" 1 3 |
1972 |
# 47 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstring" 3 |
1973 |
|
1974 |
# 48 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstring" 3 |
1975 |
|
1976 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstddef" 1 3 |
1977 |
# 46 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstddef" 3 |
1978 |
|
1979 |
# 47 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstddef" 3 |
1980 |
|
1981 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 1 3 4 |
1982 |
# 151 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 3 4 |
1983 |
typedef int ptrdiff_t; |
1984 |
# 49 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstddef" 2 3 |
1985 |
|
1986 |
namespace std |
1987 |
{ |
1988 |
using ::ptrdiff_t; |
1989 |
using ::size_t; |
1990 |
} |
1991 |
# 50 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstring" 2 3 |
1992 |
# 77 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstring" 3 |
1993 |
namespace std |
1994 |
{ |
1995 |
using ::memcpy; |
1996 |
using ::memmove; |
1997 |
using ::strcpy; |
1998 |
using ::strncpy; |
1999 |
using ::strcat; |
2000 |
using ::strncat; |
2001 |
using ::memcmp; |
2002 |
using ::strcmp; |
2003 |
using ::strcoll; |
2004 |
using ::strncmp; |
2005 |
using ::strxfrm; |
2006 |
using ::strcspn; |
2007 |
using ::strspn; |
2008 |
using ::strtok; |
2009 |
using ::memset; |
2010 |
using ::strerror; |
2011 |
using ::strlen; |
2012 |
|
2013 |
using ::memchr; |
2014 |
|
2015 |
inline void* |
2016 |
memchr(void* __p, int __c, size_t __n) |
2017 |
{ return memchr(const_cast<const void*>(__p), __c, __n); } |
2018 |
|
2019 |
using ::strchr; |
2020 |
|
2021 |
inline char* |
2022 |
strchr(char* __s1, int __n) |
2023 |
{ return __builtin_strchr(const_cast<const char*>(__s1), __n); } |
2024 |
|
2025 |
using ::strpbrk; |
2026 |
|
2027 |
inline char* |
2028 |
strpbrk(char* __s1, const char* __s2) |
2029 |
{ return __builtin_strpbrk(const_cast<const char*>(__s1), __s2); } |
2030 |
|
2031 |
using ::strrchr; |
2032 |
|
2033 |
inline char* |
2034 |
strrchr(char* __s1, int __n) |
2035 |
{ return __builtin_strrchr(const_cast<const char*>(__s1), __n); } |
2036 |
|
2037 |
using ::strstr; |
2038 |
|
2039 |
inline char* |
2040 |
strstr(char* __s1, const char* __s2) |
2041 |
{ return __builtin_strstr(const_cast<const char*>(__s1), __s2); } |
2042 |
} |
2043 |
# 42 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++locale.h" 2 3 |
2044 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstdio" 1 3 |
2045 |
# 47 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstdio" 3 |
2046 |
|
2047 |
# 48 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstdio" 3 |
2048 |
# 97 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstdio" 3 |
2049 |
namespace std |
2050 |
{ |
2051 |
using ::FILE; |
2052 |
using ::fpos_t; |
2053 |
|
2054 |
using ::clearerr; |
2055 |
using ::fclose; |
2056 |
using ::feof; |
2057 |
using ::ferror; |
2058 |
using ::fflush; |
2059 |
using ::fgetc; |
2060 |
using ::fgetpos; |
2061 |
using ::fgets; |
2062 |
using ::fopen; |
2063 |
using ::fprintf; |
2064 |
using ::fputc; |
2065 |
using ::fputs; |
2066 |
using ::fread; |
2067 |
using ::freopen; |
2068 |
using ::fscanf; |
2069 |
using ::fseek; |
2070 |
using ::fsetpos; |
2071 |
using ::ftell; |
2072 |
using ::fwrite; |
2073 |
using ::getc; |
2074 |
using ::getchar; |
2075 |
using ::gets; |
2076 |
using ::perror; |
2077 |
using ::printf; |
2078 |
using ::putc; |
2079 |
using ::putchar; |
2080 |
using ::puts; |
2081 |
using ::remove; |
2082 |
using ::rename; |
2083 |
using ::rewind; |
2084 |
using ::scanf; |
2085 |
using ::setbuf; |
2086 |
using ::setvbuf; |
2087 |
using ::sprintf; |
2088 |
using ::sscanf; |
2089 |
using ::tmpfile; |
2090 |
using ::tmpnam; |
2091 |
using ::ungetc; |
2092 |
using ::vfprintf; |
2093 |
using ::vprintf; |
2094 |
using ::vsprintf; |
2095 |
} |
2096 |
# 153 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstdio" 3 |
2097 |
namespace __gnu_cxx |
2098 |
{ |
2099 |
# 167 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstdio" 3 |
2100 |
using ::snprintf; |
2101 |
using ::vfscanf; |
2102 |
using ::vscanf; |
2103 |
using ::vsnprintf; |
2104 |
using ::vsscanf; |
2105 |
|
2106 |
} |
2107 |
|
2108 |
namespace std |
2109 |
{ |
2110 |
using __gnu_cxx::snprintf; |
2111 |
using __gnu_cxx::vfscanf; |
2112 |
using __gnu_cxx::vscanf; |
2113 |
using __gnu_cxx::vsnprintf; |
2114 |
using __gnu_cxx::vsscanf; |
2115 |
} |
2116 |
# 43 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++locale.h" 2 3 |
2117 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/clocale" 1 3 |
2118 |
# 47 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/clocale" 3 |
2119 |
|
2120 |
# 48 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/clocale" 3 |
2121 |
|
2122 |
# 1 "/usr/include/locale.h" 1 3 4 |
2123 |
# 29 "/usr/include/locale.h" 3 4 |
2124 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 1 3 4 |
2125 |
# 30 "/usr/include/locale.h" 2 3 4 |
2126 |
# 1 "/usr/include/bits/locale.h" 1 3 4 |
2127 |
# 27 "/usr/include/bits/locale.h" 3 4 |
2128 |
enum |
2129 |
{ |
2130 |
__LC_CTYPE = 0, |
2131 |
__LC_NUMERIC = 1, |
2132 |
__LC_TIME = 2, |
2133 |
__LC_COLLATE = 3, |
2134 |
__LC_MONETARY = 4, |
2135 |
__LC_MESSAGES = 5, |
2136 |
__LC_ALL = 6, |
2137 |
__LC_PAPER = 7, |
2138 |
__LC_NAME = 8, |
2139 |
__LC_ADDRESS = 9, |
2140 |
__LC_TELEPHONE = 10, |
2141 |
__LC_MEASUREMENT = 11, |
2142 |
__LC_IDENTIFICATION = 12 |
2143 |
}; |
2144 |
# 31 "/usr/include/locale.h" 2 3 4 |
2145 |
|
2146 |
extern "C" { |
2147 |
# 52 "/usr/include/locale.h" 3 4 |
2148 |
struct lconv |
2149 |
{ |
2150 |
|
2151 |
|
2152 |
char *decimal_point; |
2153 |
char *thousands_sep; |
2154 |
|
2155 |
|
2156 |
|
2157 |
|
2158 |
|
2159 |
char *grouping; |
2160 |
|
2161 |
|
2162 |
|
2163 |
|
2164 |
|
2165 |
char *int_curr_symbol; |
2166 |
char *currency_symbol; |
2167 |
char *mon_decimal_point; |
2168 |
char *mon_thousands_sep; |
2169 |
char *mon_grouping; |
2170 |
char *positive_sign; |
2171 |
char *negative_sign; |
2172 |
char int_frac_digits; |
2173 |
char frac_digits; |
2174 |
|
2175 |
char p_cs_precedes; |
2176 |
|
2177 |
char p_sep_by_space; |
2178 |
|
2179 |
char n_cs_precedes; |
2180 |
|
2181 |
char n_sep_by_space; |
2182 |
|
2183 |
|
2184 |
|
2185 |
|
2186 |
|
2187 |
|
2188 |
char p_sign_posn; |
2189 |
char n_sign_posn; |
2190 |
|
2191 |
|
2192 |
char int_p_cs_precedes; |
2193 |
|
2194 |
char int_p_sep_by_space; |
2195 |
|
2196 |
char int_n_cs_precedes; |
2197 |
|
2198 |
char int_n_sep_by_space; |
2199 |
|
2200 |
|
2201 |
|
2202 |
|
2203 |
|
2204 |
|
2205 |
char int_p_sign_posn; |
2206 |
char int_n_sign_posn; |
2207 |
# 119 "/usr/include/locale.h" 3 4 |
2208 |
}; |
2209 |
|
2210 |
|
2211 |
|
2212 |
|
2213 |
|
2214 |
extern char *setlocale (int __category, __const char *__locale) throw (); |
2215 |
|
2216 |
|
2217 |
extern struct lconv *localeconv (void) throw (); |
2218 |
|
2219 |
|
2220 |
# 148 "/usr/include/locale.h" 3 4 |
2221 |
typedef __locale_t locale_t; |
2222 |
|
2223 |
|
2224 |
|
2225 |
|
2226 |
|
2227 |
extern __locale_t newlocale (int __category_mask, __const char *__locale, |
2228 |
__locale_t __base) throw (); |
2229 |
# 189 "/usr/include/locale.h" 3 4 |
2230 |
extern __locale_t duplocale (__locale_t __dataset) throw (); |
2231 |
|
2232 |
|
2233 |
|
2234 |
extern void freelocale (__locale_t __dataset) throw (); |
2235 |
|
2236 |
|
2237 |
|
2238 |
|
2239 |
|
2240 |
|
2241 |
extern __locale_t uselocale (__locale_t __dataset) throw (); |
2242 |
|
2243 |
|
2244 |
|
2245 |
|
2246 |
|
2247 |
|
2248 |
|
2249 |
} |
2250 |
# 50 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/clocale" 2 3 |
2251 |
|
2252 |
|
2253 |
|
2254 |
|
2255 |
|
2256 |
namespace std |
2257 |
{ |
2258 |
using ::lconv; |
2259 |
using ::setlocale; |
2260 |
using ::localeconv; |
2261 |
} |
2262 |
# 44 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++locale.h" 2 3 |
2263 |
# 1 "/usr/include/langinfo.h" 1 3 4 |
2264 |
# 24 "/usr/include/langinfo.h" 3 4 |
2265 |
# 1 "/usr/include/nl_types.h" 1 3 4 |
2266 |
# 31 "/usr/include/nl_types.h" 3 4 |
2267 |
extern "C" { |
2268 |
|
2269 |
|
2270 |
typedef void *nl_catd; |
2271 |
|
2272 |
|
2273 |
typedef int nl_item; |
2274 |
|
2275 |
|
2276 |
|
2277 |
|
2278 |
|
2279 |
extern nl_catd catopen (__const char *__cat_name, int __flag) __attribute__ ((__nonnull__ (1))); |
2280 |
|
2281 |
|
2282 |
|
2283 |
extern char *catgets (nl_catd __catalog, int __set, int __number, |
2284 |
__const char *__string) throw () __attribute__ ((__nonnull__ (1))); |
2285 |
|
2286 |
|
2287 |
extern int catclose (nl_catd __catalog) throw () __attribute__ ((__nonnull__ (1))); |
2288 |
|
2289 |
} |
2290 |
# 25 "/usr/include/langinfo.h" 2 3 4 |
2291 |
|
2292 |
# 1 "/usr/include/bits/locale.h" 1 3 4 |
2293 |
# 27 "/usr/include/langinfo.h" 2 3 4 |
2294 |
|
2295 |
|
2296 |
extern "C" { |
2297 |
# 43 "/usr/include/langinfo.h" 3 4 |
2298 |
enum |
2299 |
{ |
2300 |
|
2301 |
|
2302 |
|
2303 |
ABDAY_1 = (((__LC_TIME) << 16) | (0)), |
2304 |
|
2305 |
ABDAY_2, |
2306 |
|
2307 |
ABDAY_3, |
2308 |
|
2309 |
ABDAY_4, |
2310 |
|
2311 |
ABDAY_5, |
2312 |
|
2313 |
ABDAY_6, |
2314 |
|
2315 |
ABDAY_7, |
2316 |
|
2317 |
|
2318 |
|
2319 |
DAY_1, |
2320 |
|
2321 |
DAY_2, |
2322 |
|
2323 |
DAY_3, |
2324 |
|
2325 |
DAY_4, |
2326 |
|
2327 |
DAY_5, |
2328 |
|
2329 |
DAY_6, |
2330 |
|
2331 |
DAY_7, |
2332 |
|
2333 |
|
2334 |
|
2335 |
ABMON_1, |
2336 |
|
2337 |
ABMON_2, |
2338 |
|
2339 |
ABMON_3, |
2340 |
|
2341 |
ABMON_4, |
2342 |
|
2343 |
ABMON_5, |
2344 |
|
2345 |
ABMON_6, |
2346 |
|
2347 |
ABMON_7, |
2348 |
|
2349 |
ABMON_8, |
2350 |
|
2351 |
ABMON_9, |
2352 |
|
2353 |
ABMON_10, |
2354 |
|
2355 |
ABMON_11, |
2356 |
|
2357 |
ABMON_12, |
2358 |
|
2359 |
|
2360 |
|
2361 |
MON_1, |
2362 |
|
2363 |
MON_2, |
2364 |
|
2365 |
MON_3, |
2366 |
|
2367 |
MON_4, |
2368 |
|
2369 |
MON_5, |
2370 |
|
2371 |
MON_6, |
2372 |
|
2373 |
MON_7, |
2374 |
|
2375 |
MON_8, |
2376 |
|
2377 |
MON_9, |
2378 |
|
2379 |
MON_10, |
2380 |
|
2381 |
MON_11, |
2382 |
|
2383 |
MON_12, |
2384 |
|
2385 |
|
2386 |
AM_STR, |
2387 |
|
2388 |
PM_STR, |
2389 |
|
2390 |
|
2391 |
D_T_FMT, |
2392 |
|
2393 |
D_FMT, |
2394 |
|
2395 |
T_FMT, |
2396 |
|
2397 |
T_FMT_AMPM, |
2398 |
|
2399 |
|
2400 |
ERA, |
2401 |
|
2402 |
__ERA_YEAR, |
2403 |
|
2404 |
|
2405 |
|
2406 |
ERA_D_FMT, |
2407 |
|
2408 |
ALT_DIGITS, |
2409 |
|
2410 |
ERA_D_T_FMT, |
2411 |
|
2412 |
ERA_T_FMT, |
2413 |
|
2414 |
|
2415 |
_NL_TIME_ERA_NUM_ENTRIES, |
2416 |
_NL_TIME_ERA_ENTRIES, |
2417 |
|
2418 |
_NL_WABDAY_1, |
2419 |
_NL_WABDAY_2, |
2420 |
_NL_WABDAY_3, |
2421 |
_NL_WABDAY_4, |
2422 |
_NL_WABDAY_5, |
2423 |
_NL_WABDAY_6, |
2424 |
_NL_WABDAY_7, |
2425 |
|
2426 |
|
2427 |
_NL_WDAY_1, |
2428 |
_NL_WDAY_2, |
2429 |
_NL_WDAY_3, |
2430 |
_NL_WDAY_4, |
2431 |
_NL_WDAY_5, |
2432 |
_NL_WDAY_6, |
2433 |
_NL_WDAY_7, |
2434 |
|
2435 |
|
2436 |
_NL_WABMON_1, |
2437 |
_NL_WABMON_2, |
2438 |
_NL_WABMON_3, |
2439 |
_NL_WABMON_4, |
2440 |
_NL_WABMON_5, |
2441 |
_NL_WABMON_6, |
2442 |
_NL_WABMON_7, |
2443 |
_NL_WABMON_8, |
2444 |
_NL_WABMON_9, |
2445 |
_NL_WABMON_10, |
2446 |
_NL_WABMON_11, |
2447 |
_NL_WABMON_12, |
2448 |
|
2449 |
|
2450 |
_NL_WMON_1, |
2451 |
_NL_WMON_2, |
2452 |
_NL_WMON_3, |
2453 |
_NL_WMON_4, |
2454 |
_NL_WMON_5, |
2455 |
_NL_WMON_6, |
2456 |
_NL_WMON_7, |
2457 |
_NL_WMON_8, |
2458 |
_NL_WMON_9, |
2459 |
_NL_WMON_10, |
2460 |
_NL_WMON_11, |
2461 |
_NL_WMON_12, |
2462 |
|
2463 |
_NL_WAM_STR, |
2464 |
_NL_WPM_STR, |
2465 |
|
2466 |
_NL_WD_T_FMT, |
2467 |
_NL_WD_FMT, |
2468 |
_NL_WT_FMT, |
2469 |
_NL_WT_FMT_AMPM, |
2470 |
|
2471 |
_NL_WERA_YEAR, |
2472 |
_NL_WERA_D_FMT, |
2473 |
_NL_WALT_DIGITS, |
2474 |
_NL_WERA_D_T_FMT, |
2475 |
_NL_WERA_T_FMT, |
2476 |
|
2477 |
_NL_TIME_WEEK_NDAYS, |
2478 |
_NL_TIME_WEEK_1STDAY, |
2479 |
_NL_TIME_WEEK_1STWEEK, |
2480 |
_NL_TIME_FIRST_WEEKDAY, |
2481 |
_NL_TIME_FIRST_WORKDAY, |
2482 |
_NL_TIME_CAL_DIRECTION, |
2483 |
_NL_TIME_TIMEZONE, |
2484 |
|
2485 |
_DATE_FMT, |
2486 |
|
2487 |
_NL_W_DATE_FMT, |
2488 |
|
2489 |
_NL_TIME_CODESET, |
2490 |
|
2491 |
_NL_NUM_LC_TIME, |
2492 |
|
2493 |
|
2494 |
|
2495 |
|
2496 |
_NL_COLLATE_NRULES = (((__LC_COLLATE) << 16) | (0)), |
2497 |
_NL_COLLATE_RULESETS, |
2498 |
_NL_COLLATE_TABLEMB, |
2499 |
_NL_COLLATE_WEIGHTMB, |
2500 |
_NL_COLLATE_EXTRAMB, |
2501 |
_NL_COLLATE_INDIRECTMB, |
2502 |
_NL_COLLATE_GAP1, |
2503 |
_NL_COLLATE_GAP2, |
2504 |
_NL_COLLATE_GAP3, |
2505 |
_NL_COLLATE_TABLEWC, |
2506 |
_NL_COLLATE_WEIGHTWC, |
2507 |
_NL_COLLATE_EXTRAWC, |
2508 |
_NL_COLLATE_INDIRECTWC, |
2509 |
_NL_COLLATE_SYMB_HASH_SIZEMB, |
2510 |
_NL_COLLATE_SYMB_TABLEMB, |
2511 |
_NL_COLLATE_SYMB_EXTRAMB, |
2512 |
_NL_COLLATE_COLLSEQMB, |
2513 |
_NL_COLLATE_COLLSEQWC, |
2514 |
_NL_COLLATE_CODESET, |
2515 |
_NL_NUM_LC_COLLATE, |
2516 |
|
2517 |
|
2518 |
|
2519 |
|
2520 |
_NL_CTYPE_CLASS = (((__LC_CTYPE) << 16) | (0)), |
2521 |
_NL_CTYPE_TOUPPER, |
2522 |
_NL_CTYPE_GAP1, |
2523 |
_NL_CTYPE_TOLOWER, |
2524 |
_NL_CTYPE_GAP2, |
2525 |
_NL_CTYPE_CLASS32, |
2526 |
_NL_CTYPE_GAP3, |
2527 |
_NL_CTYPE_GAP4, |
2528 |
_NL_CTYPE_GAP5, |
2529 |
_NL_CTYPE_GAP6, |
2530 |
_NL_CTYPE_CLASS_NAMES, |
2531 |
_NL_CTYPE_MAP_NAMES, |
2532 |
_NL_CTYPE_WIDTH, |
2533 |
_NL_CTYPE_MB_CUR_MAX, |
2534 |
_NL_CTYPE_CODESET_NAME, |
2535 |
CODESET = _NL_CTYPE_CODESET_NAME, |
2536 |
|
2537 |
_NL_CTYPE_TOUPPER32, |
2538 |
_NL_CTYPE_TOLOWER32, |
2539 |
_NL_CTYPE_CLASS_OFFSET, |
2540 |
_NL_CTYPE_MAP_OFFSET, |
2541 |
_NL_CTYPE_INDIGITS_MB_LEN, |
2542 |
_NL_CTYPE_INDIGITS0_MB, |
2543 |
_NL_CTYPE_INDIGITS1_MB, |
2544 |
_NL_CTYPE_INDIGITS2_MB, |
2545 |
_NL_CTYPE_INDIGITS3_MB, |
2546 |
_NL_CTYPE_INDIGITS4_MB, |
2547 |
_NL_CTYPE_INDIGITS5_MB, |
2548 |
_NL_CTYPE_INDIGITS6_MB, |
2549 |
_NL_CTYPE_INDIGITS7_MB, |
2550 |
_NL_CTYPE_INDIGITS8_MB, |
2551 |
_NL_CTYPE_INDIGITS9_MB, |
2552 |
_NL_CTYPE_INDIGITS_WC_LEN, |
2553 |
_NL_CTYPE_INDIGITS0_WC, |
2554 |
_NL_CTYPE_INDIGITS1_WC, |
2555 |
_NL_CTYPE_INDIGITS2_WC, |
2556 |
_NL_CTYPE_INDIGITS3_WC, |
2557 |
_NL_CTYPE_INDIGITS4_WC, |
2558 |
_NL_CTYPE_INDIGITS5_WC, |
2559 |
_NL_CTYPE_INDIGITS6_WC, |
2560 |
_NL_CTYPE_INDIGITS7_WC, |
2561 |
_NL_CTYPE_INDIGITS8_WC, |
2562 |
_NL_CTYPE_INDIGITS9_WC, |
2563 |
_NL_CTYPE_OUTDIGIT0_MB, |
2564 |
_NL_CTYPE_OUTDIGIT1_MB, |
2565 |
_NL_CTYPE_OUTDIGIT2_MB, |
2566 |
_NL_CTYPE_OUTDIGIT3_MB, |
2567 |
_NL_CTYPE_OUTDIGIT4_MB, |
2568 |
_NL_CTYPE_OUTDIGIT5_MB, |
2569 |
_NL_CTYPE_OUTDIGIT6_MB, |
2570 |
_NL_CTYPE_OUTDIGIT7_MB, |
2571 |
_NL_CTYPE_OUTDIGIT8_MB, |
2572 |
_NL_CTYPE_OUTDIGIT9_MB, |
2573 |
_NL_CTYPE_OUTDIGIT0_WC, |
2574 |
_NL_CTYPE_OUTDIGIT1_WC, |
2575 |
_NL_CTYPE_OUTDIGIT2_WC, |
2576 |
_NL_CTYPE_OUTDIGIT3_WC, |
2577 |
_NL_CTYPE_OUTDIGIT4_WC, |
2578 |
_NL_CTYPE_OUTDIGIT5_WC, |
2579 |
_NL_CTYPE_OUTDIGIT6_WC, |
2580 |
_NL_CTYPE_OUTDIGIT7_WC, |
2581 |
_NL_CTYPE_OUTDIGIT8_WC, |
2582 |
_NL_CTYPE_OUTDIGIT9_WC, |
2583 |
_NL_CTYPE_TRANSLIT_TAB_SIZE, |
2584 |
_NL_CTYPE_TRANSLIT_FROM_IDX, |
2585 |
_NL_CTYPE_TRANSLIT_FROM_TBL, |
2586 |
_NL_CTYPE_TRANSLIT_TO_IDX, |
2587 |
_NL_CTYPE_TRANSLIT_TO_TBL, |
2588 |
_NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN, |
2589 |
_NL_CTYPE_TRANSLIT_DEFAULT_MISSING, |
2590 |
_NL_CTYPE_TRANSLIT_IGNORE_LEN, |
2591 |
_NL_CTYPE_TRANSLIT_IGNORE, |
2592 |
_NL_CTYPE_MAP_TO_NONASCII, |
2593 |
_NL_CTYPE_EXTRA_MAP_1, |
2594 |
_NL_CTYPE_EXTRA_MAP_2, |
2595 |
_NL_CTYPE_EXTRA_MAP_3, |
2596 |
_NL_CTYPE_EXTRA_MAP_4, |
2597 |
_NL_CTYPE_EXTRA_MAP_5, |
2598 |
_NL_CTYPE_EXTRA_MAP_6, |
2599 |
_NL_CTYPE_EXTRA_MAP_7, |
2600 |
_NL_CTYPE_EXTRA_MAP_8, |
2601 |
_NL_CTYPE_EXTRA_MAP_9, |
2602 |
_NL_CTYPE_EXTRA_MAP_10, |
2603 |
_NL_CTYPE_EXTRA_MAP_11, |
2604 |
_NL_CTYPE_EXTRA_MAP_12, |
2605 |
_NL_CTYPE_EXTRA_MAP_13, |
2606 |
_NL_CTYPE_EXTRA_MAP_14, |
2607 |
_NL_NUM_LC_CTYPE, |
2608 |
|
2609 |
|
2610 |
|
2611 |
|
2612 |
__INT_CURR_SYMBOL = (((__LC_MONETARY) << 16) | (0)), |
2613 |
|
2614 |
|
2615 |
|
2616 |
__CURRENCY_SYMBOL, |
2617 |
|
2618 |
|
2619 |
|
2620 |
__MON_DECIMAL_POINT, |
2621 |
|
2622 |
|
2623 |
|
2624 |
__MON_THOUSANDS_SEP, |
2625 |
|
2626 |
|
2627 |
|
2628 |
__MON_GROUPING, |
2629 |
|
2630 |
|
2631 |
|
2632 |
__POSITIVE_SIGN, |
2633 |
|
2634 |
|
2635 |
|
2636 |
__NEGATIVE_SIGN, |
2637 |
|
2638 |
|
2639 |
|
2640 |
__INT_FRAC_DIGITS, |
2641 |
|
2642 |
|
2643 |
|
2644 |
__FRAC_DIGITS, |
2645 |
|
2646 |
|
2647 |
|
2648 |
__P_CS_PRECEDES, |
2649 |
|
2650 |
|
2651 |
|
2652 |
__P_SEP_BY_SPACE, |
2653 |
|
2654 |
|
2655 |
|
2656 |
__N_CS_PRECEDES, |
2657 |
|
2658 |
|
2659 |
|
2660 |
__N_SEP_BY_SPACE, |
2661 |
|
2662 |
|
2663 |
|
2664 |
__P_SIGN_POSN, |
2665 |
|
2666 |
|
2667 |
|
2668 |
__N_SIGN_POSN, |
2669 |
|
2670 |
|
2671 |
|
2672 |
_NL_MONETARY_CRNCYSTR, |
2673 |
|
2674 |
__INT_P_CS_PRECEDES, |
2675 |
|
2676 |
|
2677 |
|
2678 |
__INT_P_SEP_BY_SPACE, |
2679 |
|
2680 |
|
2681 |
|
2682 |
__INT_N_CS_PRECEDES, |
2683 |
|
2684 |
|
2685 |
|
2686 |
__INT_N_SEP_BY_SPACE, |
2687 |
|
2688 |
|
2689 |
|
2690 |
__INT_P_SIGN_POSN, |
2691 |
|
2692 |
|
2693 |
|
2694 |
__INT_N_SIGN_POSN, |
2695 |
|
2696 |
|
2697 |
|
2698 |
_NL_MONETARY_DUO_INT_CURR_SYMBOL, |
2699 |
_NL_MONETARY_DUO_CURRENCY_SYMBOL, |
2700 |
_NL_MONETARY_DUO_INT_FRAC_DIGITS, |
2701 |
_NL_MONETARY_DUO_FRAC_DIGITS, |
2702 |
_NL_MONETARY_DUO_P_CS_PRECEDES, |
2703 |
_NL_MONETARY_DUO_P_SEP_BY_SPACE, |
2704 |
_NL_MONETARY_DUO_N_CS_PRECEDES, |
2705 |
_NL_MONETARY_DUO_N_SEP_BY_SPACE, |
2706 |
_NL_MONETARY_DUO_INT_P_CS_PRECEDES, |
2707 |
_NL_MONETARY_DUO_INT_P_SEP_BY_SPACE, |
2708 |
_NL_MONETARY_DUO_INT_N_CS_PRECEDES, |
2709 |
_NL_MONETARY_DUO_INT_N_SEP_BY_SPACE, |
2710 |
_NL_MONETARY_DUO_P_SIGN_POSN, |
2711 |
_NL_MONETARY_DUO_N_SIGN_POSN, |
2712 |
_NL_MONETARY_DUO_INT_P_SIGN_POSN, |
2713 |
_NL_MONETARY_DUO_INT_N_SIGN_POSN, |
2714 |
_NL_MONETARY_UNO_VALID_FROM, |
2715 |
_NL_MONETARY_UNO_VALID_TO, |
2716 |
_NL_MONETARY_DUO_VALID_FROM, |
2717 |
_NL_MONETARY_DUO_VALID_TO, |
2718 |
_NL_MONETARY_CONVERSION_RATE, |
2719 |
_NL_MONETARY_DECIMAL_POINT_WC, |
2720 |
_NL_MONETARY_THOUSANDS_SEP_WC, |
2721 |
_NL_MONETARY_CODESET, |
2722 |
_NL_NUM_LC_MONETARY, |
2723 |
|
2724 |
|
2725 |
|
2726 |
__DECIMAL_POINT = (((__LC_NUMERIC) << 16) | (0)), |
2727 |
|
2728 |
|
2729 |
|
2730 |
RADIXCHAR = __DECIMAL_POINT, |
2731 |
|
2732 |
__THOUSANDS_SEP, |
2733 |
|
2734 |
|
2735 |
|
2736 |
THOUSEP = __THOUSANDS_SEP, |
2737 |
|
2738 |
__GROUPING, |
2739 |
|
2740 |
|
2741 |
|
2742 |
_NL_NUMERIC_DECIMAL_POINT_WC, |
2743 |
_NL_NUMERIC_THOUSANDS_SEP_WC, |
2744 |
_NL_NUMERIC_CODESET, |
2745 |
_NL_NUM_LC_NUMERIC, |
2746 |
|
2747 |
__YESEXPR = (((__LC_MESSAGES) << 16) | (0)), |
2748 |
|
2749 |
__NOEXPR, |
2750 |
|
2751 |
__YESSTR, |
2752 |
|
2753 |
|
2754 |
|
2755 |
__NOSTR, |
2756 |
|
2757 |
|
2758 |
|
2759 |
_NL_MESSAGES_CODESET, |
2760 |
_NL_NUM_LC_MESSAGES, |
2761 |
|
2762 |
_NL_PAPER_HEIGHT = (((__LC_PAPER) << 16) | (0)), |
2763 |
_NL_PAPER_WIDTH, |
2764 |
_NL_PAPER_CODESET, |
2765 |
_NL_NUM_LC_PAPER, |
2766 |
|
2767 |
_NL_NAME_NAME_FMT = (((__LC_NAME) << 16) | (0)), |
2768 |
_NL_NAME_NAME_GEN, |
2769 |
_NL_NAME_NAME_MR, |
2770 |
_NL_NAME_NAME_MRS, |
2771 |
_NL_NAME_NAME_MISS, |
2772 |
_NL_NAME_NAME_MS, |
2773 |
_NL_NAME_CODESET, |
2774 |
_NL_NUM_LC_NAME, |
2775 |
|
2776 |
_NL_ADDRESS_POSTAL_FMT = (((__LC_ADDRESS) << 16) | (0)), |
2777 |
_NL_ADDRESS_COUNTRY_NAME, |
2778 |
_NL_ADDRESS_COUNTRY_POST, |
2779 |
_NL_ADDRESS_COUNTRY_AB2, |
2780 |
_NL_ADDRESS_COUNTRY_AB3, |
2781 |
_NL_ADDRESS_COUNTRY_CAR, |
2782 |
_NL_ADDRESS_COUNTRY_NUM, |
2783 |
_NL_ADDRESS_COUNTRY_ISBN, |
2784 |
_NL_ADDRESS_LANG_NAME, |
2785 |
_NL_ADDRESS_LANG_AB, |
2786 |
_NL_ADDRESS_LANG_TERM, |
2787 |
_NL_ADDRESS_LANG_LIB, |
2788 |
_NL_ADDRESS_CODESET, |
2789 |
_NL_NUM_LC_ADDRESS, |
2790 |
|
2791 |
_NL_TELEPHONE_TEL_INT_FMT = (((__LC_TELEPHONE) << 16) | (0)), |
2792 |
_NL_TELEPHONE_TEL_DOM_FMT, |
2793 |
_NL_TELEPHONE_INT_SELECT, |
2794 |
_NL_TELEPHONE_INT_PREFIX, |
2795 |
_NL_TELEPHONE_CODESET, |
2796 |
_NL_NUM_LC_TELEPHONE, |
2797 |
|
2798 |
_NL_MEASUREMENT_MEASUREMENT = (((__LC_MEASUREMENT) << 16) | (0)), |
2799 |
_NL_MEASUREMENT_CODESET, |
2800 |
_NL_NUM_LC_MEASUREMENT, |
2801 |
|
2802 |
_NL_IDENTIFICATION_TITLE = (((__LC_IDENTIFICATION) << 16) | (0)), |
2803 |
_NL_IDENTIFICATION_SOURCE, |
2804 |
_NL_IDENTIFICATION_ADDRESS, |
2805 |
_NL_IDENTIFICATION_CONTACT, |
2806 |
_NL_IDENTIFICATION_EMAIL, |
2807 |
_NL_IDENTIFICATION_TEL, |
2808 |
_NL_IDENTIFICATION_FAX, |
2809 |
_NL_IDENTIFICATION_LANGUAGE, |
2810 |
_NL_IDENTIFICATION_TERRITORY, |
2811 |
_NL_IDENTIFICATION_AUDIENCE, |
2812 |
_NL_IDENTIFICATION_APPLICATION, |
2813 |
_NL_IDENTIFICATION_ABBREVIATION, |
2814 |
_NL_IDENTIFICATION_REVISION, |
2815 |
_NL_IDENTIFICATION_DATE, |
2816 |
_NL_IDENTIFICATION_CATEGORY, |
2817 |
_NL_IDENTIFICATION_CODESET, |
2818 |
_NL_NUM_LC_IDENTIFICATION, |
2819 |
|
2820 |
|
2821 |
_NL_NUM |
2822 |
}; |
2823 |
# 576 "/usr/include/langinfo.h" 3 4 |
2824 |
extern char *nl_langinfo (nl_item __item) throw (); |
2825 |
# 587 "/usr/include/langinfo.h" 3 4 |
2826 |
extern char *nl_langinfo_l (nl_item __item, __locale_t l); |
2827 |
|
2828 |
|
2829 |
} |
2830 |
# 45 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++locale.h" 2 3 |
2831 |
# 1 "/usr/include/iconv.h" 1 3 4 |
2832 |
# 24 "/usr/include/iconv.h" 3 4 |
2833 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 1 3 4 |
2834 |
# 25 "/usr/include/iconv.h" 2 3 4 |
2835 |
|
2836 |
|
2837 |
extern "C" { |
2838 |
|
2839 |
|
2840 |
typedef void *iconv_t; |
2841 |
|
2842 |
|
2843 |
|
2844 |
|
2845 |
|
2846 |
|
2847 |
|
2848 |
extern iconv_t iconv_open (__const char *__tocode, __const char *__fromcode); |
2849 |
|
2850 |
|
2851 |
|
2852 |
|
2853 |
extern size_t iconv (iconv_t __cd, char **__restrict __inbuf, |
2854 |
size_t *__restrict __inbytesleft, |
2855 |
char **__restrict __outbuf, |
2856 |
size_t *__restrict __outbytesleft); |
2857 |
|
2858 |
|
2859 |
|
2860 |
|
2861 |
|
2862 |
extern int iconv_close (iconv_t __cd); |
2863 |
|
2864 |
} |
2865 |
# 46 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++locale.h" 2 3 |
2866 |
# 1 "/usr/include/libintl.h" 1 3 4 |
2867 |
# 35 "/usr/include/libintl.h" 3 4 |
2868 |
extern "C" { |
2869 |
|
2870 |
|
2871 |
|
2872 |
|
2873 |
extern char *gettext (__const char *__msgid) throw (); |
2874 |
|
2875 |
|
2876 |
|
2877 |
extern char *dgettext (__const char *__domainname, __const char *__msgid) |
2878 |
throw (); |
2879 |
extern char *__dgettext (__const char *__domainname, __const char *__msgid) |
2880 |
throw () __attribute__ ((__format_arg__ (2))); |
2881 |
|
2882 |
|
2883 |
|
2884 |
extern char *dcgettext (__const char *__domainname, |
2885 |
__const char *__msgid, int __category) throw (); |
2886 |
extern char *__dcgettext (__const char *__domainname, |
2887 |
__const char *__msgid, int __category) |
2888 |
throw () __attribute__ ((__format_arg__ (2))); |
2889 |
|
2890 |
|
2891 |
|
2892 |
|
2893 |
extern char *ngettext (__const char *__msgid1, __const char *__msgid2, |
2894 |
unsigned long int __n) |
2895 |
throw () __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2))); |
2896 |
|
2897 |
|
2898 |
|
2899 |
extern char *dngettext (__const char *__domainname, __const char *__msgid1, |
2900 |
__const char *__msgid2, unsigned long int __n) |
2901 |
throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3))); |
2902 |
|
2903 |
|
2904 |
|
2905 |
extern char *dcngettext (__const char *__domainname, __const char *__msgid1, |
2906 |
__const char *__msgid2, unsigned long int __n, |
2907 |
int __category) |
2908 |
throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3))); |
2909 |
|
2910 |
|
2911 |
|
2912 |
|
2913 |
|
2914 |
extern char *textdomain (__const char *__domainname) throw (); |
2915 |
|
2916 |
|
2917 |
|
2918 |
extern char *bindtextdomain (__const char *__domainname, |
2919 |
__const char *__dirname) throw (); |
2920 |
|
2921 |
|
2922 |
|
2923 |
extern char *bind_textdomain_codeset (__const char *__domainname, |
2924 |
__const char *__codeset) throw (); |
2925 |
# 120 "/usr/include/libintl.h" 3 4 |
2926 |
} |
2927 |
# 47 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++locale.h" 2 3 |
2928 |
|
2929 |
|
2930 |
|
2931 |
|
2932 |
|
2933 |
|
2934 |
namespace __gnu_cxx |
2935 |
{ |
2936 |
extern "C" __typeof(uselocale) __uselocale; |
2937 |
} |
2938 |
|
2939 |
|
2940 |
namespace std |
2941 |
{ |
2942 |
typedef __locale_t __c_locale; |
2943 |
|
2944 |
|
2945 |
|
2946 |
|
2947 |
|
2948 |
template<typename _Tv> |
2949 |
int |
2950 |
__convert_from_v(char* __out, const int __size, const char* __fmt, |
2951 |
|
2952 |
_Tv __v, const __c_locale& __cloc, int __prec) |
2953 |
{ |
2954 |
__c_locale __old = __gnu_cxx::__uselocale(__cloc); |
2955 |
# 84 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++locale.h" 3 |
2956 |
const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v); |
2957 |
|
2958 |
|
2959 |
|
2960 |
|
2961 |
|
2962 |
__gnu_cxx::__uselocale(__old); |
2963 |
|
2964 |
|
2965 |
|
2966 |
|
2967 |
return __ret; |
2968 |
} |
2969 |
} |
2970 |
# 47 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/iosfwd" 2 3 |
2971 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++io.h" 1 3 |
2972 |
# 37 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++io.h" 3 |
2973 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/gthr.h" 1 3 |
2974 |
# 104 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/gthr.h" 3 |
2975 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/gthr-default.h" 1 3 |
2976 |
# 43 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/gthr-default.h" 3 |
2977 |
# 1 "/usr/include/pthread.h" 1 3 4 |
2978 |
# 20 "/usr/include/pthread.h" 3 4 |
2979 |
# 1 "/usr/include/sched.h" 1 3 4 |
2980 |
# 29 "/usr/include/sched.h" 3 4 |
2981 |
# 1 "/usr/include/time.h" 1 3 4 |
2982 |
# 118 "/usr/include/time.h" 3 4 |
2983 |
struct timespec |
2984 |
{ |
2985 |
__time_t tv_sec; |
2986 |
long int tv_nsec; |
2987 |
}; |
2988 |
# 30 "/usr/include/sched.h" 2 3 4 |
2989 |
|
2990 |
|
2991 |
# 1 "/usr/include/bits/sched.h" 1 3 4 |
2992 |
# 62 "/usr/include/bits/sched.h" 3 4 |
2993 |
struct sched_param |
2994 |
{ |
2995 |
int __sched_priority; |
2996 |
}; |
2997 |
|
2998 |
extern "C" { |
2999 |
|
3000 |
|
3001 |
|
3002 |
extern int clone (int (*__fn) (void *__arg), void *__child_stack, |
3003 |
int __flags, void *__arg) throw (); |
3004 |
|
3005 |
|
3006 |
} |
3007 |
|
3008 |
|
3009 |
|
3010 |
|
3011 |
|
3012 |
|
3013 |
|
3014 |
struct __sched_param |
3015 |
{ |
3016 |
int __sched_priority; |
3017 |
}; |
3018 |
# 98 "/usr/include/bits/sched.h" 3 4 |
3019 |
typedef unsigned long int __cpu_mask; |
3020 |
|
3021 |
|
3022 |
|
3023 |
|
3024 |
|
3025 |
|
3026 |
typedef struct |
3027 |
{ |
3028 |
__cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; |
3029 |
} cpu_set_t; |
3030 |
# 33 "/usr/include/sched.h" 2 3 4 |
3031 |
|
3032 |
|
3033 |
|
3034 |
|
3035 |
extern "C" { |
3036 |
|
3037 |
|
3038 |
extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param) |
3039 |
throw (); |
3040 |
|
3041 |
|
3042 |
extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw (); |
3043 |
|
3044 |
|
3045 |
extern int sched_setscheduler (__pid_t __pid, int __policy, |
3046 |
__const struct sched_param *__param) throw (); |
3047 |
|
3048 |
|
3049 |
extern int sched_getscheduler (__pid_t __pid) throw (); |
3050 |
|
3051 |
|
3052 |
extern int sched_yield (void) throw (); |
3053 |
|
3054 |
|
3055 |
extern int sched_get_priority_max (int __algorithm) throw (); |
3056 |
|
3057 |
|
3058 |
extern int sched_get_priority_min (int __algorithm) throw (); |
3059 |
|
3060 |
|
3061 |
extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw (); |
3062 |
# 76 "/usr/include/sched.h" 3 4 |
3063 |
extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize, |
3064 |
__const cpu_set_t *__cpuset) throw (); |
3065 |
|
3066 |
|
3067 |
extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize, |
3068 |
cpu_set_t *__cpuset) throw (); |
3069 |
|
3070 |
|
3071 |
} |
3072 |
# 21 "/usr/include/pthread.h" 2 3 4 |
3073 |
# 1 "/usr/include/time.h" 1 3 4 |
3074 |
# 30 "/usr/include/time.h" 3 4 |
3075 |
extern "C" { |
3076 |
|
3077 |
|
3078 |
|
3079 |
|
3080 |
|
3081 |
|
3082 |
|
3083 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 1 3 4 |
3084 |
# 39 "/usr/include/time.h" 2 3 4 |
3085 |
|
3086 |
|
3087 |
|
3088 |
# 1 "/usr/include/bits/time.h" 1 3 4 |
3089 |
# 43 "/usr/include/time.h" 2 3 4 |
3090 |
# 58 "/usr/include/time.h" 3 4 |
3091 |
|
3092 |
|
3093 |
typedef __clock_t clock_t; |
3094 |
|
3095 |
|
3096 |
|
3097 |
# 74 "/usr/include/time.h" 3 4 |
3098 |
|
3099 |
|
3100 |
typedef __time_t time_t; |
3101 |
|
3102 |
|
3103 |
|
3104 |
# 92 "/usr/include/time.h" 3 4 |
3105 |
typedef __clockid_t clockid_t; |
3106 |
# 104 "/usr/include/time.h" 3 4 |
3107 |
typedef __timer_t timer_t; |
3108 |
# 129 "/usr/include/time.h" 3 4 |
3109 |
|
3110 |
|
3111 |
struct tm |
3112 |
{ |
3113 |
int tm_sec; |
3114 |
int tm_min; |
3115 |
int tm_hour; |
3116 |
int tm_mday; |
3117 |
int tm_mon; |
3118 |
int tm_year; |
3119 |
int tm_wday; |
3120 |
int tm_yday; |
3121 |
int tm_isdst; |
3122 |
|
3123 |
|
3124 |
long int tm_gmtoff; |
3125 |
__const char *tm_zone; |
3126 |
|
3127 |
|
3128 |
|
3129 |
|
3130 |
}; |
3131 |
|
3132 |
|
3133 |
|
3134 |
|
3135 |
|
3136 |
|
3137 |
|
3138 |
|
3139 |
struct itimerspec |
3140 |
{ |
3141 |
struct timespec it_interval; |
3142 |
struct timespec it_value; |
3143 |
}; |
3144 |
|
3145 |
|
3146 |
struct sigevent; |
3147 |
|
3148 |
|
3149 |
|
3150 |
|
3151 |
|
3152 |
typedef __pid_t pid_t; |
3153 |
|
3154 |
|
3155 |
|
3156 |
|
3157 |
|
3158 |
|
3159 |
|
3160 |
|
3161 |
extern clock_t clock (void) throw (); |
3162 |
|
3163 |
|
3164 |
extern time_t time (time_t *__timer) throw (); |
3165 |
|
3166 |
|
3167 |
extern double difftime (time_t __time1, time_t __time0) |
3168 |
throw () __attribute__ ((__const__)); |
3169 |
|
3170 |
|
3171 |
extern time_t mktime (struct tm *__tp) throw (); |
3172 |
|
3173 |
|
3174 |
|
3175 |
|
3176 |
|
3177 |
extern size_t strftime (char *__restrict __s, size_t __maxsize, |
3178 |
__const char *__restrict __format, |
3179 |
__const struct tm *__restrict __tp) throw (); |
3180 |
|
3181 |
|
3182 |
|
3183 |
|
3184 |
|
3185 |
extern char *strptime (__const char *__restrict __s, |
3186 |
__const char *__restrict __fmt, struct tm *__tp) |
3187 |
throw (); |
3188 |
|
3189 |
|
3190 |
|
3191 |
|
3192 |
|
3193 |
|
3194 |
|
3195 |
extern size_t strftime_l (char *__restrict __s, size_t __maxsize, |
3196 |
__const char *__restrict __format, |
3197 |
__const struct tm *__restrict __tp, |
3198 |
__locale_t __loc) throw (); |
3199 |
|
3200 |
extern char *strptime_l (__const char *__restrict __s, |
3201 |
__const char *__restrict __fmt, struct tm *__tp, |
3202 |
__locale_t __loc) throw (); |
3203 |
|
3204 |
|
3205 |
|
3206 |
|
3207 |
|
3208 |
|
3209 |
extern struct tm *gmtime (__const time_t *__timer) throw (); |
3210 |
|
3211 |
|
3212 |
|
3213 |
extern struct tm *localtime (__const time_t *__timer) throw (); |
3214 |
|
3215 |
|
3216 |
|
3217 |
|
3218 |
|
3219 |
extern struct tm *gmtime_r (__const time_t *__restrict __timer, |
3220 |
struct tm *__restrict __tp) throw (); |
3221 |
|
3222 |
|
3223 |
|
3224 |
extern struct tm *localtime_r (__const time_t *__restrict __timer, |
3225 |
struct tm *__restrict __tp) throw (); |
3226 |
|
3227 |
|
3228 |
|
3229 |
|
3230 |
|
3231 |
extern char *asctime (__const struct tm *__tp) throw (); |
3232 |
|
3233 |
|
3234 |
extern char *ctime (__const time_t *__timer) throw (); |
3235 |
|
3236 |
|
3237 |
|
3238 |
|
3239 |
|
3240 |
|
3241 |
|
3242 |
extern char *asctime_r (__const struct tm *__restrict __tp, |
3243 |
char *__restrict __buf) throw (); |
3244 |
|
3245 |
|
3246 |
extern char *ctime_r (__const time_t *__restrict __timer, |
3247 |
char *__restrict __buf) throw (); |
3248 |
|
3249 |
|
3250 |
|
3251 |
|
3252 |
extern char *__tzname[2]; |
3253 |
extern int __daylight; |
3254 |
extern long int __timezone; |
3255 |
|
3256 |
|
3257 |
|
3258 |
|
3259 |
extern char *tzname[2]; |
3260 |
|
3261 |
|
3262 |
|
3263 |
extern void tzset (void) throw (); |
3264 |
|
3265 |
|
3266 |
|
3267 |
extern int daylight; |
3268 |
extern long int timezone; |
3269 |
|
3270 |
|
3271 |
|
3272 |
|
3273 |
|
3274 |
extern int stime (__const time_t *__when) throw (); |
3275 |
# 309 "/usr/include/time.h" 3 4 |
3276 |
extern time_t timegm (struct tm *__tp) throw (); |
3277 |
|
3278 |
|
3279 |
extern time_t timelocal (struct tm *__tp) throw (); |
3280 |
|
3281 |
|
3282 |
extern int dysize (int __year) throw () __attribute__ ((__const__)); |
3283 |
# 324 "/usr/include/time.h" 3 4 |
3284 |
extern int nanosleep (__const struct timespec *__requested_time, |
3285 |
struct timespec *__remaining); |
3286 |
|
3287 |
|
3288 |
|
3289 |
extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw (); |
3290 |
|
3291 |
|
3292 |
extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw (); |
3293 |
|
3294 |
|
3295 |
extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp) |
3296 |
throw (); |
3297 |
|
3298 |
|
3299 |
|
3300 |
|
3301 |
|
3302 |
|
3303 |
extern int clock_nanosleep (clockid_t __clock_id, int __flags, |
3304 |
__const struct timespec *__req, |
3305 |
struct timespec *__rem); |
3306 |
|
3307 |
|
3308 |
extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) throw (); |
3309 |
|
3310 |
|
3311 |
|
3312 |
|
3313 |
extern int timer_create (clockid_t __clock_id, |
3314 |
struct sigevent *__restrict __evp, |
3315 |
timer_t *__restrict __timerid) throw (); |
3316 |
|
3317 |
|
3318 |
extern int timer_delete (timer_t __timerid) throw (); |
3319 |
|
3320 |
|
3321 |
extern int timer_settime (timer_t __timerid, int __flags, |
3322 |
__const struct itimerspec *__restrict __value, |
3323 |
struct itimerspec *__restrict __ovalue) throw (); |
3324 |
|
3325 |
|
3326 |
extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) |
3327 |
throw (); |
3328 |
|
3329 |
|
3330 |
extern int timer_getoverrun (timer_t __timerid) throw (); |
3331 |
# 386 "/usr/include/time.h" 3 4 |
3332 |
extern int getdate_err; |
3333 |
# 395 "/usr/include/time.h" 3 4 |
3334 |
extern struct tm *getdate (__const char *__string); |
3335 |
# 409 "/usr/include/time.h" 3 4 |
3336 |
extern int getdate_r (__const char *__restrict __string, |
3337 |
struct tm *__restrict __resbufp); |
3338 |
|
3339 |
|
3340 |
} |
3341 |
# 22 "/usr/include/pthread.h" 2 3 4 |
3342 |
|
3343 |
|
3344 |
# 1 "/usr/include/signal.h" 1 3 4 |
3345 |
# 31 "/usr/include/signal.h" 3 4 |
3346 |
extern "C" { |
3347 |
|
3348 |
# 1 "/usr/include/bits/sigset.h" 1 3 4 |
3349 |
# 23 "/usr/include/bits/sigset.h" 3 4 |
3350 |
typedef int __sig_atomic_t; |
3351 |
|
3352 |
|
3353 |
|
3354 |
|
3355 |
typedef struct |
3356 |
{ |
3357 |
unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; |
3358 |
} __sigset_t; |
3359 |
# 34 "/usr/include/signal.h" 2 3 4 |
3360 |
# 50 "/usr/include/signal.h" 3 4 |
3361 |
typedef __sigset_t sigset_t; |
3362 |
# 400 "/usr/include/signal.h" 3 4 |
3363 |
} |
3364 |
# 25 "/usr/include/pthread.h" 2 3 4 |
3365 |
# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 |
3366 |
# 23 "/usr/include/bits/pthreadtypes.h" 3 4 |
3367 |
# 1 "/usr/include/bits/sched.h" 1 3 4 |
3368 |
# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 |
3369 |
|
3370 |
|
3371 |
struct _pthread_fastlock |
3372 |
{ |
3373 |
long int __status; |
3374 |
int __spinlock; |
3375 |
|
3376 |
}; |
3377 |
|
3378 |
|
3379 |
|
3380 |
typedef struct _pthread_descr_struct *_pthread_descr; |
3381 |
|
3382 |
|
3383 |
|
3384 |
|
3385 |
|
3386 |
typedef struct __pthread_attr_s |
3387 |
{ |
3388 |
int __detachstate; |
3389 |
int __schedpolicy; |
3390 |
struct __sched_param __schedparam; |
3391 |
int __inheritsched; |
3392 |
int __scope; |
3393 |
size_t __guardsize; |
3394 |
int __stackaddr_set; |
3395 |
void *__stackaddr; |
3396 |
size_t __stacksize; |
3397 |
} pthread_attr_t; |
3398 |
|
3399 |
|
3400 |
|
3401 |
|
3402 |
|
3403 |
__extension__ typedef long long __pthread_cond_align_t; |
3404 |
|
3405 |
|
3406 |
|
3407 |
|
3408 |
typedef struct |
3409 |
{ |
3410 |
struct _pthread_fastlock __c_lock; |
3411 |
_pthread_descr __c_waiting; |
3412 |
char __padding[48 - sizeof (struct _pthread_fastlock) |
3413 |
- sizeof (_pthread_descr) - sizeof (__pthread_cond_align_t)]; |
3414 |
__pthread_cond_align_t __align; |
3415 |
} pthread_cond_t; |
3416 |
|
3417 |
|
3418 |
|
3419 |
typedef struct |
3420 |
{ |
3421 |
int __dummy; |
3422 |
} pthread_condattr_t; |
3423 |
|
3424 |
|
3425 |
typedef unsigned int pthread_key_t; |
3426 |
|
3427 |
|
3428 |
|
3429 |
|
3430 |
|
3431 |
typedef struct |
3432 |
{ |
3433 |
int __m_reserved; |
3434 |
int __m_count; |
3435 |
_pthread_descr __m_owner; |
3436 |
int __m_kind; |
3437 |
struct _pthread_fastlock __m_lock; |
3438 |
} pthread_mutex_t; |
3439 |
|
3440 |
|
3441 |
|
3442 |
typedef struct |
3443 |
{ |
3444 |
int __mutexkind; |
3445 |
} pthread_mutexattr_t; |
3446 |
|
3447 |
|
3448 |
|
3449 |
typedef int pthread_once_t; |
3450 |
|
3451 |
|
3452 |
|
3453 |
|
3454 |
typedef struct _pthread_rwlock_t |
3455 |
{ |
3456 |
struct _pthread_fastlock __rw_lock; |
3457 |
int __rw_readers; |
3458 |
_pthread_descr __rw_writer; |
3459 |
_pthread_descr __rw_read_waiting; |
3460 |
_pthread_descr __rw_write_waiting; |
3461 |
int __rw_kind; |
3462 |
int __rw_pshared; |
3463 |
} pthread_rwlock_t; |
3464 |
|
3465 |
|
3466 |
|
3467 |
typedef struct |
3468 |
{ |
3469 |
int __lockkind; |
3470 |
int __pshared; |
3471 |
} pthread_rwlockattr_t; |
3472 |
|
3473 |
|
3474 |
|
3475 |
|
3476 |
typedef volatile int pthread_spinlock_t; |
3477 |
|
3478 |
|
3479 |
typedef struct { |
3480 |
struct _pthread_fastlock __ba_lock; |
3481 |
int __ba_required; |
3482 |
int __ba_present; |
3483 |
_pthread_descr __ba_waiting; |
3484 |
} pthread_barrier_t; |
3485 |
|
3486 |
|
3487 |
typedef struct { |
3488 |
int __pshared; |
3489 |
} pthread_barrierattr_t; |
3490 |
|
3491 |
|
3492 |
|
3493 |
|
3494 |
|
3495 |
typedef unsigned long int pthread_t; |
3496 |
# 26 "/usr/include/pthread.h" 2 3 4 |
3497 |
# 1 "/usr/include/bits/initspin.h" 1 3 4 |
3498 |
# 27 "/usr/include/pthread.h" 2 3 4 |
3499 |
|
3500 |
|
3501 |
extern "C" { |
3502 |
# 59 "/usr/include/pthread.h" 3 4 |
3503 |
enum |
3504 |
{ |
3505 |
PTHREAD_CREATE_JOINABLE, |
3506 |
|
3507 |
PTHREAD_CREATE_DETACHED |
3508 |
|
3509 |
}; |
3510 |
|
3511 |
enum |
3512 |
{ |
3513 |
PTHREAD_INHERIT_SCHED, |
3514 |
|
3515 |
PTHREAD_EXPLICIT_SCHED |
3516 |
|
3517 |
}; |
3518 |
|
3519 |
enum |
3520 |
{ |
3521 |
PTHREAD_SCOPE_SYSTEM, |
3522 |
|
3523 |
PTHREAD_SCOPE_PROCESS |
3524 |
|
3525 |
}; |
3526 |
|
3527 |
enum |
3528 |
{ |
3529 |
PTHREAD_MUTEX_TIMED_NP, |
3530 |
PTHREAD_MUTEX_RECURSIVE_NP, |
3531 |
PTHREAD_MUTEX_ERRORCHECK_NP, |
3532 |
PTHREAD_MUTEX_ADAPTIVE_NP |
3533 |
|
3534 |
, |
3535 |
PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP, |
3536 |
PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, |
3537 |
PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, |
3538 |
PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL |
3539 |
|
3540 |
|
3541 |
|
3542 |
, PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_ADAPTIVE_NP |
3543 |
|
3544 |
}; |
3545 |
|
3546 |
enum |
3547 |
{ |
3548 |
PTHREAD_PROCESS_PRIVATE, |
3549 |
|
3550 |
PTHREAD_PROCESS_SHARED |
3551 |
|
3552 |
}; |
3553 |
|
3554 |
|
3555 |
enum |
3556 |
{ |
3557 |
PTHREAD_RWLOCK_PREFER_READER_NP, |
3558 |
PTHREAD_RWLOCK_PREFER_WRITER_NP, |
3559 |
PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, |
3560 |
PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_WRITER_NP |
3561 |
}; |
3562 |
# 131 "/usr/include/pthread.h" 3 4 |
3563 |
struct _pthread_cleanup_buffer |
3564 |
{ |
3565 |
void (*__routine) (void *); |
3566 |
void *__arg; |
3567 |
int __canceltype; |
3568 |
struct _pthread_cleanup_buffer *__prev; |
3569 |
}; |
3570 |
|
3571 |
|
3572 |
|
3573 |
enum |
3574 |
{ |
3575 |
PTHREAD_CANCEL_ENABLE, |
3576 |
|
3577 |
PTHREAD_CANCEL_DISABLE |
3578 |
|
3579 |
}; |
3580 |
enum |
3581 |
{ |
3582 |
PTHREAD_CANCEL_DEFERRED, |
3583 |
|
3584 |
PTHREAD_CANCEL_ASYNCHRONOUS |
3585 |
|
3586 |
}; |
3587 |
# 163 "/usr/include/pthread.h" 3 4 |
3588 |
extern int pthread_create (pthread_t *__restrict __threadp, |
3589 |
__const pthread_attr_t *__restrict __attr, |
3590 |
void *(*__start_routine) (void *), |
3591 |
void *__restrict __arg) throw (); |
3592 |
|
3593 |
|
3594 |
extern pthread_t pthread_self (void) throw (); |
3595 |
|
3596 |
|
3597 |
extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) throw (); |
3598 |
|
3599 |
|
3600 |
extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); |
3601 |
|
3602 |
|
3603 |
|
3604 |
|
3605 |
extern int pthread_join (pthread_t __th, void **__thread_return); |
3606 |
|
3607 |
|
3608 |
|
3609 |
|
3610 |
|
3611 |
extern int pthread_detach (pthread_t __th) throw (); |
3612 |
|
3613 |
|
3614 |
|
3615 |
|
3616 |
|
3617 |
|
3618 |
|
3619 |
extern int pthread_attr_init (pthread_attr_t *__attr) throw (); |
3620 |
|
3621 |
|
3622 |
extern int pthread_attr_destroy (pthread_attr_t *__attr) throw (); |
3623 |
|
3624 |
|
3625 |
extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, |
3626 |
int __detachstate) throw (); |
3627 |
|
3628 |
|
3629 |
extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr, |
3630 |
int *__detachstate) throw (); |
3631 |
|
3632 |
|
3633 |
extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr, |
3634 |
__const struct sched_param *__restrict |
3635 |
__param) throw (); |
3636 |
|
3637 |
|
3638 |
extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict |
3639 |
__attr, |
3640 |
struct sched_param *__restrict __param) |
3641 |
throw (); |
3642 |
|
3643 |
|
3644 |
extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) |
3645 |
throw (); |
3646 |
|
3647 |
|
3648 |
extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict |
3649 |
__attr, int *__restrict __policy) |
3650 |
throw (); |
3651 |
|
3652 |
|
3653 |
extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, |
3654 |
int __inherit) throw (); |
3655 |
|
3656 |
|
3657 |
extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict |
3658 |
__attr, int *__restrict __inherit) |
3659 |
throw (); |
3660 |
|
3661 |
|
3662 |
extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) |
3663 |
throw (); |
3664 |
|
3665 |
|
3666 |
extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr, |
3667 |
int *__restrict __scope) throw (); |
3668 |
|
3669 |
|
3670 |
|
3671 |
extern int pthread_attr_setguardsize (pthread_attr_t *__attr, |
3672 |
size_t __guardsize) throw (); |
3673 |
|
3674 |
|
3675 |
extern int pthread_attr_getguardsize (__const pthread_attr_t *__restrict |
3676 |
__attr, size_t *__restrict __guardsize) |
3677 |
throw (); |
3678 |
|
3679 |
|
3680 |
|
3681 |
|
3682 |
|
3683 |
|
3684 |
extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, |
3685 |
void *__stackaddr) throw (); |
3686 |
|
3687 |
|
3688 |
extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict |
3689 |
__attr, void **__restrict __stackaddr) |
3690 |
throw (); |
3691 |
|
3692 |
|
3693 |
|
3694 |
|
3695 |
|
3696 |
extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, |
3697 |
size_t __stacksize) throw (); |
3698 |
|
3699 |
|
3700 |
extern int pthread_attr_getstack (__const pthread_attr_t *__restrict __attr, |
3701 |
void **__restrict __stackaddr, |
3702 |
size_t *__restrict __stacksize) throw (); |
3703 |
|
3704 |
|
3705 |
|
3706 |
|
3707 |
|
3708 |
extern int pthread_attr_setstacksize (pthread_attr_t *__attr, |
3709 |
size_t __stacksize) throw (); |
3710 |
|
3711 |
|
3712 |
extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict |
3713 |
__attr, size_t *__restrict __stacksize) |
3714 |
throw (); |
3715 |
|
3716 |
|
3717 |
|
3718 |
|
3719 |
|
3720 |
extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) throw (); |
3721 |
|
3722 |
|
3723 |
|
3724 |
|
3725 |
|
3726 |
|
3727 |
extern int pthread_setschedparam (pthread_t __target_thread, int __policy, |
3728 |
__const struct sched_param *__param) |
3729 |
throw (); |
3730 |
|
3731 |
|
3732 |
extern int pthread_getschedparam (pthread_t __target_thread, |
3733 |
int *__restrict __policy, |
3734 |
struct sched_param *__restrict __param) |
3735 |
throw (); |
3736 |
|
3737 |
|
3738 |
|
3739 |
extern int pthread_getconcurrency (void) throw (); |
3740 |
|
3741 |
|
3742 |
extern int pthread_setconcurrency (int __level) throw (); |
3743 |
|
3744 |
|
3745 |
|
3746 |
|
3747 |
|
3748 |
|
3749 |
|
3750 |
extern int pthread_yield (void) throw (); |
3751 |
|
3752 |
|
3753 |
|
3754 |
|
3755 |
|
3756 |
|
3757 |
extern int pthread_mutex_init (pthread_mutex_t *__restrict __mutex, |
3758 |
__const pthread_mutexattr_t *__restrict |
3759 |
__mutex_attr) throw (); |
3760 |
|
3761 |
|
3762 |
extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) throw (); |
3763 |
|
3764 |
|
3765 |
extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) throw (); |
3766 |
|
3767 |
|
3768 |
extern int pthread_mutex_lock (pthread_mutex_t *__mutex) throw (); |
3769 |
|
3770 |
|
3771 |
|
3772 |
extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, |
3773 |
__const struct timespec *__restrict |
3774 |
__abstime) throw (); |
3775 |
|
3776 |
|
3777 |
|
3778 |
extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) throw (); |
3779 |
|
3780 |
|
3781 |
|
3782 |
|
3783 |
|
3784 |
|
3785 |
extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) throw (); |
3786 |
|
3787 |
|
3788 |
extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) throw (); |
3789 |
|
3790 |
|
3791 |
extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t * |
3792 |
__restrict __attr, |
3793 |
int *__restrict __pshared) throw (); |
3794 |
|
3795 |
|
3796 |
extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, |
3797 |
int __pshared) throw (); |
3798 |
|
3799 |
|
3800 |
|
3801 |
|
3802 |
|
3803 |
extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) |
3804 |
throw (); |
3805 |
|
3806 |
|
3807 |
extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__restrict |
3808 |
__attr, int *__restrict __kind) throw (); |
3809 |
|
3810 |
|
3811 |
|
3812 |
|
3813 |
|
3814 |
|
3815 |
|
3816 |
extern int pthread_cond_init (pthread_cond_t *__restrict __cond, |
3817 |
__const pthread_condattr_t *__restrict |
3818 |
__cond_attr) throw (); |
3819 |
|
3820 |
|
3821 |
extern int pthread_cond_destroy (pthread_cond_t *__cond) throw (); |
3822 |
|
3823 |
|
3824 |
extern int pthread_cond_signal (pthread_cond_t *__cond) throw (); |
3825 |
|
3826 |
|
3827 |
extern int pthread_cond_broadcast (pthread_cond_t *__cond) throw (); |
3828 |
|
3829 |
|
3830 |
|
3831 |
extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, |
3832 |
pthread_mutex_t *__restrict __mutex); |
3833 |
|
3834 |
|
3835 |
|
3836 |
|
3837 |
|
3838 |
extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, |
3839 |
pthread_mutex_t *__restrict __mutex, |
3840 |
__const struct timespec *__restrict |
3841 |
__abstime); |
3842 |
|
3843 |
|
3844 |
|
3845 |
|
3846 |
extern int pthread_condattr_init (pthread_condattr_t *__attr) throw (); |
3847 |
|
3848 |
|
3849 |
extern int pthread_condattr_destroy (pthread_condattr_t *__attr) throw (); |
3850 |
|
3851 |
|
3852 |
extern int pthread_condattr_getpshared (__const pthread_condattr_t * |
3853 |
__restrict __attr, |
3854 |
int *__restrict __pshared) throw (); |
3855 |
|
3856 |
|
3857 |
extern int pthread_condattr_setpshared (pthread_condattr_t *__attr, |
3858 |
int __pshared) throw (); |
3859 |
|
3860 |
|
3861 |
|
3862 |
|
3863 |
|
3864 |
|
3865 |
|
3866 |
extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, |
3867 |
__const pthread_rwlockattr_t *__restrict |
3868 |
__attr) throw (); |
3869 |
|
3870 |
|
3871 |
extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) throw (); |
3872 |
|
3873 |
|
3874 |
extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) throw (); |
3875 |
|
3876 |
|
3877 |
extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) throw (); |
3878 |
|
3879 |
|
3880 |
|
3881 |
extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, |
3882 |
__const struct timespec *__restrict |
3883 |
__abstime) throw (); |
3884 |
|
3885 |
|
3886 |
|
3887 |
extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) throw (); |
3888 |
|
3889 |
|
3890 |
extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) throw (); |
3891 |
|
3892 |
|
3893 |
|
3894 |
extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, |
3895 |
__const struct timespec *__restrict |
3896 |
__abstime) throw (); |
3897 |
|
3898 |
|
3899 |
|
3900 |
extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) throw (); |
3901 |
|
3902 |
|
3903 |
|
3904 |
|
3905 |
|
3906 |
extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) throw (); |
3907 |
|
3908 |
|
3909 |
extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) throw (); |
3910 |
|
3911 |
|
3912 |
extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t * |
3913 |
__restrict __attr, |
3914 |
int *__restrict __pshared) throw (); |
3915 |
|
3916 |
|
3917 |
extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, |
3918 |
int __pshared) throw (); |
3919 |
|
3920 |
|
3921 |
extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t *__attr, |
3922 |
int *__pref) throw (); |
3923 |
|
3924 |
|
3925 |
extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, |
3926 |
int __pref) throw (); |
3927 |
# 510 "/usr/include/pthread.h" 3 4 |
3928 |
extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared) |
3929 |
throw (); |
3930 |
|
3931 |
|
3932 |
extern int pthread_spin_destroy (pthread_spinlock_t *__lock) throw (); |
3933 |
|
3934 |
|
3935 |
extern int pthread_spin_lock (pthread_spinlock_t *__lock) throw (); |
3936 |
|
3937 |
|
3938 |
extern int pthread_spin_trylock (pthread_spinlock_t *__lock) throw (); |
3939 |
|
3940 |
|
3941 |
extern int pthread_spin_unlock (pthread_spinlock_t *__lock) throw (); |
3942 |
|
3943 |
|
3944 |
|
3945 |
|
3946 |
extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier, |
3947 |
__const pthread_barrierattr_t *__restrict |
3948 |
__attr, unsigned int __count) throw (); |
3949 |
|
3950 |
extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) throw (); |
3951 |
|
3952 |
extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) throw (); |
3953 |
|
3954 |
extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) throw (); |
3955 |
|
3956 |
extern int pthread_barrierattr_getpshared (__const pthread_barrierattr_t * |
3957 |
__restrict __attr, |
3958 |
int *__restrict __pshared) throw (); |
3959 |
|
3960 |
extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, |
3961 |
int __pshared) throw (); |
3962 |
|
3963 |
extern int pthread_barrier_wait (pthread_barrier_t *__barrier) throw (); |
3964 |
# 557 "/usr/include/pthread.h" 3 4 |
3965 |
extern int pthread_key_create (pthread_key_t *__key, |
3966 |
void (*__destr_function) (void *)) throw (); |
3967 |
|
3968 |
|
3969 |
extern int pthread_key_delete (pthread_key_t __key) throw (); |
3970 |
|
3971 |
|
3972 |
extern int pthread_setspecific (pthread_key_t __key, |
3973 |
__const void *__pointer) throw (); |
3974 |
|
3975 |
|
3976 |
extern void *pthread_getspecific (pthread_key_t __key) throw (); |
3977 |
# 580 "/usr/include/pthread.h" 3 4 |
3978 |
extern int pthread_once (pthread_once_t *__once_control, |
3979 |
void (*__init_routine) (void)); |
3980 |
|
3981 |
|
3982 |
|
3983 |
|
3984 |
|
3985 |
|
3986 |
extern int pthread_setcancelstate (int __state, int *__oldstate); |
3987 |
|
3988 |
|
3989 |
|
3990 |
extern int pthread_setcanceltype (int __type, int *__oldtype); |
3991 |
|
3992 |
|
3993 |
extern int pthread_cancel (pthread_t __cancelthread); |
3994 |
|
3995 |
|
3996 |
|
3997 |
|
3998 |
extern void pthread_testcancel (void); |
3999 |
# 614 "/usr/include/pthread.h" 3 4 |
4000 |
extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *__buffer, |
4001 |
void (*__routine) (void *), |
4002 |
void *__arg) throw (); |
4003 |
|
4004 |
|
4005 |
|
4006 |
|
4007 |
|
4008 |
|
4009 |
|
4010 |
extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer, |
4011 |
int __execute) throw (); |
4012 |
# 635 "/usr/include/pthread.h" 3 4 |
4013 |
extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *__buffer, |
4014 |
void (*__routine) (void *), |
4015 |
void *__arg) throw (); |
4016 |
# 646 "/usr/include/pthread.h" 3 4 |
4017 |
extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *__buffer, |
4018 |
int __execute) throw (); |
4019 |
|
4020 |
|
4021 |
|
4022 |
|
4023 |
|
4024 |
extern int pthread_getcpuclockid (pthread_t __thread_id, |
4025 |
__clockid_t *__clock_id) throw (); |
4026 |
|
4027 |
|
4028 |
|
4029 |
|
4030 |
# 1 "/usr/include/bits/sigthread.h" 1 3 4 |
4031 |
# 31 "/usr/include/bits/sigthread.h" 3 4 |
4032 |
extern int pthread_sigmask (int __how, |
4033 |
__const __sigset_t *__restrict __newmask, |
4034 |
__sigset_t *__restrict __oldmask)throw (); |
4035 |
|
4036 |
|
4037 |
extern int pthread_kill (pthread_t __threadid, int __signo) throw (); |
4038 |
# 660 "/usr/include/pthread.h" 2 3 4 |
4039 |
# 675 "/usr/include/pthread.h" 3 4 |
4040 |
extern int pthread_atfork (void (*__prepare) (void), |
4041 |
void (*__parent) (void), |
4042 |
void (*__child) (void)) throw (); |
4043 |
|
4044 |
|
4045 |
|
4046 |
|
4047 |
extern void pthread_kill_other_threads_np (void) throw (); |
4048 |
|
4049 |
} |
4050 |
# 44 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/gthr-default.h" 2 3 |
4051 |
# 1 "/usr/include/unistd.h" 1 3 4 |
4052 |
# 28 "/usr/include/unistd.h" 3 4 |
4053 |
extern "C" { |
4054 |
# 171 "/usr/include/unistd.h" 3 4 |
4055 |
# 1 "/usr/include/bits/posix_opt.h" 1 3 4 |
4056 |
# 172 "/usr/include/unistd.h" 2 3 4 |
4057 |
|
4058 |
|
4059 |
|
4060 |
# 1 "/usr/include/bits/environments.h" 1 3 4 |
4061 |
# 176 "/usr/include/unistd.h" 2 3 4 |
4062 |
# 189 "/usr/include/unistd.h" 3 4 |
4063 |
typedef __ssize_t ssize_t; |
4064 |
|
4065 |
|
4066 |
|
4067 |
|
4068 |
|
4069 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 1 3 4 |
4070 |
# 196 "/usr/include/unistd.h" 2 3 4 |
4071 |
|
4072 |
|
4073 |
|
4074 |
|
4075 |
|
4076 |
typedef __gid_t gid_t; |
4077 |
|
4078 |
|
4079 |
|
4080 |
|
4081 |
typedef __uid_t uid_t; |
4082 |
|
4083 |
|
4084 |
|
4085 |
|
4086 |
|
4087 |
typedef __off_t off_t; |
4088 |
|
4089 |
|
4090 |
|
4091 |
|
4092 |
|
4093 |
|
4094 |
typedef __off64_t off64_t; |
4095 |
|
4096 |
|
4097 |
|
4098 |
|
4099 |
typedef __useconds_t useconds_t; |
4100 |
# 236 "/usr/include/unistd.h" 3 4 |
4101 |
typedef __intptr_t intptr_t; |
4102 |
|
4103 |
|
4104 |
|
4105 |
|
4106 |
|
4107 |
|
4108 |
typedef __socklen_t socklen_t; |
4109 |
# 256 "/usr/include/unistd.h" 3 4 |
4110 |
extern int access (__const char *__name, int __type) throw () __attribute__ ((__nonnull__ (1))); |
4111 |
|
4112 |
|
4113 |
|
4114 |
|
4115 |
extern int euidaccess (__const char *__name, int __type) |
4116 |
throw () __attribute__ ((__nonnull__ (1))); |
4117 |
# 287 "/usr/include/unistd.h" 3 4 |
4118 |
extern __off_t lseek (int __fd, __off_t __offset, int __whence) throw (); |
4119 |
# 298 "/usr/include/unistd.h" 3 4 |
4120 |
extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) throw (); |
4121 |
|
4122 |
|
4123 |
|
4124 |
|
4125 |
|
4126 |
|
4127 |
extern int close (int __fd); |
4128 |
|
4129 |
|
4130 |
|
4131 |
|
4132 |
|
4133 |
|
4134 |
extern ssize_t read (int __fd, void *__buf, size_t __nbytes); |
4135 |
|
4136 |
|
4137 |
|
4138 |
|
4139 |
|
4140 |
extern ssize_t write (int __fd, __const void *__buf, size_t __n); |
4141 |
# 328 "/usr/include/unistd.h" 3 4 |
4142 |
extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, |
4143 |
__off_t __offset); |
4144 |
|
4145 |
|
4146 |
|
4147 |
|
4148 |
|
4149 |
|
4150 |
extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, |
4151 |
__off_t __offset); |
4152 |
# 356 "/usr/include/unistd.h" 3 4 |
4153 |
extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, |
4154 |
__off64_t __offset); |
4155 |
|
4156 |
|
4157 |
extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n, |
4158 |
__off64_t __offset); |
4159 |
|
4160 |
|
4161 |
|
4162 |
|
4163 |
|
4164 |
|
4165 |
|
4166 |
extern int pipe (int __pipedes[2]) throw (); |
4167 |
# 378 "/usr/include/unistd.h" 3 4 |
4168 |
extern unsigned int alarm (unsigned int __seconds) throw (); |
4169 |
# 390 "/usr/include/unistd.h" 3 4 |
4170 |
extern unsigned int sleep (unsigned int __seconds); |
4171 |
|
4172 |
|
4173 |
|
4174 |
|
4175 |
|
4176 |
|
4177 |
extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) |
4178 |
throw (); |
4179 |
|
4180 |
|
4181 |
|
4182 |
|
4183 |
|
4184 |
|
4185 |
extern int usleep (__useconds_t __useconds); |
4186 |
# 414 "/usr/include/unistd.h" 3 4 |
4187 |
extern int pause (void); |
4188 |
|
4189 |
|
4190 |
|
4191 |
extern int chown (__const char *__file, __uid_t __owner, __gid_t __group) |
4192 |
throw () __attribute__ ((__nonnull__ (1))); |
4193 |
|
4194 |
|
4195 |
|
4196 |
extern int fchown (int __fd, __uid_t __owner, __gid_t __group) throw (); |
4197 |
|
4198 |
|
4199 |
|
4200 |
|
4201 |
extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) |
4202 |
throw () __attribute__ ((__nonnull__ (1))); |
4203 |
|
4204 |
|
4205 |
|
4206 |
|
4207 |
extern int chdir (__const char *__path) throw () __attribute__ ((__nonnull__ (1))); |
4208 |
|
4209 |
|
4210 |
|
4211 |
extern int fchdir (int __fd) throw (); |
4212 |
# 448 "/usr/include/unistd.h" 3 4 |
4213 |
extern char *getcwd (char *__buf, size_t __size) throw (); |
4214 |
|
4215 |
|
4216 |
|
4217 |
|
4218 |
|
4219 |
extern char *get_current_dir_name (void) throw (); |
4220 |
|
4221 |
|
4222 |
|
4223 |
|
4224 |
|
4225 |
|
4226 |
extern char *getwd (char *__buf) throw () __attribute__ ((__nonnull__ (1))); |
4227 |
|
4228 |
|
4229 |
|
4230 |
|
4231 |
extern int dup (int __fd) throw (); |
4232 |
|
4233 |
|
4234 |
extern int dup2 (int __fd, int __fd2) throw (); |
4235 |
|
4236 |
|
4237 |
extern char **__environ; |
4238 |
|
4239 |
extern char **environ; |
4240 |
|
4241 |
|
4242 |
|
4243 |
|
4244 |
|
4245 |
extern int execve (__const char *__path, char *__const __argv[], |
4246 |
char *__const __envp[]) throw () __attribute__ ((__nonnull__ (1))); |
4247 |
|
4248 |
|
4249 |
|
4250 |
|
4251 |
extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[]) |
4252 |
throw (); |
4253 |
|
4254 |
|
4255 |
|
4256 |
|
4257 |
extern int execv (__const char *__path, char *__const __argv[]) |
4258 |
throw () __attribute__ ((__nonnull__ (1))); |
4259 |
|
4260 |
|
4261 |
|
4262 |
extern int execle (__const char *__path, __const char *__arg, ...) |
4263 |
throw () __attribute__ ((__nonnull__ (1))); |
4264 |
|
4265 |
|
4266 |
|
4267 |
extern int execl (__const char *__path, __const char *__arg, ...) |
4268 |
throw () __attribute__ ((__nonnull__ (1))); |
4269 |
|
4270 |
|
4271 |
|
4272 |
extern int execvp (__const char *__file, char *__const __argv[]) |
4273 |
throw () __attribute__ ((__nonnull__ (1))); |
4274 |
|
4275 |
|
4276 |
|
4277 |
|
4278 |
extern int execlp (__const char *__file, __const char *__arg, ...) |
4279 |
throw () __attribute__ ((__nonnull__ (1))); |
4280 |
|
4281 |
|
4282 |
|
4283 |
|
4284 |
extern int nice (int __inc) throw (); |
4285 |
|
4286 |
|
4287 |
|
4288 |
|
4289 |
extern void _exit (int __status) __attribute__ ((__noreturn__)); |
4290 |
|
4291 |
|
4292 |
|
4293 |
|
4294 |
|
4295 |
# 1 "/usr/include/bits/confname.h" 1 3 4 |
4296 |
# 26 "/usr/include/bits/confname.h" 3 4 |
4297 |
enum |
4298 |
{ |
4299 |
_PC_LINK_MAX, |
4300 |
|
4301 |
_PC_MAX_CANON, |
4302 |
|
4303 |
_PC_MAX_INPUT, |
4304 |
|
4305 |
_PC_NAME_MAX, |
4306 |
|
4307 |
_PC_PATH_MAX, |
4308 |
|
4309 |
_PC_PIPE_BUF, |
4310 |
|
4311 |
_PC_CHOWN_RESTRICTED, |
4312 |
|
4313 |
_PC_NO_TRUNC, |
4314 |
|
4315 |
_PC_VDISABLE, |
4316 |
|
4317 |
_PC_SYNC_IO, |
4318 |
|
4319 |
_PC_ASYNC_IO, |
4320 |
|
4321 |
_PC_PRIO_IO, |
4322 |
|
4323 |
_PC_SOCK_MAXBUF, |
4324 |
|
4325 |
_PC_FILESIZEBITS, |
4326 |
|
4327 |
_PC_REC_INCR_XFER_SIZE, |
4328 |
|
4329 |
_PC_REC_MAX_XFER_SIZE, |
4330 |
|
4331 |
_PC_REC_MIN_XFER_SIZE, |
4332 |
|
4333 |
_PC_REC_XFER_ALIGN, |
4334 |
|
4335 |
_PC_ALLOC_SIZE_MIN, |
4336 |
|
4337 |
_PC_SYMLINK_MAX, |
4338 |
|
4339 |
_PC_2_SYMLINKS |
4340 |
|
4341 |
}; |
4342 |
|
4343 |
|
4344 |
enum |
4345 |
{ |
4346 |
_SC_ARG_MAX, |
4347 |
|
4348 |
_SC_CHILD_MAX, |
4349 |
|
4350 |
_SC_CLK_TCK, |
4351 |
|
4352 |
_SC_NGROUPS_MAX, |
4353 |
|
4354 |
_SC_OPEN_MAX, |
4355 |
|
4356 |
_SC_STREAM_MAX, |
4357 |
|
4358 |
_SC_TZNAME_MAX, |
4359 |
|
4360 |
_SC_JOB_CONTROL, |
4361 |
|
4362 |
_SC_SAVED_IDS, |
4363 |
|
4364 |
_SC_REALTIME_SIGNALS, |
4365 |
|
4366 |
_SC_PRIORITY_SCHEDULING, |
4367 |
|
4368 |
_SC_TIMERS, |
4369 |
|
4370 |
_SC_ASYNCHRONOUS_IO, |
4371 |
|
4372 |
_SC_PRIORITIZED_IO, |
4373 |
|
4374 |
_SC_SYNCHRONIZED_IO, |
4375 |
|
4376 |
_SC_FSYNC, |
4377 |
|
4378 |
_SC_MAPPED_FILES, |
4379 |
|
4380 |
_SC_MEMLOCK, |
4381 |
|
4382 |
_SC_MEMLOCK_RANGE, |
4383 |
|
4384 |
_SC_MEMORY_PROTECTION, |
4385 |
|
4386 |
_SC_MESSAGE_PASSING, |
4387 |
|
4388 |
_SC_SEMAPHORES, |
4389 |
|
4390 |
_SC_SHARED_MEMORY_OBJECTS, |
4391 |
|
4392 |
_SC_AIO_LISTIO_MAX, |
4393 |
|
4394 |
_SC_AIO_MAX, |
4395 |
|
4396 |
_SC_AIO_PRIO_DELTA_MAX, |
4397 |
|
4398 |
_SC_DELAYTIMER_MAX, |
4399 |
|
4400 |
_SC_MQ_OPEN_MAX, |
4401 |
|
4402 |
_SC_MQ_PRIO_MAX, |
4403 |
|
4404 |
_SC_VERSION, |
4405 |
|
4406 |
_SC_PAGESIZE, |
4407 |
|
4408 |
|
4409 |
_SC_RTSIG_MAX, |
4410 |
|
4411 |
_SC_SEM_NSEMS_MAX, |
4412 |
|
4413 |
_SC_SEM_VALUE_MAX, |
4414 |
|
4415 |
_SC_SIGQUEUE_MAX, |
4416 |
|
4417 |
_SC_TIMER_MAX, |
4418 |
|
4419 |
|
4420 |
|
4421 |
|
4422 |
_SC_BC_BASE_MAX, |
4423 |
|
4424 |
_SC_BC_DIM_MAX, |
4425 |
|
4426 |
_SC_BC_SCALE_MAX, |
4427 |
|
4428 |
_SC_BC_STRING_MAX, |
4429 |
|
4430 |
_SC_COLL_WEIGHTS_MAX, |
4431 |
|
4432 |
_SC_EQUIV_CLASS_MAX, |
4433 |
|
4434 |
_SC_EXPR_NEST_MAX, |
4435 |
|
4436 |
_SC_LINE_MAX, |
4437 |
|
4438 |
_SC_RE_DUP_MAX, |
4439 |
|
4440 |
_SC_CHARCLASS_NAME_MAX, |
4441 |
|
4442 |
|
4443 |
_SC_2_VERSION, |
4444 |
|
4445 |
_SC_2_C_BIND, |
4446 |
|
4447 |
_SC_2_C_DEV, |
4448 |
|
4449 |
_SC_2_FORT_DEV, |
4450 |
|
4451 |
_SC_2_FORT_RUN, |
4452 |
|
4453 |
_SC_2_SW_DEV, |
4454 |
|
4455 |
_SC_2_LOCALEDEF, |
4456 |
|
4457 |
|
4458 |
_SC_PII, |
4459 |
|
4460 |
_SC_PII_XTI, |
4461 |
|
4462 |
_SC_PII_SOCKET, |
4463 |
|
4464 |
_SC_PII_INTERNET, |
4465 |
|
4466 |
_SC_PII_OSI, |
4467 |
|
4468 |
_SC_POLL, |
4469 |
|
4470 |
_SC_SELECT, |
4471 |
|
4472 |
_SC_UIO_MAXIOV, |
4473 |
|
4474 |
_SC_IOV_MAX = _SC_UIO_MAXIOV, |
4475 |
|
4476 |
_SC_PII_INTERNET_STREAM, |
4477 |
|
4478 |
_SC_PII_INTERNET_DGRAM, |
4479 |
|
4480 |
_SC_PII_OSI_COTS, |
4481 |
|
4482 |
_SC_PII_OSI_CLTS, |
4483 |
|
4484 |
_SC_PII_OSI_M, |
4485 |
|
4486 |
_SC_T_IOV_MAX, |
4487 |
|
4488 |
|
4489 |
|
4490 |
_SC_THREADS, |
4491 |
|
4492 |
_SC_THREAD_SAFE_FUNCTIONS, |
4493 |
|
4494 |
_SC_GETGR_R_SIZE_MAX, |
4495 |
|
4496 |
_SC_GETPW_R_SIZE_MAX, |
4497 |
|
4498 |
_SC_LOGIN_NAME_MAX, |
4499 |
|
4500 |
_SC_TTY_NAME_MAX, |
4501 |
|
4502 |
_SC_THREAD_DESTRUCTOR_ITERATIONS, |
4503 |
|
4504 |
_SC_THREAD_KEYS_MAX, |
4505 |
|
4506 |
_SC_THREAD_STACK_MIN, |
4507 |
|
4508 |
_SC_THREAD_THREADS_MAX, |
4509 |
|
4510 |
_SC_THREAD_ATTR_STACKADDR, |
4511 |
|
4512 |
_SC_THREAD_ATTR_STACKSIZE, |
4513 |
|
4514 |
_SC_THREAD_PRIORITY_SCHEDULING, |
4515 |
|
4516 |
_SC_THREAD_PRIO_INHERIT, |
4517 |
|
4518 |
_SC_THREAD_PRIO_PROTECT, |
4519 |
|
4520 |
_SC_THREAD_PROCESS_SHARED, |
4521 |
|
4522 |
|
4523 |
_SC_NPROCESSORS_CONF, |
4524 |
|
4525 |
_SC_NPROCESSORS_ONLN, |
4526 |
|
4527 |
_SC_PHYS_PAGES, |
4528 |
|
4529 |
_SC_AVPHYS_PAGES, |
4530 |
|
4531 |
_SC_ATEXIT_MAX, |
4532 |
|
4533 |
_SC_PASS_MAX, |
4534 |
|
4535 |
|
4536 |
_SC_XOPEN_VERSION, |
4537 |
|
4538 |
_SC_XOPEN_XCU_VERSION, |
4539 |
|
4540 |
_SC_XOPEN_UNIX, |
4541 |
|
4542 |
_SC_XOPEN_CRYPT, |
4543 |
|
4544 |
_SC_XOPEN_ENH_I18N, |
4545 |
|
4546 |
_SC_XOPEN_SHM, |
4547 |
|
4548 |
|
4549 |
_SC_2_CHAR_TERM, |
4550 |
|
4551 |
_SC_2_C_VERSION, |
4552 |
|
4553 |
_SC_2_UPE, |
4554 |
|
4555 |
|
4556 |
_SC_XOPEN_XPG2, |
4557 |
|
4558 |
_SC_XOPEN_XPG3, |
4559 |
|
4560 |
_SC_XOPEN_XPG4, |
4561 |
|
4562 |
|
4563 |
_SC_CHAR_BIT, |
4564 |
|
4565 |
_SC_CHAR_MAX, |
4566 |
|
4567 |
_SC_CHAR_MIN, |
4568 |
|
4569 |
_SC_INT_MAX, |
4570 |
|
4571 |
_SC_INT_MIN, |
4572 |
|
4573 |
_SC_LONG_BIT, |
4574 |
|
4575 |
_SC_WORD_BIT, |
4576 |
|
4577 |
_SC_MB_LEN_MAX, |
4578 |
|
4579 |
_SC_NZERO, |
4580 |
|
4581 |
_SC_SSIZE_MAX, |
4582 |
|
4583 |
_SC_SCHAR_MAX, |
4584 |
|
4585 |
_SC_SCHAR_MIN, |
4586 |
|
4587 |
_SC_SHRT_MAX, |
4588 |
|
4589 |
_SC_SHRT_MIN, |
4590 |
|
4591 |
_SC_UCHAR_MAX, |
4592 |
|
4593 |
_SC_UINT_MAX, |
4594 |
|
4595 |
_SC_ULONG_MAX, |
4596 |
|
4597 |
_SC_USHRT_MAX, |
4598 |
|
4599 |
|
4600 |
_SC_NL_ARGMAX, |
4601 |
|
4602 |
_SC_NL_LANGMAX, |
4603 |
|
4604 |
_SC_NL_MSGMAX, |
4605 |
|
4606 |
_SC_NL_NMAX, |
4607 |
|
4608 |
_SC_NL_SETMAX, |
4609 |
|
4610 |
_SC_NL_TEXTMAX, |
4611 |
|
4612 |
|
4613 |
_SC_XBS5_ILP32_OFF32, |
4614 |
|
4615 |
_SC_XBS5_ILP32_OFFBIG, |
4616 |
|
4617 |
_SC_XBS5_LP64_OFF64, |
4618 |
|
4619 |
_SC_XBS5_LPBIG_OFFBIG, |
4620 |
|
4621 |
|
4622 |
_SC_XOPEN_LEGACY, |
4623 |
|
4624 |
_SC_XOPEN_REALTIME, |
4625 |
|
4626 |
_SC_XOPEN_REALTIME_THREADS, |
4627 |
|
4628 |
|
4629 |
_SC_ADVISORY_INFO, |
4630 |
|
4631 |
_SC_BARRIERS, |
4632 |
|
4633 |
_SC_BASE, |
4634 |
|
4635 |
_SC_C_LANG_SUPPORT, |
4636 |
|
4637 |
_SC_C_LANG_SUPPORT_R, |
4638 |
|
4639 |
_SC_CLOCK_SELECTION, |
4640 |
|
4641 |
_SC_CPUTIME, |
4642 |
|
4643 |
_SC_THREAD_CPUTIME, |
4644 |
|
4645 |
_SC_DEVICE_IO, |
4646 |
|
4647 |
_SC_DEVICE_SPECIFIC, |
4648 |
|
4649 |
_SC_DEVICE_SPECIFIC_R, |
4650 |
|
4651 |
_SC_FD_MGMT, |
4652 |
|
4653 |
_SC_FIFO, |
4654 |
|
4655 |
_SC_PIPE, |
4656 |
|
4657 |
_SC_FILE_ATTRIBUTES, |
4658 |
|
4659 |
_SC_FILE_LOCKING, |
4660 |
|
4661 |
_SC_FILE_SYSTEM, |
4662 |
|
4663 |
_SC_MONOTONIC_CLOCK, |
4664 |
|
4665 |
_SC_MULTI_PROCESS, |
4666 |
|
4667 |
_SC_SINGLE_PROCESS, |
4668 |
|
4669 |
_SC_NETWORKING, |
4670 |
|
4671 |
_SC_READER_WRITER_LOCKS, |
4672 |
|
4673 |
_SC_SPIN_LOCKS, |
4674 |
|
4675 |
_SC_REGEXP, |
4676 |
|
4677 |
_SC_REGEX_VERSION, |
4678 |
|
4679 |
_SC_SHELL, |
4680 |
|
4681 |
_SC_SIGNALS, |
4682 |
|
4683 |
_SC_SPAWN, |
4684 |
|
4685 |
_SC_SPORADIC_SERVER, |
4686 |
|
4687 |
_SC_THREAD_SPORADIC_SERVER, |
4688 |
|
4689 |
_SC_SYSTEM_DATABASE, |
4690 |
|
4691 |
_SC_SYSTEM_DATABASE_R, |
4692 |
|
4693 |
_SC_TIMEOUTS, |
4694 |
|
4695 |
_SC_TYPED_MEMORY_OBJECTS, |
4696 |
|
4697 |
_SC_USER_GROUPS, |
4698 |
|
4699 |
_SC_USER_GROUPS_R, |
4700 |
|
4701 |
_SC_2_PBS, |
4702 |
|
4703 |
_SC_2_PBS_ACCOUNTING, |
4704 |
|
4705 |
_SC_2_PBS_LOCATE, |
4706 |
|
4707 |
_SC_2_PBS_MESSAGE, |
4708 |
|
4709 |
_SC_2_PBS_TRACK, |
4710 |
|
4711 |
_SC_SYMLOOP_MAX, |
4712 |
|
4713 |
_SC_STREAMS, |
4714 |
|
4715 |
_SC_2_PBS_CHECKPOINT, |
4716 |
|
4717 |
|
4718 |
_SC_V6_ILP32_OFF32, |
4719 |
|
4720 |
_SC_V6_ILP32_OFFBIG, |
4721 |
|
4722 |
_SC_V6_LP64_OFF64, |
4723 |
|
4724 |
_SC_V6_LPBIG_OFFBIG, |
4725 |
|
4726 |
|
4727 |
_SC_HOST_NAME_MAX, |
4728 |
|
4729 |
_SC_TRACE, |
4730 |
|
4731 |
_SC_TRACE_EVENT_FILTER, |
4732 |
|
4733 |
_SC_TRACE_INHERIT, |
4734 |
|
4735 |
_SC_TRACE_LOG, |
4736 |
|
4737 |
|
4738 |
_SC_LEVEL1_ICACHE_SIZE, |
4739 |
|
4740 |
_SC_LEVEL1_ICACHE_ASSOC, |
4741 |
|
4742 |
_SC_LEVEL1_ICACHE_LINESIZE, |
4743 |
|
4744 |
_SC_LEVEL1_DCACHE_SIZE, |
4745 |
|
4746 |
_SC_LEVEL1_DCACHE_ASSOC, |
4747 |
|
4748 |
_SC_LEVEL1_DCACHE_LINESIZE, |
4749 |
|
4750 |
_SC_LEVEL2_CACHE_SIZE, |
4751 |
|
4752 |
_SC_LEVEL2_CACHE_ASSOC, |
4753 |
|
4754 |
_SC_LEVEL2_CACHE_LINESIZE, |
4755 |
|
4756 |
_SC_LEVEL3_CACHE_SIZE, |
4757 |
|
4758 |
_SC_LEVEL3_CACHE_ASSOC, |
4759 |
|
4760 |
_SC_LEVEL3_CACHE_LINESIZE, |
4761 |
|
4762 |
_SC_LEVEL4_CACHE_SIZE, |
4763 |
|
4764 |
_SC_LEVEL4_CACHE_ASSOC, |
4765 |
|
4766 |
_SC_LEVEL4_CACHE_LINESIZE, |
4767 |
|
4768 |
|
4769 |
|
4770 |
_SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, |
4771 |
|
4772 |
_SC_RAW_SOCKETS |
4773 |
|
4774 |
}; |
4775 |
|
4776 |
|
4777 |
enum |
4778 |
{ |
4779 |
_CS_PATH, |
4780 |
|
4781 |
|
4782 |
_CS_V6_WIDTH_RESTRICTED_ENVS, |
4783 |
|
4784 |
|
4785 |
_CS_GNU_LIBC_VERSION, |
4786 |
|
4787 |
_CS_GNU_LIBPTHREAD_VERSION, |
4788 |
|
4789 |
|
4790 |
_CS_LFS_CFLAGS = 1000, |
4791 |
|
4792 |
_CS_LFS_LDFLAGS, |
4793 |
|
4794 |
_CS_LFS_LIBS, |
4795 |
|
4796 |
_CS_LFS_LINTFLAGS, |
4797 |
|
4798 |
_CS_LFS64_CFLAGS, |
4799 |
|
4800 |
_CS_LFS64_LDFLAGS, |
4801 |
|
4802 |
_CS_LFS64_LIBS, |
4803 |
|
4804 |
_CS_LFS64_LINTFLAGS, |
4805 |
|
4806 |
|
4807 |
_CS_XBS5_ILP32_OFF32_CFLAGS = 1100, |
4808 |
|
4809 |
_CS_XBS5_ILP32_OFF32_LDFLAGS, |
4810 |
|
4811 |
_CS_XBS5_ILP32_OFF32_LIBS, |
4812 |
|
4813 |
_CS_XBS5_ILP32_OFF32_LINTFLAGS, |
4814 |
|
4815 |
_CS_XBS5_ILP32_OFFBIG_CFLAGS, |
4816 |
|
4817 |
_CS_XBS5_ILP32_OFFBIG_LDFLAGS, |
4818 |
|
4819 |
_CS_XBS5_ILP32_OFFBIG_LIBS, |
4820 |
|
4821 |
_CS_XBS5_ILP32_OFFBIG_LINTFLAGS, |
4822 |
|
4823 |
_CS_XBS5_LP64_OFF64_CFLAGS, |
4824 |
|
4825 |
_CS_XBS5_LP64_OFF64_LDFLAGS, |
4826 |
|
4827 |
_CS_XBS5_LP64_OFF64_LIBS, |
4828 |
|
4829 |
_CS_XBS5_LP64_OFF64_LINTFLAGS, |
4830 |
|
4831 |
_CS_XBS5_LPBIG_OFFBIG_CFLAGS, |
4832 |
|
4833 |
_CS_XBS5_LPBIG_OFFBIG_LDFLAGS, |
4834 |
|
4835 |
_CS_XBS5_LPBIG_OFFBIG_LIBS, |
4836 |
|
4837 |
_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, |
4838 |
|
4839 |
|
4840 |
_CS_POSIX_V6_ILP32_OFF32_CFLAGS, |
4841 |
|
4842 |
_CS_POSIX_V6_ILP32_OFF32_LDFLAGS, |
4843 |
|
4844 |
_CS_POSIX_V6_ILP32_OFF32_LIBS, |
4845 |
|
4846 |
_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, |
4847 |
|
4848 |
_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, |
4849 |
|
4850 |
_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, |
4851 |
|
4852 |
_CS_POSIX_V6_ILP32_OFFBIG_LIBS, |
4853 |
|
4854 |
_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, |
4855 |
|
4856 |
_CS_POSIX_V6_LP64_OFF64_CFLAGS, |
4857 |
|
4858 |
_CS_POSIX_V6_LP64_OFF64_LDFLAGS, |
4859 |
|
4860 |
_CS_POSIX_V6_LP64_OFF64_LIBS, |
4861 |
|
4862 |
_CS_POSIX_V6_LP64_OFF64_LINTFLAGS, |
4863 |
|
4864 |
_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, |
4865 |
|
4866 |
_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, |
4867 |
|
4868 |
_CS_POSIX_V6_LPBIG_OFFBIG_LIBS, |
4869 |
|
4870 |
_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS |
4871 |
|
4872 |
}; |
4873 |
# 531 "/usr/include/unistd.h" 2 3 4 |
4874 |
|
4875 |
|
4876 |
extern long int pathconf (__const char *__path, int __name) |
4877 |
throw () __attribute__ ((__nonnull__ (1))); |
4878 |
|
4879 |
|
4880 |
extern long int fpathconf (int __fd, int __name) throw (); |
4881 |
|
4882 |
|
4883 |
extern long int sysconf (int __name) throw () __attribute__ ((__const__)); |
4884 |
|
4885 |
|
4886 |
|
4887 |
extern size_t confstr (int __name, char *__buf, size_t __len) throw (); |
4888 |
|
4889 |
|
4890 |
|
4891 |
|
4892 |
extern __pid_t getpid (void) throw (); |
4893 |
|
4894 |
|
4895 |
extern __pid_t getppid (void) throw (); |
4896 |
|
4897 |
|
4898 |
|
4899 |
|
4900 |
extern __pid_t getpgrp (void) throw (); |
4901 |
# 567 "/usr/include/unistd.h" 3 4 |
4902 |
extern __pid_t __getpgid (__pid_t __pid) throw (); |
4903 |
|
4904 |
extern __pid_t getpgid (__pid_t __pid) throw (); |
4905 |
|
4906 |
|
4907 |
|
4908 |
|
4909 |
|
4910 |
|
4911 |
extern int setpgid (__pid_t __pid, __pid_t __pgid) throw (); |
4912 |
# 593 "/usr/include/unistd.h" 3 4 |
4913 |
extern int setpgrp (void) throw (); |
4914 |
# 610 "/usr/include/unistd.h" 3 4 |
4915 |
extern __pid_t setsid (void) throw (); |
4916 |
|
4917 |
|
4918 |
|
4919 |
extern __pid_t getsid (__pid_t __pid) throw (); |
4920 |
|
4921 |
|
4922 |
|
4923 |
extern __uid_t getuid (void) throw (); |
4924 |
|
4925 |
|
4926 |
extern __uid_t geteuid (void) throw (); |
4927 |
|
4928 |
|
4929 |
extern __gid_t getgid (void) throw (); |
4930 |
|
4931 |
|
4932 |
extern __gid_t getegid (void) throw (); |
4933 |
|
4934 |
|
4935 |
|
4936 |
|
4937 |
extern int getgroups (int __size, __gid_t __list[]) throw (); |
4938 |
|
4939 |
|
4940 |
|
4941 |
extern int group_member (__gid_t __gid) throw (); |
4942 |
|
4943 |
|
4944 |
|
4945 |
|
4946 |
|
4947 |
|
4948 |
extern int setuid (__uid_t __uid) throw (); |
4949 |
|
4950 |
|
4951 |
|
4952 |
|
4953 |
extern int setreuid (__uid_t __ruid, __uid_t __euid) throw (); |
4954 |
|
4955 |
|
4956 |
|
4957 |
|
4958 |
extern int seteuid (__uid_t __uid) throw (); |
4959 |
|
4960 |
|
4961 |
|
4962 |
|
4963 |
|
4964 |
|
4965 |
extern int setgid (__gid_t __gid) throw (); |
4966 |
|
4967 |
|
4968 |
|
4969 |
|
4970 |
extern int setregid (__gid_t __rgid, __gid_t __egid) throw (); |
4971 |
|
4972 |
|
4973 |
|
4974 |
|
4975 |
extern int setegid (__gid_t __gid) throw (); |
4976 |
|
4977 |
|
4978 |
|
4979 |
|
4980 |
|
4981 |
extern int getresuid (__uid_t *__euid, __uid_t *__ruid, __uid_t *__suid); |
4982 |
|
4983 |
|
4984 |
|
4985 |
extern int getresgid (__gid_t *__egid, __gid_t *__rgid, __gid_t *__sgid); |
4986 |
|
4987 |
|
4988 |
|
4989 |
extern int setresuid (__uid_t __euid, __uid_t __ruid, __uid_t __suid); |
4990 |
|
4991 |
|
4992 |
|
4993 |
extern int setresgid (__gid_t __egid, __gid_t __rgid, __gid_t __sgid); |
4994 |
|
4995 |
|
4996 |
|
4997 |
|
4998 |
|
4999 |
|
5000 |
extern __pid_t fork (void) throw (); |
5001 |
|
5002 |
|
5003 |
|
5004 |
|
5005 |
|
5006 |
|
5007 |
extern __pid_t vfork (void) throw (); |
5008 |
|
5009 |
|
5010 |
|
5011 |
|
5012 |
|
5013 |
extern char *ttyname (int __fd) throw (); |
5014 |
|
5015 |
|
5016 |
|
5017 |
extern int ttyname_r (int __fd, char *__buf, size_t __buflen) |
5018 |
throw () __attribute__ ((__nonnull__ (2))); |
5019 |
|
5020 |
|
5021 |
|
5022 |
extern int isatty (int __fd) throw (); |
5023 |
|
5024 |
|
5025 |
|
5026 |
|
5027 |
|
5028 |
extern int ttyslot (void) throw (); |
5029 |
|
5030 |
|
5031 |
|
5032 |
|
5033 |
extern int link (__const char *__from, __const char *__to) |
5034 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
5035 |
|
5036 |
|
5037 |
|
5038 |
extern int symlink (__const char *__from, __const char *__to) |
5039 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
5040 |
|
5041 |
|
5042 |
|
5043 |
|
5044 |
extern int readlink (__const char *__restrict __path, char *__restrict __buf, |
5045 |
size_t __len) throw () __attribute__ ((__nonnull__ (1, 2))); |
5046 |
|
5047 |
|
5048 |
|
5049 |
extern int unlink (__const char *__name) throw () __attribute__ ((__nonnull__ (1))); |
5050 |
|
5051 |
|
5052 |
extern int rmdir (__const char *__path) throw () __attribute__ ((__nonnull__ (1))); |
5053 |
|
5054 |
|
5055 |
|
5056 |
extern __pid_t tcgetpgrp (int __fd) throw (); |
5057 |
|
5058 |
|
5059 |
extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) throw (); |
5060 |
|
5061 |
|
5062 |
|
5063 |
|
5064 |
|
5065 |
|
5066 |
extern char *getlogin (void); |
5067 |
|
5068 |
|
5069 |
|
5070 |
|
5071 |
|
5072 |
|
5073 |
|
5074 |
extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1))); |
5075 |
|
5076 |
|
5077 |
|
5078 |
|
5079 |
extern int setlogin (__const char *__name) throw () __attribute__ ((__nonnull__ (1))); |
5080 |
# 783 "/usr/include/unistd.h" 3 4 |
5081 |
# 1 "/usr/include/getopt.h" 1 3 4 |
5082 |
# 50 "/usr/include/getopt.h" 3 4 |
5083 |
extern "C" { |
5084 |
# 59 "/usr/include/getopt.h" 3 4 |
5085 |
extern char *optarg; |
5086 |
# 73 "/usr/include/getopt.h" 3 4 |
5087 |
extern int optind; |
5088 |
|
5089 |
|
5090 |
|
5091 |
|
5092 |
extern int opterr; |
5093 |
|
5094 |
|
5095 |
|
5096 |
extern int optopt; |
5097 |
# 152 "/usr/include/getopt.h" 3 4 |
5098 |
extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) |
5099 |
throw (); |
5100 |
# 171 "/usr/include/getopt.h" 3 4 |
5101 |
} |
5102 |
# 784 "/usr/include/unistd.h" 2 3 4 |
5103 |
|
5104 |
|
5105 |
|
5106 |
|
5107 |
|
5108 |
|
5109 |
|
5110 |
extern int gethostname (char *__name, size_t __len) throw () __attribute__ ((__nonnull__ (1))); |
5111 |
|
5112 |
|
5113 |
|
5114 |
|
5115 |
|
5116 |
|
5117 |
extern int sethostname (__const char *__name, size_t __len) |
5118 |
throw () __attribute__ ((__nonnull__ (1))); |
5119 |
|
5120 |
|
5121 |
|
5122 |
extern int sethostid (long int __id) throw (); |
5123 |
|
5124 |
|
5125 |
|
5126 |
|
5127 |
|
5128 |
extern int getdomainname (char *__name, size_t __len) |
5129 |
throw () __attribute__ ((__nonnull__ (1))); |
5130 |
extern int setdomainname (__const char *__name, size_t __len) |
5131 |
throw () __attribute__ ((__nonnull__ (1))); |
5132 |
|
5133 |
|
5134 |
|
5135 |
|
5136 |
|
5137 |
extern int vhangup (void) throw (); |
5138 |
|
5139 |
|
5140 |
extern int revoke (__const char *__file) throw () __attribute__ ((__nonnull__ (1))); |
5141 |
|
5142 |
|
5143 |
|
5144 |
|
5145 |
|
5146 |
|
5147 |
|
5148 |
extern int profil (unsigned short int *__sample_buffer, size_t __size, |
5149 |
size_t __offset, unsigned int __scale) |
5150 |
throw () __attribute__ ((__nonnull__ (1))); |
5151 |
|
5152 |
|
5153 |
|
5154 |
|
5155 |
|
5156 |
extern int acct (__const char *__name) throw (); |
5157 |
|
5158 |
|
5159 |
|
5160 |
extern char *getusershell (void) throw (); |
5161 |
extern void endusershell (void) throw (); |
5162 |
extern void setusershell (void) throw (); |
5163 |
|
5164 |
|
5165 |
|
5166 |
|
5167 |
|
5168 |
extern int daemon (int __nochdir, int __noclose) throw (); |
5169 |
|
5170 |
|
5171 |
|
5172 |
|
5173 |
|
5174 |
|
5175 |
extern int chroot (__const char *__path) throw () __attribute__ ((__nonnull__ (1))); |
5176 |
|
5177 |
|
5178 |
|
5179 |
extern char *getpass (__const char *__prompt) __attribute__ ((__nonnull__ (1))); |
5180 |
# 869 "/usr/include/unistd.h" 3 4 |
5181 |
extern int fsync (int __fd); |
5182 |
|
5183 |
|
5184 |
|
5185 |
|
5186 |
|
5187 |
|
5188 |
extern long int gethostid (void); |
5189 |
|
5190 |
|
5191 |
extern void sync (void) throw (); |
5192 |
|
5193 |
|
5194 |
|
5195 |
|
5196 |
extern int getpagesize (void) throw () __attribute__ ((__const__)); |
5197 |
|
5198 |
|
5199 |
|
5200 |
|
5201 |
extern int getdtablesize (void) throw (); |
5202 |
|
5203 |
|
5204 |
|
5205 |
|
5206 |
extern int truncate (__const char *__file, __off_t __length) |
5207 |
throw () __attribute__ ((__nonnull__ (1))); |
5208 |
# 906 "/usr/include/unistd.h" 3 4 |
5209 |
extern int truncate64 (__const char *__file, __off64_t __length) |
5210 |
throw () __attribute__ ((__nonnull__ (1))); |
5211 |
# 916 "/usr/include/unistd.h" 3 4 |
5212 |
extern int ftruncate (int __fd, __off_t __length) throw (); |
5213 |
# 926 "/usr/include/unistd.h" 3 4 |
5214 |
extern int ftruncate64 (int __fd, __off64_t __length) throw (); |
5215 |
# 936 "/usr/include/unistd.h" 3 4 |
5216 |
extern int brk (void *__addr) throw (); |
5217 |
|
5218 |
|
5219 |
|
5220 |
|
5221 |
|
5222 |
extern void *sbrk (intptr_t __delta) throw (); |
5223 |
# 957 "/usr/include/unistd.h" 3 4 |
5224 |
extern long int syscall (long int __sysno, ...) throw (); |
5225 |
# 980 "/usr/include/unistd.h" 3 4 |
5226 |
extern int lockf (int __fd, int __cmd, __off_t __len); |
5227 |
# 990 "/usr/include/unistd.h" 3 4 |
5228 |
extern int lockf64 (int __fd, int __cmd, __off64_t __len); |
5229 |
# 1011 "/usr/include/unistd.h" 3 4 |
5230 |
extern int fdatasync (int __fildes) throw (); |
5231 |
|
5232 |
|
5233 |
|
5234 |
|
5235 |
|
5236 |
|
5237 |
|
5238 |
extern char *crypt (__const char *__key, __const char *__salt) |
5239 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
5240 |
|
5241 |
|
5242 |
|
5243 |
extern void encrypt (char *__block, int __edflag) throw () __attribute__ ((__nonnull__ (1))); |
5244 |
|
5245 |
|
5246 |
|
5247 |
|
5248 |
|
5249 |
|
5250 |
extern void swab (__const void *__restrict __from, void *__restrict __to, |
5251 |
ssize_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); |
5252 |
|
5253 |
|
5254 |
|
5255 |
|
5256 |
|
5257 |
|
5258 |
|
5259 |
extern char *ctermid (char *__s) throw (); |
5260 |
|
5261 |
|
5262 |
} |
5263 |
# 45 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/gthr-default.h" 2 3 |
5264 |
|
5265 |
typedef pthread_key_t __gthread_key_t; |
5266 |
typedef pthread_once_t __gthread_once_t; |
5267 |
typedef pthread_mutex_t __gthread_mutex_t; |
5268 |
typedef pthread_mutex_t __gthread_recursive_mutex_t; |
5269 |
# 68 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/gthr-default.h" 3 |
5270 |
extern __typeof(pthread_once) __gthrw_pthread_once __attribute__ ((__weakref__("pthread_once"))); |
5271 |
extern __typeof(pthread_key_create) __gthrw_pthread_key_create __attribute__ ((__weakref__("pthread_key_create"))); |
5272 |
extern __typeof(pthread_key_delete) __gthrw_pthread_key_delete __attribute__ ((__weakref__("pthread_key_delete"))); |
5273 |
extern __typeof(pthread_getspecific) __gthrw_pthread_getspecific __attribute__ ((__weakref__("pthread_getspecific"))); |
5274 |
extern __typeof(pthread_setspecific) __gthrw_pthread_setspecific __attribute__ ((__weakref__("pthread_setspecific"))); |
5275 |
extern __typeof(pthread_create) __gthrw_pthread_create __attribute__ ((__weakref__("pthread_create"))); |
5276 |
|
5277 |
extern __typeof(pthread_mutex_lock) __gthrw_pthread_mutex_lock __attribute__ ((__weakref__("pthread_mutex_lock"))); |
5278 |
extern __typeof(pthread_mutex_trylock) __gthrw_pthread_mutex_trylock __attribute__ ((__weakref__("pthread_mutex_trylock"))); |
5279 |
extern __typeof(pthread_mutex_unlock) __gthrw_pthread_mutex_unlock __attribute__ ((__weakref__("pthread_mutex_unlock"))); |
5280 |
extern __typeof(pthread_mutexattr_init) __gthrw_pthread_mutexattr_init __attribute__ ((__weakref__("pthread_mutexattr_init"))); |
5281 |
extern __typeof(pthread_mutexattr_settype) __gthrw_pthread_mutexattr_settype __attribute__ ((__weakref__("pthread_mutexattr_settype"))); |
5282 |
extern __typeof(pthread_mutexattr_destroy) __gthrw_pthread_mutexattr_destroy __attribute__ ((__weakref__("pthread_mutexattr_destroy"))); |
5283 |
|
5284 |
extern __typeof(pthread_mutex_init) __gthrw_pthread_mutex_init __attribute__ ((__weakref__("pthread_mutex_init"))); |
5285 |
# 200 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/gthr-default.h" 3 |
5286 |
static inline int |
5287 |
__gthread_active_p (void) |
5288 |
{ |
5289 |
static void *const __gthread_active_ptr = (void *) &__gthrw_pthread_create; |
5290 |
return __gthread_active_ptr != 0; |
5291 |
} |
5292 |
# 562 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/gthr-default.h" 3 |
5293 |
static inline int |
5294 |
__gthread_once (__gthread_once_t *once, void (*func) (void)) |
5295 |
{ |
5296 |
if (__gthread_active_p ()) |
5297 |
return __gthrw_pthread_once (once, func); |
5298 |
else |
5299 |
return -1; |
5300 |
} |
5301 |
|
5302 |
static inline int |
5303 |
__gthread_key_create (__gthread_key_t *key, void (*dtor) (void *)) |
5304 |
{ |
5305 |
return __gthrw_pthread_key_create (key, dtor); |
5306 |
} |
5307 |
|
5308 |
static inline int |
5309 |
__gthread_key_delete (__gthread_key_t key) |
5310 |
{ |
5311 |
return __gthrw_pthread_key_delete (key); |
5312 |
} |
5313 |
|
5314 |
static inline void * |
5315 |
__gthread_getspecific (__gthread_key_t key) |
5316 |
{ |
5317 |
return __gthrw_pthread_getspecific (key); |
5318 |
} |
5319 |
|
5320 |
static inline int |
5321 |
__gthread_setspecific (__gthread_key_t key, const void *ptr) |
5322 |
{ |
5323 |
return __gthrw_pthread_setspecific (key, ptr); |
5324 |
} |
5325 |
|
5326 |
static inline int |
5327 |
__gthread_mutex_lock (__gthread_mutex_t *mutex) |
5328 |
{ |
5329 |
if (__gthread_active_p ()) |
5330 |
return __gthrw_pthread_mutex_lock (mutex); |
5331 |
else |
5332 |
return 0; |
5333 |
} |
5334 |
|
5335 |
static inline int |
5336 |
__gthread_mutex_trylock (__gthread_mutex_t *mutex) |
5337 |
{ |
5338 |
if (__gthread_active_p ()) |
5339 |
return __gthrw_pthread_mutex_trylock (mutex); |
5340 |
else |
5341 |
return 0; |
5342 |
} |
5343 |
|
5344 |
static inline int |
5345 |
__gthread_mutex_unlock (__gthread_mutex_t *mutex) |
5346 |
{ |
5347 |
if (__gthread_active_p ()) |
5348 |
return __gthrw_pthread_mutex_unlock (mutex); |
5349 |
else |
5350 |
return 0; |
5351 |
} |
5352 |
# 643 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/gthr-default.h" 3 |
5353 |
static inline int |
5354 |
__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex) |
5355 |
{ |
5356 |
return __gthread_mutex_lock (mutex); |
5357 |
} |
5358 |
|
5359 |
static inline int |
5360 |
__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex) |
5361 |
{ |
5362 |
return __gthread_mutex_trylock (mutex); |
5363 |
} |
5364 |
|
5365 |
static inline int |
5366 |
__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex) |
5367 |
{ |
5368 |
return __gthread_mutex_unlock (mutex); |
5369 |
} |
5370 |
# 105 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/gthr.h" 2 3 |
5371 |
# 38 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++io.h" 2 3 |
5372 |
|
5373 |
namespace std |
5374 |
{ |
5375 |
typedef __gthread_mutex_t __c_lock; |
5376 |
|
5377 |
|
5378 |
typedef FILE __c_file; |
5379 |
|
5380 |
|
5381 |
|
5382 |
struct __ios_flags |
5383 |
{ |
5384 |
typedef short __int_type; |
5385 |
|
5386 |
static const __int_type _S_boolalpha = 0x0001; |
5387 |
static const __int_type _S_dec = 0x0002; |
5388 |
static const __int_type _S_fixed = 0x0004; |
5389 |
static const __int_type _S_hex = 0x0008; |
5390 |
static const __int_type _S_internal = 0x0010; |
5391 |
static const __int_type _S_left = 0x0020; |
5392 |
static const __int_type _S_oct = 0x0040; |
5393 |
static const __int_type _S_right = 0x0080; |
5394 |
static const __int_type _S_scientific = 0x0100; |
5395 |
static const __int_type _S_showbase = 0x0200; |
5396 |
static const __int_type _S_showpoint = 0x0400; |
5397 |
static const __int_type _S_showpos = 0x0800; |
5398 |
static const __int_type _S_skipws = 0x1000; |
5399 |
static const __int_type _S_unitbuf = 0x2000; |
5400 |
static const __int_type _S_uppercase = 0x4000; |
5401 |
static const __int_type _S_adjustfield = 0x0020 | 0x0080 | 0x0010; |
5402 |
static const __int_type _S_basefield = 0x0002 | 0x0040 | 0x0008; |
5403 |
static const __int_type _S_floatfield = 0x0100 | 0x0004; |
5404 |
|
5405 |
|
5406 |
static const __int_type _S_badbit = 0x01; |
5407 |
static const __int_type _S_eofbit = 0x02; |
5408 |
static const __int_type _S_failbit = 0x04; |
5409 |
|
5410 |
|
5411 |
static const __int_type _S_app = 0x01; |
5412 |
static const __int_type _S_ate = 0x02; |
5413 |
static const __int_type _S_bin = 0x04; |
5414 |
static const __int_type _S_in = 0x08; |
5415 |
static const __int_type _S_out = 0x10; |
5416 |
static const __int_type _S_trunc = 0x20; |
5417 |
}; |
5418 |
} |
5419 |
# 48 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/iosfwd" 2 3 |
5420 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cctype" 1 3 |
5421 |
# 46 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cctype" 3 |
5422 |
|
5423 |
# 47 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cctype" 3 |
5424 |
|
5425 |
|
5426 |
# 1 "/usr/include/ctype.h" 1 3 4 |
5427 |
# 30 "/usr/include/ctype.h" 3 4 |
5428 |
extern "C" { |
5429 |
# 41 "/usr/include/ctype.h" 3 4 |
5430 |
# 1 "/usr/include/endian.h" 1 3 4 |
5431 |
# 37 "/usr/include/endian.h" 3 4 |
5432 |
# 1 "/usr/include/bits/endian.h" 1 3 4 |
5433 |
# 38 "/usr/include/endian.h" 2 3 4 |
5434 |
# 42 "/usr/include/ctype.h" 2 3 4 |
5435 |
|
5436 |
|
5437 |
|
5438 |
|
5439 |
|
5440 |
|
5441 |
enum |
5442 |
{ |
5443 |
_ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), |
5444 |
_ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), |
5445 |
_ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), |
5446 |
_ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), |
5447 |
_ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), |
5448 |
_ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), |
5449 |
_ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), |
5450 |
_ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), |
5451 |
_ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), |
5452 |
_IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), |
5453 |
_ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), |
5454 |
_ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) |
5455 |
}; |
5456 |
# 81 "/usr/include/ctype.h" 3 4 |
5457 |
extern __const unsigned short int **__ctype_b_loc (void) |
5458 |
__attribute__ ((__const)); |
5459 |
extern __const __int32_t **__ctype_tolower_loc (void) |
5460 |
__attribute__ ((__const)); |
5461 |
extern __const __int32_t **__ctype_toupper_loc (void) |
5462 |
__attribute__ ((__const)); |
5463 |
# 96 "/usr/include/ctype.h" 3 4 |
5464 |
|
5465 |
|
5466 |
|
5467 |
|
5468 |
|
5469 |
|
5470 |
extern int isalnum (int) throw (); |
5471 |
extern int isalpha (int) throw (); |
5472 |
extern int iscntrl (int) throw (); |
5473 |
extern int isdigit (int) throw (); |
5474 |
extern int islower (int) throw (); |
5475 |
extern int isgraph (int) throw (); |
5476 |
extern int isprint (int) throw (); |
5477 |
extern int ispunct (int) throw (); |
5478 |
extern int isspace (int) throw (); |
5479 |
extern int isupper (int) throw (); |
5480 |
extern int isxdigit (int) throw (); |
5481 |
|
5482 |
|
5483 |
|
5484 |
extern int tolower (int __c) throw (); |
5485 |
|
5486 |
|
5487 |
extern int toupper (int __c) throw (); |
5488 |
|
5489 |
|
5490 |
|
5491 |
|
5492 |
|
5493 |
|
5494 |
|
5495 |
|
5496 |
extern int isblank (int) throw (); |
5497 |
|
5498 |
|
5499 |
|
5500 |
|
5501 |
|
5502 |
|
5503 |
extern int isctype (int __c, int __mask) throw (); |
5504 |
|
5505 |
|
5506 |
|
5507 |
|
5508 |
|
5509 |
|
5510 |
extern int isascii (int __c) throw (); |
5511 |
|
5512 |
|
5513 |
|
5514 |
extern int toascii (int __c) throw (); |
5515 |
|
5516 |
|
5517 |
|
5518 |
extern int _toupper (int) throw (); |
5519 |
extern int _tolower (int) throw (); |
5520 |
# 247 "/usr/include/ctype.h" 3 4 |
5521 |
extern int isalnum_l (int, __locale_t) throw (); |
5522 |
extern int isalpha_l (int, __locale_t) throw (); |
5523 |
extern int iscntrl_l (int, __locale_t) throw (); |
5524 |
extern int isdigit_l (int, __locale_t) throw (); |
5525 |
extern int islower_l (int, __locale_t) throw (); |
5526 |
extern int isgraph_l (int, __locale_t) throw (); |
5527 |
extern int isprint_l (int, __locale_t) throw (); |
5528 |
extern int ispunct_l (int, __locale_t) throw (); |
5529 |
extern int isspace_l (int, __locale_t) throw (); |
5530 |
extern int isupper_l (int, __locale_t) throw (); |
5531 |
extern int isxdigit_l (int, __locale_t) throw (); |
5532 |
|
5533 |
extern int isblank_l (int, __locale_t) throw (); |
5534 |
|
5535 |
|
5536 |
|
5537 |
extern int __tolower_l (int __c, __locale_t __l) throw (); |
5538 |
extern int tolower_l (int __c, __locale_t __l) throw (); |
5539 |
|
5540 |
|
5541 |
extern int __toupper_l (int __c, __locale_t __l) throw (); |
5542 |
extern int toupper_l (int __c, __locale_t __l) throw (); |
5543 |
# 323 "/usr/include/ctype.h" 3 4 |
5544 |
} |
5545 |
# 50 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cctype" 2 3 |
5546 |
# 66 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cctype" 3 |
5547 |
namespace std |
5548 |
{ |
5549 |
using ::isalnum; |
5550 |
using ::isalpha; |
5551 |
using ::iscntrl; |
5552 |
using ::isdigit; |
5553 |
using ::isgraph; |
5554 |
using ::islower; |
5555 |
using ::isprint; |
5556 |
using ::ispunct; |
5557 |
using ::isspace; |
5558 |
using ::isupper; |
5559 |
using ::isxdigit; |
5560 |
using ::tolower; |
5561 |
using ::toupper; |
5562 |
} |
5563 |
# 49 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/iosfwd" 2 3 |
5564 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stringfwd.h" 1 3 |
5565 |
# 42 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stringfwd.h" 3 |
5566 |
|
5567 |
# 43 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stringfwd.h" 3 |
5568 |
|
5569 |
|
5570 |
|
5571 |
namespace std |
5572 |
{ |
5573 |
template<typename _Alloc> |
5574 |
class allocator; |
5575 |
|
5576 |
template<class _CharT> |
5577 |
struct char_traits; |
5578 |
|
5579 |
template<typename _CharT, typename _Traits = char_traits<_CharT>, |
5580 |
typename _Alloc = allocator<_CharT> > |
5581 |
class basic_string; |
5582 |
|
5583 |
template<> struct char_traits<char>; |
5584 |
|
5585 |
typedef basic_string<char> string; |
5586 |
|
5587 |
|
5588 |
template<> struct char_traits<wchar_t>; |
5589 |
|
5590 |
typedef basic_string<wchar_t> wstring; |
5591 |
|
5592 |
} |
5593 |
# 50 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/iosfwd" 2 3 |
5594 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/postypes.h" 1 3 |
5595 |
# 44 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/postypes.h" 3 |
5596 |
|
5597 |
# 45 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/postypes.h" 3 |
5598 |
|
5599 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cwchar" 1 3 |
5600 |
# 47 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cwchar" 3 |
5601 |
|
5602 |
# 48 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cwchar" 3 |
5603 |
|
5604 |
|
5605 |
|
5606 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/ctime" 1 3 |
5607 |
# 47 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/ctime" 3 |
5608 |
|
5609 |
# 48 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/ctime" 3 |
5610 |
# 64 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/ctime" 3 |
5611 |
namespace std |
5612 |
{ |
5613 |
using ::clock_t; |
5614 |
using ::time_t; |
5615 |
using ::tm; |
5616 |
|
5617 |
using ::clock; |
5618 |
using ::difftime; |
5619 |
using ::mktime; |
5620 |
using ::time; |
5621 |
using ::asctime; |
5622 |
using ::ctime; |
5623 |
using ::gmtime; |
5624 |
using ::localtime; |
5625 |
using ::strftime; |
5626 |
} |
5627 |
# 52 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cwchar" 2 3 |
5628 |
|
5629 |
|
5630 |
# 1 "/usr/include/wchar.h" 1 3 4 |
5631 |
# 40 "/usr/include/wchar.h" 3 4 |
5632 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stdarg.h" 1 3 4 |
5633 |
# 41 "/usr/include/wchar.h" 2 3 4 |
5634 |
|
5635 |
|
5636 |
|
5637 |
|
5638 |
|
5639 |
|
5640 |
|
5641 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 1 3 4 |
5642 |
# 49 "/usr/include/wchar.h" 2 3 4 |
5643 |
# 93 "/usr/include/wchar.h" 3 4 |
5644 |
|
5645 |
|
5646 |
typedef __mbstate_t mbstate_t; |
5647 |
|
5648 |
|
5649 |
|
5650 |
# 118 "/usr/include/wchar.h" 3 4 |
5651 |
extern "C" { |
5652 |
|
5653 |
|
5654 |
|
5655 |
|
5656 |
struct tm; |
5657 |
|
5658 |
|
5659 |
|
5660 |
|
5661 |
|
5662 |
|
5663 |
|
5664 |
|
5665 |
|
5666 |
extern wchar_t *wcscpy (wchar_t *__restrict __dest, |
5667 |
__const wchar_t *__restrict __src) throw (); |
5668 |
|
5669 |
extern wchar_t *wcsncpy (wchar_t *__restrict __dest, |
5670 |
__const wchar_t *__restrict __src, size_t __n) |
5671 |
throw (); |
5672 |
|
5673 |
|
5674 |
extern wchar_t *wcscat (wchar_t *__restrict __dest, |
5675 |
__const wchar_t *__restrict __src) throw (); |
5676 |
|
5677 |
extern wchar_t *wcsncat (wchar_t *__restrict __dest, |
5678 |
__const wchar_t *__restrict __src, size_t __n) |
5679 |
throw (); |
5680 |
|
5681 |
|
5682 |
extern int wcscmp (__const wchar_t *__s1, __const wchar_t *__s2) |
5683 |
throw () __attribute__ ((__pure__)); |
5684 |
|
5685 |
extern int wcsncmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n) |
5686 |
throw () __attribute__ ((__pure__)); |
5687 |
|
5688 |
|
5689 |
|
5690 |
|
5691 |
extern int wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2) throw (); |
5692 |
|
5693 |
|
5694 |
extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2, |
5695 |
size_t __n) throw (); |
5696 |
|
5697 |
|
5698 |
|
5699 |
|
5700 |
|
5701 |
extern int wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2, |
5702 |
__locale_t __loc) throw (); |
5703 |
|
5704 |
extern int wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2, |
5705 |
size_t __n, __locale_t __loc) throw (); |
5706 |
|
5707 |
|
5708 |
|
5709 |
|
5710 |
|
5711 |
extern int wcscoll (__const wchar_t *__s1, __const wchar_t *__s2) throw (); |
5712 |
|
5713 |
|
5714 |
|
5715 |
extern size_t wcsxfrm (wchar_t *__restrict __s1, |
5716 |
__const wchar_t *__restrict __s2, size_t __n) throw (); |
5717 |
|
5718 |
|
5719 |
|
5720 |
|
5721 |
|
5722 |
|
5723 |
|
5724 |
|
5725 |
extern int wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2, |
5726 |
__locale_t __loc) throw (); |
5727 |
|
5728 |
|
5729 |
|
5730 |
|
5731 |
extern size_t wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2, |
5732 |
size_t __n, __locale_t __loc) throw (); |
5733 |
|
5734 |
|
5735 |
extern wchar_t *wcsdup (__const wchar_t *__s) throw () __attribute__ ((__malloc__)); |
5736 |
|
5737 |
|
5738 |
|
5739 |
|
5740 |
extern wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc) |
5741 |
throw () __attribute__ ((__pure__)); |
5742 |
|
5743 |
extern wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc) |
5744 |
throw () __attribute__ ((__pure__)); |
5745 |
|
5746 |
|
5747 |
|
5748 |
|
5749 |
|
5750 |
extern wchar_t *wcschrnul (__const wchar_t *__s, wchar_t __wc) |
5751 |
throw () __attribute__ ((__pure__)); |
5752 |
|
5753 |
|
5754 |
|
5755 |
|
5756 |
|
5757 |
extern size_t wcscspn (__const wchar_t *__wcs, __const wchar_t *__reject) |
5758 |
throw () __attribute__ ((__pure__)); |
5759 |
|
5760 |
|
5761 |
extern size_t wcsspn (__const wchar_t *__wcs, __const wchar_t *__accept) |
5762 |
throw () __attribute__ ((__pure__)); |
5763 |
|
5764 |
extern wchar_t *wcspbrk (__const wchar_t *__wcs, __const wchar_t *__accept) |
5765 |
throw () __attribute__ ((__pure__)); |
5766 |
|
5767 |
extern wchar_t *wcsstr (__const wchar_t *__haystack, __const wchar_t *__needle) |
5768 |
throw () __attribute__ ((__pure__)); |
5769 |
|
5770 |
|
5771 |
extern wchar_t *wcstok (wchar_t *__restrict __s, |
5772 |
__const wchar_t *__restrict __delim, |
5773 |
wchar_t **__restrict __ptr) throw (); |
5774 |
|
5775 |
|
5776 |
extern size_t wcslen (__const wchar_t *__s) throw () __attribute__ ((__pure__)); |
5777 |
|
5778 |
|
5779 |
|
5780 |
|
5781 |
extern wchar_t *wcswcs (__const wchar_t *__haystack, __const wchar_t *__needle) |
5782 |
throw () __attribute__ ((__pure__)); |
5783 |
|
5784 |
|
5785 |
|
5786 |
|
5787 |
extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen) |
5788 |
throw () __attribute__ ((__pure__)); |
5789 |
|
5790 |
|
5791 |
|
5792 |
|
5793 |
|
5794 |
extern wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c, size_t __n) |
5795 |
throw () __attribute__ ((__pure__)); |
5796 |
|
5797 |
|
5798 |
extern int wmemcmp (__const wchar_t *__restrict __s1, |
5799 |
__const wchar_t *__restrict __s2, size_t __n) |
5800 |
throw () __attribute__ ((__pure__)); |
5801 |
|
5802 |
|
5803 |
extern wchar_t *wmemcpy (wchar_t *__restrict __s1, |
5804 |
__const wchar_t *__restrict __s2, size_t __n) throw (); |
5805 |
|
5806 |
|
5807 |
|
5808 |
extern wchar_t *wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n) |
5809 |
throw (); |
5810 |
|
5811 |
|
5812 |
extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw (); |
5813 |
|
5814 |
|
5815 |
|
5816 |
|
5817 |
|
5818 |
extern wchar_t *wmempcpy (wchar_t *__restrict __s1, |
5819 |
__const wchar_t *__restrict __s2, size_t __n) |
5820 |
throw (); |
5821 |
|
5822 |
|
5823 |
|
5824 |
|
5825 |
|
5826 |
|
5827 |
extern wint_t btowc (int __c) throw (); |
5828 |
|
5829 |
|
5830 |
|
5831 |
extern int wctob (wint_t __c) throw (); |
5832 |
|
5833 |
|
5834 |
|
5835 |
extern int mbsinit (__const mbstate_t *__ps) throw () __attribute__ ((__pure__)); |
5836 |
|
5837 |
|
5838 |
|
5839 |
extern size_t mbrtowc (wchar_t *__restrict __pwc, |
5840 |
__const char *__restrict __s, size_t __n, |
5841 |
mbstate_t *__p) throw (); |
5842 |
|
5843 |
|
5844 |
extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, |
5845 |
mbstate_t *__restrict __ps) throw (); |
5846 |
|
5847 |
|
5848 |
extern size_t __mbrlen (__const char *__restrict __s, size_t __n, |
5849 |
mbstate_t *__restrict __ps) throw (); |
5850 |
extern size_t mbrlen (__const char *__restrict __s, size_t __n, |
5851 |
mbstate_t *__restrict __ps) throw (); |
5852 |
|
5853 |
# 330 "/usr/include/wchar.h" 3 4 |
5854 |
|
5855 |
|
5856 |
|
5857 |
extern size_t mbsrtowcs (wchar_t *__restrict __dst, |
5858 |
__const char **__restrict __src, size_t __len, |
5859 |
mbstate_t *__restrict __ps) throw (); |
5860 |
|
5861 |
|
5862 |
|
5863 |
extern size_t wcsrtombs (char *__restrict __dst, |
5864 |
__const wchar_t **__restrict __src, size_t __len, |
5865 |
mbstate_t *__restrict __ps) throw (); |
5866 |
|
5867 |
|
5868 |
|
5869 |
|
5870 |
|
5871 |
|
5872 |
extern size_t mbsnrtowcs (wchar_t *__restrict __dst, |
5873 |
__const char **__restrict __src, size_t __nmc, |
5874 |
size_t __len, mbstate_t *__restrict __ps) throw (); |
5875 |
|
5876 |
|
5877 |
|
5878 |
extern size_t wcsnrtombs (char *__restrict __dst, |
5879 |
__const wchar_t **__restrict __src, |
5880 |
size_t __nwc, size_t __len, |
5881 |
mbstate_t *__restrict __ps) throw (); |
5882 |
|
5883 |
|
5884 |
|
5885 |
|
5886 |
|
5887 |
|
5888 |
extern int wcwidth (wchar_t __c) throw (); |
5889 |
|
5890 |
|
5891 |
|
5892 |
extern int wcswidth (__const wchar_t *__s, size_t __n) throw (); |
5893 |
|
5894 |
|
5895 |
|
5896 |
|
5897 |
|
5898 |
|
5899 |
extern double wcstod (__const wchar_t *__restrict __nptr, |
5900 |
wchar_t **__restrict __endptr) throw (); |
5901 |
|
5902 |
|
5903 |
|
5904 |
extern float wcstof (__const wchar_t *__restrict __nptr, |
5905 |
wchar_t **__restrict __endptr) throw (); |
5906 |
extern long double wcstold (__const wchar_t *__restrict __nptr, |
5907 |
wchar_t **__restrict __endptr) throw (); |
5908 |
|
5909 |
|
5910 |
|
5911 |
|
5912 |
|
5913 |
extern long int wcstol (__const wchar_t *__restrict __nptr, |
5914 |
wchar_t **__restrict __endptr, int __base) throw (); |
5915 |
|
5916 |
|
5917 |
|
5918 |
extern unsigned long int wcstoul (__const wchar_t *__restrict __nptr, |
5919 |
wchar_t **__restrict __endptr, int __base) |
5920 |
throw (); |
5921 |
|
5922 |
|
5923 |
|
5924 |
|
5925 |
__extension__ |
5926 |
extern long long int wcstoll (__const wchar_t *__restrict __nptr, |
5927 |
wchar_t **__restrict __endptr, int __base) |
5928 |
throw (); |
5929 |
|
5930 |
|
5931 |
|
5932 |
__extension__ |
5933 |
extern unsigned long long int wcstoull (__const wchar_t *__restrict __nptr, |
5934 |
wchar_t **__restrict __endptr, |
5935 |
int __base) throw (); |
5936 |
|
5937 |
|
5938 |
|
5939 |
|
5940 |
|
5941 |
|
5942 |
__extension__ |
5943 |
extern long long int wcstoq (__const wchar_t *__restrict __nptr, |
5944 |
wchar_t **__restrict __endptr, int __base) |
5945 |
throw (); |
5946 |
|
5947 |
|
5948 |
|
5949 |
__extension__ |
5950 |
extern unsigned long long int wcstouq (__const wchar_t *__restrict __nptr, |
5951 |
wchar_t **__restrict __endptr, |
5952 |
int __base) throw (); |
5953 |
# 449 "/usr/include/wchar.h" 3 4 |
5954 |
extern long int wcstol_l (__const wchar_t *__restrict __nptr, |
5955 |
wchar_t **__restrict __endptr, int __base, |
5956 |
__locale_t __loc) throw (); |
5957 |
|
5958 |
extern unsigned long int wcstoul_l (__const wchar_t *__restrict __nptr, |
5959 |
wchar_t **__restrict __endptr, |
5960 |
int __base, __locale_t __loc) throw (); |
5961 |
|
5962 |
__extension__ |
5963 |
extern long long int wcstoll_l (__const wchar_t *__restrict __nptr, |
5964 |
wchar_t **__restrict __endptr, |
5965 |
int __base, __locale_t __loc) throw (); |
5966 |
|
5967 |
__extension__ |
5968 |
extern unsigned long long int wcstoull_l (__const wchar_t *__restrict __nptr, |
5969 |
wchar_t **__restrict __endptr, |
5970 |
int __base, __locale_t __loc) |
5971 |
throw (); |
5972 |
|
5973 |
extern double wcstod_l (__const wchar_t *__restrict __nptr, |
5974 |
wchar_t **__restrict __endptr, __locale_t __loc) |
5975 |
throw (); |
5976 |
|
5977 |
extern float wcstof_l (__const wchar_t *__restrict __nptr, |
5978 |
wchar_t **__restrict __endptr, __locale_t __loc) |
5979 |
throw (); |
5980 |
|
5981 |
extern long double wcstold_l (__const wchar_t *__restrict __nptr, |
5982 |
wchar_t **__restrict __endptr, |
5983 |
__locale_t __loc) throw (); |
5984 |
|
5985 |
|
5986 |
|
5987 |
|
5988 |
|
5989 |
extern double __wcstod_internal (__const wchar_t *__restrict __nptr, |
5990 |
wchar_t **__restrict __endptr, int __group) |
5991 |
throw (); |
5992 |
extern float __wcstof_internal (__const wchar_t *__restrict __nptr, |
5993 |
wchar_t **__restrict __endptr, int __group) |
5994 |
throw (); |
5995 |
extern long double __wcstold_internal (__const wchar_t *__restrict __nptr, |
5996 |
wchar_t **__restrict __endptr, |
5997 |
int __group) throw (); |
5998 |
# 575 "/usr/include/wchar.h" 3 4 |
5999 |
extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) throw (); |
6000 |
|
6001 |
|
6002 |
|
6003 |
extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n) |
6004 |
throw (); |
6005 |
|
6006 |
|
6007 |
|
6008 |
|
6009 |
|
6010 |
|
6011 |
|
6012 |
|
6013 |
extern int fwide (__FILE *__fp, int __mode) throw (); |
6014 |
|
6015 |
|
6016 |
|
6017 |
|
6018 |
|
6019 |
|
6020 |
extern int fwprintf (__FILE *__restrict __stream, |
6021 |
__const wchar_t *__restrict __format, ...) |
6022 |
; |
6023 |
|
6024 |
|
6025 |
|
6026 |
|
6027 |
extern int wprintf (__const wchar_t *__restrict __format, ...) |
6028 |
; |
6029 |
|
6030 |
extern int swprintf (wchar_t *__restrict __s, size_t __n, |
6031 |
__const wchar_t *__restrict __format, ...) |
6032 |
throw () ; |
6033 |
|
6034 |
|
6035 |
|
6036 |
|
6037 |
|
6038 |
extern int vfwprintf (__FILE *__restrict __s, |
6039 |
__const wchar_t *__restrict __format, |
6040 |
__gnuc_va_list __arg) |
6041 |
; |
6042 |
|
6043 |
|
6044 |
|
6045 |
|
6046 |
extern int vwprintf (__const wchar_t *__restrict __format, |
6047 |
__gnuc_va_list __arg) |
6048 |
; |
6049 |
|
6050 |
|
6051 |
extern int vswprintf (wchar_t *__restrict __s, size_t __n, |
6052 |
__const wchar_t *__restrict __format, |
6053 |
__gnuc_va_list __arg) |
6054 |
throw () ; |
6055 |
|
6056 |
|
6057 |
|
6058 |
|
6059 |
|
6060 |
|
6061 |
extern int fwscanf (__FILE *__restrict __stream, |
6062 |
__const wchar_t *__restrict __format, ...) |
6063 |
; |
6064 |
|
6065 |
|
6066 |
|
6067 |
|
6068 |
extern int wscanf (__const wchar_t *__restrict __format, ...) |
6069 |
; |
6070 |
|
6071 |
extern int swscanf (__const wchar_t *__restrict __s, |
6072 |
__const wchar_t *__restrict __format, ...) |
6073 |
throw () ; |
6074 |
|
6075 |
|
6076 |
|
6077 |
|
6078 |
|
6079 |
|
6080 |
|
6081 |
|
6082 |
|
6083 |
|
6084 |
|
6085 |
extern int vfwscanf (__FILE *__restrict __s, |
6086 |
__const wchar_t *__restrict __format, |
6087 |
__gnuc_va_list __arg) |
6088 |
; |
6089 |
|
6090 |
|
6091 |
|
6092 |
|
6093 |
extern int vwscanf (__const wchar_t *__restrict __format, |
6094 |
__gnuc_va_list __arg) |
6095 |
; |
6096 |
|
6097 |
extern int vswscanf (__const wchar_t *__restrict __s, |
6098 |
__const wchar_t *__restrict __format, |
6099 |
__gnuc_va_list __arg) |
6100 |
throw () ; |
6101 |
|
6102 |
|
6103 |
|
6104 |
|
6105 |
|
6106 |
|
6107 |
|
6108 |
|
6109 |
|
6110 |
|
6111 |
extern wint_t fgetwc (__FILE *__stream); |
6112 |
extern wint_t getwc (__FILE *__stream); |
6113 |
|
6114 |
|
6115 |
|
6116 |
|
6117 |
|
6118 |
extern wint_t getwchar (void); |
6119 |
|
6120 |
|
6121 |
|
6122 |
|
6123 |
|
6124 |
|
6125 |
extern wint_t fputwc (wchar_t __wc, __FILE *__stream); |
6126 |
extern wint_t putwc (wchar_t __wc, __FILE *__stream); |
6127 |
|
6128 |
|
6129 |
|
6130 |
|
6131 |
|
6132 |
extern wint_t putwchar (wchar_t __wc); |
6133 |
|
6134 |
|
6135 |
|
6136 |
|
6137 |
|
6138 |
|
6139 |
|
6140 |
extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, |
6141 |
__FILE *__restrict __stream); |
6142 |
|
6143 |
|
6144 |
|
6145 |
|
6146 |
|
6147 |
extern int fputws (__const wchar_t *__restrict __ws, |
6148 |
__FILE *__restrict __stream); |
6149 |
|
6150 |
|
6151 |
|
6152 |
|
6153 |
|
6154 |
|
6155 |
extern wint_t ungetwc (wint_t __wc, __FILE *__stream); |
6156 |
|
6157 |
# 743 "/usr/include/wchar.h" 3 4 |
6158 |
extern wint_t getwc_unlocked (__FILE *__stream); |
6159 |
extern wint_t getwchar_unlocked (void); |
6160 |
|
6161 |
|
6162 |
|
6163 |
|
6164 |
|
6165 |
|
6166 |
|
6167 |
extern wint_t fgetwc_unlocked (__FILE *__stream); |
6168 |
|
6169 |
|
6170 |
|
6171 |
|
6172 |
|
6173 |
|
6174 |
|
6175 |
extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); |
6176 |
# 769 "/usr/include/wchar.h" 3 4 |
6177 |
extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); |
6178 |
extern wint_t putwchar_unlocked (wchar_t __wc); |
6179 |
# 779 "/usr/include/wchar.h" 3 4 |
6180 |
extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, |
6181 |
__FILE *__restrict __stream); |
6182 |
|
6183 |
|
6184 |
|
6185 |
|
6186 |
|
6187 |
|
6188 |
|
6189 |
extern int fputws_unlocked (__const wchar_t *__restrict __ws, |
6190 |
__FILE *__restrict __stream); |
6191 |
|
6192 |
|
6193 |
|
6194 |
|
6195 |
|
6196 |
|
6197 |
|
6198 |
extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, |
6199 |
__const wchar_t *__restrict __format, |
6200 |
__const struct tm *__restrict __tp) throw (); |
6201 |
|
6202 |
|
6203 |
|
6204 |
|
6205 |
|
6206 |
|
6207 |
|
6208 |
extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, |
6209 |
__const wchar_t *__restrict __format, |
6210 |
__const struct tm *__restrict __tp, |
6211 |
__locale_t __loc) throw (); |
6212 |
# 824 "/usr/include/wchar.h" 3 4 |
6213 |
} |
6214 |
# 55 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cwchar" 2 3 |
6215 |
# 69 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cwchar" 3 |
6216 |
namespace std |
6217 |
{ |
6218 |
using ::mbstate_t; |
6219 |
} |
6220 |
# 141 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cwchar" 3 |
6221 |
namespace std |
6222 |
{ |
6223 |
using ::wint_t; |
6224 |
|
6225 |
using ::btowc; |
6226 |
using ::fgetwc; |
6227 |
using ::fgetws; |
6228 |
using ::fputwc; |
6229 |
using ::fputws; |
6230 |
using ::fwide; |
6231 |
using ::fwprintf; |
6232 |
using ::fwscanf; |
6233 |
using ::getwc; |
6234 |
using ::getwchar; |
6235 |
using ::mbrlen; |
6236 |
using ::mbrtowc; |
6237 |
using ::mbsinit; |
6238 |
using ::mbsrtowcs; |
6239 |
using ::putwc; |
6240 |
using ::putwchar; |
6241 |
using ::swprintf; |
6242 |
using ::swscanf; |
6243 |
using ::ungetwc; |
6244 |
using ::vfwprintf; |
6245 |
|
6246 |
using ::vfwscanf; |
6247 |
|
6248 |
using ::vswprintf; |
6249 |
|
6250 |
using ::vswscanf; |
6251 |
|
6252 |
using ::vwprintf; |
6253 |
|
6254 |
using ::vwscanf; |
6255 |
|
6256 |
using ::wcrtomb; |
6257 |
using ::wcscat; |
6258 |
using ::wcscmp; |
6259 |
using ::wcscoll; |
6260 |
using ::wcscpy; |
6261 |
using ::wcscspn; |
6262 |
using ::wcsftime; |
6263 |
using ::wcslen; |
6264 |
using ::wcsncat; |
6265 |
using ::wcsncmp; |
6266 |
using ::wcsncpy; |
6267 |
using ::wcsrtombs; |
6268 |
using ::wcsspn; |
6269 |
using ::wcstod; |
6270 |
|
6271 |
using ::wcstof; |
6272 |
|
6273 |
using ::wcstok; |
6274 |
using ::wcstol; |
6275 |
using ::wcstoul; |
6276 |
using ::wcsxfrm; |
6277 |
using ::wctob; |
6278 |
using ::wmemcmp; |
6279 |
using ::wmemcpy; |
6280 |
using ::wmemmove; |
6281 |
using ::wmemset; |
6282 |
using ::wprintf; |
6283 |
using ::wscanf; |
6284 |
|
6285 |
using ::wcschr; |
6286 |
|
6287 |
inline wchar_t* |
6288 |
wcschr(wchar_t* __p, wchar_t __c) |
6289 |
{ return wcschr(const_cast<const wchar_t*>(__p), __c); } |
6290 |
|
6291 |
using ::wcspbrk; |
6292 |
|
6293 |
inline wchar_t* |
6294 |
wcspbrk(wchar_t* __s1, wchar_t* __s2) |
6295 |
{ return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); } |
6296 |
|
6297 |
using ::wcsrchr; |
6298 |
|
6299 |
inline wchar_t* |
6300 |
wcsrchr(wchar_t* __p, wchar_t __c) |
6301 |
{ return wcsrchr(const_cast<const wchar_t*>(__p), __c); } |
6302 |
|
6303 |
using ::wcsstr; |
6304 |
|
6305 |
inline wchar_t* |
6306 |
wcsstr(wchar_t* __s1, const wchar_t* __s2) |
6307 |
{ return wcsstr(const_cast<const wchar_t*>(__s1), __s2); } |
6308 |
|
6309 |
using ::wmemchr; |
6310 |
|
6311 |
inline wchar_t* |
6312 |
wmemchr(wchar_t* __p, wchar_t __c, size_t __n) |
6313 |
{ return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); } |
6314 |
} |
6315 |
|
6316 |
|
6317 |
|
6318 |
|
6319 |
|
6320 |
|
6321 |
|
6322 |
namespace __gnu_cxx |
6323 |
{ |
6324 |
|
6325 |
|
6326 |
|
6327 |
|
6328 |
|
6329 |
using ::wcstold; |
6330 |
# 258 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cwchar" 3 |
6331 |
using ::wcstoll; |
6332 |
using ::wcstoull; |
6333 |
|
6334 |
} |
6335 |
|
6336 |
namespace std |
6337 |
{ |
6338 |
using __gnu_cxx::wcstold; |
6339 |
using __gnu_cxx::wcstoll; |
6340 |
using __gnu_cxx::wcstoull; |
6341 |
} |
6342 |
# 47 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/postypes.h" 2 3 |
6343 |
|
6344 |
|
6345 |
# 1 "/usr/include/stdint.h" 1 3 4 |
6346 |
# 28 "/usr/include/stdint.h" 3 4 |
6347 |
# 1 "/usr/include/bits/wordsize.h" 1 3 4 |
6348 |
# 29 "/usr/include/stdint.h" 2 3 4 |
6349 |
# 37 "/usr/include/stdint.h" 3 4 |
6350 |
typedef signed char int8_t; |
6351 |
typedef short int int16_t; |
6352 |
typedef int int32_t; |
6353 |
|
6354 |
|
6355 |
|
6356 |
__extension__ |
6357 |
typedef long long int int64_t; |
6358 |
|
6359 |
|
6360 |
|
6361 |
|
6362 |
typedef unsigned char uint8_t; |
6363 |
typedef unsigned short int uint16_t; |
6364 |
|
6365 |
typedef unsigned int uint32_t; |
6366 |
|
6367 |
|
6368 |
|
6369 |
|
6370 |
|
6371 |
__extension__ |
6372 |
typedef unsigned long long int uint64_t; |
6373 |
|
6374 |
|
6375 |
|
6376 |
|
6377 |
|
6378 |
|
6379 |
typedef signed char int_least8_t; |
6380 |
typedef short int int_least16_t; |
6381 |
typedef int int_least32_t; |
6382 |
|
6383 |
|
6384 |
|
6385 |
__extension__ |
6386 |
typedef long long int int_least64_t; |
6387 |
|
6388 |
|
6389 |
|
6390 |
typedef unsigned char uint_least8_t; |
6391 |
typedef unsigned short int uint_least16_t; |
6392 |
typedef unsigned int uint_least32_t; |
6393 |
|
6394 |
|
6395 |
|
6396 |
__extension__ |
6397 |
typedef unsigned long long int uint_least64_t; |
6398 |
|
6399 |
|
6400 |
|
6401 |
|
6402 |
|
6403 |
|
6404 |
typedef signed char int_fast8_t; |
6405 |
|
6406 |
|
6407 |
|
6408 |
|
6409 |
|
6410 |
typedef int int_fast16_t; |
6411 |
typedef int int_fast32_t; |
6412 |
__extension__ |
6413 |
typedef long long int int_fast64_t; |
6414 |
|
6415 |
|
6416 |
|
6417 |
typedef unsigned char uint_fast8_t; |
6418 |
|
6419 |
|
6420 |
|
6421 |
|
6422 |
|
6423 |
typedef unsigned int uint_fast16_t; |
6424 |
typedef unsigned int uint_fast32_t; |
6425 |
__extension__ |
6426 |
typedef unsigned long long int uint_fast64_t; |
6427 |
# 129 "/usr/include/stdint.h" 3 4 |
6428 |
typedef unsigned int uintptr_t; |
6429 |
# 138 "/usr/include/stdint.h" 3 4 |
6430 |
__extension__ |
6431 |
typedef long long int intmax_t; |
6432 |
__extension__ |
6433 |
typedef unsigned long long int uintmax_t; |
6434 |
# 50 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/postypes.h" 2 3 |
6435 |
|
6436 |
|
6437 |
namespace std |
6438 |
{ |
6439 |
# 72 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/postypes.h" 3 |
6440 |
typedef int64_t streamoff; |
6441 |
|
6442 |
|
6443 |
|
6444 |
|
6445 |
|
6446 |
typedef ptrdiff_t streamsize; |
6447 |
|
6448 |
template<typename _StateT> |
6449 |
class fpos; |
6450 |
# 94 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/postypes.h" 3 |
6451 |
template<typename _StateT> |
6452 |
class fpos |
6453 |
{ |
6454 |
private: |
6455 |
streamoff _M_off; |
6456 |
_StateT _M_state; |
6457 |
|
6458 |
public: |
6459 |
|
6460 |
|
6461 |
|
6462 |
|
6463 |
fpos() |
6464 |
: _M_off(0), _M_state() { } |
6465 |
# 116 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/postypes.h" 3 |
6466 |
fpos(streamoff __off) |
6467 |
: _M_off(__off), _M_state() { } |
6468 |
|
6469 |
|
6470 |
operator streamoff() const { return _M_off; } |
6471 |
|
6472 |
|
6473 |
void |
6474 |
state(_StateT __st) |
6475 |
{ _M_state = __st; } |
6476 |
|
6477 |
|
6478 |
_StateT |
6479 |
state() const |
6480 |
{ return _M_state; } |
6481 |
|
6482 |
|
6483 |
|
6484 |
|
6485 |
|
6486 |
|
6487 |
bool |
6488 |
operator==(const fpos& __other) const |
6489 |
{ return _M_off == __other._M_off; } |
6490 |
|
6491 |
|
6492 |
bool |
6493 |
operator!=(const fpos& __other) const |
6494 |
{ return _M_off != __other._M_off; } |
6495 |
|
6496 |
|
6497 |
|
6498 |
|
6499 |
|
6500 |
fpos& |
6501 |
operator+=(streamoff __off) |
6502 |
{ |
6503 |
_M_off += __off; |
6504 |
return *this; |
6505 |
} |
6506 |
|
6507 |
|
6508 |
|
6509 |
|
6510 |
|
6511 |
fpos& |
6512 |
operator-=(streamoff __off) |
6513 |
{ |
6514 |
_M_off -= __off; |
6515 |
return *this; |
6516 |
} |
6517 |
|
6518 |
|
6519 |
|
6520 |
|
6521 |
|
6522 |
|
6523 |
|
6524 |
fpos |
6525 |
operator+(streamoff __off) const |
6526 |
{ |
6527 |
fpos __pos(*this); |
6528 |
__pos += __off; |
6529 |
return __pos; |
6530 |
} |
6531 |
|
6532 |
|
6533 |
|
6534 |
|
6535 |
|
6536 |
|
6537 |
|
6538 |
fpos |
6539 |
operator-(streamoff __off) const |
6540 |
{ |
6541 |
fpos __pos(*this); |
6542 |
__pos -= __off; |
6543 |
return __pos; |
6544 |
} |
6545 |
|
6546 |
|
6547 |
|
6548 |
|
6549 |
|
6550 |
|
6551 |
streamoff |
6552 |
operator-(const fpos& __other) const |
6553 |
{ return _M_off - __other._M_off; } |
6554 |
}; |
6555 |
|
6556 |
|
6557 |
|
6558 |
|
6559 |
|
6560 |
typedef fpos<mbstate_t> streampos; |
6561 |
|
6562 |
typedef fpos<mbstate_t> wstreampos; |
6563 |
} |
6564 |
# 51 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/iosfwd" 2 3 |
6565 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/functexcept.h" 1 3 |
6566 |
# 34 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/functexcept.h" 3 |
6567 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/exception_defines.h" 1 3 |
6568 |
# 35 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/functexcept.h" 2 3 |
6569 |
|
6570 |
namespace std |
6571 |
{ |
6572 |
|
6573 |
void |
6574 |
__throw_bad_exception(void); |
6575 |
|
6576 |
|
6577 |
void |
6578 |
__throw_bad_alloc(void); |
6579 |
|
6580 |
|
6581 |
void |
6582 |
__throw_bad_cast(void); |
6583 |
|
6584 |
void |
6585 |
__throw_bad_typeid(void); |
6586 |
|
6587 |
|
6588 |
void |
6589 |
__throw_logic_error(const char* __s); |
6590 |
|
6591 |
void |
6592 |
__throw_domain_error(const char* __s); |
6593 |
|
6594 |
void |
6595 |
__throw_invalid_argument(const char* __s); |
6596 |
|
6597 |
void |
6598 |
__throw_length_error(const char* __s); |
6599 |
|
6600 |
void |
6601 |
__throw_out_of_range(const char* __s); |
6602 |
|
6603 |
void |
6604 |
__throw_runtime_error(const char* __s); |
6605 |
|
6606 |
void |
6607 |
__throw_range_error(const char* __s); |
6608 |
|
6609 |
void |
6610 |
__throw_overflow_error(const char* __s); |
6611 |
|
6612 |
void |
6613 |
__throw_underflow_error(const char* __s); |
6614 |
|
6615 |
|
6616 |
void |
6617 |
__throw_ios_failure(const char* __s); |
6618 |
} |
6619 |
# 52 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/iosfwd" 2 3 |
6620 |
|
6621 |
namespace std |
6622 |
{ |
6623 |
template<typename _CharT, typename _Traits = char_traits<_CharT> > |
6624 |
class basic_ios; |
6625 |
|
6626 |
template<typename _CharT, typename _Traits = char_traits<_CharT> > |
6627 |
class basic_streambuf; |
6628 |
|
6629 |
template<typename _CharT, typename _Traits = char_traits<_CharT> > |
6630 |
class basic_istream; |
6631 |
|
6632 |
template<typename _CharT, typename _Traits = char_traits<_CharT> > |
6633 |
class basic_ostream; |
6634 |
|
6635 |
template<typename _CharT, typename _Traits = char_traits<_CharT> > |
6636 |
class basic_iostream; |
6637 |
|
6638 |
template<typename _CharT, typename _Traits = char_traits<_CharT>, |
6639 |
typename _Alloc = allocator<_CharT> > |
6640 |
class basic_stringbuf; |
6641 |
|
6642 |
template<typename _CharT, typename _Traits = char_traits<_CharT>, |
6643 |
typename _Alloc = allocator<_CharT> > |
6644 |
class basic_istringstream; |
6645 |
|
6646 |
template<typename _CharT, typename _Traits = char_traits<_CharT>, |
6647 |
typename _Alloc = allocator<_CharT> > |
6648 |
class basic_ostringstream; |
6649 |
|
6650 |
template<typename _CharT, typename _Traits = char_traits<_CharT>, |
6651 |
typename _Alloc = allocator<_CharT> > |
6652 |
class basic_stringstream; |
6653 |
|
6654 |
template<typename _CharT, typename _Traits = char_traits<_CharT> > |
6655 |
class basic_filebuf; |
6656 |
|
6657 |
template<typename _CharT, typename _Traits = char_traits<_CharT> > |
6658 |
class basic_ifstream; |
6659 |
|
6660 |
template<typename _CharT, typename _Traits = char_traits<_CharT> > |
6661 |
class basic_ofstream; |
6662 |
|
6663 |
template<typename _CharT, typename _Traits = char_traits<_CharT> > |
6664 |
class basic_fstream; |
6665 |
|
6666 |
template<typename _CharT, typename _Traits = char_traits<_CharT> > |
6667 |
class istreambuf_iterator; |
6668 |
|
6669 |
template<typename _CharT, typename _Traits = char_traits<_CharT> > |
6670 |
class ostreambuf_iterator; |
6671 |
|
6672 |
|
6673 |
|
6674 |
class ios_base; |
6675 |
# 136 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/iosfwd" 3 |
6676 |
typedef basic_ios<char> ios; |
6677 |
typedef basic_streambuf<char> streambuf; |
6678 |
typedef basic_istream<char> istream; |
6679 |
typedef basic_ostream<char> ostream; |
6680 |
typedef basic_iostream<char> iostream; |
6681 |
typedef basic_stringbuf<char> stringbuf; |
6682 |
typedef basic_istringstream<char> istringstream; |
6683 |
typedef basic_ostringstream<char> ostringstream; |
6684 |
typedef basic_stringstream<char> stringstream; |
6685 |
typedef basic_filebuf<char> filebuf; |
6686 |
typedef basic_ifstream<char> ifstream; |
6687 |
typedef basic_ofstream<char> ofstream; |
6688 |
typedef basic_fstream<char> fstream; |
6689 |
|
6690 |
|
6691 |
typedef basic_ios<wchar_t> wios; |
6692 |
typedef basic_streambuf<wchar_t> wstreambuf; |
6693 |
typedef basic_istream<wchar_t> wistream; |
6694 |
typedef basic_ostream<wchar_t> wostream; |
6695 |
typedef basic_iostream<wchar_t> wiostream; |
6696 |
typedef basic_stringbuf<wchar_t> wstringbuf; |
6697 |
typedef basic_istringstream<wchar_t> wistringstream; |
6698 |
typedef basic_ostringstream<wchar_t> wostringstream; |
6699 |
typedef basic_stringstream<wchar_t> wstringstream; |
6700 |
typedef basic_filebuf<wchar_t> wfilebuf; |
6701 |
typedef basic_ifstream<wchar_t> wifstream; |
6702 |
typedef basic_ofstream<wchar_t> wofstream; |
6703 |
typedef basic_fstream<wchar_t> wfstream; |
6704 |
|
6705 |
|
6706 |
} |
6707 |
# 34 "/cern/ROOT/include/Riosfwd.h" 2 |
6708 |
|
6709 |
using std::istream; |
6710 |
using std::ostream; |
6711 |
using std::fstream; |
6712 |
using std::ifstream; |
6713 |
using std::ofstream; |
6714 |
# 37 "/cern/ROOT/include/TString.h" 2 |
6715 |
|
6716 |
|
6717 |
|
6718 |
# 1 "/cern/ROOT/include/TMathBase.h" 1 |
6719 |
# 33 "/cern/ROOT/include/TMathBase.h" |
6720 |
namespace TMath { |
6721 |
|
6722 |
|
6723 |
inline Short_t Abs(Short_t d); |
6724 |
inline Int_t Abs(Int_t d); |
6725 |
inline Long_t Abs(Long_t d); |
6726 |
inline Long64_t Abs(Long64_t d); |
6727 |
inline Float_t Abs(Float_t d); |
6728 |
inline Double_t Abs(Double_t d); |
6729 |
|
6730 |
|
6731 |
inline Bool_t Even(Long_t a); |
6732 |
inline Bool_t Odd(Long_t a); |
6733 |
|
6734 |
|
6735 |
inline Short_t Sign(Short_t a, Short_t b); |
6736 |
inline Int_t Sign(Int_t a, Int_t b); |
6737 |
inline Long_t Sign(Long_t a, Long_t b); |
6738 |
inline Long64_t Sign(Long64_t a, Long64_t b); |
6739 |
inline Float_t Sign(Float_t a, Float_t b); |
6740 |
inline Double_t Sign(Double_t a, Double_t b); |
6741 |
|
6742 |
|
6743 |
inline Short_t Min(Short_t a, Short_t b); |
6744 |
inline UShort_t Min(UShort_t a, UShort_t b); |
6745 |
inline Int_t Min(Int_t a, Int_t b); |
6746 |
inline UInt_t Min(UInt_t a, UInt_t b); |
6747 |
inline Long_t Min(Long_t a, Long_t b); |
6748 |
inline ULong_t Min(ULong_t a, ULong_t b); |
6749 |
inline Long64_t Min(Long64_t a, Long64_t b); |
6750 |
inline ULong64_t Min(ULong64_t a, ULong64_t b); |
6751 |
inline Float_t Min(Float_t a, Float_t b); |
6752 |
inline Double_t Min(Double_t a, Double_t b); |
6753 |
|
6754 |
inline Short_t Max(Short_t a, Short_t b); |
6755 |
inline UShort_t Max(UShort_t a, UShort_t b); |
6756 |
inline Int_t Max(Int_t a, Int_t b); |
6757 |
inline UInt_t Max(UInt_t a, UInt_t b); |
6758 |
inline Long_t Max(Long_t a, Long_t b); |
6759 |
inline ULong_t Max(ULong_t a, ULong_t b); |
6760 |
inline Long64_t Max(Long64_t a, Long64_t b); |
6761 |
inline ULong64_t Max(ULong64_t a, ULong64_t b); |
6762 |
inline Float_t Max(Float_t a, Float_t b); |
6763 |
inline Double_t Max(Double_t a, Double_t b); |
6764 |
|
6765 |
|
6766 |
inline Short_t Range(Short_t lb, Short_t ub, Short_t x); |
6767 |
inline Int_t Range(Int_t lb, Int_t ub, Int_t x); |
6768 |
inline Long_t Range(Long_t lb, Long_t ub, Long_t x); |
6769 |
inline ULong_t Range(ULong_t lb, ULong_t ub, ULong_t x); |
6770 |
inline Double_t Range(Double_t lb, Double_t ub, Double_t x); |
6771 |
|
6772 |
|
6773 |
Long_t NextPrime(Long_t x); |
6774 |
} |
6775 |
|
6776 |
|
6777 |
|
6778 |
|
6779 |
inline Bool_t TMath::Even(Long_t a) |
6780 |
{ return ! (a & 1); } |
6781 |
|
6782 |
inline Bool_t TMath::Odd(Long_t a) |
6783 |
{ return (a & 1); } |
6784 |
|
6785 |
|
6786 |
|
6787 |
inline Short_t TMath::Abs(Short_t d) |
6788 |
{ return (d >= 0) ? d : -d; } |
6789 |
|
6790 |
inline Int_t TMath::Abs(Int_t d) |
6791 |
{ return (d >= 0) ? d : -d; } |
6792 |
|
6793 |
inline Long_t TMath::Abs(Long_t d) |
6794 |
{ return (d >= 0) ? d : -d; } |
6795 |
|
6796 |
inline Long64_t TMath::Abs(Long64_t d) |
6797 |
{ return (d >= 0) ? d : -d; } |
6798 |
|
6799 |
inline Float_t TMath::Abs(Float_t d) |
6800 |
{ return (d >= 0) ? d : -d; } |
6801 |
|
6802 |
inline Double_t TMath::Abs(Double_t d) |
6803 |
{ return (d >= 0) ? d : -d; } |
6804 |
|
6805 |
|
6806 |
|
6807 |
inline Short_t TMath::Sign(Short_t a, Short_t b) |
6808 |
{ return (b >= 0) ? Abs(a) : -Abs(a); } |
6809 |
|
6810 |
inline Int_t TMath::Sign(Int_t a, Int_t b) |
6811 |
{ return (b >= 0) ? Abs(a) : -Abs(a); } |
6812 |
|
6813 |
inline Long_t TMath::Sign(Long_t a, Long_t b) |
6814 |
{ return (b >= 0) ? Abs(a) : -Abs(a); } |
6815 |
|
6816 |
inline Long64_t TMath::Sign(Long64_t a, Long64_t b) |
6817 |
{ return (b >= 0) ? Abs(a) : -Abs(a); } |
6818 |
|
6819 |
inline Float_t TMath::Sign(Float_t a, Float_t b) |
6820 |
{ return (b >= 0) ? Abs(a) : -Abs(a); } |
6821 |
|
6822 |
inline Double_t TMath::Sign(Double_t a, Double_t b) |
6823 |
{ return (b >= 0) ? Abs(a) : -Abs(a); } |
6824 |
|
6825 |
|
6826 |
|
6827 |
inline Short_t TMath::Min(Short_t a, Short_t b) |
6828 |
{ return a <= b ? a : b; } |
6829 |
|
6830 |
inline UShort_t TMath::Min(UShort_t a, UShort_t b) |
6831 |
{ return a <= b ? a : b; } |
6832 |
|
6833 |
inline Int_t TMath::Min(Int_t a, Int_t b) |
6834 |
{ return a <= b ? a : b; } |
6835 |
|
6836 |
inline UInt_t TMath::Min(UInt_t a, UInt_t b) |
6837 |
{ return a <= b ? a : b; } |
6838 |
|
6839 |
inline Long_t TMath::Min(Long_t a, Long_t b) |
6840 |
{ return a <= b ? a : b; } |
6841 |
|
6842 |
inline ULong_t TMath::Min(ULong_t a, ULong_t b) |
6843 |
{ return a <= b ? a : b; } |
6844 |
|
6845 |
inline Long64_t TMath::Min(Long64_t a, Long64_t b) |
6846 |
{ return a <= b ? a : b; } |
6847 |
|
6848 |
inline ULong64_t TMath::Min(ULong64_t a, ULong64_t b) |
6849 |
{ return a <= b ? a : b; } |
6850 |
|
6851 |
inline Float_t TMath::Min(Float_t a, Float_t b) |
6852 |
{ return a <= b ? a : b; } |
6853 |
|
6854 |
inline Double_t TMath::Min(Double_t a, Double_t b) |
6855 |
{ return a <= b ? a : b; } |
6856 |
|
6857 |
|
6858 |
|
6859 |
inline Short_t TMath::Max(Short_t a, Short_t b) |
6860 |
{ return a >= b ? a : b; } |
6861 |
|
6862 |
inline UShort_t TMath::Max(UShort_t a, UShort_t b) |
6863 |
{ return a >= b ? a : b; } |
6864 |
|
6865 |
inline Int_t TMath::Max(Int_t a, Int_t b) |
6866 |
{ return a >= b ? a : b; } |
6867 |
|
6868 |
inline UInt_t TMath::Max(UInt_t a, UInt_t b) |
6869 |
{ return a >= b ? a : b; } |
6870 |
|
6871 |
inline Long_t TMath::Max(Long_t a, Long_t b) |
6872 |
{ return a >= b ? a : b; } |
6873 |
|
6874 |
inline ULong_t TMath::Max(ULong_t a, ULong_t b) |
6875 |
{ return a >= b ? a : b; } |
6876 |
|
6877 |
inline Long64_t TMath::Max(Long64_t a, Long64_t b) |
6878 |
{ return a >= b ? a : b; } |
6879 |
|
6880 |
inline ULong64_t TMath::Max(ULong64_t a, ULong64_t b) |
6881 |
{ return a >= b ? a : b; } |
6882 |
|
6883 |
inline Float_t TMath::Max(Float_t a, Float_t b) |
6884 |
{ return a >= b ? a : b; } |
6885 |
|
6886 |
inline Double_t TMath::Max(Double_t a, Double_t b) |
6887 |
{ return a >= b ? a : b; } |
6888 |
|
6889 |
|
6890 |
|
6891 |
inline Short_t TMath::Range(Short_t lb, Short_t ub, Short_t x) |
6892 |
{ return x < lb ? lb : (x > ub ? ub : x); } |
6893 |
|
6894 |
inline Int_t TMath::Range(Int_t lb, Int_t ub, Int_t x) |
6895 |
{ return x < lb ? lb : (x > ub ? ub : x); } |
6896 |
|
6897 |
inline Long_t TMath::Range(Long_t lb, Long_t ub, Long_t x) |
6898 |
{ return x < lb ? lb : (x > ub ? ub : x); } |
6899 |
|
6900 |
inline ULong_t TMath::Range(ULong_t lb, ULong_t ub, ULong_t x) |
6901 |
{ return x < lb ? lb : (x > ub ? ub : x); } |
6902 |
|
6903 |
inline Double_t TMath::Range(Double_t lb, Double_t ub, Double_t x) |
6904 |
{ return x < lb ? lb : (x > ub ? ub : x); } |
6905 |
# 41 "/cern/ROOT/include/TString.h" 2 |
6906 |
|
6907 |
|
6908 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stdarg.h" 1 3 4 |
6909 |
# 44 "/cern/ROOT/include/TString.h" 2 |
6910 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/string" 1 3 |
6911 |
# 43 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/string" 3 |
6912 |
|
6913 |
# 44 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/string" 3 |
6914 |
|
6915 |
|
6916 |
|
6917 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/char_traits.h" 1 3 |
6918 |
# 43 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/char_traits.h" 3 |
6919 |
|
6920 |
# 44 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/char_traits.h" 3 |
6921 |
|
6922 |
|
6923 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 1 3 |
6924 |
# 66 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 3 |
6925 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/climits" 1 3 |
6926 |
# 47 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/climits" 3 |
6927 |
|
6928 |
# 48 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/climits" 3 |
6929 |
|
6930 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/limits.h" 1 3 4 |
6931 |
# 11 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/limits.h" 3 4 |
6932 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/syslimits.h" 1 3 4 |
6933 |
|
6934 |
|
6935 |
|
6936 |
|
6937 |
|
6938 |
|
6939 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/limits.h" 1 3 4 |
6940 |
# 122 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/limits.h" 3 4 |
6941 |
# 1 "/usr/include/limits.h" 1 3 4 |
6942 |
# 144 "/usr/include/limits.h" 3 4 |
6943 |
# 1 "/usr/include/bits/posix1_lim.h" 1 3 4 |
6944 |
# 153 "/usr/include/bits/posix1_lim.h" 3 4 |
6945 |
# 1 "/usr/include/bits/local_lim.h" 1 3 4 |
6946 |
# 36 "/usr/include/bits/local_lim.h" 3 4 |
6947 |
# 1 "/usr/include/linux/limits.h" 1 3 4 |
6948 |
# 37 "/usr/include/bits/local_lim.h" 2 3 4 |
6949 |
# 154 "/usr/include/bits/posix1_lim.h" 2 3 4 |
6950 |
# 145 "/usr/include/limits.h" 2 3 4 |
6951 |
|
6952 |
|
6953 |
|
6954 |
# 1 "/usr/include/bits/posix2_lim.h" 1 3 4 |
6955 |
# 149 "/usr/include/limits.h" 2 3 4 |
6956 |
|
6957 |
|
6958 |
|
6959 |
# 1 "/usr/include/bits/xopen_lim.h" 1 3 4 |
6960 |
# 34 "/usr/include/bits/xopen_lim.h" 3 4 |
6961 |
# 1 "/usr/include/bits/stdio_lim.h" 1 3 4 |
6962 |
# 35 "/usr/include/bits/xopen_lim.h" 2 3 4 |
6963 |
# 153 "/usr/include/limits.h" 2 3 4 |
6964 |
# 123 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/limits.h" 2 3 4 |
6965 |
# 8 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/syslimits.h" 2 3 4 |
6966 |
# 12 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/limits.h" 2 3 4 |
6967 |
# 50 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/climits" 2 3 |
6968 |
# 67 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 2 3 |
6969 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstdlib" 1 3 |
6970 |
# 47 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstdlib" 3 |
6971 |
|
6972 |
# 48 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstdlib" 3 |
6973 |
|
6974 |
|
6975 |
|
6976 |
|
6977 |
# 1 "/usr/include/stdlib.h" 1 3 4 |
6978 |
# 33 "/usr/include/stdlib.h" 3 4 |
6979 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 1 3 4 |
6980 |
# 34 "/usr/include/stdlib.h" 2 3 4 |
6981 |
|
6982 |
extern "C" { |
6983 |
|
6984 |
|
6985 |
|
6986 |
|
6987 |
|
6988 |
|
6989 |
# 1 "/usr/include/bits/waitflags.h" 1 3 4 |
6990 |
# 43 "/usr/include/stdlib.h" 2 3 4 |
6991 |
# 1 "/usr/include/bits/waitstatus.h" 1 3 4 |
6992 |
# 67 "/usr/include/bits/waitstatus.h" 3 4 |
6993 |
union wait |
6994 |
{ |
6995 |
int w_status; |
6996 |
struct |
6997 |
{ |
6998 |
|
6999 |
unsigned int __w_termsig:7; |
7000 |
unsigned int __w_coredump:1; |
7001 |
unsigned int __w_retcode:8; |
7002 |
unsigned int:16; |
7003 |
|
7004 |
|
7005 |
|
7006 |
|
7007 |
|
7008 |
|
7009 |
|
7010 |
} __wait_terminated; |
7011 |
struct |
7012 |
{ |
7013 |
|
7014 |
unsigned int __w_stopval:8; |
7015 |
unsigned int __w_stopsig:8; |
7016 |
unsigned int:16; |
7017 |
|
7018 |
|
7019 |
|
7020 |
|
7021 |
|
7022 |
|
7023 |
} __wait_stopped; |
7024 |
}; |
7025 |
# 44 "/usr/include/stdlib.h" 2 3 4 |
7026 |
# 96 "/usr/include/stdlib.h" 3 4 |
7027 |
|
7028 |
|
7029 |
typedef struct |
7030 |
{ |
7031 |
int quot; |
7032 |
int rem; |
7033 |
} div_t; |
7034 |
|
7035 |
|
7036 |
|
7037 |
typedef struct |
7038 |
{ |
7039 |
long int quot; |
7040 |
long int rem; |
7041 |
} ldiv_t; |
7042 |
|
7043 |
|
7044 |
|
7045 |
|
7046 |
|
7047 |
|
7048 |
|
7049 |
__extension__ typedef struct |
7050 |
{ |
7051 |
long long int quot; |
7052 |
long long int rem; |
7053 |
} lldiv_t; |
7054 |
|
7055 |
|
7056 |
# 140 "/usr/include/stdlib.h" 3 4 |
7057 |
extern size_t __ctype_get_mb_cur_max (void) throw (); |
7058 |
|
7059 |
|
7060 |
|
7061 |
|
7062 |
extern double atof (__const char *__nptr) |
7063 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); |
7064 |
|
7065 |
extern int atoi (__const char *__nptr) |
7066 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); |
7067 |
|
7068 |
extern long int atol (__const char *__nptr) |
7069 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); |
7070 |
|
7071 |
|
7072 |
|
7073 |
|
7074 |
|
7075 |
__extension__ extern long long int atoll (__const char *__nptr) |
7076 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); |
7077 |
|
7078 |
|
7079 |
|
7080 |
|
7081 |
|
7082 |
extern double strtod (__const char *__restrict __nptr, |
7083 |
char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))); |
7084 |
|
7085 |
|
7086 |
|
7087 |
|
7088 |
|
7089 |
extern float strtof (__const char *__restrict __nptr, |
7090 |
char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))); |
7091 |
|
7092 |
extern long double strtold (__const char *__restrict __nptr, |
7093 |
char **__restrict __endptr) |
7094 |
throw () __attribute__ ((__nonnull__ (1))); |
7095 |
|
7096 |
|
7097 |
|
7098 |
|
7099 |
|
7100 |
extern long int strtol (__const char *__restrict __nptr, |
7101 |
char **__restrict __endptr, int __base) |
7102 |
throw () __attribute__ ((__nonnull__ (1))); |
7103 |
|
7104 |
extern unsigned long int strtoul (__const char *__restrict __nptr, |
7105 |
char **__restrict __endptr, int __base) |
7106 |
throw () __attribute__ ((__nonnull__ (1))); |
7107 |
|
7108 |
|
7109 |
|
7110 |
|
7111 |
__extension__ |
7112 |
extern long long int strtoq (__const char *__restrict __nptr, |
7113 |
char **__restrict __endptr, int __base) |
7114 |
throw () __attribute__ ((__nonnull__ (1))); |
7115 |
|
7116 |
__extension__ |
7117 |
extern unsigned long long int strtouq (__const char *__restrict __nptr, |
7118 |
char **__restrict __endptr, int __base) |
7119 |
throw () __attribute__ ((__nonnull__ (1))); |
7120 |
|
7121 |
|
7122 |
|
7123 |
|
7124 |
|
7125 |
__extension__ |
7126 |
extern long long int strtoll (__const char *__restrict __nptr, |
7127 |
char **__restrict __endptr, int __base) |
7128 |
throw () __attribute__ ((__nonnull__ (1))); |
7129 |
|
7130 |
__extension__ |
7131 |
extern unsigned long long int strtoull (__const char *__restrict __nptr, |
7132 |
char **__restrict __endptr, int __base) |
7133 |
throw () __attribute__ ((__nonnull__ (1))); |
7134 |
|
7135 |
# 239 "/usr/include/stdlib.h" 3 4 |
7136 |
extern long int strtol_l (__const char *__restrict __nptr, |
7137 |
char **__restrict __endptr, int __base, |
7138 |
__locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))); |
7139 |
|
7140 |
extern unsigned long int strtoul_l (__const char *__restrict __nptr, |
7141 |
char **__restrict __endptr, |
7142 |
int __base, __locale_t __loc) |
7143 |
throw () __attribute__ ((__nonnull__ (1, 4))); |
7144 |
|
7145 |
__extension__ |
7146 |
extern long long int strtoll_l (__const char *__restrict __nptr, |
7147 |
char **__restrict __endptr, int __base, |
7148 |
__locale_t __loc) |
7149 |
throw () __attribute__ ((__nonnull__ (1, 4))); |
7150 |
|
7151 |
__extension__ |
7152 |
extern unsigned long long int strtoull_l (__const char *__restrict __nptr, |
7153 |
char **__restrict __endptr, |
7154 |
int __base, __locale_t __loc) |
7155 |
throw () __attribute__ ((__nonnull__ (1, 4))); |
7156 |
|
7157 |
extern double strtod_l (__const char *__restrict __nptr, |
7158 |
char **__restrict __endptr, __locale_t __loc) |
7159 |
throw () __attribute__ ((__nonnull__ (1, 3))); |
7160 |
|
7161 |
extern float strtof_l (__const char *__restrict __nptr, |
7162 |
char **__restrict __endptr, __locale_t __loc) |
7163 |
throw () __attribute__ ((__nonnull__ (1, 3))); |
7164 |
|
7165 |
extern long double strtold_l (__const char *__restrict __nptr, |
7166 |
char **__restrict __endptr, |
7167 |
__locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))); |
7168 |
|
7169 |
|
7170 |
|
7171 |
|
7172 |
|
7173 |
|
7174 |
extern double __strtod_internal (__const char *__restrict __nptr, |
7175 |
char **__restrict __endptr, int __group) |
7176 |
throw () __attribute__ ((__nonnull__ (1))); |
7177 |
extern float __strtof_internal (__const char *__restrict __nptr, |
7178 |
char **__restrict __endptr, int __group) |
7179 |
throw () __attribute__ ((__nonnull__ (1))); |
7180 |
extern long double __strtold_internal (__const char *__restrict __nptr, |
7181 |
char **__restrict __endptr, |
7182 |
int __group) throw () __attribute__ ((__nonnull__ (1))); |
7183 |
|
7184 |
extern long int __strtol_internal (__const char *__restrict __nptr, |
7185 |
char **__restrict __endptr, |
7186 |
int __base, int __group) |
7187 |
throw () __attribute__ ((__nonnull__ (1))); |
7188 |
|
7189 |
|
7190 |
|
7191 |
extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, |
7192 |
char **__restrict __endptr, |
7193 |
int __base, int __group) |
7194 |
throw () __attribute__ ((__nonnull__ (1))); |
7195 |
|
7196 |
|
7197 |
|
7198 |
|
7199 |
__extension__ |
7200 |
extern long long int __strtoll_internal (__const char *__restrict __nptr, |
7201 |
char **__restrict __endptr, |
7202 |
int __base, int __group) |
7203 |
throw () __attribute__ ((__nonnull__ (1))); |
7204 |
|
7205 |
|
7206 |
|
7207 |
__extension__ |
7208 |
extern unsigned long long int __strtoull_internal (__const char * |
7209 |
__restrict __nptr, |
7210 |
char **__restrict __endptr, |
7211 |
int __base, int __group) |
7212 |
throw () __attribute__ ((__nonnull__ (1))); |
7213 |
# 424 "/usr/include/stdlib.h" 3 4 |
7214 |
extern char *l64a (long int __n) throw (); |
7215 |
|
7216 |
|
7217 |
extern long int a64l (__const char *__s) |
7218 |
throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); |
7219 |
|
7220 |
|
7221 |
|
7222 |
|
7223 |
# 1 "/usr/include/sys/types.h" 1 3 4 |
7224 |
# 29 "/usr/include/sys/types.h" 3 4 |
7225 |
extern "C" { |
7226 |
|
7227 |
|
7228 |
|
7229 |
|
7230 |
|
7231 |
typedef __u_char u_char; |
7232 |
typedef __u_short u_short; |
7233 |
typedef __u_int u_int; |
7234 |
typedef __u_long u_long; |
7235 |
typedef __quad_t quad_t; |
7236 |
typedef __u_quad_t u_quad_t; |
7237 |
typedef __fsid_t fsid_t; |
7238 |
|
7239 |
|
7240 |
|
7241 |
|
7242 |
typedef __loff_t loff_t; |
7243 |
|
7244 |
|
7245 |
|
7246 |
typedef __ino_t ino_t; |
7247 |
|
7248 |
|
7249 |
|
7250 |
|
7251 |
|
7252 |
|
7253 |
typedef __ino64_t ino64_t; |
7254 |
|
7255 |
|
7256 |
|
7257 |
|
7258 |
typedef __dev_t dev_t; |
7259 |
# 72 "/usr/include/sys/types.h" 3 4 |
7260 |
typedef __mode_t mode_t; |
7261 |
|
7262 |
|
7263 |
|
7264 |
|
7265 |
typedef __nlink_t nlink_t; |
7266 |
# 105 "/usr/include/sys/types.h" 3 4 |
7267 |
typedef __id_t id_t; |
7268 |
# 116 "/usr/include/sys/types.h" 3 4 |
7269 |
typedef __daddr_t daddr_t; |
7270 |
typedef __caddr_t caddr_t; |
7271 |
|
7272 |
|
7273 |
|
7274 |
|
7275 |
|
7276 |
typedef __key_t key_t; |
7277 |
# 141 "/usr/include/sys/types.h" 3 4 |
7278 |
typedef __suseconds_t suseconds_t; |
7279 |
|
7280 |
|
7281 |
|
7282 |
|
7283 |
|
7284 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 1 3 4 |
7285 |
# 148 "/usr/include/sys/types.h" 2 3 4 |
7286 |
|
7287 |
|
7288 |
|
7289 |
typedef unsigned long int ulong; |
7290 |
typedef unsigned short int ushort; |
7291 |
typedef unsigned int uint; |
7292 |
# 197 "/usr/include/sys/types.h" 3 4 |
7293 |
typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); |
7294 |
typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); |
7295 |
typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); |
7296 |
typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); |
7297 |
|
7298 |
typedef int register_t __attribute__ ((__mode__ (__word__))); |
7299 |
# 216 "/usr/include/sys/types.h" 3 4 |
7300 |
# 1 "/usr/include/sys/select.h" 1 3 4 |
7301 |
# 31 "/usr/include/sys/select.h" 3 4 |
7302 |
# 1 "/usr/include/bits/select.h" 1 3 4 |
7303 |
# 32 "/usr/include/sys/select.h" 2 3 4 |
7304 |
|
7305 |
|
7306 |
# 1 "/usr/include/bits/sigset.h" 1 3 4 |
7307 |
# 35 "/usr/include/sys/select.h" 2 3 4 |
7308 |
# 46 "/usr/include/sys/select.h" 3 4 |
7309 |
# 1 "/usr/include/bits/time.h" 1 3 4 |
7310 |
# 69 "/usr/include/bits/time.h" 3 4 |
7311 |
struct timeval |
7312 |
{ |
7313 |
__time_t tv_sec; |
7314 |
__suseconds_t tv_usec; |
7315 |
}; |
7316 |
# 47 "/usr/include/sys/select.h" 2 3 4 |
7317 |
# 55 "/usr/include/sys/select.h" 3 4 |
7318 |
typedef long int __fd_mask; |
7319 |
# 67 "/usr/include/sys/select.h" 3 4 |
7320 |
typedef struct |
7321 |
{ |
7322 |
|
7323 |
|
7324 |
|
7325 |
__fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))]; |
7326 |
|
7327 |
|
7328 |
|
7329 |
|
7330 |
|
7331 |
} fd_set; |
7332 |
|
7333 |
|
7334 |
|
7335 |
|
7336 |
|
7337 |
|
7338 |
typedef __fd_mask fd_mask; |
7339 |
# 99 "/usr/include/sys/select.h" 3 4 |
7340 |
extern "C" { |
7341 |
# 109 "/usr/include/sys/select.h" 3 4 |
7342 |
extern int select (int __nfds, fd_set *__restrict __readfds, |
7343 |
fd_set *__restrict __writefds, |
7344 |
fd_set *__restrict __exceptfds, |
7345 |
struct timeval *__restrict __timeout); |
7346 |
# 121 "/usr/include/sys/select.h" 3 4 |
7347 |
extern int pselect (int __nfds, fd_set *__restrict __readfds, |
7348 |
fd_set *__restrict __writefds, |
7349 |
fd_set *__restrict __exceptfds, |
7350 |
const struct timespec *__restrict __timeout, |
7351 |
const __sigset_t *__restrict __sigmask); |
7352 |
|
7353 |
|
7354 |
} |
7355 |
# 217 "/usr/include/sys/types.h" 2 3 4 |
7356 |
|
7357 |
|
7358 |
# 1 "/usr/include/sys/sysmacros.h" 1 3 4 |
7359 |
# 29 "/usr/include/sys/sysmacros.h" 3 4 |
7360 |
__extension__ |
7361 |
extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) |
7362 |
throw (); |
7363 |
__extension__ |
7364 |
extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) |
7365 |
throw (); |
7366 |
__extension__ |
7367 |
extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, |
7368 |
unsigned int __minor) |
7369 |
throw (); |
7370 |
|
7371 |
|
7372 |
__extension__ extern __inline unsigned int |
7373 |
gnu_dev_major (unsigned long long int __dev) throw () |
7374 |
{ |
7375 |
return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); |
7376 |
} |
7377 |
|
7378 |
__extension__ extern __inline unsigned int |
7379 |
gnu_dev_minor (unsigned long long int __dev) throw () |
7380 |
{ |
7381 |
return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); |
7382 |
} |
7383 |
|
7384 |
__extension__ extern __inline unsigned long long int |
7385 |
gnu_dev_makedev (unsigned int __major, unsigned int __minor) throw () |
7386 |
{ |
7387 |
return ((__minor & 0xff) | ((__major & 0xfff) << 8) |
7388 |
| (((unsigned long long int) (__minor & ~0xff)) << 12) |
7389 |
| (((unsigned long long int) (__major & ~0xfff)) << 32)); |
7390 |
} |
7391 |
# 220 "/usr/include/sys/types.h" 2 3 4 |
7392 |
|
7393 |
|
7394 |
|
7395 |
|
7396 |
typedef __blksize_t blksize_t; |
7397 |
|
7398 |
|
7399 |
|
7400 |
|
7401 |
|
7402 |
|
7403 |
typedef __blkcnt_t blkcnt_t; |
7404 |
|
7405 |
|
7406 |
|
7407 |
typedef __fsblkcnt_t fsblkcnt_t; |
7408 |
|
7409 |
|
7410 |
|
7411 |
typedef __fsfilcnt_t fsfilcnt_t; |
7412 |
# 258 "/usr/include/sys/types.h" 3 4 |
7413 |
typedef __blkcnt64_t blkcnt64_t; |
7414 |
typedef __fsblkcnt64_t fsblkcnt64_t; |
7415 |
typedef __fsfilcnt64_t fsfilcnt64_t; |
7416 |
|
7417 |
|
7418 |
|
7419 |
|
7420 |
|
7421 |
# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 |
7422 |
# 267 "/usr/include/sys/types.h" 2 3 4 |
7423 |
|
7424 |
|
7425 |
} |
7426 |
# 434 "/usr/include/stdlib.h" 2 3 4 |
7427 |
|
7428 |
|
7429 |
|
7430 |
|
7431 |
|
7432 |
|
7433 |
extern long int random (void) throw (); |
7434 |
|
7435 |
|
7436 |
extern void srandom (unsigned int __seed) throw (); |
7437 |
|
7438 |
|
7439 |
|
7440 |
|
7441 |
|
7442 |
extern char *initstate (unsigned int __seed, char *__statebuf, |
7443 |
size_t __statelen) throw () __attribute__ ((__nonnull__ (2))); |
7444 |
|
7445 |
|
7446 |
|
7447 |
extern char *setstate (char *__statebuf) throw () __attribute__ ((__nonnull__ (1))); |
7448 |
|
7449 |
|
7450 |
|
7451 |
|
7452 |
|
7453 |
|
7454 |
|
7455 |
struct random_data |
7456 |
{ |
7457 |
int32_t *fptr; |
7458 |
int32_t *rptr; |
7459 |
int32_t *state; |
7460 |
int rand_type; |
7461 |
int rand_deg; |
7462 |
int rand_sep; |
7463 |
int32_t *end_ptr; |
7464 |
}; |
7465 |
|
7466 |
extern int random_r (struct random_data *__restrict __buf, |
7467 |
int32_t *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); |
7468 |
|
7469 |
extern int srandom_r (unsigned int __seed, struct random_data *__buf) |
7470 |
throw () __attribute__ ((__nonnull__ (2))); |
7471 |
|
7472 |
extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, |
7473 |
size_t __statelen, |
7474 |
struct random_data *__restrict __buf) |
7475 |
throw () __attribute__ ((__nonnull__ (2, 4))); |
7476 |
|
7477 |
extern int setstate_r (char *__restrict __statebuf, |
7478 |
struct random_data *__restrict __buf) |
7479 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
7480 |
|
7481 |
|
7482 |
|
7483 |
|
7484 |
|
7485 |
|
7486 |
extern int rand (void) throw (); |
7487 |
|
7488 |
extern void srand (unsigned int __seed) throw (); |
7489 |
|
7490 |
|
7491 |
|
7492 |
|
7493 |
extern int rand_r (unsigned int *__seed) throw (); |
7494 |
|
7495 |
|
7496 |
|
7497 |
|
7498 |
|
7499 |
|
7500 |
|
7501 |
extern double drand48 (void) throw (); |
7502 |
extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); |
7503 |
|
7504 |
|
7505 |
extern long int lrand48 (void) throw (); |
7506 |
extern long int nrand48 (unsigned short int __xsubi[3]) |
7507 |
throw () __attribute__ ((__nonnull__ (1))); |
7508 |
|
7509 |
|
7510 |
extern long int mrand48 (void) throw (); |
7511 |
extern long int jrand48 (unsigned short int __xsubi[3]) |
7512 |
throw () __attribute__ ((__nonnull__ (1))); |
7513 |
|
7514 |
|
7515 |
extern void srand48 (long int __seedval) throw (); |
7516 |
extern unsigned short int *seed48 (unsigned short int __seed16v[3]) |
7517 |
throw () __attribute__ ((__nonnull__ (1))); |
7518 |
extern void lcong48 (unsigned short int __param[7]) throw () __attribute__ ((__nonnull__ (1))); |
7519 |
|
7520 |
|
7521 |
|
7522 |
|
7523 |
|
7524 |
struct drand48_data |
7525 |
{ |
7526 |
unsigned short int __x[3]; |
7527 |
unsigned short int __old_x[3]; |
7528 |
unsigned short int __c; |
7529 |
unsigned short int __init; |
7530 |
unsigned long long int __a; |
7531 |
}; |
7532 |
|
7533 |
|
7534 |
extern int drand48_r (struct drand48_data *__restrict __buffer, |
7535 |
double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); |
7536 |
extern int erand48_r (unsigned short int __xsubi[3], |
7537 |
struct drand48_data *__restrict __buffer, |
7538 |
double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); |
7539 |
|
7540 |
|
7541 |
extern int lrand48_r (struct drand48_data *__restrict __buffer, |
7542 |
long int *__restrict __result) |
7543 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
7544 |
extern int nrand48_r (unsigned short int __xsubi[3], |
7545 |
struct drand48_data *__restrict __buffer, |
7546 |
long int *__restrict __result) |
7547 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
7548 |
|
7549 |
|
7550 |
extern int mrand48_r (struct drand48_data *__restrict __buffer, |
7551 |
long int *__restrict __result) |
7552 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
7553 |
extern int jrand48_r (unsigned short int __xsubi[3], |
7554 |
struct drand48_data *__restrict __buffer, |
7555 |
long int *__restrict __result) |
7556 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
7557 |
|
7558 |
|
7559 |
extern int srand48_r (long int __seedval, struct drand48_data *__buffer) |
7560 |
throw () __attribute__ ((__nonnull__ (2))); |
7561 |
|
7562 |
extern int seed48_r (unsigned short int __seed16v[3], |
7563 |
struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2))); |
7564 |
|
7565 |
extern int lcong48_r (unsigned short int __param[7], |
7566 |
struct drand48_data *__buffer) |
7567 |
throw () __attribute__ ((__nonnull__ (1, 2))); |
7568 |
|
7569 |
|
7570 |
|
7571 |
|
7572 |
|
7573 |
|
7574 |
|
7575 |
|
7576 |
|
7577 |
extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)); |
7578 |
|
7579 |
extern void *calloc (size_t __nmemb, size_t __size) |
7580 |
throw () __attribute__ ((__malloc__)); |
7581 |
|
7582 |
|
7583 |
|
7584 |
|
7585 |
|
7586 |
|
7587 |
|
7588 |
extern void *realloc (void *__ptr, size_t __size) throw () __attribute__ ((__malloc__)); |
7589 |
|
7590 |
extern void free (void *__ptr) throw (); |
7591 |
|
7592 |
|
7593 |
|
7594 |
|
7595 |
extern void cfree (void *__ptr) throw (); |
7596 |
|
7597 |
|
7598 |
|
7599 |
# 1 "/usr/include/alloca.h" 1 3 4 |
7600 |
# 25 "/usr/include/alloca.h" 3 4 |
7601 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 1 3 4 |
7602 |
# 26 "/usr/include/alloca.h" 2 3 4 |
7603 |
|
7604 |
extern "C" { |
7605 |
|
7606 |
|
7607 |
|
7608 |
|
7609 |
|
7610 |
extern void *alloca (size_t __size) throw (); |
7611 |
|
7612 |
|
7613 |
|
7614 |
|
7615 |
|
7616 |
} |
7617 |
# 607 "/usr/include/stdlib.h" 2 3 4 |
7618 |
|
7619 |
|
7620 |
|
7621 |
|
7622 |
extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)); |
7623 |
|
7624 |
|
7625 |
|
7626 |
|
7627 |
extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) |
7628 |
throw () __attribute__ ((__nonnull__ (1))); |
7629 |
|
7630 |
|
7631 |
|
7632 |
|
7633 |
extern void abort (void) throw () __attribute__ ((__noreturn__)); |
7634 |
|
7635 |
|
7636 |
|
7637 |
extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1))); |
7638 |
|
7639 |
|
7640 |
|
7641 |
|
7642 |
|
7643 |
extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) |
7644 |
throw () __attribute__ ((__nonnull__ (1))); |
7645 |
|
7646 |
|
7647 |
|
7648 |
|
7649 |
|
7650 |
|
7651 |
extern void exit (int __status) throw () __attribute__ ((__noreturn__)); |
7652 |
|
7653 |
|
7654 |
|
7655 |
|
7656 |
|
7657 |
|
7658 |
extern void _Exit (int __status) throw () __attribute__ ((__noreturn__)); |
7659 |
|
7660 |
|
7661 |
|
7662 |
|
7663 |
|
7664 |
|
7665 |
extern char *getenv (__const char *__name) throw () __attribute__ ((__nonnull__ (1))); |
7666 |
|
7667 |
|
7668 |
|
7669 |
|
7670 |
extern char *__secure_getenv (__const char *__name) throw () __attribute__ ((__nonnull__ (1))); |
7671 |
|
7672 |
|
7673 |
|
7674 |
|
7675 |
|
7676 |
extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1))); |
7677 |
|
7678 |
|
7679 |
|
7680 |
|
7681 |
|
7682 |
extern int setenv (__const char *__name, __const char *__value, int __replace) |
7683 |
throw () __attribute__ ((__nonnull__ (2))); |
7684 |
|
7685 |
|
7686 |
extern int unsetenv (__const char *__name) throw (); |
7687 |
|
7688 |
|
7689 |
|
7690 |
|
7691 |
|
7692 |
|
7693 |
extern int clearenv (void) throw (); |
7694 |
# 691 "/usr/include/stdlib.h" 3 4 |
7695 |
extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1))); |
7696 |
# 702 "/usr/include/stdlib.h" 3 4 |
7697 |
extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))); |
7698 |
# 711 "/usr/include/stdlib.h" 3 4 |
7699 |
extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))); |
7700 |
# 721 "/usr/include/stdlib.h" 3 4 |
7701 |
extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))); |
7702 |
|
7703 |
|
7704 |
|
7705 |
|
7706 |
|
7707 |
|
7708 |
|
7709 |
|
7710 |
extern int system (__const char *__command); |
7711 |
|
7712 |
|
7713 |
|
7714 |
|
7715 |
|
7716 |
|
7717 |
|
7718 |
extern char *canonicalize_file_name (__const char *__name) |
7719 |
throw () __attribute__ ((__nonnull__ (1))); |
7720 |
# 749 "/usr/include/stdlib.h" 3 4 |
7721 |
extern char *realpath (__const char *__restrict __name, |
7722 |
char *__restrict __resolved) throw (); |
7723 |
|
7724 |
|
7725 |
|
7726 |
|
7727 |
|
7728 |
|
7729 |
typedef int (*__compar_fn_t) (__const void *, __const void *); |
7730 |
|
7731 |
|
7732 |
typedef __compar_fn_t comparison_fn_t; |
7733 |
|
7734 |
|
7735 |
|
7736 |
|
7737 |
|
7738 |
|
7739 |
extern void *bsearch (__const void *__key, __const void *__base, |
7740 |
size_t __nmemb, size_t __size, __compar_fn_t __compar) |
7741 |
__attribute__ ((__nonnull__ (1, 2, 5))); |
7742 |
|
7743 |
|
7744 |
|
7745 |
extern void qsort (void *__base, size_t __nmemb, size_t __size, |
7746 |
__compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); |
7747 |
|
7748 |
|
7749 |
|
7750 |
extern int abs (int __x) throw () __attribute__ ((__const__)); |
7751 |
extern long int labs (long int __x) throw () __attribute__ ((__const__)); |
7752 |
|
7753 |
|
7754 |
|
7755 |
__extension__ extern long long int llabs (long long int __x) |
7756 |
throw () __attribute__ ((__const__)); |
7757 |
|
7758 |
|
7759 |
|
7760 |
|
7761 |
|
7762 |
|
7763 |
|
7764 |
extern div_t div (int __numer, int __denom) |
7765 |
throw () __attribute__ ((__const__)); |
7766 |
extern ldiv_t ldiv (long int __numer, long int __denom) |
7767 |
throw () __attribute__ ((__const__)); |
7768 |
|
7769 |
|
7770 |
|
7771 |
|
7772 |
__extension__ extern lldiv_t lldiv (long long int __numer, |
7773 |
long long int __denom) |
7774 |
throw () __attribute__ ((__const__)); |
7775 |
|
7776 |
# 814 "/usr/include/stdlib.h" 3 4 |
7777 |
extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, |
7778 |
int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))); |
7779 |
|
7780 |
|
7781 |
|
7782 |
|
7783 |
extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, |
7784 |
int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))); |
7785 |
|
7786 |
|
7787 |
|
7788 |
|
7789 |
extern char *gcvt (double __value, int __ndigit, char *__buf) |
7790 |
throw () __attribute__ ((__nonnull__ (3))); |
7791 |
|
7792 |
|
7793 |
|
7794 |
|
7795 |
extern char *qecvt (long double __value, int __ndigit, |
7796 |
int *__restrict __decpt, int *__restrict __sign) |
7797 |
throw () __attribute__ ((__nonnull__ (3, 4))); |
7798 |
extern char *qfcvt (long double __value, int __ndigit, |
7799 |
int *__restrict __decpt, int *__restrict __sign) |
7800 |
throw () __attribute__ ((__nonnull__ (3, 4))); |
7801 |
extern char *qgcvt (long double __value, int __ndigit, char *__buf) |
7802 |
throw () __attribute__ ((__nonnull__ (3))); |
7803 |
|
7804 |
|
7805 |
|
7806 |
|
7807 |
extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, |
7808 |
int *__restrict __sign, char *__restrict __buf, |
7809 |
size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); |
7810 |
extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, |
7811 |
int *__restrict __sign, char *__restrict __buf, |
7812 |
size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); |
7813 |
|
7814 |
extern int qecvt_r (long double __value, int __ndigit, |
7815 |
int *__restrict __decpt, int *__restrict __sign, |
7816 |
char *__restrict __buf, size_t __len) |
7817 |
throw () __attribute__ ((__nonnull__ (3, 4, 5))); |
7818 |
extern int qfcvt_r (long double __value, int __ndigit, |
7819 |
int *__restrict __decpt, int *__restrict __sign, |
7820 |
char *__restrict __buf, size_t __len) |
7821 |
throw () __attribute__ ((__nonnull__ (3, 4, 5))); |
7822 |
|
7823 |
|
7824 |
|
7825 |
|
7826 |
|
7827 |
|
7828 |
|
7829 |
extern int mblen (__const char *__s, size_t __n) throw (); |
7830 |
|
7831 |
|
7832 |
extern int mbtowc (wchar_t *__restrict __pwc, |
7833 |
__const char *__restrict __s, size_t __n) throw (); |
7834 |
|
7835 |
|
7836 |
extern int wctomb (char *__s, wchar_t __wchar) throw (); |
7837 |
|
7838 |
|
7839 |
|
7840 |
extern size_t mbstowcs (wchar_t *__restrict __pwcs, |
7841 |
__const char *__restrict __s, size_t __n) throw (); |
7842 |
|
7843 |
extern size_t wcstombs (char *__restrict __s, |
7844 |
__const wchar_t *__restrict __pwcs, size_t __n) |
7845 |
throw (); |
7846 |
|
7847 |
|
7848 |
|
7849 |
|
7850 |
|
7851 |
|
7852 |
|
7853 |
|
7854 |
extern int rpmatch (__const char *__response) throw () __attribute__ ((__nonnull__ (1))); |
7855 |
# 902 "/usr/include/stdlib.h" 3 4 |
7856 |
extern int getsubopt (char **__restrict __optionp, |
7857 |
char *__const *__restrict __tokens, |
7858 |
char **__restrict __valuep) |
7859 |
throw () __attribute__ ((__nonnull__ (1, 2, 3))); |
7860 |
|
7861 |
|
7862 |
|
7863 |
|
7864 |
|
7865 |
extern void setkey (__const char *__key) throw () __attribute__ ((__nonnull__ (1))); |
7866 |
|
7867 |
|
7868 |
|
7869 |
|
7870 |
|
7871 |
|
7872 |
|
7873 |
extern int posix_openpt (int __oflag); |
7874 |
|
7875 |
|
7876 |
|
7877 |
|
7878 |
|
7879 |
|
7880 |
|
7881 |
extern int grantpt (int __fd) throw (); |
7882 |
|
7883 |
|
7884 |
|
7885 |
extern int unlockpt (int __fd) throw (); |
7886 |
|
7887 |
|
7888 |
|
7889 |
|
7890 |
extern char *ptsname (int __fd) throw (); |
7891 |
|
7892 |
|
7893 |
|
7894 |
|
7895 |
|
7896 |
|
7897 |
extern int ptsname_r (int __fd, char *__buf, size_t __buflen) |
7898 |
throw () __attribute__ ((__nonnull__ (2))); |
7899 |
|
7900 |
|
7901 |
extern int getpt (void); |
7902 |
|
7903 |
|
7904 |
|
7905 |
|
7906 |
|
7907 |
|
7908 |
extern int getloadavg (double __loadavg[], int __nelem) |
7909 |
throw () __attribute__ ((__nonnull__ (1))); |
7910 |
|
7911 |
|
7912 |
|
7913 |
|
7914 |
|
7915 |
} |
7916 |
# 53 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstdlib" 2 3 |
7917 |
# 84 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstdlib" 3 |
7918 |
namespace std |
7919 |
{ |
7920 |
using ::div_t; |
7921 |
using ::ldiv_t; |
7922 |
|
7923 |
using ::abort; |
7924 |
using ::abs; |
7925 |
using ::atexit; |
7926 |
using ::atof; |
7927 |
using ::atoi; |
7928 |
using ::atol; |
7929 |
using ::bsearch; |
7930 |
using ::calloc; |
7931 |
using ::div; |
7932 |
using ::exit; |
7933 |
using ::free; |
7934 |
using ::getenv; |
7935 |
using ::labs; |
7936 |
using ::ldiv; |
7937 |
using ::malloc; |
7938 |
|
7939 |
using ::mblen; |
7940 |
using ::mbstowcs; |
7941 |
using ::mbtowc; |
7942 |
|
7943 |
using ::qsort; |
7944 |
using ::rand; |
7945 |
using ::realloc; |
7946 |
using ::srand; |
7947 |
using ::strtod; |
7948 |
using ::strtol; |
7949 |
using ::strtoul; |
7950 |
using ::system; |
7951 |
|
7952 |
using ::wcstombs; |
7953 |
using ::wctomb; |
7954 |
|
7955 |
|
7956 |
inline long |
7957 |
abs(long __i) { return labs(__i); } |
7958 |
|
7959 |
inline ldiv_t |
7960 |
div(long __i, long __j) { return ldiv(__i, __j); } |
7961 |
} |
7962 |
# 140 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstdlib" 3 |
7963 |
namespace __gnu_cxx |
7964 |
{ |
7965 |
|
7966 |
using ::lldiv_t; |
7967 |
|
7968 |
|
7969 |
|
7970 |
|
7971 |
|
7972 |
using ::_Exit; |
7973 |
|
7974 |
|
7975 |
inline long long |
7976 |
abs(long long __x) { return __x >= 0 ? __x : -__x; } |
7977 |
|
7978 |
inline long long |
7979 |
llabs(long long __x) { return __x >= 0 ? __x : -__x; } |
7980 |
|
7981 |
|
7982 |
inline lldiv_t |
7983 |
div(long long __n, long long __d) |
7984 |
{ lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } |
7985 |
|
7986 |
inline lldiv_t |
7987 |
lldiv(long long __n, long long __d) |
7988 |
{ lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } |
7989 |
# 176 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cstdlib" 3 |
7990 |
using ::atoll; |
7991 |
using ::strtoll; |
7992 |
using ::strtoull; |
7993 |
|
7994 |
using ::strtof; |
7995 |
using ::strtold; |
7996 |
} |
7997 |
|
7998 |
namespace std |
7999 |
{ |
8000 |
|
8001 |
using __gnu_cxx::lldiv_t; |
8002 |
|
8003 |
using __gnu_cxx::_Exit; |
8004 |
using __gnu_cxx::abs; |
8005 |
using __gnu_cxx::llabs; |
8006 |
|
8007 |
using __gnu_cxx::div; |
8008 |
using __gnu_cxx::lldiv; |
8009 |
|
8010 |
using __gnu_cxx::atoll; |
8011 |
using __gnu_cxx::strtof; |
8012 |
using __gnu_cxx::strtoll; |
8013 |
using __gnu_cxx::strtoull; |
8014 |
using __gnu_cxx::strtold; |
8015 |
} |
8016 |
# 68 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 2 3 |
8017 |
|
8018 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/new" 1 3 |
8019 |
# 44 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/new" 3 |
8020 |
extern "C++" { |
8021 |
|
8022 |
namespace std |
8023 |
{ |
8024 |
|
8025 |
|
8026 |
|
8027 |
|
8028 |
|
8029 |
class bad_alloc : public exception |
8030 |
{ |
8031 |
public: |
8032 |
bad_alloc() throw() { } |
8033 |
|
8034 |
|
8035 |
virtual ~bad_alloc() throw(); |
8036 |
}; |
8037 |
|
8038 |
struct nothrow_t { }; |
8039 |
extern const nothrow_t nothrow; |
8040 |
|
8041 |
|
8042 |
typedef void (*new_handler)(); |
8043 |
|
8044 |
new_handler set_new_handler(new_handler) throw(); |
8045 |
} |
8046 |
# 82 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/new" 3 |
8047 |
void* operator new(std::size_t) throw (std::bad_alloc); |
8048 |
void* operator new[](std::size_t) throw (std::bad_alloc); |
8049 |
void operator delete(void*) throw(); |
8050 |
void operator delete[](void*) throw(); |
8051 |
void* operator new(std::size_t, const std::nothrow_t&) throw(); |
8052 |
void* operator new[](std::size_t, const std::nothrow_t&) throw(); |
8053 |
void operator delete(void*, const std::nothrow_t&) throw(); |
8054 |
void operator delete[](void*, const std::nothrow_t&) throw(); |
8055 |
|
8056 |
|
8057 |
inline void* operator new(std::size_t, void* __p) throw() { return __p; } |
8058 |
inline void* operator new[](std::size_t, void* __p) throw() { return __p; } |
8059 |
|
8060 |
|
8061 |
inline void operator delete (void*, void*) throw() { } |
8062 |
inline void operator delete[](void*, void*) throw() { } |
8063 |
|
8064 |
} |
8065 |
# 70 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 2 3 |
8066 |
|
8067 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_pair.h" 1 3 |
8068 |
# 64 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_pair.h" 3 |
8069 |
namespace std |
8070 |
{ |
8071 |
|
8072 |
template<class _T1, class _T2> |
8073 |
struct pair |
8074 |
{ |
8075 |
typedef _T1 first_type; |
8076 |
typedef _T2 second_type; |
8077 |
|
8078 |
_T1 first; |
8079 |
_T2 second; |
8080 |
|
8081 |
|
8082 |
|
8083 |
|
8084 |
|
8085 |
pair() |
8086 |
: first(), second() { } |
8087 |
|
8088 |
|
8089 |
pair(const _T1& __a, const _T2& __b) |
8090 |
: first(__a), second(__b) { } |
8091 |
|
8092 |
|
8093 |
template<class _U1, class _U2> |
8094 |
pair(const pair<_U1, _U2>& __p) |
8095 |
: first(__p.first), second(__p.second) { } |
8096 |
}; |
8097 |
|
8098 |
|
8099 |
template<class _T1, class _T2> |
8100 |
inline bool |
8101 |
operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) |
8102 |
{ return __x.first == __y.first && __x.second == __y.second; } |
8103 |
|
8104 |
|
8105 |
template<class _T1, class _T2> |
8106 |
inline bool |
8107 |
operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) |
8108 |
{ return __x.first < __y.first |
8109 |
|| (!(__y.first < __x.first) && __x.second < __y.second); } |
8110 |
|
8111 |
|
8112 |
template<class _T1, class _T2> |
8113 |
inline bool |
8114 |
operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) |
8115 |
{ return !(__x == __y); } |
8116 |
|
8117 |
|
8118 |
template<class _T1, class _T2> |
8119 |
inline bool |
8120 |
operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) |
8121 |
{ return __y < __x; } |
8122 |
|
8123 |
|
8124 |
template<class _T1, class _T2> |
8125 |
inline bool |
8126 |
operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) |
8127 |
{ return !(__y < __x); } |
8128 |
|
8129 |
|
8130 |
template<class _T1, class _T2> |
8131 |
inline bool |
8132 |
operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) |
8133 |
{ return !(__x < __y); } |
8134 |
# 142 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_pair.h" 3 |
8135 |
template<class _T1, class _T2> |
8136 |
inline pair<_T1, _T2> |
8137 |
make_pair(_T1 __x, _T2 __y) { return pair<_T1, _T2>(__x, __y); } |
8138 |
} |
8139 |
# 72 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 2 3 |
8140 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/type_traits.h" 1 3 |
8141 |
# 52 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/type_traits.h" 3 |
8142 |
|
8143 |
# 53 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/type_traits.h" 3 |
8144 |
# 90 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/type_traits.h" 3 |
8145 |
struct __true_type {}; |
8146 |
struct __false_type {}; |
8147 |
|
8148 |
template <class _Tp> |
8149 |
struct __type_traits |
8150 |
{ |
8151 |
typedef __true_type this_dummy_member_must_be_first; |
8152 |
# 114 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/type_traits.h" 3 |
8153 |
typedef __false_type has_trivial_default_constructor; |
8154 |
typedef __false_type has_trivial_copy_constructor; |
8155 |
typedef __false_type has_trivial_assignment_operator; |
8156 |
typedef __false_type has_trivial_destructor; |
8157 |
typedef __false_type is_POD_type; |
8158 |
}; |
8159 |
|
8160 |
|
8161 |
|
8162 |
|
8163 |
template<> |
8164 |
struct __type_traits<bool> |
8165 |
{ |
8166 |
typedef __true_type has_trivial_default_constructor; |
8167 |
typedef __true_type has_trivial_copy_constructor; |
8168 |
typedef __true_type has_trivial_assignment_operator; |
8169 |
typedef __true_type has_trivial_destructor; |
8170 |
typedef __true_type is_POD_type; |
8171 |
}; |
8172 |
|
8173 |
template<> |
8174 |
struct __type_traits<char> |
8175 |
{ |
8176 |
typedef __true_type has_trivial_default_constructor; |
8177 |
typedef __true_type has_trivial_copy_constructor; |
8178 |
typedef __true_type has_trivial_assignment_operator; |
8179 |
typedef __true_type has_trivial_destructor; |
8180 |
typedef __true_type is_POD_type; |
8181 |
}; |
8182 |
|
8183 |
template<> |
8184 |
struct __type_traits<signed char> |
8185 |
{ |
8186 |
typedef __true_type has_trivial_default_constructor; |
8187 |
typedef __true_type has_trivial_copy_constructor; |
8188 |
typedef __true_type has_trivial_assignment_operator; |
8189 |
typedef __true_type has_trivial_destructor; |
8190 |
typedef __true_type is_POD_type; |
8191 |
}; |
8192 |
|
8193 |
template<> |
8194 |
struct __type_traits<unsigned char> |
8195 |
{ |
8196 |
typedef __true_type has_trivial_default_constructor; |
8197 |
typedef __true_type has_trivial_copy_constructor; |
8198 |
typedef __true_type has_trivial_assignment_operator; |
8199 |
typedef __true_type has_trivial_destructor; |
8200 |
typedef __true_type is_POD_type; |
8201 |
}; |
8202 |
|
8203 |
template<> |
8204 |
struct __type_traits<wchar_t> |
8205 |
{ |
8206 |
typedef __true_type has_trivial_default_constructor; |
8207 |
typedef __true_type has_trivial_copy_constructor; |
8208 |
typedef __true_type has_trivial_assignment_operator; |
8209 |
typedef __true_type has_trivial_destructor; |
8210 |
typedef __true_type is_POD_type; |
8211 |
}; |
8212 |
|
8213 |
template<> |
8214 |
struct __type_traits<short> |
8215 |
{ |
8216 |
typedef __true_type has_trivial_default_constructor; |
8217 |
typedef __true_type has_trivial_copy_constructor; |
8218 |
typedef __true_type has_trivial_assignment_operator; |
8219 |
typedef __true_type has_trivial_destructor; |
8220 |
typedef __true_type is_POD_type; |
8221 |
}; |
8222 |
|
8223 |
template<> |
8224 |
struct __type_traits<unsigned short> |
8225 |
{ |
8226 |
typedef __true_type has_trivial_default_constructor; |
8227 |
typedef __true_type has_trivial_copy_constructor; |
8228 |
typedef __true_type has_trivial_assignment_operator; |
8229 |
typedef __true_type has_trivial_destructor; |
8230 |
typedef __true_type is_POD_type; |
8231 |
}; |
8232 |
|
8233 |
template<> |
8234 |
struct __type_traits<int> |
8235 |
{ |
8236 |
typedef __true_type has_trivial_default_constructor; |
8237 |
typedef __true_type has_trivial_copy_constructor; |
8238 |
typedef __true_type has_trivial_assignment_operator; |
8239 |
typedef __true_type has_trivial_destructor; |
8240 |
typedef __true_type is_POD_type; |
8241 |
}; |
8242 |
|
8243 |
template<> |
8244 |
struct __type_traits<unsigned int> |
8245 |
{ |
8246 |
typedef __true_type has_trivial_default_constructor; |
8247 |
typedef __true_type has_trivial_copy_constructor; |
8248 |
typedef __true_type has_trivial_assignment_operator; |
8249 |
typedef __true_type has_trivial_destructor; |
8250 |
typedef __true_type is_POD_type; |
8251 |
}; |
8252 |
|
8253 |
template<> |
8254 |
struct __type_traits<long> |
8255 |
{ |
8256 |
typedef __true_type has_trivial_default_constructor; |
8257 |
typedef __true_type has_trivial_copy_constructor; |
8258 |
typedef __true_type has_trivial_assignment_operator; |
8259 |
typedef __true_type has_trivial_destructor; |
8260 |
typedef __true_type is_POD_type; |
8261 |
}; |
8262 |
|
8263 |
template<> |
8264 |
struct __type_traits<unsigned long> |
8265 |
{ |
8266 |
typedef __true_type has_trivial_default_constructor; |
8267 |
typedef __true_type has_trivial_copy_constructor; |
8268 |
typedef __true_type has_trivial_assignment_operator; |
8269 |
typedef __true_type has_trivial_destructor; |
8270 |
typedef __true_type is_POD_type; |
8271 |
}; |
8272 |
|
8273 |
template<> |
8274 |
struct __type_traits<long long> |
8275 |
{ |
8276 |
typedef __true_type has_trivial_default_constructor; |
8277 |
typedef __true_type has_trivial_copy_constructor; |
8278 |
typedef __true_type has_trivial_assignment_operator; |
8279 |
typedef __true_type has_trivial_destructor; |
8280 |
typedef __true_type is_POD_type; |
8281 |
}; |
8282 |
|
8283 |
template<> |
8284 |
struct __type_traits<unsigned long long> |
8285 |
{ |
8286 |
typedef __true_type has_trivial_default_constructor; |
8287 |
typedef __true_type has_trivial_copy_constructor; |
8288 |
typedef __true_type has_trivial_assignment_operator; |
8289 |
typedef __true_type has_trivial_destructor; |
8290 |
typedef __true_type is_POD_type; |
8291 |
}; |
8292 |
|
8293 |
template<> |
8294 |
struct __type_traits<float> |
8295 |
{ |
8296 |
typedef __true_type has_trivial_default_constructor; |
8297 |
typedef __true_type has_trivial_copy_constructor; |
8298 |
typedef __true_type has_trivial_assignment_operator; |
8299 |
typedef __true_type has_trivial_destructor; |
8300 |
typedef __true_type is_POD_type; |
8301 |
}; |
8302 |
|
8303 |
template<> |
8304 |
struct __type_traits<double> |
8305 |
{ |
8306 |
typedef __true_type has_trivial_default_constructor; |
8307 |
typedef __true_type has_trivial_copy_constructor; |
8308 |
typedef __true_type has_trivial_assignment_operator; |
8309 |
typedef __true_type has_trivial_destructor; |
8310 |
typedef __true_type is_POD_type; |
8311 |
}; |
8312 |
|
8313 |
template<> |
8314 |
struct __type_traits<long double> |
8315 |
{ |
8316 |
typedef __true_type has_trivial_default_constructor; |
8317 |
typedef __true_type has_trivial_copy_constructor; |
8318 |
typedef __true_type has_trivial_assignment_operator; |
8319 |
typedef __true_type has_trivial_destructor; |
8320 |
typedef __true_type is_POD_type; |
8321 |
}; |
8322 |
|
8323 |
template <class _Tp> |
8324 |
struct __type_traits<_Tp*> |
8325 |
{ |
8326 |
typedef __true_type has_trivial_default_constructor; |
8327 |
typedef __true_type has_trivial_copy_constructor; |
8328 |
typedef __true_type has_trivial_assignment_operator; |
8329 |
typedef __true_type has_trivial_destructor; |
8330 |
typedef __true_type is_POD_type; |
8331 |
}; |
8332 |
|
8333 |
|
8334 |
|
8335 |
|
8336 |
template <class _Tp> |
8337 |
struct _Is_integer |
8338 |
{ |
8339 |
typedef __false_type _Integral; |
8340 |
}; |
8341 |
|
8342 |
template<> |
8343 |
struct _Is_integer<bool> |
8344 |
{ |
8345 |
typedef __true_type _Integral; |
8346 |
}; |
8347 |
|
8348 |
template<> |
8349 |
struct _Is_integer<char> |
8350 |
{ |
8351 |
typedef __true_type _Integral; |
8352 |
}; |
8353 |
|
8354 |
template<> |
8355 |
struct _Is_integer<signed char> |
8356 |
{ |
8357 |
typedef __true_type _Integral; |
8358 |
}; |
8359 |
|
8360 |
template<> |
8361 |
struct _Is_integer<unsigned char> |
8362 |
{ |
8363 |
typedef __true_type _Integral; |
8364 |
}; |
8365 |
|
8366 |
template<> |
8367 |
struct _Is_integer<wchar_t> |
8368 |
{ |
8369 |
typedef __true_type _Integral; |
8370 |
}; |
8371 |
|
8372 |
template<> |
8373 |
struct _Is_integer<short> |
8374 |
{ |
8375 |
typedef __true_type _Integral; |
8376 |
}; |
8377 |
|
8378 |
template<> |
8379 |
struct _Is_integer<unsigned short> |
8380 |
{ |
8381 |
typedef __true_type _Integral; |
8382 |
}; |
8383 |
|
8384 |
template<> |
8385 |
struct _Is_integer<int> |
8386 |
{ |
8387 |
typedef __true_type _Integral; |
8388 |
}; |
8389 |
|
8390 |
template<> |
8391 |
struct _Is_integer<unsigned int> |
8392 |
{ |
8393 |
typedef __true_type _Integral; |
8394 |
}; |
8395 |
|
8396 |
template<> |
8397 |
struct _Is_integer<long> |
8398 |
{ |
8399 |
typedef __true_type _Integral; |
8400 |
}; |
8401 |
|
8402 |
template<> |
8403 |
struct _Is_integer<unsigned long> |
8404 |
{ |
8405 |
typedef __true_type _Integral; |
8406 |
}; |
8407 |
|
8408 |
template<> |
8409 |
struct _Is_integer<long long> |
8410 |
{ |
8411 |
typedef __true_type _Integral; |
8412 |
}; |
8413 |
|
8414 |
template<> |
8415 |
struct _Is_integer<unsigned long long> |
8416 |
{ |
8417 |
typedef __true_type _Integral; |
8418 |
}; |
8419 |
|
8420 |
template<typename _Tp> |
8421 |
struct _Is_normal_iterator |
8422 |
{ |
8423 |
typedef __false_type _Normal; |
8424 |
}; |
8425 |
|
8426 |
|
8427 |
namespace __gnu_cxx |
8428 |
{ |
8429 |
template<typename _Iterator, typename _Container> |
8430 |
class __normal_iterator; |
8431 |
} |
8432 |
|
8433 |
template<typename _Iterator, typename _Container> |
8434 |
struct _Is_normal_iterator< __gnu_cxx::__normal_iterator<_Iterator, |
8435 |
_Container> > |
8436 |
{ |
8437 |
typedef __true_type _Normal; |
8438 |
}; |
8439 |
# 73 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 2 3 |
8440 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator_base_types.h" 1 3 |
8441 |
# 67 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator_base_types.h" 3 |
8442 |
|
8443 |
# 68 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator_base_types.h" 3 |
8444 |
|
8445 |
namespace std |
8446 |
{ |
8447 |
# 80 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator_base_types.h" 3 |
8448 |
struct input_iterator_tag {}; |
8449 |
|
8450 |
struct output_iterator_tag {}; |
8451 |
|
8452 |
struct forward_iterator_tag : public input_iterator_tag {}; |
8453 |
|
8454 |
|
8455 |
struct bidirectional_iterator_tag : public forward_iterator_tag {}; |
8456 |
|
8457 |
|
8458 |
struct random_access_iterator_tag : public bidirectional_iterator_tag {}; |
8459 |
# 104 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator_base_types.h" 3 |
8460 |
template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, |
8461 |
typename _Pointer = _Tp*, typename _Reference = _Tp&> |
8462 |
struct iterator |
8463 |
{ |
8464 |
|
8465 |
typedef _Category iterator_category; |
8466 |
|
8467 |
typedef _Tp value_type; |
8468 |
|
8469 |
typedef _Distance difference_type; |
8470 |
|
8471 |
typedef _Pointer pointer; |
8472 |
|
8473 |
typedef _Reference reference; |
8474 |
}; |
8475 |
|
8476 |
|
8477 |
|
8478 |
|
8479 |
|
8480 |
|
8481 |
|
8482 |
template<typename _Iterator> |
8483 |
struct iterator_traits |
8484 |
{ |
8485 |
typedef typename _Iterator::iterator_category iterator_category; |
8486 |
typedef typename _Iterator::value_type value_type; |
8487 |
typedef typename _Iterator::difference_type difference_type; |
8488 |
typedef typename _Iterator::pointer pointer; |
8489 |
typedef typename _Iterator::reference reference; |
8490 |
}; |
8491 |
|
8492 |
template<typename _Tp> |
8493 |
struct iterator_traits<_Tp*> |
8494 |
{ |
8495 |
typedef random_access_iterator_tag iterator_category; |
8496 |
typedef _Tp value_type; |
8497 |
typedef ptrdiff_t difference_type; |
8498 |
typedef _Tp* pointer; |
8499 |
typedef _Tp& reference; |
8500 |
}; |
8501 |
|
8502 |
template<typename _Tp> |
8503 |
struct iterator_traits<const _Tp*> |
8504 |
{ |
8505 |
typedef random_access_iterator_tag iterator_category; |
8506 |
typedef _Tp value_type; |
8507 |
typedef ptrdiff_t difference_type; |
8508 |
typedef const _Tp* pointer; |
8509 |
typedef const _Tp& reference; |
8510 |
}; |
8511 |
|
8512 |
|
8513 |
|
8514 |
|
8515 |
|
8516 |
|
8517 |
|
8518 |
template<typename _Iter> |
8519 |
inline typename iterator_traits<_Iter>::iterator_category |
8520 |
__iterator_category(const _Iter&) |
8521 |
{ return typename iterator_traits<_Iter>::iterator_category(); } |
8522 |
|
8523 |
} |
8524 |
# 74 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 2 3 |
8525 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator_base_funcs.h" 1 3 |
8526 |
# 67 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator_base_funcs.h" 3 |
8527 |
|
8528 |
# 68 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator_base_funcs.h" 3 |
8529 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/concept_check.h" 1 3 |
8530 |
# 38 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/concept_check.h" 3 |
8531 |
|
8532 |
# 39 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/concept_check.h" 3 |
8533 |
# 69 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator_base_funcs.h" 2 3 |
8534 |
|
8535 |
namespace std |
8536 |
{ |
8537 |
template<typename _InputIterator> |
8538 |
inline typename iterator_traits<_InputIterator>::difference_type |
8539 |
__distance(_InputIterator __first, _InputIterator __last, |
8540 |
input_iterator_tag) |
8541 |
{ |
8542 |
|
8543 |
|
8544 |
|
8545 |
typename iterator_traits<_InputIterator>::difference_type __n = 0; |
8546 |
while (__first != __last) |
8547 |
{ |
8548 |
++__first; |
8549 |
++__n; |
8550 |
} |
8551 |
return __n; |
8552 |
} |
8553 |
|
8554 |
template<typename _RandomAccessIterator> |
8555 |
inline typename iterator_traits<_RandomAccessIterator>::difference_type |
8556 |
__distance(_RandomAccessIterator __first, _RandomAccessIterator __last, |
8557 |
random_access_iterator_tag) |
8558 |
{ |
8559 |
|
8560 |
|
8561 |
|
8562 |
return __last - __first; |
8563 |
} |
8564 |
# 112 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator_base_funcs.h" 3 |
8565 |
template<typename _InputIterator> |
8566 |
inline typename iterator_traits<_InputIterator>::difference_type |
8567 |
distance(_InputIterator __first, _InputIterator __last) |
8568 |
{ |
8569 |
|
8570 |
return std::__distance(__first, __last, |
8571 |
std::__iterator_category(__first)); |
8572 |
} |
8573 |
|
8574 |
template<typename _InputIterator, typename _Distance> |
8575 |
inline void |
8576 |
__advance(_InputIterator& __i, _Distance __n, input_iterator_tag) |
8577 |
{ |
8578 |
|
8579 |
|
8580 |
while (__n--) |
8581 |
++__i; |
8582 |
} |
8583 |
|
8584 |
template<typename _BidirectionalIterator, typename _Distance> |
8585 |
inline void |
8586 |
__advance(_BidirectionalIterator& __i, _Distance __n, |
8587 |
bidirectional_iterator_tag) |
8588 |
{ |
8589 |
|
8590 |
|
8591 |
|
8592 |
if (__n > 0) |
8593 |
while (__n--) |
8594 |
++__i; |
8595 |
else |
8596 |
while (__n++) |
8597 |
--__i; |
8598 |
} |
8599 |
|
8600 |
template<typename _RandomAccessIterator, typename _Distance> |
8601 |
inline void |
8602 |
__advance(_RandomAccessIterator& __i, _Distance __n, |
8603 |
random_access_iterator_tag) |
8604 |
{ |
8605 |
|
8606 |
|
8607 |
|
8608 |
__i += __n; |
8609 |
} |
8610 |
# 170 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator_base_funcs.h" 3 |
8611 |
template<typename _InputIterator, typename _Distance> |
8612 |
inline void |
8613 |
advance(_InputIterator& __i, _Distance __n) |
8614 |
{ |
8615 |
|
8616 |
std::__advance(__i, __n, std::__iterator_category(__i)); |
8617 |
} |
8618 |
} |
8619 |
# 75 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 2 3 |
8620 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator.h" 1 3 |
8621 |
# 68 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator.h" 3 |
8622 |
namespace std |
8623 |
{ |
8624 |
# 89 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator.h" 3 |
8625 |
template<typename _Iterator> |
8626 |
class reverse_iterator |
8627 |
: public iterator<typename iterator_traits<_Iterator>::iterator_category, |
8628 |
typename iterator_traits<_Iterator>::value_type, |
8629 |
typename iterator_traits<_Iterator>::difference_type, |
8630 |
typename iterator_traits<_Iterator>::pointer, |
8631 |
typename iterator_traits<_Iterator>::reference> |
8632 |
{ |
8633 |
protected: |
8634 |
_Iterator current; |
8635 |
|
8636 |
public: |
8637 |
typedef _Iterator iterator_type; |
8638 |
typedef typename iterator_traits<_Iterator>::difference_type |
8639 |
difference_type; |
8640 |
typedef typename iterator_traits<_Iterator>::reference reference; |
8641 |
typedef typename iterator_traits<_Iterator>::pointer pointer; |
8642 |
|
8643 |
public: |
8644 |
|
8645 |
|
8646 |
|
8647 |
|
8648 |
|
8649 |
|
8650 |
reverse_iterator() : current() { } |
8651 |
|
8652 |
|
8653 |
|
8654 |
|
8655 |
explicit |
8656 |
reverse_iterator(iterator_type __x) : current(__x) { } |
8657 |
|
8658 |
|
8659 |
|
8660 |
|
8661 |
reverse_iterator(const reverse_iterator& __x) |
8662 |
: current(__x.current) { } |
8663 |
|
8664 |
|
8665 |
|
8666 |
|
8667 |
|
8668 |
template<typename _Iter> |
8669 |
reverse_iterator(const reverse_iterator<_Iter>& __x) |
8670 |
: current(__x.base()) { } |
8671 |
|
8672 |
|
8673 |
|
8674 |
|
8675 |
iterator_type |
8676 |
base() const |
8677 |
{ return current; } |
8678 |
|
8679 |
|
8680 |
|
8681 |
|
8682 |
|
8683 |
|
8684 |
reference |
8685 |
operator*() const |
8686 |
{ |
8687 |
_Iterator __tmp = current; |
8688 |
return *--__tmp; |
8689 |
} |
8690 |
|
8691 |
|
8692 |
|
8693 |
|
8694 |
|
8695 |
|
8696 |
pointer |
8697 |
operator->() const |
8698 |
{ return &(operator*()); } |
8699 |
|
8700 |
|
8701 |
|
8702 |
|
8703 |
|
8704 |
|
8705 |
reverse_iterator& |
8706 |
operator++() |
8707 |
{ |
8708 |
--current; |
8709 |
return *this; |
8710 |
} |
8711 |
|
8712 |
|
8713 |
|
8714 |
|
8715 |
|
8716 |
|
8717 |
reverse_iterator |
8718 |
operator++(int) |
8719 |
{ |
8720 |
reverse_iterator __tmp = *this; |
8721 |
--current; |
8722 |
return __tmp; |
8723 |
} |
8724 |
|
8725 |
|
8726 |
|
8727 |
|
8728 |
|
8729 |
|
8730 |
reverse_iterator& |
8731 |
operator--() |
8732 |
{ |
8733 |
++current; |
8734 |
return *this; |
8735 |
} |
8736 |
|
8737 |
|
8738 |
|
8739 |
|
8740 |
|
8741 |
|
8742 |
reverse_iterator operator--(int) |
8743 |
{ |
8744 |
reverse_iterator __tmp = *this; |
8745 |
++current; |
8746 |
return __tmp; |
8747 |
} |
8748 |
|
8749 |
|
8750 |
|
8751 |
|
8752 |
|
8753 |
|
8754 |
reverse_iterator |
8755 |
operator+(difference_type __n) const |
8756 |
{ return reverse_iterator(current - __n); } |
8757 |
|
8758 |
|
8759 |
|
8760 |
|
8761 |
|
8762 |
|
8763 |
reverse_iterator& |
8764 |
operator+=(difference_type __n) |
8765 |
{ |
8766 |
current -= __n; |
8767 |
return *this; |
8768 |
} |
8769 |
|
8770 |
|
8771 |
|
8772 |
|
8773 |
|
8774 |
|
8775 |
reverse_iterator |
8776 |
operator-(difference_type __n) const |
8777 |
{ return reverse_iterator(current + __n); } |
8778 |
|
8779 |
|
8780 |
|
8781 |
|
8782 |
|
8783 |
|
8784 |
reverse_iterator& |
8785 |
operator-=(difference_type __n) |
8786 |
{ |
8787 |
current += __n; |
8788 |
return *this; |
8789 |
} |
8790 |
|
8791 |
|
8792 |
|
8793 |
|
8794 |
|
8795 |
|
8796 |
reference |
8797 |
operator[](difference_type __n) const |
8798 |
{ return *(*this + __n); } |
8799 |
}; |
8800 |
# 275 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator.h" 3 |
8801 |
template<typename _Iterator> |
8802 |
inline bool |
8803 |
operator==(const reverse_iterator<_Iterator>& __x, |
8804 |
const reverse_iterator<_Iterator>& __y) |
8805 |
{ return __x.base() == __y.base(); } |
8806 |
|
8807 |
template<typename _Iterator> |
8808 |
inline bool |
8809 |
operator<(const reverse_iterator<_Iterator>& __x, |
8810 |
const reverse_iterator<_Iterator>& __y) |
8811 |
{ return __y.base() < __x.base(); } |
8812 |
|
8813 |
template<typename _Iterator> |
8814 |
inline bool |
8815 |
operator!=(const reverse_iterator<_Iterator>& __x, |
8816 |
const reverse_iterator<_Iterator>& __y) |
8817 |
{ return !(__x == __y); } |
8818 |
|
8819 |
template<typename _Iterator> |
8820 |
inline bool |
8821 |
operator>(const reverse_iterator<_Iterator>& __x, |
8822 |
const reverse_iterator<_Iterator>& __y) |
8823 |
{ return __y < __x; } |
8824 |
|
8825 |
template<typename _Iterator> |
8826 |
inline bool |
8827 |
operator<=(const reverse_iterator<_Iterator>& __x, |
8828 |
const reverse_iterator<_Iterator>& __y) |
8829 |
{ return !(__y < __x); } |
8830 |
|
8831 |
template<typename _Iterator> |
8832 |
inline bool |
8833 |
operator>=(const reverse_iterator<_Iterator>& __x, |
8834 |
const reverse_iterator<_Iterator>& __y) |
8835 |
{ return !(__x < __y); } |
8836 |
|
8837 |
template<typename _Iterator> |
8838 |
inline typename reverse_iterator<_Iterator>::difference_type |
8839 |
operator-(const reverse_iterator<_Iterator>& __x, |
8840 |
const reverse_iterator<_Iterator>& __y) |
8841 |
{ return __y.base() - __x.base(); } |
8842 |
|
8843 |
template<typename _Iterator> |
8844 |
inline reverse_iterator<_Iterator> |
8845 |
operator+(typename reverse_iterator<_Iterator>::difference_type __n, |
8846 |
const reverse_iterator<_Iterator>& __x) |
8847 |
{ return reverse_iterator<_Iterator>(__x.base() - __n); } |
8848 |
# 335 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator.h" 3 |
8849 |
template<typename _Container> |
8850 |
class back_insert_iterator |
8851 |
: public iterator<output_iterator_tag, void, void, void, void> |
8852 |
{ |
8853 |
protected: |
8854 |
_Container* container; |
8855 |
|
8856 |
public: |
8857 |
|
8858 |
typedef _Container container_type; |
8859 |
|
8860 |
|
8861 |
explicit |
8862 |
back_insert_iterator(_Container& __x) : container(&__x) { } |
8863 |
# 361 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator.h" 3 |
8864 |
back_insert_iterator& |
8865 |
operator=(typename _Container::const_reference __value) |
8866 |
{ |
8867 |
container->push_back(__value); |
8868 |
return *this; |
8869 |
} |
8870 |
|
8871 |
|
8872 |
back_insert_iterator& |
8873 |
operator*() |
8874 |
{ return *this; } |
8875 |
|
8876 |
|
8877 |
back_insert_iterator& |
8878 |
operator++() |
8879 |
{ return *this; } |
8880 |
|
8881 |
|
8882 |
back_insert_iterator |
8883 |
operator++(int) |
8884 |
{ return *this; } |
8885 |
}; |
8886 |
# 395 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator.h" 3 |
8887 |
template<typename _Container> |
8888 |
inline back_insert_iterator<_Container> |
8889 |
back_inserter(_Container& __x) |
8890 |
{ return back_insert_iterator<_Container>(__x); } |
8891 |
# 410 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator.h" 3 |
8892 |
template<typename _Container> |
8893 |
class front_insert_iterator |
8894 |
: public iterator<output_iterator_tag, void, void, void, void> |
8895 |
{ |
8896 |
protected: |
8897 |
_Container* container; |
8898 |
|
8899 |
public: |
8900 |
|
8901 |
typedef _Container container_type; |
8902 |
|
8903 |
|
8904 |
explicit front_insert_iterator(_Container& __x) : container(&__x) { } |
8905 |
# 435 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator.h" 3 |
8906 |
front_insert_iterator& |
8907 |
operator=(typename _Container::const_reference __value) |
8908 |
{ |
8909 |
container->push_front(__value); |
8910 |
return *this; |
8911 |
} |
8912 |
|
8913 |
|
8914 |
front_insert_iterator& |
8915 |
operator*() |
8916 |
{ return *this; } |
8917 |
|
8918 |
|
8919 |
front_insert_iterator& |
8920 |
operator++() |
8921 |
{ return *this; } |
8922 |
|
8923 |
|
8924 |
front_insert_iterator |
8925 |
operator++(int) |
8926 |
{ return *this; } |
8927 |
}; |
8928 |
# 469 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator.h" 3 |
8929 |
template<typename _Container> |
8930 |
inline front_insert_iterator<_Container> |
8931 |
front_inserter(_Container& __x) |
8932 |
{ return front_insert_iterator<_Container>(__x); } |
8933 |
# 488 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator.h" 3 |
8934 |
template<typename _Container> |
8935 |
class insert_iterator |
8936 |
: public iterator<output_iterator_tag, void, void, void, void> |
8937 |
{ |
8938 |
protected: |
8939 |
_Container* container; |
8940 |
typename _Container::iterator iter; |
8941 |
|
8942 |
public: |
8943 |
|
8944 |
typedef _Container container_type; |
8945 |
|
8946 |
|
8947 |
|
8948 |
|
8949 |
|
8950 |
insert_iterator(_Container& __x, typename _Container::iterator __i) |
8951 |
: container(&__x), iter(__i) {} |
8952 |
# 530 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator.h" 3 |
8953 |
insert_iterator& |
8954 |
operator=(const typename _Container::const_reference __value) |
8955 |
{ |
8956 |
iter = container->insert(iter, __value); |
8957 |
++iter; |
8958 |
return *this; |
8959 |
} |
8960 |
|
8961 |
|
8962 |
insert_iterator& |
8963 |
operator*() |
8964 |
{ return *this; } |
8965 |
|
8966 |
|
8967 |
insert_iterator& |
8968 |
operator++() |
8969 |
{ return *this; } |
8970 |
|
8971 |
|
8972 |
insert_iterator& |
8973 |
operator++(int) |
8974 |
{ return *this; } |
8975 |
}; |
8976 |
# 565 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator.h" 3 |
8977 |
template<typename _Container, typename _Iterator> |
8978 |
inline insert_iterator<_Container> |
8979 |
inserter(_Container& __x, _Iterator __i) |
8980 |
{ |
8981 |
return insert_iterator<_Container>(__x, |
8982 |
typename _Container::iterator(__i)); |
8983 |
} |
8984 |
} |
8985 |
|
8986 |
namespace __gnu_cxx |
8987 |
{ |
8988 |
|
8989 |
|
8990 |
|
8991 |
|
8992 |
|
8993 |
|
8994 |
|
8995 |
using std::iterator_traits; |
8996 |
using std::iterator; |
8997 |
template<typename _Iterator, typename _Container> |
8998 |
class __normal_iterator |
8999 |
{ |
9000 |
protected: |
9001 |
_Iterator _M_current; |
9002 |
|
9003 |
public: |
9004 |
typedef typename iterator_traits<_Iterator>::iterator_category |
9005 |
iterator_category; |
9006 |
typedef typename iterator_traits<_Iterator>::value_type value_type; |
9007 |
typedef typename iterator_traits<_Iterator>::difference_type |
9008 |
difference_type; |
9009 |
typedef typename iterator_traits<_Iterator>::reference reference; |
9010 |
typedef typename iterator_traits<_Iterator>::pointer pointer; |
9011 |
|
9012 |
__normal_iterator() : _M_current(_Iterator()) { } |
9013 |
|
9014 |
explicit |
9015 |
__normal_iterator(const _Iterator& __i) : _M_current(__i) { } |
9016 |
|
9017 |
|
9018 |
template<typename _Iter> |
9019 |
inline __normal_iterator(const __normal_iterator<_Iter, |
9020 |
_Container>& __i) |
9021 |
: _M_current(__i.base()) { } |
9022 |
|
9023 |
|
9024 |
reference |
9025 |
operator*() const |
9026 |
{ return *_M_current; } |
9027 |
|
9028 |
pointer |
9029 |
operator->() const |
9030 |
{ return _M_current; } |
9031 |
|
9032 |
__normal_iterator& |
9033 |
operator++() |
9034 |
{ |
9035 |
++_M_current; |
9036 |
return *this; |
9037 |
} |
9038 |
|
9039 |
__normal_iterator |
9040 |
operator++(int) |
9041 |
{ return __normal_iterator(_M_current++); } |
9042 |
|
9043 |
|
9044 |
__normal_iterator& |
9045 |
operator--() |
9046 |
{ |
9047 |
--_M_current; |
9048 |
return *this; |
9049 |
} |
9050 |
|
9051 |
__normal_iterator |
9052 |
operator--(int) |
9053 |
{ return __normal_iterator(_M_current--); } |
9054 |
|
9055 |
|
9056 |
reference |
9057 |
operator[](const difference_type& __n) const |
9058 |
{ return _M_current[__n]; } |
9059 |
|
9060 |
__normal_iterator& |
9061 |
operator+=(const difference_type& __n) |
9062 |
{ _M_current += __n; return *this; } |
9063 |
|
9064 |
__normal_iterator |
9065 |
operator+(const difference_type& __n) const |
9066 |
{ return __normal_iterator(_M_current + __n); } |
9067 |
|
9068 |
__normal_iterator& |
9069 |
operator-=(const difference_type& __n) |
9070 |
{ _M_current -= __n; return *this; } |
9071 |
|
9072 |
__normal_iterator |
9073 |
operator-(const difference_type& __n) const |
9074 |
{ return __normal_iterator(_M_current - __n); } |
9075 |
|
9076 |
const _Iterator& |
9077 |
base() const |
9078 |
{ return _M_current; } |
9079 |
}; |
9080 |
# 678 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_iterator.h" 3 |
9081 |
template<typename _IteratorL, typename _IteratorR, typename _Container> |
9082 |
inline bool |
9083 |
operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, |
9084 |
const __normal_iterator<_IteratorR, _Container>& __rhs) |
9085 |
{ return __lhs.base() == __rhs.base(); } |
9086 |
|
9087 |
template<typename _Iterator, typename _Container> |
9088 |
inline bool |
9089 |
operator==(const __normal_iterator<_Iterator, _Container>& __lhs, |
9090 |
const __normal_iterator<_Iterator, _Container>& __rhs) |
9091 |
{ return __lhs.base() == __rhs.base(); } |
9092 |
|
9093 |
template<typename _IteratorL, typename _IteratorR, typename _Container> |
9094 |
inline bool |
9095 |
operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs, |
9096 |
const __normal_iterator<_IteratorR, _Container>& __rhs) |
9097 |
{ return __lhs.base() != __rhs.base(); } |
9098 |
|
9099 |
template<typename _Iterator, typename _Container> |
9100 |
inline bool |
9101 |
operator!=(const __normal_iterator<_Iterator, _Container>& __lhs, |
9102 |
const __normal_iterator<_Iterator, _Container>& __rhs) |
9103 |
{ return __lhs.base() != __rhs.base(); } |
9104 |
|
9105 |
|
9106 |
template<typename _IteratorL, typename _IteratorR, typename _Container> |
9107 |
inline bool |
9108 |
operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, |
9109 |
const __normal_iterator<_IteratorR, _Container>& __rhs) |
9110 |
{ return __lhs.base() < __rhs.base(); } |
9111 |
|
9112 |
template<typename _Iterator, typename _Container> |
9113 |
inline bool |
9114 |
operator<(const __normal_iterator<_Iterator, _Container>& __lhs, |
9115 |
const __normal_iterator<_Iterator, _Container>& __rhs) |
9116 |
{ return __lhs.base() < __rhs.base(); } |
9117 |
|
9118 |
template<typename _IteratorL, typename _IteratorR, typename _Container> |
9119 |
inline bool |
9120 |
operator>(const __normal_iterator<_IteratorL, _Container>& __lhs, |
9121 |
const __normal_iterator<_IteratorR, _Container>& __rhs) |
9122 |
{ return __lhs.base() > __rhs.base(); } |
9123 |
|
9124 |
template<typename _Iterator, typename _Container> |
9125 |
inline bool |
9126 |
operator>(const __normal_iterator<_Iterator, _Container>& __lhs, |
9127 |
const __normal_iterator<_Iterator, _Container>& __rhs) |
9128 |
{ return __lhs.base() > __rhs.base(); } |
9129 |
|
9130 |
template<typename _IteratorL, typename _IteratorR, typename _Container> |
9131 |
inline bool |
9132 |
operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs, |
9133 |
const __normal_iterator<_IteratorR, _Container>& __rhs) |
9134 |
{ return __lhs.base() <= __rhs.base(); } |
9135 |
|
9136 |
template<typename _Iterator, typename _Container> |
9137 |
inline bool |
9138 |
operator<=(const __normal_iterator<_Iterator, _Container>& __lhs, |
9139 |
const __normal_iterator<_Iterator, _Container>& __rhs) |
9140 |
{ return __lhs.base() <= __rhs.base(); } |
9141 |
|
9142 |
template<typename _IteratorL, typename _IteratorR, typename _Container> |
9143 |
inline bool |
9144 |
operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs, |
9145 |
const __normal_iterator<_IteratorR, _Container>& __rhs) |
9146 |
{ return __lhs.base() >= __rhs.base(); } |
9147 |
|
9148 |
template<typename _Iterator, typename _Container> |
9149 |
inline bool |
9150 |
operator>=(const __normal_iterator<_Iterator, _Container>& __lhs, |
9151 |
const __normal_iterator<_Iterator, _Container>& __rhs) |
9152 |
{ return __lhs.base() >= __rhs.base(); } |
9153 |
|
9154 |
|
9155 |
|
9156 |
|
9157 |
|
9158 |
template<typename _IteratorL, typename _IteratorR, typename _Container> |
9159 |
inline typename __normal_iterator<_IteratorL, _Container>::difference_type |
9160 |
operator-(const __normal_iterator<_IteratorL, _Container>& __lhs, |
9161 |
const __normal_iterator<_IteratorR, _Container>& __rhs) |
9162 |
{ return __lhs.base() - __rhs.base(); } |
9163 |
|
9164 |
template<typename _Iterator, typename _Container> |
9165 |
inline __normal_iterator<_Iterator, _Container> |
9166 |
operator+(typename __normal_iterator<_Iterator, _Container>::difference_type |
9167 |
__n, const __normal_iterator<_Iterator, _Container>& __i) |
9168 |
{ return __normal_iterator<_Iterator, _Container>(__i.base() + __n); } |
9169 |
} |
9170 |
# 76 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 2 3 |
9171 |
|
9172 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/debug/debug.h" 1 3 |
9173 |
# 272 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/debug/debug.h" 3 |
9174 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cassert" 1 3 |
9175 |
# 46 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cassert" 3 |
9176 |
|
9177 |
# 47 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cassert" 3 |
9178 |
|
9179 |
# 1 "/usr/include/assert.h" 1 3 4 |
9180 |
# 65 "/usr/include/assert.h" 3 4 |
9181 |
extern "C" { |
9182 |
|
9183 |
|
9184 |
extern void __assert_fail (__const char *__assertion, __const char *__file, |
9185 |
unsigned int __line, __const char *__function) |
9186 |
throw () __attribute__ ((__noreturn__)); |
9187 |
|
9188 |
|
9189 |
extern void __assert_perror_fail (int __errnum, __const char *__file, |
9190 |
unsigned int __line, |
9191 |
__const char *__function) |
9192 |
throw () __attribute__ ((__noreturn__)); |
9193 |
|
9194 |
|
9195 |
|
9196 |
|
9197 |
extern void __assert (const char *__assertion, const char *__file, int __line) |
9198 |
throw () __attribute__ ((__noreturn__)); |
9199 |
|
9200 |
|
9201 |
} |
9202 |
# 49 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/cassert" 2 3 |
9203 |
# 273 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/debug/debug.h" 2 3 |
9204 |
|
9205 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h" 1 3 4 |
9206 |
# 275 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/debug/debug.h" 2 3 |
9207 |
|
9208 |
|
9209 |
|
9210 |
namespace __gnu_debug |
9211 |
{ |
9212 |
template<typename _Iterator, typename _Sequence> |
9213 |
class _Safe_iterator; |
9214 |
|
9215 |
|
9216 |
inline bool |
9217 |
__check_singular_aux(const void*) { return false; } |
9218 |
|
9219 |
|
9220 |
|
9221 |
template<typename _Iterator> |
9222 |
inline bool |
9223 |
__check_singular(_Iterator& __x) |
9224 |
{ return __gnu_debug::__check_singular_aux(&__x); } |
9225 |
|
9226 |
|
9227 |
template<typename _Tp> |
9228 |
inline bool |
9229 |
__check_singular(const _Tp* __ptr) |
9230 |
{ return __ptr == 0; } |
9231 |
|
9232 |
|
9233 |
template<typename _Iterator, typename _Sequence> |
9234 |
inline bool |
9235 |
__check_singular(const _Safe_iterator<_Iterator, _Sequence>& __x) |
9236 |
{ return __x._M_singular(); } |
9237 |
|
9238 |
|
9239 |
|
9240 |
template<typename _Iterator> |
9241 |
inline bool |
9242 |
__check_dereferenceable(_Iterator&) |
9243 |
{ return true; } |
9244 |
|
9245 |
|
9246 |
template<typename _Tp> |
9247 |
inline bool |
9248 |
__check_dereferenceable(const _Tp* __ptr) |
9249 |
{ return __ptr; } |
9250 |
|
9251 |
|
9252 |
template<typename _Iterator, typename _Sequence> |
9253 |
inline bool |
9254 |
__check_dereferenceable(const _Safe_iterator<_Iterator, _Sequence>& __x) |
9255 |
{ return __x._M_dereferenceable(); } |
9256 |
|
9257 |
|
9258 |
|
9259 |
|
9260 |
template<typename _RandomAccessIterator> |
9261 |
inline bool |
9262 |
__valid_range_aux2(const _RandomAccessIterator& __first, |
9263 |
const _RandomAccessIterator& __last, |
9264 |
std::random_access_iterator_tag) |
9265 |
{ return __last - __first >= 0; } |
9266 |
|
9267 |
|
9268 |
|
9269 |
|
9270 |
|
9271 |
template<typename _InputIterator> |
9272 |
inline bool |
9273 |
__valid_range_aux2(const _InputIterator&, const _InputIterator&, |
9274 |
std::input_iterator_tag) |
9275 |
{ return true; } |
9276 |
|
9277 |
|
9278 |
|
9279 |
|
9280 |
|
9281 |
template<typename _Integral> |
9282 |
inline bool |
9283 |
__valid_range_aux(const _Integral&, const _Integral&, __true_type) |
9284 |
{ return true; } |
9285 |
|
9286 |
|
9287 |
|
9288 |
|
9289 |
template<typename _InputIterator> |
9290 |
inline bool |
9291 |
__valid_range_aux(const _InputIterator& __first, |
9292 |
const _InputIterator& __last, __false_type) |
9293 |
{ |
9294 |
typedef typename std::iterator_traits<_InputIterator>::iterator_category |
9295 |
_Category; |
9296 |
return __gnu_debug::__valid_range_aux2(__first, __last, _Category()); |
9297 |
} |
9298 |
|
9299 |
|
9300 |
|
9301 |
|
9302 |
|
9303 |
|
9304 |
template<typename _InputIterator> |
9305 |
inline bool |
9306 |
__valid_range(const _InputIterator& __first, const _InputIterator& __last) |
9307 |
{ |
9308 |
typedef typename _Is_integer<_InputIterator>::_Integral _Integral; |
9309 |
return __gnu_debug::__valid_range_aux(__first, __last, _Integral()); |
9310 |
} |
9311 |
|
9312 |
|
9313 |
template<typename _Iterator, typename _Sequence> |
9314 |
inline bool |
9315 |
__valid_range(const _Safe_iterator<_Iterator, _Sequence>& __first, |
9316 |
const _Safe_iterator<_Iterator, _Sequence>& __last) |
9317 |
{ return __first._M_valid_range(__last); } |
9318 |
|
9319 |
|
9320 |
|
9321 |
|
9322 |
|
9323 |
template<typename _InputIterator> |
9324 |
inline _InputIterator |
9325 |
__check_valid_range(const _InputIterator& __first, |
9326 |
const _InputIterator& __last) |
9327 |
{ |
9328 |
; |
9329 |
return __first; |
9330 |
} |
9331 |
|
9332 |
|
9333 |
template<typename _CharT, typename _Integer> |
9334 |
inline const _CharT* |
9335 |
__check_string(const _CharT* __s, const _Integer& __n) |
9336 |
{ |
9337 |
|
9338 |
|
9339 |
|
9340 |
return __s; |
9341 |
} |
9342 |
|
9343 |
|
9344 |
template<typename _CharT> |
9345 |
inline const _CharT* |
9346 |
__check_string(const _CharT* __s) |
9347 |
{ |
9348 |
|
9349 |
|
9350 |
|
9351 |
return __s; |
9352 |
} |
9353 |
|
9354 |
|
9355 |
|
9356 |
template<typename _InputIterator> |
9357 |
inline bool |
9358 |
__check_sorted_aux(const _InputIterator&, const _InputIterator&, |
9359 |
std::input_iterator_tag) |
9360 |
{ return true; } |
9361 |
|
9362 |
|
9363 |
|
9364 |
template<typename _ForwardIterator> |
9365 |
inline bool |
9366 |
__check_sorted_aux(_ForwardIterator __first, _ForwardIterator __last, |
9367 |
std::forward_iterator_tag) |
9368 |
{ |
9369 |
if (__first == __last) |
9370 |
return true; |
9371 |
|
9372 |
_ForwardIterator __next = __first; |
9373 |
for (++__next; __next != __last; __first = __next, ++__next) { |
9374 |
if (*__next < *__first) |
9375 |
return false; |
9376 |
} |
9377 |
|
9378 |
return true; |
9379 |
} |
9380 |
|
9381 |
|
9382 |
|
9383 |
template<typename _InputIterator, typename _Predicate> |
9384 |
inline bool |
9385 |
__check_sorted_aux(const _InputIterator&, const _InputIterator&, |
9386 |
_Predicate, std::input_iterator_tag) |
9387 |
{ return true; } |
9388 |
|
9389 |
|
9390 |
|
9391 |
template<typename _ForwardIterator, typename _Predicate> |
9392 |
inline bool |
9393 |
__check_sorted_aux(_ForwardIterator __first, _ForwardIterator __last, |
9394 |
_Predicate __pred, std::forward_iterator_tag) |
9395 |
{ |
9396 |
if (__first == __last) |
9397 |
return true; |
9398 |
|
9399 |
_ForwardIterator __next = __first; |
9400 |
for (++__next; __next != __last; __first = __next, ++__next) { |
9401 |
if (__pred(*__next, *__first)) |
9402 |
return false; |
9403 |
} |
9404 |
|
9405 |
return true; |
9406 |
} |
9407 |
|
9408 |
|
9409 |
template<typename _InputIterator> |
9410 |
inline bool |
9411 |
__check_sorted(const _InputIterator& __first, const _InputIterator& __last) |
9412 |
{ |
9413 |
typedef typename std::iterator_traits<_InputIterator>::iterator_category |
9414 |
_Category; |
9415 |
return __gnu_debug::__check_sorted_aux(__first, __last, _Category()); |
9416 |
} |
9417 |
|
9418 |
template<typename _InputIterator, typename _Predicate> |
9419 |
inline bool |
9420 |
__check_sorted(const _InputIterator& __first, const _InputIterator& __last, |
9421 |
_Predicate __pred) |
9422 |
{ |
9423 |
typedef typename std::iterator_traits<_InputIterator>::iterator_category |
9424 |
_Category; |
9425 |
return __gnu_debug::__check_sorted_aux(__first, __last, __pred, |
9426 |
_Category()); |
9427 |
} |
9428 |
|
9429 |
|
9430 |
|
9431 |
|
9432 |
template<typename _ForwardIterator, typename _Tp> |
9433 |
inline bool |
9434 |
__check_partitioned(_ForwardIterator __first, _ForwardIterator __last, |
9435 |
const _Tp& __value) |
9436 |
{ |
9437 |
while (__first != __last && *__first < __value) |
9438 |
++__first; |
9439 |
while (__first != __last && !(*__first < __value)) |
9440 |
++__first; |
9441 |
return __first == __last; |
9442 |
} |
9443 |
|
9444 |
|
9445 |
template<typename _ForwardIterator, typename _Tp, typename _Pred> |
9446 |
inline bool |
9447 |
__check_partitioned(_ForwardIterator __first, _ForwardIterator __last, |
9448 |
const _Tp& __value, _Pred __pred) |
9449 |
{ |
9450 |
while (__first != __last && __pred(*__first, __value)) |
9451 |
++__first; |
9452 |
while (__first != __last && !__pred(*__first, __value)) |
9453 |
++__first; |
9454 |
return __first == __last; |
9455 |
} |
9456 |
} |
9457 |
# 78 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 2 3 |
9458 |
|
9459 |
namespace std |
9460 |
{ |
9461 |
# 90 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 3 |
9462 |
template<typename _ForwardIterator1, typename _ForwardIterator2> |
9463 |
inline void |
9464 |
iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) |
9465 |
{ |
9466 |
typedef typename iterator_traits<_ForwardIterator1>::value_type |
9467 |
_ValueType1; |
9468 |
typedef typename iterator_traits<_ForwardIterator2>::value_type |
9469 |
_ValueType2; |
9470 |
|
9471 |
|
9472 |
|
9473 |
|
9474 |
|
9475 |
|
9476 |
|
9477 |
|
9478 |
|
9479 |
|
9480 |
|
9481 |
const _ValueType1 __tmp = *__a; |
9482 |
*__a = *__b; |
9483 |
*__b = __tmp; |
9484 |
} |
9485 |
# 123 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 3 |
9486 |
template<typename _Tp> |
9487 |
inline void |
9488 |
swap(_Tp& __a, _Tp& __b) |
9489 |
{ |
9490 |
|
9491 |
|
9492 |
|
9493 |
const _Tp __tmp = __a; |
9494 |
__a = __b; |
9495 |
__b = __tmp; |
9496 |
} |
9497 |
# 148 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 3 |
9498 |
template<typename _Tp> |
9499 |
inline const _Tp& |
9500 |
min(const _Tp& __a, const _Tp& __b) |
9501 |
{ |
9502 |
|
9503 |
|
9504 |
|
9505 |
if (__b < __a) |
9506 |
return __b; |
9507 |
return __a; |
9508 |
} |
9509 |
# 170 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 3 |
9510 |
template<typename _Tp> |
9511 |
inline const _Tp& |
9512 |
max(const _Tp& __a, const _Tp& __b) |
9513 |
{ |
9514 |
|
9515 |
|
9516 |
|
9517 |
if (__a < __b) |
9518 |
return __b; |
9519 |
return __a; |
9520 |
} |
9521 |
# 192 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 3 |
9522 |
template<typename _Tp, typename _Compare> |
9523 |
inline const _Tp& |
9524 |
min(const _Tp& __a, const _Tp& __b, _Compare __comp) |
9525 |
{ |
9526 |
|
9527 |
if (__comp(__b, __a)) |
9528 |
return __b; |
9529 |
return __a; |
9530 |
} |
9531 |
# 212 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 3 |
9532 |
template<typename _Tp, typename _Compare> |
9533 |
inline const _Tp& |
9534 |
max(const _Tp& __a, const _Tp& __b, _Compare __comp) |
9535 |
{ |
9536 |
|
9537 |
if (__comp(__a, __b)) |
9538 |
return __b; |
9539 |
return __a; |
9540 |
} |
9541 |
|
9542 |
|
9543 |
|
9544 |
|
9545 |
|
9546 |
|
9547 |
|
9548 |
template<typename _InputIterator, typename _OutputIterator> |
9549 |
inline _OutputIterator |
9550 |
__copy(_InputIterator __first, _InputIterator __last, |
9551 |
_OutputIterator __result, input_iterator_tag) |
9552 |
{ |
9553 |
for (; __first != __last; ++__result, ++__first) |
9554 |
*__result = *__first; |
9555 |
return __result; |
9556 |
} |
9557 |
|
9558 |
template<typename _RandomAccessIterator, typename _OutputIterator> |
9559 |
inline _OutputIterator |
9560 |
__copy(_RandomAccessIterator __first, _RandomAccessIterator __last, |
9561 |
_OutputIterator __result, random_access_iterator_tag) |
9562 |
{ |
9563 |
typedef typename iterator_traits<_RandomAccessIterator>::difference_type |
9564 |
_Distance; |
9565 |
for (_Distance __n = __last - __first; __n > 0; --__n) |
9566 |
{ |
9567 |
*__result = *__first; |
9568 |
++__first; |
9569 |
++__result; |
9570 |
} |
9571 |
return __result; |
9572 |
} |
9573 |
|
9574 |
template<typename _Tp> |
9575 |
inline _Tp* |
9576 |
__copy_trivial(const _Tp* __first, const _Tp* __last, _Tp* __result) |
9577 |
{ |
9578 |
std::memmove(__result, __first, sizeof(_Tp) * (__last - __first)); |
9579 |
return __result + (__last - __first); |
9580 |
} |
9581 |
|
9582 |
template<typename _InputIterator, typename _OutputIterator> |
9583 |
inline _OutputIterator |
9584 |
__copy_aux2(_InputIterator __first, _InputIterator __last, |
9585 |
_OutputIterator __result, __false_type) |
9586 |
{ return std::__copy(__first, __last, __result, |
9587 |
std::__iterator_category(__first)); } |
9588 |
|
9589 |
template<typename _InputIterator, typename _OutputIterator> |
9590 |
inline _OutputIterator |
9591 |
__copy_aux2(_InputIterator __first, _InputIterator __last, |
9592 |
_OutputIterator __result, __true_type) |
9593 |
{ return std::__copy(__first, __last, __result, |
9594 |
std::__iterator_category(__first)); } |
9595 |
|
9596 |
template<typename _Tp> |
9597 |
inline _Tp* |
9598 |
__copy_aux2(_Tp* __first, _Tp* __last, _Tp* __result, __true_type) |
9599 |
{ return std::__copy_trivial(__first, __last, __result); } |
9600 |
|
9601 |
template<typename _Tp> |
9602 |
inline _Tp* |
9603 |
__copy_aux2(const _Tp* __first, const _Tp* __last, _Tp* __result, |
9604 |
__true_type) |
9605 |
{ return std::__copy_trivial(__first, __last, __result); } |
9606 |
|
9607 |
template<typename _InputIterator, typename _OutputIterator> |
9608 |
inline _OutputIterator |
9609 |
__copy_ni2(_InputIterator __first, _InputIterator __last, |
9610 |
_OutputIterator __result, __true_type) |
9611 |
{ |
9612 |
typedef typename iterator_traits<_InputIterator>::value_type |
9613 |
_ValueType; |
9614 |
typedef typename __type_traits< |
9615 |
_ValueType>::has_trivial_assignment_operator _Trivial; |
9616 |
return _OutputIterator(std::__copy_aux2(__first, __last, __result.base(), |
9617 |
_Trivial())); |
9618 |
} |
9619 |
|
9620 |
template<typename _InputIterator, typename _OutputIterator> |
9621 |
inline _OutputIterator |
9622 |
__copy_ni2(_InputIterator __first, _InputIterator __last, |
9623 |
_OutputIterator __result, __false_type) |
9624 |
{ |
9625 |
typedef typename iterator_traits<_InputIterator>::value_type _ValueType; |
9626 |
typedef typename __type_traits< |
9627 |
_ValueType>::has_trivial_assignment_operator _Trivial; |
9628 |
return std::__copy_aux2(__first, __last, __result, _Trivial()); |
9629 |
} |
9630 |
|
9631 |
template<typename _InputIterator, typename _OutputIterator> |
9632 |
inline _OutputIterator |
9633 |
__copy_ni1(_InputIterator __first, _InputIterator __last, |
9634 |
_OutputIterator __result, __true_type) |
9635 |
{ |
9636 |
typedef typename _Is_normal_iterator<_OutputIterator>::_Normal __Normal; |
9637 |
return std::__copy_ni2(__first.base(), __last.base(), |
9638 |
__result, __Normal()); |
9639 |
} |
9640 |
|
9641 |
template<typename _InputIterator, typename _OutputIterator> |
9642 |
inline _OutputIterator |
9643 |
__copy_ni1(_InputIterator __first, _InputIterator __last, |
9644 |
_OutputIterator __result, __false_type) |
9645 |
{ |
9646 |
typedef typename _Is_normal_iterator<_OutputIterator>::_Normal __Normal; |
9647 |
return std::__copy_ni2(__first, __last, __result, __Normal()); |
9648 |
} |
9649 |
# 346 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 3 |
9650 |
template<typename _InputIterator, typename _OutputIterator> |
9651 |
inline _OutputIterator |
9652 |
copy(_InputIterator __first, _InputIterator __last, |
9653 |
_OutputIterator __result) |
9654 |
{ |
9655 |
|
9656 |
|
9657 |
|
9658 |
|
9659 |
; |
9660 |
|
9661 |
typedef typename _Is_normal_iterator<_InputIterator>::_Normal __Normal; |
9662 |
return std::__copy_ni1(__first, __last, __result, __Normal()); |
9663 |
} |
9664 |
|
9665 |
template<typename _BidirectionalIterator1, typename _BidirectionalIterator2> |
9666 |
inline _BidirectionalIterator2 |
9667 |
__copy_backward(_BidirectionalIterator1 __first, |
9668 |
_BidirectionalIterator1 __last, |
9669 |
_BidirectionalIterator2 __result, |
9670 |
bidirectional_iterator_tag) |
9671 |
{ |
9672 |
while (__first != __last) |
9673 |
*--__result = *--__last; |
9674 |
return __result; |
9675 |
} |
9676 |
|
9677 |
template<typename _RandomAccessIterator, typename _BidirectionalIterator> |
9678 |
inline _BidirectionalIterator |
9679 |
__copy_backward(_RandomAccessIterator __first, _RandomAccessIterator __last, |
9680 |
_BidirectionalIterator __result, random_access_iterator_tag) |
9681 |
{ |
9682 |
typename iterator_traits<_RandomAccessIterator>::difference_type __n; |
9683 |
for (__n = __last - __first; __n > 0; --__n) |
9684 |
*--__result = *--__last; |
9685 |
return __result; |
9686 |
} |
9687 |
|
9688 |
|
9689 |
|
9690 |
|
9691 |
|
9692 |
|
9693 |
template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, |
9694 |
typename _BoolType> |
9695 |
struct __copy_backward_dispatch |
9696 |
{ |
9697 |
static _BidirectionalIterator2 |
9698 |
copy(_BidirectionalIterator1 __first, _BidirectionalIterator1 __last, |
9699 |
_BidirectionalIterator2 __result) |
9700 |
{ return std::__copy_backward(__first, __last, __result, |
9701 |
std::__iterator_category(__first)); } |
9702 |
}; |
9703 |
|
9704 |
template<typename _Tp> |
9705 |
struct __copy_backward_dispatch<_Tp*, _Tp*, __true_type> |
9706 |
{ |
9707 |
static _Tp* |
9708 |
copy(const _Tp* __first, const _Tp* __last, _Tp* __result) |
9709 |
{ |
9710 |
const ptrdiff_t _Num = __last - __first; |
9711 |
std::memmove(__result - _Num, __first, sizeof(_Tp) * _Num); |
9712 |
return __result - _Num; |
9713 |
} |
9714 |
}; |
9715 |
|
9716 |
template<typename _Tp> |
9717 |
struct __copy_backward_dispatch<const _Tp*, _Tp*, __true_type> |
9718 |
{ |
9719 |
static _Tp* |
9720 |
copy(const _Tp* __first, const _Tp* __last, _Tp* __result) |
9721 |
{ |
9722 |
return std::__copy_backward_dispatch<_Tp*, _Tp*, __true_type> |
9723 |
::copy(__first, __last, __result); |
9724 |
} |
9725 |
}; |
9726 |
|
9727 |
template<typename _BI1, typename _BI2> |
9728 |
inline _BI2 |
9729 |
__copy_backward_aux(_BI1 __first, _BI1 __last, _BI2 __result) |
9730 |
{ |
9731 |
typedef typename __type_traits<typename iterator_traits<_BI2>::value_type> |
9732 |
::has_trivial_assignment_operator _Trivial; |
9733 |
return |
9734 |
std::__copy_backward_dispatch<_BI1, _BI2, _Trivial>::copy(__first, |
9735 |
__last, |
9736 |
__result); |
9737 |
} |
9738 |
|
9739 |
template <typename _BI1, typename _BI2> |
9740 |
inline _BI2 |
9741 |
__copy_backward_output_normal_iterator(_BI1 __first, _BI1 __last, |
9742 |
_BI2 __result, __true_type) |
9743 |
{ return _BI2(std::__copy_backward_aux(__first, __last, __result.base())); } |
9744 |
|
9745 |
template <typename _BI1, typename _BI2> |
9746 |
inline _BI2 |
9747 |
__copy_backward_output_normal_iterator(_BI1 __first, _BI1 __last, |
9748 |
_BI2 __result, __false_type) |
9749 |
{ return std::__copy_backward_aux(__first, __last, __result); } |
9750 |
|
9751 |
template <typename _BI1, typename _BI2> |
9752 |
inline _BI2 |
9753 |
__copy_backward_input_normal_iterator(_BI1 __first, _BI1 __last, |
9754 |
_BI2 __result, __true_type) |
9755 |
{ |
9756 |
typedef typename _Is_normal_iterator<_BI2>::_Normal __Normal; |
9757 |
return std::__copy_backward_output_normal_iterator(__first.base(), |
9758 |
__last.base(), |
9759 |
__result, __Normal()); |
9760 |
} |
9761 |
|
9762 |
template <typename _BI1, typename _BI2> |
9763 |
inline _BI2 |
9764 |
__copy_backward_input_normal_iterator(_BI1 __first, _BI1 __last, |
9765 |
_BI2 __result, __false_type) |
9766 |
{ |
9767 |
typedef typename _Is_normal_iterator<_BI2>::_Normal __Normal; |
9768 |
return std::__copy_backward_output_normal_iterator(__first, __last, |
9769 |
__result, __Normal()); |
9770 |
} |
9771 |
# 485 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 3 |
9772 |
template <typename _BI1, typename _BI2> |
9773 |
inline _BI2 |
9774 |
copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) |
9775 |
{ |
9776 |
|
9777 |
|
9778 |
|
9779 |
|
9780 |
|
9781 |
|
9782 |
; |
9783 |
|
9784 |
typedef typename _Is_normal_iterator<_BI1>::_Normal __Normal; |
9785 |
return std::__copy_backward_input_normal_iterator(__first, __last, |
9786 |
__result, __Normal()); |
9787 |
} |
9788 |
# 514 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 3 |
9789 |
template<typename _ForwardIterator, typename _Tp> |
9790 |
void |
9791 |
fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) |
9792 |
{ |
9793 |
|
9794 |
|
9795 |
|
9796 |
; |
9797 |
|
9798 |
for ( ; __first != __last; ++__first) |
9799 |
*__first = __value; |
9800 |
} |
9801 |
# 538 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 3 |
9802 |
template<typename _OutputIterator, typename _Size, typename _Tp> |
9803 |
_OutputIterator |
9804 |
fill_n(_OutputIterator __first, _Size __n, const _Tp& __value) |
9805 |
{ |
9806 |
|
9807 |
|
9808 |
|
9809 |
for ( ; __n > 0; --__n, ++__first) |
9810 |
*__first = __value; |
9811 |
return __first; |
9812 |
} |
9813 |
|
9814 |
|
9815 |
inline void |
9816 |
fill(unsigned char* __first, unsigned char* __last, const unsigned char& __c) |
9817 |
{ |
9818 |
; |
9819 |
const unsigned char __tmp = __c; |
9820 |
std::memset(__first, __tmp, __last - __first); |
9821 |
} |
9822 |
|
9823 |
inline void |
9824 |
fill(signed char* __first, signed char* __last, const signed char& __c) |
9825 |
{ |
9826 |
; |
9827 |
const signed char __tmp = __c; |
9828 |
std::memset(__first, static_cast<unsigned char>(__tmp), __last - __first); |
9829 |
} |
9830 |
|
9831 |
inline void |
9832 |
fill(char* __first, char* __last, const char& __c) |
9833 |
{ |
9834 |
; |
9835 |
const char __tmp = __c; |
9836 |
std::memset(__first, static_cast<unsigned char>(__tmp), __last - __first); |
9837 |
} |
9838 |
|
9839 |
template<typename _Size> |
9840 |
inline unsigned char* |
9841 |
fill_n(unsigned char* __first, _Size __n, const unsigned char& __c) |
9842 |
{ |
9843 |
std::fill(__first, __first + __n, __c); |
9844 |
return __first + __n; |
9845 |
} |
9846 |
|
9847 |
template<typename _Size> |
9848 |
inline signed char* |
9849 |
fill_n(char* __first, _Size __n, const signed char& __c) |
9850 |
{ |
9851 |
std::fill(__first, __first + __n, __c); |
9852 |
return __first + __n; |
9853 |
} |
9854 |
|
9855 |
template<typename _Size> |
9856 |
inline char* |
9857 |
fill_n(char* __first, _Size __n, const char& __c) |
9858 |
{ |
9859 |
std::fill(__first, __first + __n, __c); |
9860 |
return __first + __n; |
9861 |
} |
9862 |
# 612 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 3 |
9863 |
template<typename _InputIterator1, typename _InputIterator2> |
9864 |
pair<_InputIterator1, _InputIterator2> |
9865 |
mismatch(_InputIterator1 __first1, _InputIterator1 __last1, |
9866 |
_InputIterator2 __first2) |
9867 |
{ |
9868 |
|
9869 |
|
9870 |
|
9871 |
|
9872 |
|
9873 |
|
9874 |
; |
9875 |
|
9876 |
while (__first1 != __last1 && *__first1 == *__first2) |
9877 |
{ |
9878 |
++__first1; |
9879 |
++__first2; |
9880 |
} |
9881 |
return pair<_InputIterator1, _InputIterator2>(__first1, __first2); |
9882 |
} |
9883 |
# 647 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 3 |
9884 |
template<typename _InputIterator1, typename _InputIterator2, |
9885 |
typename _BinaryPredicate> |
9886 |
pair<_InputIterator1, _InputIterator2> |
9887 |
mismatch(_InputIterator1 __first1, _InputIterator1 __last1, |
9888 |
_InputIterator2 __first2, _BinaryPredicate __binary_pred) |
9889 |
{ |
9890 |
|
9891 |
|
9892 |
|
9893 |
; |
9894 |
|
9895 |
while (__first1 != __last1 && __binary_pred(*__first1, *__first2)) |
9896 |
{ |
9897 |
++__first1; |
9898 |
++__first2; |
9899 |
} |
9900 |
return pair<_InputIterator1, _InputIterator2>(__first1, __first2); |
9901 |
} |
9902 |
# 677 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 3 |
9903 |
template<typename _InputIterator1, typename _InputIterator2> |
9904 |
inline bool |
9905 |
equal(_InputIterator1 __first1, _InputIterator1 __last1, |
9906 |
_InputIterator2 __first2) |
9907 |
{ |
9908 |
|
9909 |
|
9910 |
|
9911 |
|
9912 |
|
9913 |
|
9914 |
; |
9915 |
|
9916 |
for ( ; __first1 != __last1; ++__first1, ++__first2) |
9917 |
if (!(*__first1 == *__first2)) |
9918 |
return false; |
9919 |
return true; |
9920 |
} |
9921 |
# 709 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 3 |
9922 |
template<typename _InputIterator1, typename _InputIterator2, |
9923 |
typename _BinaryPredicate> |
9924 |
inline bool |
9925 |
equal(_InputIterator1 __first1, _InputIterator1 __last1, |
9926 |
_InputIterator2 __first2, |
9927 |
_BinaryPredicate __binary_pred) |
9928 |
{ |
9929 |
|
9930 |
|
9931 |
|
9932 |
; |
9933 |
|
9934 |
for ( ; __first1 != __last1; ++__first1, ++__first2) |
9935 |
if (!__binary_pred(*__first1, *__first2)) |
9936 |
return false; |
9937 |
return true; |
9938 |
} |
9939 |
# 741 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 3 |
9940 |
template<typename _InputIterator1, typename _InputIterator2> |
9941 |
bool |
9942 |
lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1, |
9943 |
_InputIterator2 __first2, _InputIterator2 __last2) |
9944 |
{ |
9945 |
|
9946 |
|
9947 |
|
9948 |
|
9949 |
|
9950 |
|
9951 |
|
9952 |
|
9953 |
|
9954 |
; |
9955 |
; |
9956 |
|
9957 |
for (;__first1 != __last1 && __first2 != __last2; ++__first1, ++__first2) |
9958 |
{ |
9959 |
if (*__first1 < *__first2) |
9960 |
return true; |
9961 |
if (*__first2 < *__first1) |
9962 |
return false; |
9963 |
} |
9964 |
return __first1 == __last1 && __first2 != __last2; |
9965 |
} |
9966 |
# 780 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algobase.h" 3 |
9967 |
template<typename _InputIterator1, typename _InputIterator2, |
9968 |
typename _Compare> |
9969 |
bool |
9970 |
lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1, |
9971 |
_InputIterator2 __first2, _InputIterator2 __last2, |
9972 |
_Compare __comp) |
9973 |
{ |
9974 |
|
9975 |
|
9976 |
|
9977 |
; |
9978 |
; |
9979 |
|
9980 |
for ( ; __first1 != __last1 && __first2 != __last2 |
9981 |
; ++__first1, ++__first2) |
9982 |
{ |
9983 |
if (__comp(*__first1, *__first2)) |
9984 |
return true; |
9985 |
if (__comp(*__first2, *__first1)) |
9986 |
return false; |
9987 |
} |
9988 |
return __first1 == __last1 && __first2 != __last2; |
9989 |
} |
9990 |
|
9991 |
inline bool |
9992 |
lexicographical_compare(const unsigned char* __first1, |
9993 |
const unsigned char* __last1, |
9994 |
const unsigned char* __first2, |
9995 |
const unsigned char* __last2) |
9996 |
{ |
9997 |
; |
9998 |
; |
9999 |
|
10000 |
const size_t __len1 = __last1 - __first1; |
10001 |
const size_t __len2 = __last2 - __first2; |
10002 |
const int __result = std::memcmp(__first1, __first2, |
10003 |
std::min(__len1, __len2)); |
10004 |
return __result != 0 ? __result < 0 : __len1 < __len2; |
10005 |
} |
10006 |
|
10007 |
inline bool |
10008 |
lexicographical_compare(const char* __first1, const char* __last1, |
10009 |
const char* __first2, const char* __last2) |
10010 |
{ |
10011 |
; |
10012 |
; |
10013 |
|
10014 |
|
10015 |
return std::lexicographical_compare((const signed char*) __first1, |
10016 |
(const signed char*) __last1, |
10017 |
(const signed char*) __first2, |
10018 |
(const signed char*) __last2); |
10019 |
|
10020 |
|
10021 |
|
10022 |
|
10023 |
|
10024 |
|
10025 |
} |
10026 |
|
10027 |
} |
10028 |
# 47 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/char_traits.h" 2 3 |
10029 |
|
10030 |
|
10031 |
namespace __gnu_cxx |
10032 |
{ |
10033 |
# 62 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/char_traits.h" 3 |
10034 |
template <class _CharT> |
10035 |
struct _Char_types |
10036 |
{ |
10037 |
typedef unsigned long int_type; |
10038 |
typedef std::streampos pos_type; |
10039 |
typedef std::streamoff off_type; |
10040 |
typedef std::mbstate_t state_type; |
10041 |
}; |
10042 |
# 86 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/char_traits.h" 3 |
10043 |
template<typename _CharT> |
10044 |
struct char_traits |
10045 |
{ |
10046 |
typedef _CharT char_type; |
10047 |
typedef typename _Char_types<_CharT>::int_type int_type; |
10048 |
typedef typename _Char_types<_CharT>::pos_type pos_type; |
10049 |
typedef typename _Char_types<_CharT>::off_type off_type; |
10050 |
typedef typename _Char_types<_CharT>::state_type state_type; |
10051 |
|
10052 |
static void |
10053 |
assign(char_type& __c1, const char_type& __c2) |
10054 |
{ __c1 = __c2; } |
10055 |
|
10056 |
static bool |
10057 |
eq(const char_type& __c1, const char_type& __c2) |
10058 |
{ return __c1 == __c2; } |
10059 |
|
10060 |
static bool |
10061 |
lt(const char_type& __c1, const char_type& __c2) |
10062 |
{ return __c1 < __c2; } |
10063 |
|
10064 |
static int |
10065 |
compare(const char_type* __s1, const char_type* __s2, std::size_t __n); |
10066 |
|
10067 |
static std::size_t |
10068 |
length(const char_type* __s); |
10069 |
|
10070 |
static const char_type* |
10071 |
find(const char_type* __s, std::size_t __n, const char_type& __a); |
10072 |
|
10073 |
static char_type* |
10074 |
move(char_type* __s1, const char_type* __s2, std::size_t __n); |
10075 |
|
10076 |
static char_type* |
10077 |
copy(char_type* __s1, const char_type* __s2, std::size_t __n); |
10078 |
|
10079 |
static char_type* |
10080 |
assign(char_type* __s, std::size_t __n, char_type __a); |
10081 |
|
10082 |
static char_type |
10083 |
to_char_type(const int_type& __c) |
10084 |
{ return static_cast<char_type>(__c); } |
10085 |
|
10086 |
static int_type |
10087 |
to_int_type(const char_type& __c) |
10088 |
{ return static_cast<int_type>(__c); } |
10089 |
|
10090 |
static bool |
10091 |
eq_int_type(const int_type& __c1, const int_type& __c2) |
10092 |
{ return __c1 == __c2; } |
10093 |
|
10094 |
static int_type |
10095 |
eof() |
10096 |
{ return static_cast<int_type>((-1)); } |
10097 |
|
10098 |
static int_type |
10099 |
not_eof(const int_type& __c) |
10100 |
{ return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); } |
10101 |
}; |
10102 |
|
10103 |
template<typename _CharT> |
10104 |
int |
10105 |
char_traits<_CharT>:: |
10106 |
compare(const char_type* __s1, const char_type* __s2, std::size_t __n) |
10107 |
{ |
10108 |
for (size_t __i = 0; __i < __n; ++__i) |
10109 |
if (lt(__s1[__i], __s2[__i])) |
10110 |
return -1; |
10111 |
else if (lt(__s2[__i], __s1[__i])) |
10112 |
return 1; |
10113 |
return 0; |
10114 |
} |
10115 |
|
10116 |
template<typename _CharT> |
10117 |
std::size_t |
10118 |
char_traits<_CharT>:: |
10119 |
length(const char_type* __p) |
10120 |
{ |
10121 |
std::size_t __i = 0; |
10122 |
while (!eq(__p[__i], char_type())) |
10123 |
++__i; |
10124 |
return __i; |
10125 |
} |
10126 |
|
10127 |
template<typename _CharT> |
10128 |
const typename char_traits<_CharT>::char_type* |
10129 |
char_traits<_CharT>:: |
10130 |
find(const char_type* __s, std::size_t __n, const char_type& __a) |
10131 |
{ |
10132 |
for (std::size_t __i = 0; __i < __n; ++__i) |
10133 |
if (eq(__s[__i], __a)) |
10134 |
return __s + __i; |
10135 |
return 0; |
10136 |
} |
10137 |
|
10138 |
template<typename _CharT> |
10139 |
typename char_traits<_CharT>::char_type* |
10140 |
char_traits<_CharT>:: |
10141 |
move(char_type* __s1, const char_type* __s2, std::size_t __n) |
10142 |
{ |
10143 |
return static_cast<_CharT*>(std::memmove(__s1, __s2, |
10144 |
__n * sizeof(char_type))); |
10145 |
} |
10146 |
|
10147 |
template<typename _CharT> |
10148 |
typename char_traits<_CharT>::char_type* |
10149 |
char_traits<_CharT>:: |
10150 |
copy(char_type* __s1, const char_type* __s2, std::size_t __n) |
10151 |
{ |
10152 |
std::copy(__s2, __s2 + __n, __s1); |
10153 |
return __s1; |
10154 |
} |
10155 |
|
10156 |
template<typename _CharT> |
10157 |
typename char_traits<_CharT>::char_type* |
10158 |
char_traits<_CharT>:: |
10159 |
assign(char_type* __s, std::size_t __n, char_type __a) |
10160 |
{ |
10161 |
std::fill_n(__s, __n, __a); |
10162 |
return __s; |
10163 |
} |
10164 |
} |
10165 |
|
10166 |
namespace std |
10167 |
{ |
10168 |
# 224 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/char_traits.h" 3 |
10169 |
template<class _CharT> |
10170 |
struct char_traits |
10171 |
: public __gnu_cxx::char_traits<_CharT> |
10172 |
{ }; |
10173 |
|
10174 |
|
10175 |
|
10176 |
template<> |
10177 |
struct char_traits<char> |
10178 |
{ |
10179 |
typedef char char_type; |
10180 |
typedef int int_type; |
10181 |
typedef streampos pos_type; |
10182 |
typedef streamoff off_type; |
10183 |
typedef mbstate_t state_type; |
10184 |
|
10185 |
static void |
10186 |
assign(char_type& __c1, const char_type& __c2) |
10187 |
{ __c1 = __c2; } |
10188 |
|
10189 |
static bool |
10190 |
eq(const char_type& __c1, const char_type& __c2) |
10191 |
{ return __c1 == __c2; } |
10192 |
|
10193 |
static bool |
10194 |
lt(const char_type& __c1, const char_type& __c2) |
10195 |
{ return __c1 < __c2; } |
10196 |
|
10197 |
static int |
10198 |
compare(const char_type* __s1, const char_type* __s2, size_t __n) |
10199 |
{ return memcmp(__s1, __s2, __n); } |
10200 |
|
10201 |
static size_t |
10202 |
length(const char_type* __s) |
10203 |
{ return strlen(__s); } |
10204 |
|
10205 |
static const char_type* |
10206 |
find(const char_type* __s, size_t __n, const char_type& __a) |
10207 |
{ return static_cast<const char_type*>(memchr(__s, __a, __n)); } |
10208 |
|
10209 |
static char_type* |
10210 |
move(char_type* __s1, const char_type* __s2, size_t __n) |
10211 |
{ return static_cast<char_type*>(memmove(__s1, __s2, __n)); } |
10212 |
|
10213 |
static char_type* |
10214 |
copy(char_type* __s1, const char_type* __s2, size_t __n) |
10215 |
{ return static_cast<char_type*>(memcpy(__s1, __s2, __n)); } |
10216 |
|
10217 |
static char_type* |
10218 |
assign(char_type* __s, size_t __n, char_type __a) |
10219 |
{ return static_cast<char_type*>(memset(__s, __a, __n)); } |
10220 |
|
10221 |
static char_type |
10222 |
to_char_type(const int_type& __c) |
10223 |
{ return static_cast<char_type>(__c); } |
10224 |
|
10225 |
|
10226 |
|
10227 |
static int_type |
10228 |
to_int_type(const char_type& __c) |
10229 |
{ return static_cast<int_type>(static_cast<unsigned char>(__c)); } |
10230 |
|
10231 |
static bool |
10232 |
eq_int_type(const int_type& __c1, const int_type& __c2) |
10233 |
{ return __c1 == __c2; } |
10234 |
|
10235 |
static int_type |
10236 |
eof() { return static_cast<int_type>((-1)); } |
10237 |
|
10238 |
static int_type |
10239 |
not_eof(const int_type& __c) |
10240 |
{ return (__c == eof()) ? 0 : __c; } |
10241 |
}; |
10242 |
|
10243 |
|
10244 |
|
10245 |
|
10246 |
template<> |
10247 |
struct char_traits<wchar_t> |
10248 |
{ |
10249 |
typedef wchar_t char_type; |
10250 |
typedef wint_t int_type; |
10251 |
typedef streamoff off_type; |
10252 |
typedef wstreampos pos_type; |
10253 |
typedef mbstate_t state_type; |
10254 |
|
10255 |
static void |
10256 |
assign(char_type& __c1, const char_type& __c2) |
10257 |
{ __c1 = __c2; } |
10258 |
|
10259 |
static bool |
10260 |
eq(const char_type& __c1, const char_type& __c2) |
10261 |
{ return __c1 == __c2; } |
10262 |
|
10263 |
static bool |
10264 |
lt(const char_type& __c1, const char_type& __c2) |
10265 |
{ return __c1 < __c2; } |
10266 |
|
10267 |
static int |
10268 |
compare(const char_type* __s1, const char_type* __s2, size_t __n) |
10269 |
{ return wmemcmp(__s1, __s2, __n); } |
10270 |
|
10271 |
static size_t |
10272 |
length(const char_type* __s) |
10273 |
{ return wcslen(__s); } |
10274 |
|
10275 |
static const char_type* |
10276 |
find(const char_type* __s, size_t __n, const char_type& __a) |
10277 |
{ return wmemchr(__s, __a, __n); } |
10278 |
|
10279 |
static char_type* |
10280 |
move(char_type* __s1, const char_type* __s2, size_t __n) |
10281 |
{ return wmemmove(__s1, __s2, __n); } |
10282 |
|
10283 |
static char_type* |
10284 |
copy(char_type* __s1, const char_type* __s2, size_t __n) |
10285 |
{ return wmemcpy(__s1, __s2, __n); } |
10286 |
|
10287 |
static char_type* |
10288 |
assign(char_type* __s, size_t __n, char_type __a) |
10289 |
{ return wmemset(__s, __a, __n); } |
10290 |
|
10291 |
static char_type |
10292 |
to_char_type(const int_type& __c) { return char_type(__c); } |
10293 |
|
10294 |
static int_type |
10295 |
to_int_type(const char_type& __c) { return int_type(__c); } |
10296 |
|
10297 |
static bool |
10298 |
eq_int_type(const int_type& __c1, const int_type& __c2) |
10299 |
{ return __c1 == __c2; } |
10300 |
|
10301 |
static int_type |
10302 |
eof() { return static_cast<int_type>((0xffffffffu)); } |
10303 |
|
10304 |
static int_type |
10305 |
not_eof(const int_type& __c) |
10306 |
{ return eq_int_type(__c, eof()) ? 0 : __c; } |
10307 |
}; |
10308 |
|
10309 |
|
10310 |
template<typename _CharT, typename _Traits> |
10311 |
struct _Char_traits_match |
10312 |
{ |
10313 |
_CharT _M_c; |
10314 |
_Char_traits_match(_CharT const& __c) : _M_c(__c) { } |
10315 |
|
10316 |
bool |
10317 |
operator()(_CharT const& __a) { return _Traits::eq(_M_c, __a); } |
10318 |
}; |
10319 |
} |
10320 |
# 48 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/string" 2 3 |
10321 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 1 3 |
10322 |
# 52 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 3 |
10323 |
|
10324 |
# 53 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 3 |
10325 |
|
10326 |
|
10327 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/allocator.h" 1 3 |
10328 |
# 52 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/allocator.h" 3 |
10329 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++allocator.h" 1 3 |
10330 |
# 34 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++allocator.h" 3 |
10331 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/ext/new_allocator.h" 1 3 |
10332 |
# 35 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/ext/new_allocator.h" 3 |
10333 |
namespace __gnu_cxx |
10334 |
{ |
10335 |
# 46 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/ext/new_allocator.h" 3 |
10336 |
template<typename _Tp> |
10337 |
class new_allocator |
10338 |
{ |
10339 |
public: |
10340 |
typedef size_t size_type; |
10341 |
typedef ptrdiff_t difference_type; |
10342 |
typedef _Tp* pointer; |
10343 |
typedef const _Tp* const_pointer; |
10344 |
typedef _Tp& reference; |
10345 |
typedef const _Tp& const_reference; |
10346 |
typedef _Tp value_type; |
10347 |
|
10348 |
template<typename _Tp1> |
10349 |
struct rebind |
10350 |
{ typedef new_allocator<_Tp1> other; }; |
10351 |
|
10352 |
new_allocator() throw() { } |
10353 |
|
10354 |
new_allocator(const new_allocator&) throw() { } |
10355 |
|
10356 |
template<typename _Tp1> |
10357 |
new_allocator(const new_allocator<_Tp1>&) throw() { } |
10358 |
|
10359 |
~new_allocator() throw() { } |
10360 |
|
10361 |
pointer |
10362 |
address(reference __x) const { return &__x; } |
10363 |
|
10364 |
const_pointer |
10365 |
address(const_reference __x) const { return &__x; } |
10366 |
|
10367 |
|
10368 |
|
10369 |
pointer |
10370 |
allocate(size_type __n, const void* = 0) |
10371 |
{ return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); } |
10372 |
|
10373 |
|
10374 |
void |
10375 |
deallocate(pointer __p, size_type) |
10376 |
{ ::operator delete(__p); } |
10377 |
|
10378 |
size_type |
10379 |
max_size() const throw() |
10380 |
{ return size_t(-1) / sizeof(_Tp); } |
10381 |
|
10382 |
|
10383 |
|
10384 |
void |
10385 |
construct(pointer __p, const _Tp& __val) |
10386 |
{ ::new(__p) _Tp(__val); } |
10387 |
|
10388 |
void |
10389 |
destroy(pointer __p) { __p->~_Tp(); } |
10390 |
}; |
10391 |
|
10392 |
template<typename _Tp> |
10393 |
inline bool |
10394 |
operator==(const new_allocator<_Tp>&, const new_allocator<_Tp>&) |
10395 |
{ return true; } |
10396 |
|
10397 |
template<typename _Tp> |
10398 |
inline bool |
10399 |
operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&) |
10400 |
{ return false; } |
10401 |
} |
10402 |
# 35 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/c++allocator.h" 2 3 |
10403 |
# 53 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/allocator.h" 2 3 |
10404 |
|
10405 |
namespace std |
10406 |
{ |
10407 |
template<typename _Tp> |
10408 |
class allocator; |
10409 |
|
10410 |
template<> |
10411 |
class allocator<void> |
10412 |
{ |
10413 |
public: |
10414 |
typedef size_t size_type; |
10415 |
typedef ptrdiff_t difference_type; |
10416 |
typedef void* pointer; |
10417 |
typedef const void* const_pointer; |
10418 |
typedef void value_type; |
10419 |
|
10420 |
template<typename _Tp1> |
10421 |
struct rebind |
10422 |
{ typedef allocator<_Tp1> other; }; |
10423 |
}; |
10424 |
|
10425 |
|
10426 |
|
10427 |
|
10428 |
|
10429 |
|
10430 |
template<typename _Tp> |
10431 |
class allocator: public __gnu_cxx::new_allocator<_Tp> |
10432 |
{ |
10433 |
public: |
10434 |
typedef size_t size_type; |
10435 |
typedef ptrdiff_t difference_type; |
10436 |
typedef _Tp* pointer; |
10437 |
typedef const _Tp* const_pointer; |
10438 |
typedef _Tp& reference; |
10439 |
typedef const _Tp& const_reference; |
10440 |
typedef _Tp value_type; |
10441 |
|
10442 |
template<typename _Tp1> |
10443 |
struct rebind |
10444 |
{ typedef allocator<_Tp1> other; }; |
10445 |
|
10446 |
allocator() throw() { } |
10447 |
|
10448 |
allocator(const allocator& a) throw() |
10449 |
: __gnu_cxx::new_allocator<_Tp>(a) { } |
10450 |
|
10451 |
template<typename _Tp1> |
10452 |
allocator(const allocator<_Tp1>&) throw() { } |
10453 |
|
10454 |
~allocator() throw() { } |
10455 |
|
10456 |
|
10457 |
}; |
10458 |
|
10459 |
template<typename _T1, typename _T2> |
10460 |
inline bool |
10461 |
operator==(const allocator<_T1>&, const allocator<_T2>&) |
10462 |
{ return true; } |
10463 |
|
10464 |
template<typename _T1, typename _T2> |
10465 |
inline bool |
10466 |
operator!=(const allocator<_T1>&, const allocator<_T2>&) |
10467 |
{ return false; } |
10468 |
|
10469 |
|
10470 |
|
10471 |
|
10472 |
|
10473 |
extern template class allocator<char>; |
10474 |
extern template class allocator<wchar_t>; |
10475 |
|
10476 |
|
10477 |
|
10478 |
|
10479 |
} |
10480 |
# 56 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 2 3 |
10481 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_construct.h" 1 3 |
10482 |
# 67 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_construct.h" 3 |
10483 |
namespace std |
10484 |
{ |
10485 |
|
10486 |
|
10487 |
|
10488 |
|
10489 |
|
10490 |
|
10491 |
template<typename _T1, typename _T2> |
10492 |
inline void |
10493 |
_Construct(_T1* __p, const _T2& __value) |
10494 |
{ |
10495 |
|
10496 |
|
10497 |
::new(static_cast<void*>(__p)) _T1(__value); |
10498 |
} |
10499 |
|
10500 |
|
10501 |
|
10502 |
|
10503 |
|
10504 |
|
10505 |
|
10506 |
template<typename _T1> |
10507 |
inline void |
10508 |
_Construct(_T1* __p) |
10509 |
{ |
10510 |
|
10511 |
|
10512 |
::new(static_cast<void*>(__p)) _T1(); |
10513 |
} |
10514 |
|
10515 |
|
10516 |
|
10517 |
|
10518 |
|
10519 |
|
10520 |
template<typename _Tp> |
10521 |
inline void |
10522 |
_Destroy(_Tp* __pointer) |
10523 |
{ __pointer->~_Tp(); } |
10524 |
# 116 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_construct.h" 3 |
10525 |
template<typename _ForwardIterator> |
10526 |
inline void |
10527 |
__destroy_aux(_ForwardIterator __first, _ForwardIterator __last, |
10528 |
__false_type) |
10529 |
{ for ( ; __first != __last; ++__first) std::_Destroy(&*__first); } |
10530 |
# 131 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_construct.h" 3 |
10531 |
template<typename _ForwardIterator> |
10532 |
inline void |
10533 |
__destroy_aux(_ForwardIterator, _ForwardIterator, __true_type) |
10534 |
{ } |
10535 |
# 143 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_construct.h" 3 |
10536 |
template<typename _ForwardIterator> |
10537 |
inline void |
10538 |
_Destroy(_ForwardIterator __first, _ForwardIterator __last) |
10539 |
{ |
10540 |
typedef typename iterator_traits<_ForwardIterator>::value_type |
10541 |
_Value_type; |
10542 |
typedef typename __type_traits<_Value_type>::has_trivial_destructor |
10543 |
_Has_trivial_destructor; |
10544 |
|
10545 |
std::__destroy_aux(__first, __last, _Has_trivial_destructor()); |
10546 |
} |
10547 |
} |
10548 |
# 57 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 2 3 |
10549 |
|
10550 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_uninitialized.h" 1 3 |
10551 |
# 66 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_uninitialized.h" 3 |
10552 |
namespace std |
10553 |
{ |
10554 |
|
10555 |
template<typename _InputIterator, typename _ForwardIterator> |
10556 |
inline _ForwardIterator |
10557 |
__uninitialized_copy_aux(_InputIterator __first, _InputIterator __last, |
10558 |
_ForwardIterator __result, |
10559 |
__true_type) |
10560 |
{ return std::copy(__first, __last, __result); } |
10561 |
|
10562 |
template<typename _InputIterator, typename _ForwardIterator> |
10563 |
inline _ForwardIterator |
10564 |
__uninitialized_copy_aux(_InputIterator __first, _InputIterator __last, |
10565 |
_ForwardIterator __result, |
10566 |
__false_type) |
10567 |
{ |
10568 |
_ForwardIterator __cur = __result; |
10569 |
try |
10570 |
{ |
10571 |
for ( ; __first != __last; ++__first, ++__cur) |
10572 |
std::_Construct(&*__cur, *__first); |
10573 |
return __cur; |
10574 |
} |
10575 |
catch(...) |
10576 |
{ |
10577 |
std::_Destroy(__result, __cur); |
10578 |
throw; |
10579 |
} |
10580 |
} |
10581 |
# 105 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_uninitialized.h" 3 |
10582 |
template<typename _InputIterator, typename _ForwardIterator> |
10583 |
inline _ForwardIterator |
10584 |
uninitialized_copy(_InputIterator __first, _InputIterator __last, |
10585 |
_ForwardIterator __result) |
10586 |
{ |
10587 |
typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; |
10588 |
typedef typename __type_traits<_ValueType>::is_POD_type _Is_POD; |
10589 |
return std::__uninitialized_copy_aux(__first, __last, __result, |
10590 |
_Is_POD()); |
10591 |
} |
10592 |
|
10593 |
inline char* |
10594 |
uninitialized_copy(const char* __first, const char* __last, char* __result) |
10595 |
{ |
10596 |
std::memmove(__result, __first, __last - __first); |
10597 |
return __result + (__last - __first); |
10598 |
} |
10599 |
|
10600 |
inline wchar_t* |
10601 |
uninitialized_copy(const wchar_t* __first, const wchar_t* __last, |
10602 |
wchar_t* __result) |
10603 |
{ |
10604 |
std::memmove(__result, __first, sizeof(wchar_t) * (__last - __first)); |
10605 |
return __result + (__last - __first); |
10606 |
} |
10607 |
|
10608 |
|
10609 |
|
10610 |
template<typename _ForwardIterator, typename _Tp> |
10611 |
inline void |
10612 |
__uninitialized_fill_aux(_ForwardIterator __first, |
10613 |
_ForwardIterator __last, |
10614 |
const _Tp& __x, __true_type) |
10615 |
{ std::fill(__first, __last, __x); } |
10616 |
|
10617 |
template<typename _ForwardIterator, typename _Tp> |
10618 |
void |
10619 |
__uninitialized_fill_aux(_ForwardIterator __first, _ForwardIterator __last, |
10620 |
const _Tp& __x, __false_type) |
10621 |
{ |
10622 |
_ForwardIterator __cur = __first; |
10623 |
try |
10624 |
{ |
10625 |
for ( ; __cur != __last; ++__cur) |
10626 |
std::_Construct(&*__cur, __x); |
10627 |
} |
10628 |
catch(...) |
10629 |
{ |
10630 |
std::_Destroy(__first, __cur); |
10631 |
throw; |
10632 |
} |
10633 |
} |
10634 |
# 167 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_uninitialized.h" 3 |
10635 |
template<typename _ForwardIterator, typename _Tp> |
10636 |
inline void |
10637 |
uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, |
10638 |
const _Tp& __x) |
10639 |
{ |
10640 |
typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; |
10641 |
typedef typename __type_traits<_ValueType>::is_POD_type _Is_POD; |
10642 |
std::__uninitialized_fill_aux(__first, __last, __x, _Is_POD()); |
10643 |
} |
10644 |
|
10645 |
|
10646 |
|
10647 |
template<typename _ForwardIterator, typename _Size, typename _Tp> |
10648 |
inline _ForwardIterator |
10649 |
__uninitialized_fill_n_aux(_ForwardIterator __first, _Size __n, |
10650 |
const _Tp& __x, __true_type) |
10651 |
{ return std::fill_n(__first, __n, __x); } |
10652 |
|
10653 |
template<typename _ForwardIterator, typename _Size, typename _Tp> |
10654 |
_ForwardIterator |
10655 |
__uninitialized_fill_n_aux(_ForwardIterator __first, _Size __n, |
10656 |
const _Tp& __x, __false_type) |
10657 |
{ |
10658 |
_ForwardIterator __cur = __first; |
10659 |
try |
10660 |
{ |
10661 |
for ( ; __n > 0; --__n, ++__cur) |
10662 |
std::_Construct(&*__cur, __x); |
10663 |
return __cur; |
10664 |
} |
10665 |
catch(...) |
10666 |
{ |
10667 |
std::_Destroy(__first, __cur); |
10668 |
throw; |
10669 |
} |
10670 |
} |
10671 |
# 213 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_uninitialized.h" 3 |
10672 |
template<typename _ForwardIterator, typename _Size, typename _Tp> |
10673 |
inline _ForwardIterator |
10674 |
uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) |
10675 |
{ |
10676 |
typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; |
10677 |
typedef typename __type_traits<_ValueType>::is_POD_type _Is_POD; |
10678 |
return std::__uninitialized_fill_n_aux(__first, __n, __x, _Is_POD()); |
10679 |
} |
10680 |
# 230 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_uninitialized.h" 3 |
10681 |
template<typename _InputIterator1, typename _InputIterator2, |
10682 |
typename _ForwardIterator> |
10683 |
inline _ForwardIterator |
10684 |
__uninitialized_copy_copy(_InputIterator1 __first1, |
10685 |
_InputIterator1 __last1, |
10686 |
_InputIterator2 __first2, |
10687 |
_InputIterator2 __last2, |
10688 |
_ForwardIterator __result) |
10689 |
{ |
10690 |
_ForwardIterator __mid = std::uninitialized_copy(__first1, __last1, |
10691 |
__result); |
10692 |
try |
10693 |
{ |
10694 |
return std::uninitialized_copy(__first2, __last2, __mid); |
10695 |
} |
10696 |
catch(...) |
10697 |
{ |
10698 |
std::_Destroy(__result, __mid); |
10699 |
throw; |
10700 |
} |
10701 |
} |
10702 |
|
10703 |
|
10704 |
|
10705 |
|
10706 |
template<typename _ForwardIterator, typename _Tp, typename _InputIterator> |
10707 |
inline _ForwardIterator |
10708 |
__uninitialized_fill_copy(_ForwardIterator __result, _ForwardIterator __mid, |
10709 |
const _Tp& __x, _InputIterator __first, |
10710 |
_InputIterator __last) |
10711 |
{ |
10712 |
std::uninitialized_fill(__result, __mid, __x); |
10713 |
try |
10714 |
{ |
10715 |
return std::uninitialized_copy(__first, __last, __mid); |
10716 |
} |
10717 |
catch(...) |
10718 |
{ |
10719 |
std::_Destroy(__result, __mid); |
10720 |
throw; |
10721 |
} |
10722 |
} |
10723 |
|
10724 |
|
10725 |
|
10726 |
|
10727 |
template<typename _InputIterator, typename _ForwardIterator, typename _Tp> |
10728 |
inline void |
10729 |
__uninitialized_copy_fill(_InputIterator __first1, _InputIterator __last1, |
10730 |
_ForwardIterator __first2, |
10731 |
_ForwardIterator __last2, const _Tp& __x) |
10732 |
{ |
10733 |
_ForwardIterator __mid2 = std::uninitialized_copy(__first1, __last1, |
10734 |
__first2); |
10735 |
try |
10736 |
{ |
10737 |
std::uninitialized_fill(__mid2, __last2, __x); |
10738 |
} |
10739 |
catch(...) |
10740 |
{ |
10741 |
std::_Destroy(__first2, __mid2); |
10742 |
throw; |
10743 |
} |
10744 |
} |
10745 |
|
10746 |
} |
10747 |
# 59 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 2 3 |
10748 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_raw_storage_iter.h" 1 3 |
10749 |
# 64 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_raw_storage_iter.h" 3 |
10750 |
namespace std |
10751 |
{ |
10752 |
|
10753 |
|
10754 |
|
10755 |
|
10756 |
template <class _ForwardIterator, class _Tp> |
10757 |
class raw_storage_iterator |
10758 |
: public iterator<output_iterator_tag, void, void, void, void> |
10759 |
{ |
10760 |
protected: |
10761 |
_ForwardIterator _M_iter; |
10762 |
|
10763 |
public: |
10764 |
explicit |
10765 |
raw_storage_iterator(_ForwardIterator __x) |
10766 |
: _M_iter(__x) {} |
10767 |
|
10768 |
raw_storage_iterator& |
10769 |
operator*() { return *this; } |
10770 |
|
10771 |
raw_storage_iterator& |
10772 |
operator=(const _Tp& __element) |
10773 |
{ |
10774 |
std::_Construct(&*_M_iter, __element); |
10775 |
return *this; |
10776 |
} |
10777 |
|
10778 |
raw_storage_iterator<_ForwardIterator, _Tp>& |
10779 |
operator++() |
10780 |
{ |
10781 |
++_M_iter; |
10782 |
return *this; |
10783 |
} |
10784 |
|
10785 |
raw_storage_iterator<_ForwardIterator, _Tp> |
10786 |
operator++(int) |
10787 |
{ |
10788 |
raw_storage_iterator<_ForwardIterator, _Tp> __tmp = *this; |
10789 |
++_M_iter; |
10790 |
return __tmp; |
10791 |
} |
10792 |
}; |
10793 |
} |
10794 |
# 60 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 2 3 |
10795 |
|
10796 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits" 1 3 |
10797 |
# 46 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits" 3 |
10798 |
|
10799 |
# 47 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits" 3 |
10800 |
# 150 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits" 3 |
10801 |
namespace std |
10802 |
{ |
10803 |
|
10804 |
|
10805 |
|
10806 |
|
10807 |
|
10808 |
enum float_round_style |
10809 |
{ |
10810 |
round_indeterminate = -1, |
10811 |
round_toward_zero = 0, |
10812 |
round_to_nearest = 1, |
10813 |
round_toward_infinity = 2, |
10814 |
round_toward_neg_infinity = 3 |
10815 |
}; |
10816 |
|
10817 |
|
10818 |
|
10819 |
|
10820 |
|
10821 |
|
10822 |
|
10823 |
enum float_denorm_style |
10824 |
{ |
10825 |
|
10826 |
denorm_indeterminate = -1, |
10827 |
|
10828 |
denorm_absent = 0, |
10829 |
|
10830 |
denorm_present = 1 |
10831 |
}; |
10832 |
# 192 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits" 3 |
10833 |
struct __numeric_limits_base |
10834 |
{ |
10835 |
|
10836 |
|
10837 |
static const bool is_specialized = false; |
10838 |
|
10839 |
|
10840 |
|
10841 |
|
10842 |
static const int digits = 0; |
10843 |
|
10844 |
static const int digits10 = 0; |
10845 |
|
10846 |
static const bool is_signed = false; |
10847 |
|
10848 |
|
10849 |
|
10850 |
|
10851 |
|
10852 |
static const bool is_integer = false; |
10853 |
|
10854 |
|
10855 |
|
10856 |
|
10857 |
static const bool is_exact = false; |
10858 |
|
10859 |
|
10860 |
static const int radix = 0; |
10861 |
|
10862 |
|
10863 |
|
10864 |
static const int min_exponent = 0; |
10865 |
|
10866 |
|
10867 |
static const int min_exponent10 = 0; |
10868 |
|
10869 |
|
10870 |
|
10871 |
static const int max_exponent = 0; |
10872 |
|
10873 |
|
10874 |
static const int max_exponent10 = 0; |
10875 |
|
10876 |
|
10877 |
static const bool has_infinity = false; |
10878 |
|
10879 |
|
10880 |
static const bool has_quiet_NaN = false; |
10881 |
|
10882 |
|
10883 |
static const bool has_signaling_NaN = false; |
10884 |
|
10885 |
static const float_denorm_style has_denorm = denorm_absent; |
10886 |
|
10887 |
|
10888 |
static const bool has_denorm_loss = false; |
10889 |
|
10890 |
|
10891 |
|
10892 |
static const bool is_iec559 = false; |
10893 |
|
10894 |
|
10895 |
|
10896 |
static const bool is_bounded = false; |
10897 |
|
10898 |
|
10899 |
|
10900 |
|
10901 |
static const bool is_modulo = false; |
10902 |
|
10903 |
|
10904 |
static const bool traps = false; |
10905 |
|
10906 |
static const bool tinyness_before = false; |
10907 |
|
10908 |
|
10909 |
|
10910 |
static const float_round_style round_style = round_toward_zero; |
10911 |
}; |
10912 |
# 285 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits" 3 |
10913 |
template<typename _Tp> |
10914 |
struct numeric_limits : public __numeric_limits_base |
10915 |
{ |
10916 |
|
10917 |
|
10918 |
static _Tp min() throw() { return static_cast<_Tp>(0); } |
10919 |
|
10920 |
static _Tp max() throw() { return static_cast<_Tp>(0); } |
10921 |
|
10922 |
|
10923 |
static _Tp epsilon() throw() { return static_cast<_Tp>(0); } |
10924 |
|
10925 |
static _Tp round_error() throw() { return static_cast<_Tp>(0); } |
10926 |
|
10927 |
static _Tp infinity() throw() { return static_cast<_Tp>(0); } |
10928 |
|
10929 |
static _Tp quiet_NaN() throw() { return static_cast<_Tp>(0); } |
10930 |
|
10931 |
|
10932 |
static _Tp signaling_NaN() throw() { return static_cast<_Tp>(0); } |
10933 |
|
10934 |
|
10935 |
|
10936 |
static _Tp denorm_min() throw() { return static_cast<_Tp>(0); } |
10937 |
}; |
10938 |
|
10939 |
|
10940 |
|
10941 |
template<> |
10942 |
struct numeric_limits<bool> |
10943 |
{ |
10944 |
static const bool is_specialized = true; |
10945 |
|
10946 |
static bool min() throw() |
10947 |
{ return false; } |
10948 |
static bool max() throw() |
10949 |
{ return true; } |
10950 |
|
10951 |
static const int digits = 1; |
10952 |
static const int digits10 = 0; |
10953 |
static const bool is_signed = false; |
10954 |
static const bool is_integer = true; |
10955 |
static const bool is_exact = true; |
10956 |
static const int radix = 2; |
10957 |
static bool epsilon() throw() |
10958 |
{ return false; } |
10959 |
static bool round_error() throw() |
10960 |
{ return false; } |
10961 |
|
10962 |
static const int min_exponent = 0; |
10963 |
static const int min_exponent10 = 0; |
10964 |
static const int max_exponent = 0; |
10965 |
static const int max_exponent10 = 0; |
10966 |
|
10967 |
static const bool has_infinity = false; |
10968 |
static const bool has_quiet_NaN = false; |
10969 |
static const bool has_signaling_NaN = false; |
10970 |
static const float_denorm_style has_denorm = denorm_absent; |
10971 |
static const bool has_denorm_loss = false; |
10972 |
|
10973 |
static bool infinity() throw() |
10974 |
{ return false; } |
10975 |
static bool quiet_NaN() throw() |
10976 |
{ return false; } |
10977 |
static bool signaling_NaN() throw() |
10978 |
{ return false; } |
10979 |
static bool denorm_min() throw() |
10980 |
{ return false; } |
10981 |
|
10982 |
static const bool is_iec559 = false; |
10983 |
static const bool is_bounded = true; |
10984 |
static const bool is_modulo = false; |
10985 |
|
10986 |
|
10987 |
|
10988 |
|
10989 |
static const bool traps = true; |
10990 |
static const bool tinyness_before = false; |
10991 |
static const float_round_style round_style = round_toward_zero; |
10992 |
}; |
10993 |
|
10994 |
template<> |
10995 |
struct numeric_limits<char> |
10996 |
{ |
10997 |
static const bool is_specialized = true; |
10998 |
|
10999 |
static char min() throw() |
11000 |
{ return (((char)(-1) < 0) ? (char)1 << (sizeof(char) * 8 - ((char)(-1) < 0)) : (char)0); } |
11001 |
static char max() throw() |
11002 |
{ return (((char)(-1) < 0) ? ((char)1 << (sizeof(char) * 8 - ((char)(-1) < 0))) - 1 : ~(char)0); } |
11003 |
|
11004 |
static const int digits = (sizeof(char) * 8 - ((char)(-1) < 0)); |
11005 |
static const int digits10 = ((sizeof(char) * 8 - ((char)(-1) < 0)) * 643 / 2136); |
11006 |
static const bool is_signed = ((char)(-1) < 0); |
11007 |
static const bool is_integer = true; |
11008 |
static const bool is_exact = true; |
11009 |
static const int radix = 2; |
11010 |
static char epsilon() throw() |
11011 |
{ return 0; } |
11012 |
static char round_error() throw() |
11013 |
{ return 0; } |
11014 |
|
11015 |
static const int min_exponent = 0; |
11016 |
static const int min_exponent10 = 0; |
11017 |
static const int max_exponent = 0; |
11018 |
static const int max_exponent10 = 0; |
11019 |
|
11020 |
static const bool has_infinity = false; |
11021 |
static const bool has_quiet_NaN = false; |
11022 |
static const bool has_signaling_NaN = false; |
11023 |
static const float_denorm_style has_denorm = denorm_absent; |
11024 |
static const bool has_denorm_loss = false; |
11025 |
|
11026 |
static char infinity() throw() |
11027 |
{ return char(); } |
11028 |
static char quiet_NaN() throw() |
11029 |
{ return char(); } |
11030 |
static char signaling_NaN() throw() |
11031 |
{ return char(); } |
11032 |
static char denorm_min() throw() |
11033 |
{ return static_cast<char>(0); } |
11034 |
|
11035 |
static const bool is_iec559 = false; |
11036 |
static const bool is_bounded = true; |
11037 |
static const bool is_modulo = true; |
11038 |
|
11039 |
static const bool traps = true; |
11040 |
static const bool tinyness_before = false; |
11041 |
static const float_round_style round_style = round_toward_zero; |
11042 |
}; |
11043 |
|
11044 |
template<> |
11045 |
struct numeric_limits<signed char> |
11046 |
{ |
11047 |
static const bool is_specialized = true; |
11048 |
|
11049 |
static signed char min() throw() |
11050 |
{ return -127 - 1; } |
11051 |
static signed char max() throw() |
11052 |
{ return 127; } |
11053 |
|
11054 |
static const int digits = (sizeof(signed char) * 8 - ((signed char)(-1) < 0)); |
11055 |
static const int digits10 = ((sizeof(signed char) * 8 - ((signed char)(-1) < 0)) * 643 / 2136); |
11056 |
static const bool is_signed = true; |
11057 |
static const bool is_integer = true; |
11058 |
static const bool is_exact = true; |
11059 |
static const int radix = 2; |
11060 |
static signed char epsilon() throw() |
11061 |
{ return 0; } |
11062 |
static signed char round_error() throw() |
11063 |
{ return 0; } |
11064 |
|
11065 |
static const int min_exponent = 0; |
11066 |
static const int min_exponent10 = 0; |
11067 |
static const int max_exponent = 0; |
11068 |
static const int max_exponent10 = 0; |
11069 |
|
11070 |
static const bool has_infinity = false; |
11071 |
static const bool has_quiet_NaN = false; |
11072 |
static const bool has_signaling_NaN = false; |
11073 |
static const float_denorm_style has_denorm = denorm_absent; |
11074 |
static const bool has_denorm_loss = false; |
11075 |
|
11076 |
static signed char infinity() throw() |
11077 |
{ return static_cast<signed char>(0); } |
11078 |
static signed char quiet_NaN() throw() |
11079 |
{ return static_cast<signed char>(0); } |
11080 |
static signed char signaling_NaN() throw() |
11081 |
{ return static_cast<signed char>(0); } |
11082 |
static signed char denorm_min() throw() |
11083 |
{ return static_cast<signed char>(0); } |
11084 |
|
11085 |
static const bool is_iec559 = false; |
11086 |
static const bool is_bounded = true; |
11087 |
static const bool is_modulo = true; |
11088 |
|
11089 |
static const bool traps = true; |
11090 |
static const bool tinyness_before = false; |
11091 |
static const float_round_style round_style = round_toward_zero; |
11092 |
}; |
11093 |
|
11094 |
template<> |
11095 |
struct numeric_limits<unsigned char> |
11096 |
{ |
11097 |
static const bool is_specialized = true; |
11098 |
|
11099 |
static unsigned char min() throw() |
11100 |
{ return 0; } |
11101 |
static unsigned char max() throw() |
11102 |
{ return 127 * 2U + 1; } |
11103 |
|
11104 |
static const int digits = (sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)); |
11105 |
static const int digits10 = ((sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)) * 643 / 2136); |
11106 |
static const bool is_signed = false; |
11107 |
static const bool is_integer = true; |
11108 |
static const bool is_exact = true; |
11109 |
static const int radix = 2; |
11110 |
static unsigned char epsilon() throw() |
11111 |
{ return 0; } |
11112 |
static unsigned char round_error() throw() |
11113 |
{ return 0; } |
11114 |
|
11115 |
static const int min_exponent = 0; |
11116 |
static const int min_exponent10 = 0; |
11117 |
static const int max_exponent = 0; |
11118 |
static const int max_exponent10 = 0; |
11119 |
|
11120 |
static const bool has_infinity = false; |
11121 |
static const bool has_quiet_NaN = false; |
11122 |
static const bool has_signaling_NaN = false; |
11123 |
static const float_denorm_style has_denorm = denorm_absent; |
11124 |
static const bool has_denorm_loss = false; |
11125 |
|
11126 |
static unsigned char infinity() throw() |
11127 |
{ return static_cast<unsigned char>(0); } |
11128 |
static unsigned char quiet_NaN() throw() |
11129 |
{ return static_cast<unsigned char>(0); } |
11130 |
static unsigned char signaling_NaN() throw() |
11131 |
{ return static_cast<unsigned char>(0); } |
11132 |
static unsigned char denorm_min() throw() |
11133 |
{ return static_cast<unsigned char>(0); } |
11134 |
|
11135 |
static const bool is_iec559 = false; |
11136 |
static const bool is_bounded = true; |
11137 |
static const bool is_modulo = true; |
11138 |
|
11139 |
static const bool traps = true; |
11140 |
static const bool tinyness_before = false; |
11141 |
static const float_round_style round_style = round_toward_zero; |
11142 |
}; |
11143 |
|
11144 |
template<> |
11145 |
struct numeric_limits<wchar_t> |
11146 |
{ |
11147 |
static const bool is_specialized = true; |
11148 |
|
11149 |
static wchar_t min() throw() |
11150 |
{ return (((wchar_t)(-1) < 0) ? (wchar_t)1 << (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) : (wchar_t)0); } |
11151 |
static wchar_t max() throw() |
11152 |
{ return (((wchar_t)(-1) < 0) ? ((wchar_t)1 << (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0))) - 1 : ~(wchar_t)0); } |
11153 |
|
11154 |
static const int digits = (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)); |
11155 |
static const int digits10 = ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) * 643 / 2136); |
11156 |
static const bool is_signed = ((wchar_t)(-1) < 0); |
11157 |
static const bool is_integer = true; |
11158 |
static const bool is_exact = true; |
11159 |
static const int radix = 2; |
11160 |
static wchar_t epsilon() throw() |
11161 |
{ return 0; } |
11162 |
static wchar_t round_error() throw() |
11163 |
{ return 0; } |
11164 |
|
11165 |
static const int min_exponent = 0; |
11166 |
static const int min_exponent10 = 0; |
11167 |
static const int max_exponent = 0; |
11168 |
static const int max_exponent10 = 0; |
11169 |
|
11170 |
static const bool has_infinity = false; |
11171 |
static const bool has_quiet_NaN = false; |
11172 |
static const bool has_signaling_NaN = false; |
11173 |
static const float_denorm_style has_denorm = denorm_absent; |
11174 |
static const bool has_denorm_loss = false; |
11175 |
|
11176 |
static wchar_t infinity() throw() |
11177 |
{ return wchar_t(); } |
11178 |
static wchar_t quiet_NaN() throw() |
11179 |
{ return wchar_t(); } |
11180 |
static wchar_t signaling_NaN() throw() |
11181 |
{ return wchar_t(); } |
11182 |
static wchar_t denorm_min() throw() |
11183 |
{ return wchar_t(); } |
11184 |
|
11185 |
static const bool is_iec559 = false; |
11186 |
static const bool is_bounded = true; |
11187 |
static const bool is_modulo = true; |
11188 |
|
11189 |
static const bool traps = true; |
11190 |
static const bool tinyness_before = false; |
11191 |
static const float_round_style round_style = round_toward_zero; |
11192 |
}; |
11193 |
|
11194 |
template<> |
11195 |
struct numeric_limits<short> |
11196 |
{ |
11197 |
static const bool is_specialized = true; |
11198 |
|
11199 |
static short min() throw() |
11200 |
{ return -32767 - 1; } |
11201 |
static short max() throw() |
11202 |
{ return 32767; } |
11203 |
|
11204 |
static const int digits = (sizeof(short) * 8 - ((short)(-1) < 0)); |
11205 |
static const int digits10 = ((sizeof(short) * 8 - ((short)(-1) < 0)) * 643 / 2136); |
11206 |
static const bool is_signed = true; |
11207 |
static const bool is_integer = true; |
11208 |
static const bool is_exact = true; |
11209 |
static const int radix = 2; |
11210 |
static short epsilon() throw() |
11211 |
{ return 0; } |
11212 |
static short round_error() throw() |
11213 |
{ return 0; } |
11214 |
|
11215 |
static const int min_exponent = 0; |
11216 |
static const int min_exponent10 = 0; |
11217 |
static const int max_exponent = 0; |
11218 |
static const int max_exponent10 = 0; |
11219 |
|
11220 |
static const bool has_infinity = false; |
11221 |
static const bool has_quiet_NaN = false; |
11222 |
static const bool has_signaling_NaN = false; |
11223 |
static const float_denorm_style has_denorm = denorm_absent; |
11224 |
static const bool has_denorm_loss = false; |
11225 |
|
11226 |
static short infinity() throw() |
11227 |
{ return short(); } |
11228 |
static short quiet_NaN() throw() |
11229 |
{ return short(); } |
11230 |
static short signaling_NaN() throw() |
11231 |
{ return short(); } |
11232 |
static short denorm_min() throw() |
11233 |
{ return short(); } |
11234 |
|
11235 |
static const bool is_iec559 = false; |
11236 |
static const bool is_bounded = true; |
11237 |
static const bool is_modulo = true; |
11238 |
|
11239 |
static const bool traps = true; |
11240 |
static const bool tinyness_before = false; |
11241 |
static const float_round_style round_style = round_toward_zero; |
11242 |
}; |
11243 |
|
11244 |
template<> |
11245 |
struct numeric_limits<unsigned short> |
11246 |
{ |
11247 |
static const bool is_specialized = true; |
11248 |
|
11249 |
static unsigned short min() throw() |
11250 |
{ return 0; } |
11251 |
static unsigned short max() throw() |
11252 |
{ return 32767 * 2U + 1; } |
11253 |
|
11254 |
static const int digits = (sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)); |
11255 |
static const int digits10 = ((sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)) * 643 / 2136); |
11256 |
static const bool is_signed = false; |
11257 |
static const bool is_integer = true; |
11258 |
static const bool is_exact = true; |
11259 |
static const int radix = 2; |
11260 |
static unsigned short epsilon() throw() |
11261 |
{ return 0; } |
11262 |
static unsigned short round_error() throw() |
11263 |
{ return 0; } |
11264 |
|
11265 |
static const int min_exponent = 0; |
11266 |
static const int min_exponent10 = 0; |
11267 |
static const int max_exponent = 0; |
11268 |
static const int max_exponent10 = 0; |
11269 |
|
11270 |
static const bool has_infinity = false; |
11271 |
static const bool has_quiet_NaN = false; |
11272 |
static const bool has_signaling_NaN = false; |
11273 |
static const float_denorm_style has_denorm = denorm_absent; |
11274 |
static const bool has_denorm_loss = false; |
11275 |
|
11276 |
static unsigned short infinity() throw() |
11277 |
{ return static_cast<unsigned short>(0); } |
11278 |
static unsigned short quiet_NaN() throw() |
11279 |
{ return static_cast<unsigned short>(0); } |
11280 |
static unsigned short signaling_NaN() throw() |
11281 |
{ return static_cast<unsigned short>(0); } |
11282 |
static unsigned short denorm_min() throw() |
11283 |
{ return static_cast<unsigned short>(0); } |
11284 |
|
11285 |
static const bool is_iec559 = false; |
11286 |
static const bool is_bounded = true; |
11287 |
static const bool is_modulo = true; |
11288 |
|
11289 |
static const bool traps = true; |
11290 |
static const bool tinyness_before = false; |
11291 |
static const float_round_style round_style = round_toward_zero; |
11292 |
}; |
11293 |
|
11294 |
template<> |
11295 |
struct numeric_limits<int> |
11296 |
{ |
11297 |
static const bool is_specialized = true; |
11298 |
|
11299 |
static int min() throw() |
11300 |
{ return -2147483647 - 1; } |
11301 |
static int max() throw() |
11302 |
{ return 2147483647; } |
11303 |
|
11304 |
static const int digits = (sizeof(int) * 8 - ((int)(-1) < 0)); |
11305 |
static const int digits10 = ((sizeof(int) * 8 - ((int)(-1) < 0)) * 643 / 2136); |
11306 |
static const bool is_signed = true; |
11307 |
static const bool is_integer = true; |
11308 |
static const bool is_exact = true; |
11309 |
static const int radix = 2; |
11310 |
static int epsilon() throw() |
11311 |
{ return 0; } |
11312 |
static int round_error() throw() |
11313 |
{ return 0; } |
11314 |
|
11315 |
static const int min_exponent = 0; |
11316 |
static const int min_exponent10 = 0; |
11317 |
static const int max_exponent = 0; |
11318 |
static const int max_exponent10 = 0; |
11319 |
|
11320 |
static const bool has_infinity = false; |
11321 |
static const bool has_quiet_NaN = false; |
11322 |
static const bool has_signaling_NaN = false; |
11323 |
static const float_denorm_style has_denorm = denorm_absent; |
11324 |
static const bool has_denorm_loss = false; |
11325 |
|
11326 |
static int infinity() throw() |
11327 |
{ return static_cast<int>(0); } |
11328 |
static int quiet_NaN() throw() |
11329 |
{ return static_cast<int>(0); } |
11330 |
static int signaling_NaN() throw() |
11331 |
{ return static_cast<int>(0); } |
11332 |
static int denorm_min() throw() |
11333 |
{ return static_cast<int>(0); } |
11334 |
|
11335 |
static const bool is_iec559 = false; |
11336 |
static const bool is_bounded = true; |
11337 |
static const bool is_modulo = true; |
11338 |
|
11339 |
static const bool traps = true; |
11340 |
static const bool tinyness_before = false; |
11341 |
static const float_round_style round_style = round_toward_zero; |
11342 |
}; |
11343 |
|
11344 |
template<> |
11345 |
struct numeric_limits<unsigned int> |
11346 |
{ |
11347 |
static const bool is_specialized = true; |
11348 |
|
11349 |
static unsigned int min() throw() |
11350 |
{ return 0; } |
11351 |
static unsigned int max() throw() |
11352 |
{ return 2147483647 * 2U + 1; } |
11353 |
|
11354 |
static const int digits = (sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)); |
11355 |
static const int digits10 = ((sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)) * 643 / 2136); |
11356 |
static const bool is_signed = false; |
11357 |
static const bool is_integer = true; |
11358 |
static const bool is_exact = true; |
11359 |
static const int radix = 2; |
11360 |
static unsigned int epsilon() throw() |
11361 |
{ return 0; } |
11362 |
static unsigned int round_error() throw() |
11363 |
{ return 0; } |
11364 |
|
11365 |
static const int min_exponent = 0; |
11366 |
static const int min_exponent10 = 0; |
11367 |
static const int max_exponent = 0; |
11368 |
static const int max_exponent10 = 0; |
11369 |
|
11370 |
static const bool has_infinity = false; |
11371 |
static const bool has_quiet_NaN = false; |
11372 |
static const bool has_signaling_NaN = false; |
11373 |
static const float_denorm_style has_denorm = denorm_absent; |
11374 |
static const bool has_denorm_loss = false; |
11375 |
|
11376 |
static unsigned int infinity() throw() |
11377 |
{ return static_cast<unsigned int>(0); } |
11378 |
static unsigned int quiet_NaN() throw() |
11379 |
{ return static_cast<unsigned int>(0); } |
11380 |
static unsigned int signaling_NaN() throw() |
11381 |
{ return static_cast<unsigned int>(0); } |
11382 |
static unsigned int denorm_min() throw() |
11383 |
{ return static_cast<unsigned int>(0); } |
11384 |
|
11385 |
static const bool is_iec559 = false; |
11386 |
static const bool is_bounded = true; |
11387 |
static const bool is_modulo = true; |
11388 |
|
11389 |
static const bool traps = true; |
11390 |
static const bool tinyness_before = false; |
11391 |
static const float_round_style round_style = round_toward_zero; |
11392 |
}; |
11393 |
|
11394 |
template<> |
11395 |
struct numeric_limits<long> |
11396 |
{ |
11397 |
static const bool is_specialized = true; |
11398 |
|
11399 |
static long min() throw() |
11400 |
{ return -2147483647L - 1; } |
11401 |
static long max() throw() |
11402 |
{ return 2147483647L; } |
11403 |
|
11404 |
static const int digits = (sizeof(long) * 8 - ((long)(-1) < 0)); |
11405 |
static const int digits10 = ((sizeof(long) * 8 - ((long)(-1) < 0)) * 643 / 2136); |
11406 |
static const bool is_signed = true; |
11407 |
static const bool is_integer = true; |
11408 |
static const bool is_exact = true; |
11409 |
static const int radix = 2; |
11410 |
static long epsilon() throw() |
11411 |
{ return 0; } |
11412 |
static long round_error() throw() |
11413 |
{ return 0; } |
11414 |
|
11415 |
static const int min_exponent = 0; |
11416 |
static const int min_exponent10 = 0; |
11417 |
static const int max_exponent = 0; |
11418 |
static const int max_exponent10 = 0; |
11419 |
|
11420 |
static const bool has_infinity = false; |
11421 |
static const bool has_quiet_NaN = false; |
11422 |
static const bool has_signaling_NaN = false; |
11423 |
static const float_denorm_style has_denorm = denorm_absent; |
11424 |
static const bool has_denorm_loss = false; |
11425 |
|
11426 |
static long infinity() throw() |
11427 |
{ return static_cast<long>(0); } |
11428 |
static long quiet_NaN() throw() |
11429 |
{ return static_cast<long>(0); } |
11430 |
static long signaling_NaN() throw() |
11431 |
{ return static_cast<long>(0); } |
11432 |
static long denorm_min() throw() |
11433 |
{ return static_cast<long>(0); } |
11434 |
|
11435 |
static const bool is_iec559 = false; |
11436 |
static const bool is_bounded = true; |
11437 |
static const bool is_modulo = true; |
11438 |
|
11439 |
static const bool traps = true; |
11440 |
static const bool tinyness_before = false; |
11441 |
static const float_round_style round_style = round_toward_zero; |
11442 |
}; |
11443 |
|
11444 |
template<> |
11445 |
struct numeric_limits<unsigned long> |
11446 |
{ |
11447 |
static const bool is_specialized = true; |
11448 |
|
11449 |
static unsigned long min() throw() |
11450 |
{ return 0; } |
11451 |
static unsigned long max() throw() |
11452 |
{ return 2147483647L * 2UL + 1; } |
11453 |
|
11454 |
static const int digits = (sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)); |
11455 |
static const int digits10 = ((sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)) * 643 / 2136); |
11456 |
static const bool is_signed = false; |
11457 |
static const bool is_integer = true; |
11458 |
static const bool is_exact = true; |
11459 |
static const int radix = 2; |
11460 |
static unsigned long epsilon() throw() |
11461 |
{ return 0; } |
11462 |
static unsigned long round_error() throw() |
11463 |
{ return 0; } |
11464 |
|
11465 |
static const int min_exponent = 0; |
11466 |
static const int min_exponent10 = 0; |
11467 |
static const int max_exponent = 0; |
11468 |
static const int max_exponent10 = 0; |
11469 |
|
11470 |
static const bool has_infinity = false; |
11471 |
static const bool has_quiet_NaN = false; |
11472 |
static const bool has_signaling_NaN = false; |
11473 |
static const float_denorm_style has_denorm = denorm_absent; |
11474 |
static const bool has_denorm_loss = false; |
11475 |
|
11476 |
static unsigned long infinity() throw() |
11477 |
{ return static_cast<unsigned long>(0); } |
11478 |
static unsigned long quiet_NaN() throw() |
11479 |
{ return static_cast<unsigned long>(0); } |
11480 |
static unsigned long signaling_NaN() throw() |
11481 |
{ return static_cast<unsigned long>(0); } |
11482 |
static unsigned long denorm_min() throw() |
11483 |
{ return static_cast<unsigned long>(0); } |
11484 |
|
11485 |
static const bool is_iec559 = false; |
11486 |
static const bool is_bounded = true; |
11487 |
static const bool is_modulo = true; |
11488 |
|
11489 |
static const bool traps = true; |
11490 |
static const bool tinyness_before = false; |
11491 |
static const float_round_style round_style = round_toward_zero; |
11492 |
}; |
11493 |
|
11494 |
template<> |
11495 |
struct numeric_limits<long long> |
11496 |
{ |
11497 |
static const bool is_specialized = true; |
11498 |
|
11499 |
static long long min() throw() |
11500 |
{ return -9223372036854775807LL - 1; } |
11501 |
static long long max() throw() |
11502 |
{ return 9223372036854775807LL; } |
11503 |
|
11504 |
static const int digits = (sizeof(long long) * 8 - ((long long)(-1) < 0)); |
11505 |
static const int digits10 = ((sizeof(long long) * 8 - ((long long)(-1) < 0)) * 643 / 2136); |
11506 |
static const bool is_signed = true; |
11507 |
static const bool is_integer = true; |
11508 |
static const bool is_exact = true; |
11509 |
static const int radix = 2; |
11510 |
static long long epsilon() throw() |
11511 |
{ return 0; } |
11512 |
static long long round_error() throw() |
11513 |
{ return 0; } |
11514 |
|
11515 |
static const int min_exponent = 0; |
11516 |
static const int min_exponent10 = 0; |
11517 |
static const int max_exponent = 0; |
11518 |
static const int max_exponent10 = 0; |
11519 |
|
11520 |
static const bool has_infinity = false; |
11521 |
static const bool has_quiet_NaN = false; |
11522 |
static const bool has_signaling_NaN = false; |
11523 |
static const float_denorm_style has_denorm = denorm_absent; |
11524 |
static const bool has_denorm_loss = false; |
11525 |
|
11526 |
static long long infinity() throw() |
11527 |
{ return static_cast<long long>(0); } |
11528 |
static long long quiet_NaN() throw() |
11529 |
{ return static_cast<long long>(0); } |
11530 |
static long long signaling_NaN() throw() |
11531 |
{ return static_cast<long long>(0); } |
11532 |
static long long denorm_min() throw() |
11533 |
{ return static_cast<long long>(0); } |
11534 |
|
11535 |
static const bool is_iec559 = false; |
11536 |
static const bool is_bounded = true; |
11537 |
static const bool is_modulo = true; |
11538 |
|
11539 |
static const bool traps = true; |
11540 |
static const bool tinyness_before = false; |
11541 |
static const float_round_style round_style = round_toward_zero; |
11542 |
}; |
11543 |
|
11544 |
template<> |
11545 |
struct numeric_limits<unsigned long long> |
11546 |
{ |
11547 |
static const bool is_specialized = true; |
11548 |
|
11549 |
static unsigned long long min() throw() |
11550 |
{ return 0; } |
11551 |
static unsigned long long max() throw() |
11552 |
{ return 9223372036854775807LL * 2ULL + 1; } |
11553 |
|
11554 |
static const int digits = (sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)); |
11555 |
static const int digits10 = ((sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)) * 643 / 2136); |
11556 |
static const bool is_signed = false; |
11557 |
static const bool is_integer = true; |
11558 |
static const bool is_exact = true; |
11559 |
static const int radix = 2; |
11560 |
static unsigned long long epsilon() throw() |
11561 |
{ return 0; } |
11562 |
static unsigned long long round_error() throw() |
11563 |
{ return 0; } |
11564 |
|
11565 |
static const int min_exponent = 0; |
11566 |
static const int min_exponent10 = 0; |
11567 |
static const int max_exponent = 0; |
11568 |
static const int max_exponent10 = 0; |
11569 |
|
11570 |
static const bool has_infinity = false; |
11571 |
static const bool has_quiet_NaN = false; |
11572 |
static const bool has_signaling_NaN = false; |
11573 |
static const float_denorm_style has_denorm = denorm_absent; |
11574 |
static const bool has_denorm_loss = false; |
11575 |
|
11576 |
static unsigned long long infinity() throw() |
11577 |
{ return static_cast<unsigned long long>(0); } |
11578 |
static unsigned long long quiet_NaN() throw() |
11579 |
{ return static_cast<unsigned long long>(0); } |
11580 |
static unsigned long long signaling_NaN() throw() |
11581 |
{ return static_cast<unsigned long long>(0); } |
11582 |
static unsigned long long denorm_min() throw() |
11583 |
{ return static_cast<unsigned long long>(0); } |
11584 |
|
11585 |
static const bool is_iec559 = false; |
11586 |
static const bool is_bounded = true; |
11587 |
static const bool is_modulo = true; |
11588 |
|
11589 |
static const bool traps = true; |
11590 |
static const bool tinyness_before = false; |
11591 |
static const float_round_style round_style = round_toward_zero; |
11592 |
}; |
11593 |
|
11594 |
template<> |
11595 |
struct numeric_limits<float> |
11596 |
{ |
11597 |
static const bool is_specialized = true; |
11598 |
|
11599 |
static float min() throw() |
11600 |
{ return 1.17549435e-38F; } |
11601 |
static float max() throw() |
11602 |
{ return 3.40282347e+38F; } |
11603 |
|
11604 |
static const int digits = 24; |
11605 |
static const int digits10 = 6; |
11606 |
static const bool is_signed = true; |
11607 |
static const bool is_integer = false; |
11608 |
static const bool is_exact = false; |
11609 |
static const int radix = 2; |
11610 |
static float epsilon() throw() |
11611 |
{ return 1.19209290e-7F; } |
11612 |
static float round_error() throw() |
11613 |
{ return 0.5F; } |
11614 |
|
11615 |
static const int min_exponent = (-125); |
11616 |
static const int min_exponent10 = (-37); |
11617 |
static const int max_exponent = 128; |
11618 |
static const int max_exponent10 = 38; |
11619 |
|
11620 |
static const bool has_infinity = 1; |
11621 |
static const bool has_quiet_NaN = 1; |
11622 |
static const bool has_signaling_NaN = has_quiet_NaN; |
11623 |
static const float_denorm_style has_denorm |
11624 |
= bool(1.40129846e-45F) ? denorm_present : denorm_absent; |
11625 |
static const bool has_denorm_loss = false; |
11626 |
|
11627 |
static float infinity() throw() |
11628 |
{ return __builtin_huge_valf (); } |
11629 |
static float quiet_NaN() throw() |
11630 |
{ return __builtin_nanf (""); } |
11631 |
static float signaling_NaN() throw() |
11632 |
{ return __builtin_nansf (""); } |
11633 |
static float denorm_min() throw() |
11634 |
{ return 1.40129846e-45F; } |
11635 |
|
11636 |
static const bool is_iec559 |
11637 |
= has_infinity && has_quiet_NaN && has_denorm == denorm_present; |
11638 |
static const bool is_bounded = true; |
11639 |
static const bool is_modulo = false; |
11640 |
|
11641 |
static const bool traps = false; |
11642 |
static const bool tinyness_before = false; |
11643 |
static const float_round_style round_style = round_to_nearest; |
11644 |
}; |
11645 |
|
11646 |
|
11647 |
|
11648 |
|
11649 |
|
11650 |
template<> |
11651 |
struct numeric_limits<double> |
11652 |
{ |
11653 |
static const bool is_specialized = true; |
11654 |
|
11655 |
static double min() throw() |
11656 |
{ return 2.2250738585072014e-308; } |
11657 |
static double max() throw() |
11658 |
{ return 1.7976931348623157e+308; } |
11659 |
|
11660 |
static const int digits = 53; |
11661 |
static const int digits10 = 15; |
11662 |
static const bool is_signed = true; |
11663 |
static const bool is_integer = false; |
11664 |
static const bool is_exact = false; |
11665 |
static const int radix = 2; |
11666 |
static double epsilon() throw() |
11667 |
{ return 2.2204460492503131e-16; } |
11668 |
static double round_error() throw() |
11669 |
{ return 0.5; } |
11670 |
|
11671 |
static const int min_exponent = (-1021); |
11672 |
static const int min_exponent10 = (-307); |
11673 |
static const int max_exponent = 1024; |
11674 |
static const int max_exponent10 = 308; |
11675 |
|
11676 |
static const bool has_infinity = 1; |
11677 |
static const bool has_quiet_NaN = 1; |
11678 |
static const bool has_signaling_NaN = has_quiet_NaN; |
11679 |
static const float_denorm_style has_denorm |
11680 |
= bool(4.9406564584124654e-324) ? denorm_present : denorm_absent; |
11681 |
static const bool has_denorm_loss = false; |
11682 |
|
11683 |
static double infinity() throw() |
11684 |
{ return __builtin_huge_val(); } |
11685 |
static double quiet_NaN() throw() |
11686 |
{ return __builtin_nan (""); } |
11687 |
static double signaling_NaN() throw() |
11688 |
{ return __builtin_nans (""); } |
11689 |
static double denorm_min() throw() |
11690 |
{ return 4.9406564584124654e-324; } |
11691 |
|
11692 |
static const bool is_iec559 |
11693 |
= has_infinity && has_quiet_NaN && has_denorm == denorm_present; |
11694 |
static const bool is_bounded = true; |
11695 |
static const bool is_modulo = false; |
11696 |
|
11697 |
static const bool traps = false; |
11698 |
static const bool tinyness_before = false; |
11699 |
static const float_round_style round_style = round_to_nearest; |
11700 |
}; |
11701 |
|
11702 |
|
11703 |
|
11704 |
|
11705 |
|
11706 |
template<> |
11707 |
struct numeric_limits<long double> |
11708 |
{ |
11709 |
static const bool is_specialized = true; |
11710 |
|
11711 |
static long double min() throw() |
11712 |
{ return 3.36210314311209350626e-4932L; } |
11713 |
static long double max() throw() |
11714 |
{ return 1.18973149535723176502e+4932L; } |
11715 |
|
11716 |
static const int digits = 64; |
11717 |
static const int digits10 = 18; |
11718 |
static const bool is_signed = true; |
11719 |
static const bool is_integer = false; |
11720 |
static const bool is_exact = false; |
11721 |
static const int radix = 2; |
11722 |
static long double epsilon() throw() |
11723 |
{ return 1.08420217248550443401e-19L; } |
11724 |
static long double round_error() throw() |
11725 |
{ return 0.5L; } |
11726 |
|
11727 |
static const int min_exponent = (-16381); |
11728 |
static const int min_exponent10 = (-4931); |
11729 |
static const int max_exponent = 16384; |
11730 |
static const int max_exponent10 = 4932; |
11731 |
|
11732 |
static const bool has_infinity = 1; |
11733 |
static const bool has_quiet_NaN = 1; |
11734 |
static const bool has_signaling_NaN = has_quiet_NaN; |
11735 |
static const float_denorm_style has_denorm |
11736 |
= bool(3.64519953188247460253e-4951L) ? denorm_present : denorm_absent; |
11737 |
static const bool has_denorm_loss |
11738 |
= false; |
11739 |
|
11740 |
static long double infinity() throw() |
11741 |
{ return __builtin_huge_vall (); } |
11742 |
static long double quiet_NaN() throw() |
11743 |
{ return __builtin_nanl (""); } |
11744 |
static long double signaling_NaN() throw() |
11745 |
{ return __builtin_nansl (""); } |
11746 |
static long double denorm_min() throw() |
11747 |
{ return 3.64519953188247460253e-4951L; } |
11748 |
|
11749 |
static const bool is_iec559 |
11750 |
= has_infinity && has_quiet_NaN && has_denorm == denorm_present; |
11751 |
static const bool is_bounded = true; |
11752 |
static const bool is_modulo = false; |
11753 |
|
11754 |
static const bool traps = false; |
11755 |
static const bool tinyness_before = false; |
11756 |
static const float_round_style round_style = round_to_nearest; |
11757 |
}; |
11758 |
|
11759 |
|
11760 |
|
11761 |
|
11762 |
|
11763 |
} |
11764 |
# 62 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 2 3 |
11765 |
|
11766 |
namespace std |
11767 |
{ |
11768 |
# 73 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 3 |
11769 |
template<typename _Tp> |
11770 |
pair<_Tp*, ptrdiff_t> |
11771 |
__get_temporary_buffer(ptrdiff_t __len, _Tp*) |
11772 |
{ |
11773 |
const ptrdiff_t __max = numeric_limits<ptrdiff_t>::max() / sizeof(_Tp); |
11774 |
if (__len > __max) |
11775 |
__len = __max; |
11776 |
|
11777 |
while (__len > 0) |
11778 |
{ |
11779 |
_Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp), |
11780 |
nothrow)); |
11781 |
if (__tmp != 0) |
11782 |
return pair<_Tp*, ptrdiff_t>(__tmp, __len); |
11783 |
__len /= 2; |
11784 |
} |
11785 |
return pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0); |
11786 |
} |
11787 |
# 109 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 3 |
11788 |
template<typename _Tp> |
11789 |
inline pair<_Tp*, ptrdiff_t> |
11790 |
get_temporary_buffer(ptrdiff_t __len) |
11791 |
{ return std::__get_temporary_buffer(__len, static_cast<_Tp*>(0)); } |
11792 |
# 121 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 3 |
11793 |
template<typename _Tp> |
11794 |
void |
11795 |
return_temporary_buffer(_Tp* __p) |
11796 |
{ ::operator delete(__p, nothrow); } |
11797 |
# 133 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 3 |
11798 |
template<typename _Tp1> |
11799 |
struct auto_ptr_ref |
11800 |
{ |
11801 |
_Tp1* _M_ptr; |
11802 |
|
11803 |
explicit |
11804 |
auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { } |
11805 |
}; |
11806 |
# 174 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 3 |
11807 |
template<typename _Tp> |
11808 |
class auto_ptr |
11809 |
{ |
11810 |
private: |
11811 |
_Tp* _M_ptr; |
11812 |
|
11813 |
public: |
11814 |
|
11815 |
typedef _Tp element_type; |
11816 |
|
11817 |
|
11818 |
|
11819 |
|
11820 |
|
11821 |
|
11822 |
|
11823 |
explicit |
11824 |
auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { } |
11825 |
# 200 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 3 |
11826 |
auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { } |
11827 |
# 212 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 3 |
11828 |
template<typename _Tp1> |
11829 |
auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { } |
11830 |
# 223 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 3 |
11831 |
auto_ptr& |
11832 |
operator=(auto_ptr& __a) throw() |
11833 |
{ |
11834 |
reset(__a.release()); |
11835 |
return *this; |
11836 |
} |
11837 |
# 240 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 3 |
11838 |
template<typename _Tp1> |
11839 |
auto_ptr& |
11840 |
operator=(auto_ptr<_Tp1>& __a) throw() |
11841 |
{ |
11842 |
reset(__a.release()); |
11843 |
return *this; |
11844 |
} |
11845 |
# 260 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 3 |
11846 |
~auto_ptr() { delete _M_ptr; } |
11847 |
# 270 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 3 |
11848 |
element_type& |
11849 |
operator*() const throw() |
11850 |
{ |
11851 |
; |
11852 |
return *_M_ptr; |
11853 |
} |
11854 |
|
11855 |
|
11856 |
|
11857 |
|
11858 |
|
11859 |
|
11860 |
|
11861 |
element_type* |
11862 |
operator->() const throw() |
11863 |
{ |
11864 |
; |
11865 |
return _M_ptr; |
11866 |
} |
11867 |
# 300 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 3 |
11868 |
element_type* |
11869 |
get() const throw() { return _M_ptr; } |
11870 |
# 314 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 3 |
11871 |
element_type* |
11872 |
release() throw() |
11873 |
{ |
11874 |
element_type* __tmp = _M_ptr; |
11875 |
_M_ptr = 0; |
11876 |
return __tmp; |
11877 |
} |
11878 |
# 329 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 3 |
11879 |
void |
11880 |
reset(element_type* __p = 0) throw() |
11881 |
{ |
11882 |
if (__p != _M_ptr) |
11883 |
{ |
11884 |
delete _M_ptr; |
11885 |
_M_ptr = __p; |
11886 |
} |
11887 |
} |
11888 |
# 350 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory" 3 |
11889 |
auto_ptr(auto_ptr_ref<element_type> __ref) throw() |
11890 |
: _M_ptr(__ref._M_ptr) { } |
11891 |
|
11892 |
auto_ptr& |
11893 |
operator=(auto_ptr_ref<element_type> __ref) throw() |
11894 |
{ |
11895 |
if (__ref._M_ptr != this->get()) |
11896 |
{ |
11897 |
delete _M_ptr; |
11898 |
_M_ptr = __ref._M_ptr; |
11899 |
} |
11900 |
return *this; |
11901 |
} |
11902 |
|
11903 |
template<typename _Tp1> |
11904 |
operator auto_ptr_ref<_Tp1>() throw() |
11905 |
{ return auto_ptr_ref<_Tp1>(this->release()); } |
11906 |
|
11907 |
template<typename _Tp1> |
11908 |
operator auto_ptr<_Tp1>() throw() |
11909 |
{ return auto_ptr<_Tp1>(this->release()); } |
11910 |
|
11911 |
}; |
11912 |
} |
11913 |
# 49 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/string" 2 3 |
11914 |
|
11915 |
|
11916 |
|
11917 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_function.h" 1 3 |
11918 |
# 64 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_function.h" 3 |
11919 |
namespace std |
11920 |
{ |
11921 |
# 101 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_function.h" 3 |
11922 |
template <class _Arg, class _Result> |
11923 |
struct unary_function |
11924 |
{ |
11925 |
typedef _Arg argument_type; |
11926 |
|
11927 |
|
11928 |
typedef _Result result_type; |
11929 |
}; |
11930 |
|
11931 |
|
11932 |
|
11933 |
|
11934 |
template <class _Arg1, class _Arg2, class _Result> |
11935 |
struct binary_function |
11936 |
{ |
11937 |
typedef _Arg1 first_argument_type; |
11938 |
|
11939 |
|
11940 |
typedef _Arg2 second_argument_type; |
11941 |
typedef _Result result_type; |
11942 |
}; |
11943 |
# 133 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_function.h" 3 |
11944 |
template <class _Tp> |
11945 |
struct plus : public binary_function<_Tp, _Tp, _Tp> |
11946 |
{ |
11947 |
_Tp |
11948 |
operator()(const _Tp& __x, const _Tp& __y) const |
11949 |
{ return __x + __y; } |
11950 |
}; |
11951 |
|
11952 |
|
11953 |
template <class _Tp> |
11954 |
struct minus : public binary_function<_Tp, _Tp, _Tp> |
11955 |
{ |
11956 |
_Tp |
11957 |
operator()(const _Tp& __x, const _Tp& __y) const |
11958 |
{ return __x - __y; } |
11959 |
}; |
11960 |
|
11961 |
|
11962 |
template <class _Tp> |
11963 |
struct multiplies : public binary_function<_Tp, _Tp, _Tp> |
11964 |
{ |
11965 |
_Tp |
11966 |
operator()(const _Tp& __x, const _Tp& __y) const |
11967 |
{ return __x * __y; } |
11968 |
}; |
11969 |
|
11970 |
|
11971 |
template <class _Tp> |
11972 |
struct divides : public binary_function<_Tp, _Tp, _Tp> |
11973 |
{ |
11974 |
_Tp |
11975 |
operator()(const _Tp& __x, const _Tp& __y) const |
11976 |
{ return __x / __y; } |
11977 |
}; |
11978 |
|
11979 |
|
11980 |
template <class _Tp> |
11981 |
struct modulus : public binary_function<_Tp, _Tp, _Tp> |
11982 |
{ |
11983 |
_Tp |
11984 |
operator()(const _Tp& __x, const _Tp& __y) const |
11985 |
{ return __x % __y; } |
11986 |
}; |
11987 |
|
11988 |
|
11989 |
template <class _Tp> |
11990 |
struct negate : public unary_function<_Tp, _Tp> |
11991 |
{ |
11992 |
_Tp |
11993 |
operator()(const _Tp& __x) const |
11994 |
{ return -__x; } |
11995 |
}; |
11996 |
# 195 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_function.h" 3 |
11997 |
template <class _Tp> |
11998 |
struct equal_to : public binary_function<_Tp, _Tp, bool> |
11999 |
{ |
12000 |
bool |
12001 |
operator()(const _Tp& __x, const _Tp& __y) const |
12002 |
{ return __x == __y; } |
12003 |
}; |
12004 |
|
12005 |
|
12006 |
template <class _Tp> |
12007 |
struct not_equal_to : public binary_function<_Tp, _Tp, bool> |
12008 |
{ |
12009 |
bool |
12010 |
operator()(const _Tp& __x, const _Tp& __y) const |
12011 |
{ return __x != __y; } |
12012 |
}; |
12013 |
|
12014 |
|
12015 |
template <class _Tp> |
12016 |
struct greater : public binary_function<_Tp, _Tp, bool> |
12017 |
{ |
12018 |
bool |
12019 |
operator()(const _Tp& __x, const _Tp& __y) const |
12020 |
{ return __x > __y; } |
12021 |
}; |
12022 |
|
12023 |
|
12024 |
template <class _Tp> |
12025 |
struct less : public binary_function<_Tp, _Tp, bool> |
12026 |
{ |
12027 |
bool |
12028 |
operator()(const _Tp& __x, const _Tp& __y) const |
12029 |
{ return __x < __y; } |
12030 |
}; |
12031 |
|
12032 |
|
12033 |
template <class _Tp> |
12034 |
struct greater_equal : public binary_function<_Tp, _Tp, bool> |
12035 |
{ |
12036 |
bool |
12037 |
operator()(const _Tp& __x, const _Tp& __y) const |
12038 |
{ return __x >= __y; } |
12039 |
}; |
12040 |
|
12041 |
|
12042 |
template <class _Tp> |
12043 |
struct less_equal : public binary_function<_Tp, _Tp, bool> |
12044 |
{ |
12045 |
bool |
12046 |
operator()(const _Tp& __x, const _Tp& __y) const |
12047 |
{ return __x <= __y; } |
12048 |
}; |
12049 |
# 256 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_function.h" 3 |
12050 |
template <class _Tp> |
12051 |
struct logical_and : public binary_function<_Tp, _Tp, bool> |
12052 |
{ |
12053 |
bool |
12054 |
operator()(const _Tp& __x, const _Tp& __y) const |
12055 |
{ return __x && __y; } |
12056 |
}; |
12057 |
|
12058 |
|
12059 |
template <class _Tp> |
12060 |
struct logical_or : public binary_function<_Tp, _Tp, bool> |
12061 |
{ |
12062 |
bool |
12063 |
operator()(const _Tp& __x, const _Tp& __y) const |
12064 |
{ return __x || __y; } |
12065 |
}; |
12066 |
|
12067 |
|
12068 |
template <class _Tp> |
12069 |
struct logical_not : public unary_function<_Tp, bool> |
12070 |
{ |
12071 |
bool |
12072 |
operator()(const _Tp& __x) const |
12073 |
{ return !__x; } |
12074 |
}; |
12075 |
# 311 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_function.h" 3 |
12076 |
template <class _Predicate> |
12077 |
class unary_negate |
12078 |
: public unary_function<typename _Predicate::argument_type, bool> |
12079 |
{ |
12080 |
protected: |
12081 |
_Predicate _M_pred; |
12082 |
public: |
12083 |
explicit |
12084 |
unary_negate(const _Predicate& __x) : _M_pred(__x) {} |
12085 |
|
12086 |
bool |
12087 |
operator()(const typename _Predicate::argument_type& __x) const |
12088 |
{ return !_M_pred(__x); } |
12089 |
}; |
12090 |
|
12091 |
|
12092 |
template <class _Predicate> |
12093 |
inline unary_negate<_Predicate> |
12094 |
not1(const _Predicate& __pred) |
12095 |
{ return unary_negate<_Predicate>(__pred); } |
12096 |
|
12097 |
|
12098 |
template <class _Predicate> |
12099 |
class binary_negate |
12100 |
: public binary_function<typename _Predicate::first_argument_type, |
12101 |
typename _Predicate::second_argument_type, |
12102 |
bool> |
12103 |
{ |
12104 |
protected: |
12105 |
_Predicate _M_pred; |
12106 |
public: |
12107 |
explicit |
12108 |
binary_negate(const _Predicate& __x) |
12109 |
: _M_pred(__x) { } |
12110 |
|
12111 |
bool |
12112 |
operator()(const typename _Predicate::first_argument_type& __x, |
12113 |
const typename _Predicate::second_argument_type& __y) const |
12114 |
{ return !_M_pred(__x, __y); } |
12115 |
}; |
12116 |
|
12117 |
|
12118 |
template <class _Predicate> |
12119 |
inline binary_negate<_Predicate> |
12120 |
not2(const _Predicate& __pred) |
12121 |
{ return binary_negate<_Predicate>(__pred); } |
12122 |
# 391 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_function.h" 3 |
12123 |
template <class _Operation> |
12124 |
class binder1st |
12125 |
: public unary_function<typename _Operation::second_argument_type, |
12126 |
typename _Operation::result_type> |
12127 |
{ |
12128 |
protected: |
12129 |
_Operation op; |
12130 |
typename _Operation::first_argument_type value; |
12131 |
public: |
12132 |
binder1st(const _Operation& __x, |
12133 |
const typename _Operation::first_argument_type& __y) |
12134 |
: op(__x), value(__y) {} |
12135 |
|
12136 |
typename _Operation::result_type |
12137 |
operator()(const typename _Operation::second_argument_type& __x) const |
12138 |
{ return op(value, __x); } |
12139 |
|
12140 |
|
12141 |
|
12142 |
typename _Operation::result_type |
12143 |
operator()(typename _Operation::second_argument_type& __x) const |
12144 |
{ return op(value, __x); } |
12145 |
}; |
12146 |
|
12147 |
|
12148 |
template <class _Operation, class _Tp> |
12149 |
inline binder1st<_Operation> |
12150 |
bind1st(const _Operation& __fn, const _Tp& __x) |
12151 |
{ |
12152 |
typedef typename _Operation::first_argument_type _Arg1_type; |
12153 |
return binder1st<_Operation>(__fn, _Arg1_type(__x)); |
12154 |
} |
12155 |
|
12156 |
|
12157 |
template <class _Operation> |
12158 |
class binder2nd |
12159 |
: public unary_function<typename _Operation::first_argument_type, |
12160 |
typename _Operation::result_type> |
12161 |
{ |
12162 |
protected: |
12163 |
_Operation op; |
12164 |
typename _Operation::second_argument_type value; |
12165 |
public: |
12166 |
binder2nd(const _Operation& __x, |
12167 |
const typename _Operation::second_argument_type& __y) |
12168 |
: op(__x), value(__y) {} |
12169 |
|
12170 |
typename _Operation::result_type |
12171 |
operator()(const typename _Operation::first_argument_type& __x) const |
12172 |
{ return op(__x, value); } |
12173 |
|
12174 |
|
12175 |
|
12176 |
typename _Operation::result_type |
12177 |
operator()(typename _Operation::first_argument_type& __x) const |
12178 |
{ return op(__x, value); } |
12179 |
}; |
12180 |
|
12181 |
|
12182 |
template <class _Operation, class _Tp> |
12183 |
inline binder2nd<_Operation> |
12184 |
bind2nd(const _Operation& __fn, const _Tp& __x) |
12185 |
{ |
12186 |
typedef typename _Operation::second_argument_type _Arg2_type; |
12187 |
return binder2nd<_Operation>(__fn, _Arg2_type(__x)); |
12188 |
} |
12189 |
# 480 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_function.h" 3 |
12190 |
template <class _Arg, class _Result> |
12191 |
class pointer_to_unary_function : public unary_function<_Arg, _Result> |
12192 |
{ |
12193 |
protected: |
12194 |
_Result (*_M_ptr)(_Arg); |
12195 |
public: |
12196 |
pointer_to_unary_function() {} |
12197 |
|
12198 |
explicit |
12199 |
pointer_to_unary_function(_Result (*__x)(_Arg)) |
12200 |
: _M_ptr(__x) {} |
12201 |
|
12202 |
_Result |
12203 |
operator()(_Arg __x) const |
12204 |
{ return _M_ptr(__x); } |
12205 |
}; |
12206 |
|
12207 |
|
12208 |
template <class _Arg, class _Result> |
12209 |
inline pointer_to_unary_function<_Arg, _Result> |
12210 |
ptr_fun(_Result (*__x)(_Arg)) |
12211 |
{ return pointer_to_unary_function<_Arg, _Result>(__x); } |
12212 |
|
12213 |
|
12214 |
template <class _Arg1, class _Arg2, class _Result> |
12215 |
class pointer_to_binary_function |
12216 |
: public binary_function<_Arg1, _Arg2, _Result> |
12217 |
{ |
12218 |
protected: |
12219 |
_Result (*_M_ptr)(_Arg1, _Arg2); |
12220 |
public: |
12221 |
pointer_to_binary_function() {} |
12222 |
|
12223 |
explicit |
12224 |
pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2)) |
12225 |
: _M_ptr(__x) {} |
12226 |
|
12227 |
_Result |
12228 |
operator()(_Arg1 __x, _Arg2 __y) const |
12229 |
{ return _M_ptr(__x, __y); } |
12230 |
}; |
12231 |
|
12232 |
|
12233 |
template <class _Arg1, class _Arg2, class _Result> |
12234 |
inline pointer_to_binary_function<_Arg1, _Arg2, _Result> |
12235 |
ptr_fun(_Result (*__x)(_Arg1, _Arg2)) |
12236 |
{ return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); } |
12237 |
|
12238 |
|
12239 |
template <class _Tp> |
12240 |
struct _Identity : public unary_function<_Tp,_Tp> |
12241 |
{ |
12242 |
_Tp& |
12243 |
operator()(_Tp& __x) const |
12244 |
{ return __x; } |
12245 |
|
12246 |
const _Tp& |
12247 |
operator()(const _Tp& __x) const |
12248 |
{ return __x; } |
12249 |
}; |
12250 |
|
12251 |
template <class _Pair> |
12252 |
struct _Select1st : public unary_function<_Pair, |
12253 |
typename _Pair::first_type> |
12254 |
{ |
12255 |
typename _Pair::first_type& |
12256 |
operator()(_Pair& __x) const |
12257 |
{ return __x.first; } |
12258 |
|
12259 |
const typename _Pair::first_type& |
12260 |
operator()(const _Pair& __x) const |
12261 |
{ return __x.first; } |
12262 |
}; |
12263 |
|
12264 |
template <class _Pair> |
12265 |
struct _Select2nd : public unary_function<_Pair, |
12266 |
typename _Pair::second_type> |
12267 |
{ |
12268 |
typename _Pair::second_type& |
12269 |
operator()(_Pair& __x) const |
12270 |
{ return __x.second; } |
12271 |
|
12272 |
const typename _Pair::second_type& |
12273 |
operator()(const _Pair& __x) const |
12274 |
{ return __x.second; } |
12275 |
}; |
12276 |
# 590 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_function.h" 3 |
12277 |
template <class _Ret, class _Tp> |
12278 |
class mem_fun_t : public unary_function<_Tp*, _Ret> |
12279 |
{ |
12280 |
public: |
12281 |
explicit |
12282 |
mem_fun_t(_Ret (_Tp::*__pf)()) |
12283 |
: _M_f(__pf) {} |
12284 |
|
12285 |
_Ret |
12286 |
operator()(_Tp* __p) const |
12287 |
{ return (__p->*_M_f)(); } |
12288 |
private: |
12289 |
_Ret (_Tp::*_M_f)(); |
12290 |
}; |
12291 |
|
12292 |
|
12293 |
template <class _Ret, class _Tp> |
12294 |
class const_mem_fun_t : public unary_function<const _Tp*, _Ret> |
12295 |
{ |
12296 |
public: |
12297 |
explicit |
12298 |
const_mem_fun_t(_Ret (_Tp::*__pf)() const) |
12299 |
: _M_f(__pf) {} |
12300 |
|
12301 |
_Ret |
12302 |
operator()(const _Tp* __p) const |
12303 |
{ return (__p->*_M_f)(); } |
12304 |
private: |
12305 |
_Ret (_Tp::*_M_f)() const; |
12306 |
}; |
12307 |
|
12308 |
|
12309 |
template <class _Ret, class _Tp> |
12310 |
class mem_fun_ref_t : public unary_function<_Tp, _Ret> |
12311 |
{ |
12312 |
public: |
12313 |
explicit |
12314 |
mem_fun_ref_t(_Ret (_Tp::*__pf)()) |
12315 |
: _M_f(__pf) {} |
12316 |
|
12317 |
_Ret |
12318 |
operator()(_Tp& __r) const |
12319 |
{ return (__r.*_M_f)(); } |
12320 |
private: |
12321 |
_Ret (_Tp::*_M_f)(); |
12322 |
}; |
12323 |
|
12324 |
|
12325 |
template <class _Ret, class _Tp> |
12326 |
class const_mem_fun_ref_t : public unary_function<_Tp, _Ret> |
12327 |
{ |
12328 |
public: |
12329 |
explicit |
12330 |
const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const) |
12331 |
: _M_f(__pf) {} |
12332 |
|
12333 |
_Ret |
12334 |
operator()(const _Tp& __r) const |
12335 |
{ return (__r.*_M_f)(); } |
12336 |
private: |
12337 |
_Ret (_Tp::*_M_f)() const; |
12338 |
}; |
12339 |
|
12340 |
|
12341 |
template <class _Ret, class _Tp, class _Arg> |
12342 |
class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret> |
12343 |
{ |
12344 |
public: |
12345 |
explicit |
12346 |
mem_fun1_t(_Ret (_Tp::*__pf)(_Arg)) |
12347 |
: _M_f(__pf) {} |
12348 |
|
12349 |
_Ret |
12350 |
operator()(_Tp* __p, _Arg __x) const |
12351 |
{ return (__p->*_M_f)(__x); } |
12352 |
private: |
12353 |
_Ret (_Tp::*_M_f)(_Arg); |
12354 |
}; |
12355 |
|
12356 |
|
12357 |
template <class _Ret, class _Tp, class _Arg> |
12358 |
class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret> |
12359 |
{ |
12360 |
public: |
12361 |
explicit |
12362 |
const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const) |
12363 |
: _M_f(__pf) {} |
12364 |
|
12365 |
_Ret |
12366 |
operator()(const _Tp* __p, _Arg __x) const |
12367 |
{ return (__p->*_M_f)(__x); } |
12368 |
private: |
12369 |
_Ret (_Tp::*_M_f)(_Arg) const; |
12370 |
}; |
12371 |
|
12372 |
|
12373 |
template <class _Ret, class _Tp, class _Arg> |
12374 |
class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> |
12375 |
{ |
12376 |
public: |
12377 |
explicit |
12378 |
mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg)) |
12379 |
: _M_f(__pf) {} |
12380 |
|
12381 |
_Ret |
12382 |
operator()(_Tp& __r, _Arg __x) const |
12383 |
{ return (__r.*_M_f)(__x); } |
12384 |
private: |
12385 |
_Ret (_Tp::*_M_f)(_Arg); |
12386 |
}; |
12387 |
|
12388 |
|
12389 |
template <class _Ret, class _Tp, class _Arg> |
12390 |
class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> |
12391 |
{ |
12392 |
public: |
12393 |
explicit |
12394 |
const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const) |
12395 |
: _M_f(__pf) {} |
12396 |
|
12397 |
_Ret |
12398 |
operator()(const _Tp& __r, _Arg __x) const |
12399 |
{ return (__r.*_M_f)(__x); } |
12400 |
private: |
12401 |
_Ret (_Tp::*_M_f)(_Arg) const; |
12402 |
}; |
12403 |
|
12404 |
|
12405 |
template <class _Tp> |
12406 |
class mem_fun_t<void, _Tp> : public unary_function<_Tp*, void> |
12407 |
{ |
12408 |
public: |
12409 |
explicit |
12410 |
mem_fun_t(void (_Tp::*__pf)()) |
12411 |
: _M_f(__pf) {} |
12412 |
|
12413 |
void |
12414 |
operator()(_Tp* __p) const |
12415 |
{ (__p->*_M_f)(); } |
12416 |
private: |
12417 |
void (_Tp::*_M_f)(); |
12418 |
}; |
12419 |
|
12420 |
|
12421 |
template <class _Tp> |
12422 |
class const_mem_fun_t<void, _Tp> : public unary_function<const _Tp*, void> |
12423 |
{ |
12424 |
public: |
12425 |
explicit |
12426 |
const_mem_fun_t(void (_Tp::*__pf)() const) |
12427 |
: _M_f(__pf) {} |
12428 |
|
12429 |
void |
12430 |
operator()(const _Tp* __p) const |
12431 |
{ (__p->*_M_f)(); } |
12432 |
private: |
12433 |
void (_Tp::*_M_f)() const; |
12434 |
}; |
12435 |
|
12436 |
|
12437 |
template <class _Tp> |
12438 |
class mem_fun_ref_t<void, _Tp> : public unary_function<_Tp, void> |
12439 |
{ |
12440 |
public: |
12441 |
explicit |
12442 |
mem_fun_ref_t(void (_Tp::*__pf)()) |
12443 |
: _M_f(__pf) {} |
12444 |
|
12445 |
void |
12446 |
operator()(_Tp& __r) const |
12447 |
{ (__r.*_M_f)(); } |
12448 |
private: |
12449 |
void (_Tp::*_M_f)(); |
12450 |
}; |
12451 |
|
12452 |
|
12453 |
template <class _Tp> |
12454 |
class const_mem_fun_ref_t<void, _Tp> : public unary_function<_Tp, void> |
12455 |
{ |
12456 |
public: |
12457 |
explicit |
12458 |
const_mem_fun_ref_t(void (_Tp::*__pf)() const) |
12459 |
: _M_f(__pf) {} |
12460 |
|
12461 |
void |
12462 |
operator()(const _Tp& __r) const |
12463 |
{ (__r.*_M_f)(); } |
12464 |
private: |
12465 |
void (_Tp::*_M_f)() const; |
12466 |
}; |
12467 |
|
12468 |
|
12469 |
template <class _Tp, class _Arg> |
12470 |
class mem_fun1_t<void, _Tp, _Arg> : public binary_function<_Tp*, _Arg, void> |
12471 |
{ |
12472 |
public: |
12473 |
explicit |
12474 |
mem_fun1_t(void (_Tp::*__pf)(_Arg)) |
12475 |
: _M_f(__pf) {} |
12476 |
|
12477 |
void |
12478 |
operator()(_Tp* __p, _Arg __x) const |
12479 |
{ (__p->*_M_f)(__x); } |
12480 |
private: |
12481 |
void (_Tp::*_M_f)(_Arg); |
12482 |
}; |
12483 |
|
12484 |
|
12485 |
template <class _Tp, class _Arg> |
12486 |
class const_mem_fun1_t<void, _Tp, _Arg> |
12487 |
: public binary_function<const _Tp*, _Arg, void> |
12488 |
{ |
12489 |
public: |
12490 |
explicit |
12491 |
const_mem_fun1_t(void (_Tp::*__pf)(_Arg) const) |
12492 |
: _M_f(__pf) {} |
12493 |
|
12494 |
void |
12495 |
operator()(const _Tp* __p, _Arg __x) const |
12496 |
{ (__p->*_M_f)(__x); } |
12497 |
private: |
12498 |
void (_Tp::*_M_f)(_Arg) const; |
12499 |
}; |
12500 |
|
12501 |
|
12502 |
template <class _Tp, class _Arg> |
12503 |
class mem_fun1_ref_t<void, _Tp, _Arg> |
12504 |
: public binary_function<_Tp, _Arg, void> |
12505 |
{ |
12506 |
public: |
12507 |
explicit |
12508 |
mem_fun1_ref_t(void (_Tp::*__pf)(_Arg)) |
12509 |
: _M_f(__pf) {} |
12510 |
|
12511 |
void |
12512 |
operator()(_Tp& __r, _Arg __x) const |
12513 |
{ (__r.*_M_f)(__x); } |
12514 |
private: |
12515 |
void (_Tp::*_M_f)(_Arg); |
12516 |
}; |
12517 |
|
12518 |
|
12519 |
template <class _Tp, class _Arg> |
12520 |
class const_mem_fun1_ref_t<void, _Tp, _Arg> |
12521 |
: public binary_function<_Tp, _Arg, void> |
12522 |
{ |
12523 |
public: |
12524 |
explicit |
12525 |
const_mem_fun1_ref_t(void (_Tp::*__pf)(_Arg) const) |
12526 |
: _M_f(__pf) {} |
12527 |
|
12528 |
void |
12529 |
operator()(const _Tp& __r, _Arg __x) const |
12530 |
{ (__r.*_M_f)(__x); } |
12531 |
private: |
12532 |
void (_Tp::*_M_f)(_Arg) const; |
12533 |
}; |
12534 |
|
12535 |
|
12536 |
|
12537 |
template <class _Ret, class _Tp> |
12538 |
inline mem_fun_t<_Ret, _Tp> |
12539 |
mem_fun(_Ret (_Tp::*__f)()) |
12540 |
{ return mem_fun_t<_Ret, _Tp>(__f); } |
12541 |
|
12542 |
template <class _Ret, class _Tp> |
12543 |
inline const_mem_fun_t<_Ret, _Tp> |
12544 |
mem_fun(_Ret (_Tp::*__f)() const) |
12545 |
{ return const_mem_fun_t<_Ret, _Tp>(__f); } |
12546 |
|
12547 |
template <class _Ret, class _Tp> |
12548 |
inline mem_fun_ref_t<_Ret, _Tp> |
12549 |
mem_fun_ref(_Ret (_Tp::*__f)()) |
12550 |
{ return mem_fun_ref_t<_Ret, _Tp>(__f); } |
12551 |
|
12552 |
template <class _Ret, class _Tp> |
12553 |
inline const_mem_fun_ref_t<_Ret, _Tp> |
12554 |
mem_fun_ref(_Ret (_Tp::*__f)() const) |
12555 |
{ return const_mem_fun_ref_t<_Ret, _Tp>(__f); } |
12556 |
|
12557 |
template <class _Ret, class _Tp, class _Arg> |
12558 |
inline mem_fun1_t<_Ret, _Tp, _Arg> |
12559 |
mem_fun(_Ret (_Tp::*__f)(_Arg)) |
12560 |
{ return mem_fun1_t<_Ret, _Tp, _Arg>(__f); } |
12561 |
|
12562 |
template <class _Ret, class _Tp, class _Arg> |
12563 |
inline const_mem_fun1_t<_Ret, _Tp, _Arg> |
12564 |
mem_fun(_Ret (_Tp::*__f)(_Arg) const) |
12565 |
{ return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); } |
12566 |
|
12567 |
template <class _Ret, class _Tp, class _Arg> |
12568 |
inline mem_fun1_ref_t<_Ret, _Tp, _Arg> |
12569 |
mem_fun_ref(_Ret (_Tp::*__f)(_Arg)) |
12570 |
{ return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } |
12571 |
|
12572 |
template <class _Ret, class _Tp, class _Arg> |
12573 |
inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg> |
12574 |
mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const) |
12575 |
{ return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } |
12576 |
|
12577 |
|
12578 |
|
12579 |
} |
12580 |
# 53 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/string" 2 3 |
12581 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 1 3 |
12582 |
# 43 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
12583 |
|
12584 |
# 44 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
12585 |
|
12586 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/atomicity.h" 1 3 |
12587 |
# 33 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/atomicity.h" 3 |
12588 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/atomic_word.h" 1 3 |
12589 |
# 33 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux/bits/atomic_word.h" 3 |
12590 |
typedef int _Atomic_word; |
12591 |
# 34 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/atomicity.h" 2 3 |
12592 |
|
12593 |
namespace __gnu_cxx |
12594 |
{ |
12595 |
_Atomic_word |
12596 |
__attribute__ ((__unused__)) |
12597 |
__exchange_and_add(volatile _Atomic_word* __mem, int __val); |
12598 |
|
12599 |
void |
12600 |
__attribute__ ((__unused__)) |
12601 |
__atomic_add(volatile _Atomic_word* __mem, int __val); |
12602 |
} |
12603 |
# 46 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 2 3 |
12604 |
|
12605 |
|
12606 |
namespace std |
12607 |
{ |
12608 |
# 109 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
12609 |
template<typename _CharT, typename _Traits, typename _Alloc> |
12610 |
class basic_string |
12611 |
{ |
12612 |
|
12613 |
public: |
12614 |
typedef _Traits traits_type; |
12615 |
typedef typename _Traits::char_type value_type; |
12616 |
typedef _Alloc allocator_type; |
12617 |
typedef typename _Alloc::size_type size_type; |
12618 |
typedef typename _Alloc::difference_type difference_type; |
12619 |
typedef typename _Alloc::reference reference; |
12620 |
typedef typename _Alloc::const_reference const_reference; |
12621 |
typedef typename _Alloc::pointer pointer; |
12622 |
typedef typename _Alloc::const_pointer const_pointer; |
12623 |
typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator; |
12624 |
typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string> |
12625 |
const_iterator; |
12626 |
typedef std::reverse_iterator<const_iterator> const_reverse_iterator; |
12627 |
typedef std::reverse_iterator<iterator> reverse_iterator; |
12628 |
|
12629 |
private: |
12630 |
# 144 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
12631 |
struct _Rep_base |
12632 |
{ |
12633 |
size_type _M_length; |
12634 |
size_type _M_capacity; |
12635 |
_Atomic_word _M_refcount; |
12636 |
}; |
12637 |
|
12638 |
struct _Rep : _Rep_base |
12639 |
{ |
12640 |
|
12641 |
typedef typename _Alloc::template rebind<char>::other _Raw_bytes_alloc; |
12642 |
# 169 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
12643 |
static const size_type _S_max_size; |
12644 |
static const _CharT _S_terminal; |
12645 |
|
12646 |
|
12647 |
|
12648 |
static size_type _S_empty_rep_storage[]; |
12649 |
|
12650 |
static _Rep& |
12651 |
_S_empty_rep() |
12652 |
{ return *reinterpret_cast<_Rep*>(&_S_empty_rep_storage); } |
12653 |
|
12654 |
bool |
12655 |
_M_is_leaked() const |
12656 |
{ return this->_M_refcount < 0; } |
12657 |
|
12658 |
bool |
12659 |
_M_is_shared() const |
12660 |
{ return this->_M_refcount > 0; } |
12661 |
|
12662 |
void |
12663 |
_M_set_leaked() |
12664 |
{ this->_M_refcount = -1; } |
12665 |
|
12666 |
void |
12667 |
_M_set_sharable() |
12668 |
{ this->_M_refcount = 0; } |
12669 |
|
12670 |
_CharT* |
12671 |
_M_refdata() throw() |
12672 |
{ return reinterpret_cast<_CharT*>(this + 1); } |
12673 |
|
12674 |
_CharT* |
12675 |
_M_grab(const _Alloc& __alloc1, const _Alloc& __alloc2) |
12676 |
{ |
12677 |
return (!_M_is_leaked() && __alloc1 == __alloc2) |
12678 |
? _M_refcopy() : _M_clone(__alloc1); |
12679 |
} |
12680 |
|
12681 |
|
12682 |
static _Rep* |
12683 |
_S_create(size_type, size_type, const _Alloc&); |
12684 |
|
12685 |
void |
12686 |
_M_dispose(const _Alloc& __a) |
12687 |
{ |
12688 |
|
12689 |
if (__builtin_expect(this != &_S_empty_rep(), false)) |
12690 |
|
12691 |
if (__gnu_cxx::__exchange_and_add(&this->_M_refcount, -1) <= 0) |
12692 |
_M_destroy(__a); |
12693 |
} |
12694 |
|
12695 |
void |
12696 |
_M_destroy(const _Alloc&) throw(); |
12697 |
|
12698 |
_CharT* |
12699 |
_M_refcopy() throw() |
12700 |
{ |
12701 |
|
12702 |
if (__builtin_expect(this != &_S_empty_rep(), false)) |
12703 |
|
12704 |
__gnu_cxx::__atomic_add(&this->_M_refcount, 1); |
12705 |
return _M_refdata(); |
12706 |
} |
12707 |
|
12708 |
_CharT* |
12709 |
_M_clone(const _Alloc&, size_type __res = 0); |
12710 |
}; |
12711 |
|
12712 |
|
12713 |
struct _Alloc_hider : _Alloc |
12714 |
{ |
12715 |
_Alloc_hider(_CharT* __dat, const _Alloc& __a) |
12716 |
: _Alloc(__a), _M_p(__dat) { } |
12717 |
|
12718 |
_CharT* _M_p; |
12719 |
}; |
12720 |
|
12721 |
public: |
12722 |
|
12723 |
|
12724 |
|
12725 |
|
12726 |
|
12727 |
static const size_type npos = static_cast<size_type>(-1); |
12728 |
|
12729 |
private: |
12730 |
|
12731 |
mutable _Alloc_hider _M_dataplus; |
12732 |
|
12733 |
_CharT* |
12734 |
_M_data() const |
12735 |
{ return _M_dataplus._M_p; } |
12736 |
|
12737 |
_CharT* |
12738 |
_M_data(_CharT* __p) |
12739 |
{ return (_M_dataplus._M_p = __p); } |
12740 |
|
12741 |
_Rep* |
12742 |
_M_rep() const |
12743 |
{ return &((reinterpret_cast<_Rep*> (_M_data()))[-1]); } |
12744 |
|
12745 |
|
12746 |
|
12747 |
iterator |
12748 |
_M_ibegin() const { return iterator(_M_data()); } |
12749 |
|
12750 |
iterator |
12751 |
_M_iend() const { return iterator(_M_data() + this->size()); } |
12752 |
|
12753 |
void |
12754 |
_M_leak() |
12755 |
{ |
12756 |
if (!_M_rep()->_M_is_leaked()) |
12757 |
_M_leak_hard(); |
12758 |
} |
12759 |
|
12760 |
size_type |
12761 |
_M_check(size_type __pos, const char* __s) const |
12762 |
{ |
12763 |
if (__pos > this->size()) |
12764 |
__throw_out_of_range((__s)); |
12765 |
return __pos; |
12766 |
} |
12767 |
|
12768 |
|
12769 |
size_type |
12770 |
_M_limit(size_type __pos, size_type __off) const |
12771 |
{ |
12772 |
const bool __testoff = __off < this->size() - __pos; |
12773 |
return __testoff ? __off : this->size() - __pos; |
12774 |
} |
12775 |
|
12776 |
|
12777 |
|
12778 |
template<class _Iterator> |
12779 |
static void |
12780 |
_S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) |
12781 |
{ |
12782 |
for (; __k1 != __k2; ++__k1, ++__p) |
12783 |
traits_type::assign(*__p, *__k1); |
12784 |
} |
12785 |
|
12786 |
static void |
12787 |
_S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) |
12788 |
{ _S_copy_chars(__p, __k1.base(), __k2.base()); } |
12789 |
|
12790 |
static void |
12791 |
_S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) |
12792 |
{ _S_copy_chars(__p, __k1.base(), __k2.base()); } |
12793 |
|
12794 |
static void |
12795 |
_S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) |
12796 |
{ traits_type::copy(__p, __k1, __k2 - __k1); } |
12797 |
|
12798 |
static void |
12799 |
_S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) |
12800 |
{ traits_type::copy(__p, __k1, __k2 - __k1); } |
12801 |
|
12802 |
void |
12803 |
_M_mutate(size_type __pos, size_type __len1, size_type __len2); |
12804 |
|
12805 |
void |
12806 |
_M_leak_hard(); |
12807 |
|
12808 |
static _Rep& |
12809 |
_S_empty_rep() |
12810 |
{ return _Rep::_S_empty_rep(); } |
12811 |
|
12812 |
public: |
12813 |
|
12814 |
|
12815 |
|
12816 |
|
12817 |
|
12818 |
|
12819 |
|
12820 |
inline |
12821 |
basic_string(); |
12822 |
|
12823 |
|
12824 |
|
12825 |
|
12826 |
explicit |
12827 |
basic_string(const _Alloc& __a); |
12828 |
|
12829 |
|
12830 |
|
12831 |
|
12832 |
|
12833 |
|
12834 |
basic_string(const basic_string& __str); |
12835 |
|
12836 |
|
12837 |
|
12838 |
|
12839 |
|
12840 |
|
12841 |
basic_string(const basic_string& __str, size_type __pos, |
12842 |
size_type __n = npos); |
12843 |
|
12844 |
|
12845 |
|
12846 |
|
12847 |
|
12848 |
|
12849 |
|
12850 |
basic_string(const basic_string& __str, size_type __pos, |
12851 |
size_type __n, const _Alloc& __a); |
12852 |
# 388 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
12853 |
basic_string(const _CharT* __s, size_type __n, |
12854 |
const _Alloc& __a = _Alloc()); |
12855 |
|
12856 |
|
12857 |
|
12858 |
|
12859 |
|
12860 |
basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()); |
12861 |
|
12862 |
|
12863 |
|
12864 |
|
12865 |
|
12866 |
|
12867 |
basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()); |
12868 |
|
12869 |
|
12870 |
|
12871 |
|
12872 |
|
12873 |
|
12874 |
|
12875 |
template<class _InputIterator> |
12876 |
basic_string(_InputIterator __beg, _InputIterator __end, |
12877 |
const _Alloc& __a = _Alloc()); |
12878 |
|
12879 |
|
12880 |
|
12881 |
|
12882 |
~basic_string() |
12883 |
{ _M_rep()->_M_dispose(this->get_allocator()); } |
12884 |
|
12885 |
|
12886 |
|
12887 |
|
12888 |
|
12889 |
basic_string& |
12890 |
operator=(const basic_string& __str) |
12891 |
{ |
12892 |
this->assign(__str); |
12893 |
return *this; |
12894 |
} |
12895 |
|
12896 |
|
12897 |
|
12898 |
|
12899 |
|
12900 |
basic_string& |
12901 |
operator=(const _CharT* __s) |
12902 |
{ |
12903 |
this->assign(__s); |
12904 |
return *this; |
12905 |
} |
12906 |
# 449 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
12907 |
basic_string& |
12908 |
operator=(_CharT __c) |
12909 |
{ |
12910 |
this->assign(1, __c); |
12911 |
return *this; |
12912 |
} |
12913 |
|
12914 |
|
12915 |
|
12916 |
|
12917 |
|
12918 |
|
12919 |
iterator |
12920 |
begin() |
12921 |
{ |
12922 |
_M_leak(); |
12923 |
return iterator(_M_data()); |
12924 |
} |
12925 |
|
12926 |
|
12927 |
|
12928 |
|
12929 |
|
12930 |
const_iterator |
12931 |
begin() const |
12932 |
{ return const_iterator(_M_data()); } |
12933 |
|
12934 |
|
12935 |
|
12936 |
|
12937 |
|
12938 |
iterator |
12939 |
end() |
12940 |
{ |
12941 |
_M_leak(); |
12942 |
return iterator(_M_data() + this->size()); |
12943 |
} |
12944 |
|
12945 |
|
12946 |
|
12947 |
|
12948 |
|
12949 |
const_iterator |
12950 |
end() const |
12951 |
{ return const_iterator(_M_data() + this->size()); } |
12952 |
|
12953 |
|
12954 |
|
12955 |
|
12956 |
|
12957 |
|
12958 |
reverse_iterator |
12959 |
rbegin() |
12960 |
{ return reverse_iterator(this->end()); } |
12961 |
|
12962 |
|
12963 |
|
12964 |
|
12965 |
|
12966 |
|
12967 |
const_reverse_iterator |
12968 |
rbegin() const |
12969 |
{ return const_reverse_iterator(this->end()); } |
12970 |
|
12971 |
|
12972 |
|
12973 |
|
12974 |
|
12975 |
|
12976 |
reverse_iterator |
12977 |
rend() |
12978 |
{ return reverse_iterator(this->begin()); } |
12979 |
|
12980 |
|
12981 |
|
12982 |
|
12983 |
|
12984 |
|
12985 |
const_reverse_iterator |
12986 |
rend() const |
12987 |
{ return const_reverse_iterator(this->begin()); } |
12988 |
|
12989 |
public: |
12990 |
|
12991 |
|
12992 |
|
12993 |
size_type |
12994 |
size() const { return _M_rep()->_M_length; } |
12995 |
|
12996 |
|
12997 |
|
12998 |
size_type |
12999 |
length() const { return _M_rep()->_M_length; } |
13000 |
|
13001 |
|
13002 |
size_type |
13003 |
max_size() const { return _Rep::_S_max_size; } |
13004 |
# 557 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13005 |
void |
13006 |
resize(size_type __n, _CharT __c); |
13007 |
# 570 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13008 |
void |
13009 |
resize(size_type __n) { this->resize(__n, _CharT()); } |
13010 |
|
13011 |
|
13012 |
|
13013 |
|
13014 |
|
13015 |
size_type |
13016 |
capacity() const { return _M_rep()->_M_capacity; } |
13017 |
# 597 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13018 |
void |
13019 |
reserve(size_type __res_arg = 0); |
13020 |
|
13021 |
|
13022 |
|
13023 |
|
13024 |
void |
13025 |
clear() { _M_mutate(0, this->size(), 0); } |
13026 |
|
13027 |
|
13028 |
|
13029 |
|
13030 |
bool |
13031 |
empty() const { return this->size() == 0; } |
13032 |
# 623 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13033 |
const_reference |
13034 |
operator[] (size_type __pos) const |
13035 |
{ |
13036 |
; |
13037 |
return _M_data()[__pos]; |
13038 |
} |
13039 |
# 640 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13040 |
reference |
13041 |
operator[](size_type __pos) |
13042 |
{ |
13043 |
; |
13044 |
_M_leak(); |
13045 |
return _M_data()[__pos]; |
13046 |
} |
13047 |
# 658 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13048 |
const_reference |
13049 |
at(size_type __n) const |
13050 |
{ |
13051 |
if (__n >= this->size()) |
13052 |
__throw_out_of_range(("basic_string::at")); |
13053 |
return _M_data()[__n]; |
13054 |
} |
13055 |
# 677 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13056 |
reference |
13057 |
at(size_type __n) |
13058 |
{ |
13059 |
if (__n >= size()) |
13060 |
__throw_out_of_range(("basic_string::at")); |
13061 |
_M_leak(); |
13062 |
return _M_data()[__n]; |
13063 |
} |
13064 |
|
13065 |
|
13066 |
|
13067 |
|
13068 |
|
13069 |
|
13070 |
|
13071 |
basic_string& |
13072 |
operator+=(const basic_string& __str) { return this->append(__str); } |
13073 |
|
13074 |
|
13075 |
|
13076 |
|
13077 |
|
13078 |
|
13079 |
basic_string& |
13080 |
operator+=(const _CharT* __s) { return this->append(__s); } |
13081 |
|
13082 |
|
13083 |
|
13084 |
|
13085 |
|
13086 |
|
13087 |
basic_string& |
13088 |
operator+=(_CharT __c) { return this->append(size_type(1), __c); } |
13089 |
|
13090 |
|
13091 |
|
13092 |
|
13093 |
|
13094 |
|
13095 |
basic_string& |
13096 |
append(const basic_string& __str); |
13097 |
# 731 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13098 |
basic_string& |
13099 |
append(const basic_string& __str, size_type __pos, size_type __n); |
13100 |
|
13101 |
|
13102 |
|
13103 |
|
13104 |
|
13105 |
|
13106 |
|
13107 |
basic_string& |
13108 |
append(const _CharT* __s, size_type __n); |
13109 |
|
13110 |
|
13111 |
|
13112 |
|
13113 |
|
13114 |
|
13115 |
basic_string& |
13116 |
append(const _CharT* __s) |
13117 |
{ |
13118 |
; |
13119 |
return this->append(__s, traits_type::length(__s)); |
13120 |
} |
13121 |
# 763 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13122 |
basic_string& |
13123 |
append(size_type __n, _CharT __c) |
13124 |
{ return _M_replace_aux(this->size(), size_type(0), __n, __c); } |
13125 |
# 775 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13126 |
template<class _InputIterator> |
13127 |
basic_string& |
13128 |
append(_InputIterator __first, _InputIterator __last) |
13129 |
{ return this->replace(_M_iend(), _M_iend(), __first, __last); } |
13130 |
|
13131 |
|
13132 |
|
13133 |
|
13134 |
|
13135 |
void |
13136 |
push_back(_CharT __c) |
13137 |
{ _M_replace_aux(this->size(), size_type(0), size_type(1), __c); } |
13138 |
|
13139 |
|
13140 |
|
13141 |
|
13142 |
|
13143 |
|
13144 |
basic_string& |
13145 |
assign(const basic_string& __str); |
13146 |
# 808 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13147 |
basic_string& |
13148 |
assign(const basic_string& __str, size_type __pos, size_type __n) |
13149 |
{ return this->assign(__str._M_data() |
13150 |
+ __str._M_check(__pos, "basic_string::assign"), |
13151 |
__str._M_limit(__pos, __n)); } |
13152 |
# 824 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13153 |
basic_string& |
13154 |
assign(const _CharT* __s, size_type __n); |
13155 |
# 836 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13156 |
basic_string& |
13157 |
assign(const _CharT* __s) |
13158 |
{ |
13159 |
; |
13160 |
return this->assign(__s, traits_type::length(__s)); |
13161 |
} |
13162 |
# 852 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13163 |
basic_string& |
13164 |
assign(size_type __n, _CharT __c) |
13165 |
{ return _M_replace_aux(size_type(0), this->size(), __n, __c); } |
13166 |
# 864 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13167 |
template<class _InputIterator> |
13168 |
basic_string& |
13169 |
assign(_InputIterator __first, _InputIterator __last) |
13170 |
{ return this->replace(_M_ibegin(), _M_iend(), __first, __last); } |
13171 |
# 881 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13172 |
void |
13173 |
insert(iterator __p, size_type __n, _CharT __c) |
13174 |
{ this->replace(__p, __p, __n, __c); } |
13175 |
# 896 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13176 |
template<class _InputIterator> |
13177 |
void insert(iterator __p, _InputIterator __beg, _InputIterator __end) |
13178 |
{ this->replace(__p, __p, __beg, __end); } |
13179 |
# 911 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13180 |
basic_string& |
13181 |
insert(size_type __pos1, const basic_string& __str) |
13182 |
{ return this->insert(__pos1, __str, size_type(0), __str.size()); } |
13183 |
# 933 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13184 |
basic_string& |
13185 |
insert(size_type __pos1, const basic_string& __str, |
13186 |
size_type __pos2, size_type __n) |
13187 |
{ return this->insert(__pos1, __str._M_data() |
13188 |
+ __str._M_check(__pos2, "basic_string::insert"), |
13189 |
__str._M_limit(__pos2, __n)); } |
13190 |
# 956 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13191 |
basic_string& |
13192 |
insert(size_type __pos, const _CharT* __s, size_type __n); |
13193 |
# 974 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13194 |
basic_string& |
13195 |
insert(size_type __pos, const _CharT* __s) |
13196 |
{ |
13197 |
; |
13198 |
return this->insert(__pos, __s, traits_type::length(__s)); |
13199 |
} |
13200 |
# 997 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13201 |
basic_string& |
13202 |
insert(size_type __pos, size_type __n, _CharT __c) |
13203 |
{ return _M_replace_aux(_M_check(__pos, "basic_string::insert"), |
13204 |
size_type(0), __n, __c); } |
13205 |
# 1014 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13206 |
iterator |
13207 |
insert(iterator __p, _CharT __c) |
13208 |
{ |
13209 |
; |
13210 |
const size_type __pos = __p - _M_ibegin(); |
13211 |
_M_replace_aux(__pos, size_type(0), size_type(1), __c); |
13212 |
_M_rep()->_M_set_leaked(); |
13213 |
return this->_M_ibegin() + __pos; |
13214 |
} |
13215 |
# 1038 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13216 |
basic_string& |
13217 |
erase(size_type __pos = 0, size_type __n = npos) |
13218 |
{ return _M_replace_safe(_M_check(__pos, "basic_string::erase"), |
13219 |
_M_limit(__pos, __n), __null, size_type(0)); } |
13220 |
# 1051 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13221 |
iterator |
13222 |
erase(iterator __position) |
13223 |
{ |
13224 |
; |
13225 |
|
13226 |
const size_type __pos = __position - _M_ibegin(); |
13227 |
_M_replace_safe(__pos, size_type(1), __null, size_type(0)); |
13228 |
_M_rep()->_M_set_leaked(); |
13229 |
return _M_ibegin() + __pos; |
13230 |
} |
13231 |
# 1071 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13232 |
iterator |
13233 |
erase(iterator __first, iterator __last) |
13234 |
{ |
13235 |
; |
13236 |
|
13237 |
const size_type __pos = __first - _M_ibegin(); |
13238 |
_M_replace_safe(__pos, __last - __first, __null, size_type(0)); |
13239 |
_M_rep()->_M_set_leaked(); |
13240 |
return _M_ibegin() + __pos; |
13241 |
} |
13242 |
# 1098 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13243 |
basic_string& |
13244 |
replace(size_type __pos, size_type __n, const basic_string& __str) |
13245 |
{ return this->replace(__pos, __n, __str._M_data(), __str.size()); } |
13246 |
# 1120 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13247 |
basic_string& |
13248 |
replace(size_type __pos1, size_type __n1, const basic_string& __str, |
13249 |
size_type __pos2, size_type __n2) |
13250 |
{ return this->replace(__pos1, __n1, __str._M_data() |
13251 |
+ __str._M_check(__pos2, "basic_string::replace"), |
13252 |
__str._M_limit(__pos2, __n2)); } |
13253 |
# 1144 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13254 |
basic_string& |
13255 |
replace(size_type __pos, size_type __n1, const _CharT* __s, |
13256 |
size_type __n2); |
13257 |
# 1163 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13258 |
basic_string& |
13259 |
replace(size_type __pos, size_type __n1, const _CharT* __s) |
13260 |
{ |
13261 |
; |
13262 |
return this->replace(__pos, __n1, __s, traits_type::length(__s)); |
13263 |
} |
13264 |
# 1186 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13265 |
basic_string& |
13266 |
replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c) |
13267 |
{ return _M_replace_aux(_M_check(__pos, "basic_string::replace"), |
13268 |
_M_limit(__pos, __n1), __n2, __c); } |
13269 |
# 1204 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13270 |
basic_string& |
13271 |
replace(iterator __i1, iterator __i2, const basic_string& __str) |
13272 |
{ return this->replace(__i1, __i2, __str._M_data(), __str.size()); } |
13273 |
# 1222 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13274 |
basic_string& |
13275 |
replace(iterator __i1, iterator __i2, const _CharT* __s, size_type __n) |
13276 |
{ |
13277 |
; |
13278 |
|
13279 |
return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __s, __n); |
13280 |
} |
13281 |
# 1243 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13282 |
basic_string& |
13283 |
replace(iterator __i1, iterator __i2, const _CharT* __s) |
13284 |
{ |
13285 |
; |
13286 |
return this->replace(__i1, __i2, __s, traits_type::length(__s)); |
13287 |
} |
13288 |
# 1264 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13289 |
basic_string& |
13290 |
replace(iterator __i1, iterator __i2, size_type __n, _CharT __c) |
13291 |
{ |
13292 |
; |
13293 |
|
13294 |
return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __c); |
13295 |
} |
13296 |
# 1286 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13297 |
template<class _InputIterator> |
13298 |
basic_string& |
13299 |
replace(iterator __i1, iterator __i2, |
13300 |
_InputIterator __k1, _InputIterator __k2) |
13301 |
{ |
13302 |
; |
13303 |
|
13304 |
; |
13305 |
typedef typename _Is_integer<_InputIterator>::_Integral _Integral; |
13306 |
return _M_replace_dispatch(__i1, __i2, __k1, __k2, _Integral()); |
13307 |
} |
13308 |
|
13309 |
|
13310 |
|
13311 |
basic_string& |
13312 |
replace(iterator __i1, iterator __i2, _CharT* __k1, _CharT* __k2) |
13313 |
{ |
13314 |
; |
13315 |
|
13316 |
; |
13317 |
return this->replace(__i1 - _M_ibegin(), __i2 - __i1, |
13318 |
__k1, __k2 - __k1); |
13319 |
} |
13320 |
|
13321 |
basic_string& |
13322 |
replace(iterator __i1, iterator __i2, |
13323 |
const _CharT* __k1, const _CharT* __k2) |
13324 |
{ |
13325 |
; |
13326 |
|
13327 |
; |
13328 |
return this->replace(__i1 - _M_ibegin(), __i2 - __i1, |
13329 |
__k1, __k2 - __k1); |
13330 |
} |
13331 |
|
13332 |
basic_string& |
13333 |
replace(iterator __i1, iterator __i2, iterator __k1, iterator __k2) |
13334 |
{ |
13335 |
; |
13336 |
|
13337 |
; |
13338 |
return this->replace(__i1 - _M_ibegin(), __i2 - __i1, |
13339 |
__k1.base(), __k2 - __k1); |
13340 |
} |
13341 |
|
13342 |
basic_string& |
13343 |
replace(iterator __i1, iterator __i2, |
13344 |
const_iterator __k1, const_iterator __k2) |
13345 |
{ |
13346 |
; |
13347 |
|
13348 |
; |
13349 |
return this->replace(__i1 - _M_ibegin(), __i2 - __i1, |
13350 |
__k1.base(), __k2 - __k1); |
13351 |
} |
13352 |
|
13353 |
private: |
13354 |
template<class _Integer> |
13355 |
basic_string& |
13356 |
_M_replace_dispatch(iterator __i1, iterator __i2, _Integer __n, |
13357 |
_Integer __val, __true_type) |
13358 |
{ return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __val); } |
13359 |
|
13360 |
template<class _InputIterator> |
13361 |
basic_string& |
13362 |
_M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1, |
13363 |
_InputIterator __k2, __false_type); |
13364 |
|
13365 |
basic_string& |
13366 |
_M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, |
13367 |
_CharT __c) |
13368 |
{ |
13369 |
if (this->max_size() - (this->size() - __n1) < __n2) |
13370 |
__throw_length_error(("basic_string::_M_replace_aux")); |
13371 |
_M_mutate(__pos1, __n1, __n2); |
13372 |
if (__n2 == 1) |
13373 |
_M_data()[__pos1] = __c; |
13374 |
else if (__n2) |
13375 |
traits_type::assign(_M_data() + __pos1, __n2, __c); |
13376 |
return *this; |
13377 |
} |
13378 |
|
13379 |
basic_string& |
13380 |
_M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s, |
13381 |
size_type __n2) |
13382 |
{ |
13383 |
_M_mutate(__pos1, __n1, __n2); |
13384 |
if (__n2 == 1) |
13385 |
_M_data()[__pos1] = *__s; |
13386 |
else if (__n2) |
13387 |
traits_type::copy(_M_data() + __pos1, __s, __n2); |
13388 |
return *this; |
13389 |
} |
13390 |
|
13391 |
|
13392 |
|
13393 |
template<class _InIterator> |
13394 |
static _CharT* |
13395 |
_S_construct_aux(_InIterator __beg, _InIterator __end, |
13396 |
const _Alloc& __a, __false_type) |
13397 |
{ |
13398 |
typedef typename iterator_traits<_InIterator>::iterator_category _Tag; |
13399 |
return _S_construct(__beg, __end, __a, _Tag()); |
13400 |
} |
13401 |
|
13402 |
template<class _InIterator> |
13403 |
static _CharT* |
13404 |
_S_construct_aux(_InIterator __beg, _InIterator __end, |
13405 |
const _Alloc& __a, __true_type) |
13406 |
{ return _S_construct(static_cast<size_type>(__beg), |
13407 |
static_cast<value_type>(__end), __a); } |
13408 |
|
13409 |
template<class _InIterator> |
13410 |
static _CharT* |
13411 |
_S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a) |
13412 |
{ |
13413 |
typedef typename _Is_integer<_InIterator>::_Integral _Integral; |
13414 |
return _S_construct_aux(__beg, __end, __a, _Integral()); |
13415 |
} |
13416 |
|
13417 |
|
13418 |
template<class _InIterator> |
13419 |
static _CharT* |
13420 |
_S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, |
13421 |
input_iterator_tag); |
13422 |
|
13423 |
|
13424 |
|
13425 |
template<class _FwdIterator> |
13426 |
static _CharT* |
13427 |
_S_construct(_FwdIterator __beg, _FwdIterator __end, const _Alloc& __a, |
13428 |
forward_iterator_tag); |
13429 |
|
13430 |
static _CharT* |
13431 |
_S_construct(size_type __req, _CharT __c, const _Alloc& __a); |
13432 |
|
13433 |
public: |
13434 |
# 1435 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13435 |
size_type |
13436 |
copy(_CharT* __s, size_type __n, size_type __pos = 0) const; |
13437 |
# 1445 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13438 |
void |
13439 |
swap(basic_string& __s); |
13440 |
# 1455 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13441 |
const _CharT* |
13442 |
c_str() const { return _M_data(); } |
13443 |
|
13444 |
|
13445 |
|
13446 |
|
13447 |
|
13448 |
|
13449 |
|
13450 |
const _CharT* |
13451 |
data() const { return _M_data(); } |
13452 |
|
13453 |
|
13454 |
|
13455 |
|
13456 |
allocator_type |
13457 |
get_allocator() const { return _M_dataplus; } |
13458 |
# 1484 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13459 |
size_type |
13460 |
find(const _CharT* __s, size_type __pos, size_type __n) const; |
13461 |
# 1497 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13462 |
size_type |
13463 |
find(const basic_string& __str, size_type __pos = 0) const |
13464 |
{ return this->find(__str.data(), __pos, __str.size()); } |
13465 |
# 1511 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13466 |
size_type |
13467 |
find(const _CharT* __s, size_type __pos = 0) const |
13468 |
{ |
13469 |
; |
13470 |
return this->find(__s, __pos, traits_type::length(__s)); |
13471 |
} |
13472 |
# 1528 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13473 |
size_type |
13474 |
find(_CharT __c, size_type __pos = 0) const; |
13475 |
# 1541 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13476 |
size_type |
13477 |
rfind(const basic_string& __str, size_type __pos = npos) const |
13478 |
{ return this->rfind(__str.data(), __pos, __str.size()); } |
13479 |
# 1556 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13480 |
size_type |
13481 |
rfind(const _CharT* __s, size_type __pos, size_type __n) const; |
13482 |
# 1569 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13483 |
size_type |
13484 |
rfind(const _CharT* __s, size_type __pos = npos) const |
13485 |
{ |
13486 |
; |
13487 |
return this->rfind(__s, __pos, traits_type::length(__s)); |
13488 |
} |
13489 |
# 1586 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13490 |
size_type |
13491 |
rfind(_CharT __c, size_type __pos = npos) const; |
13492 |
# 1599 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13493 |
size_type |
13494 |
find_first_of(const basic_string& __str, size_type __pos = 0) const |
13495 |
{ return this->find_first_of(__str.data(), __pos, __str.size()); } |
13496 |
# 1614 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13497 |
size_type |
13498 |
find_first_of(const _CharT* __s, size_type __pos, size_type __n) const; |
13499 |
# 1627 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13500 |
size_type |
13501 |
find_first_of(const _CharT* __s, size_type __pos = 0) const |
13502 |
{ |
13503 |
; |
13504 |
return this->find_first_of(__s, __pos, traits_type::length(__s)); |
13505 |
} |
13506 |
# 1646 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13507 |
size_type |
13508 |
find_first_of(_CharT __c, size_type __pos = 0) const |
13509 |
{ return this->find(__c, __pos); } |
13510 |
# 1660 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13511 |
size_type |
13512 |
find_last_of(const basic_string& __str, size_type __pos = npos) const |
13513 |
{ return this->find_last_of(__str.data(), __pos, __str.size()); } |
13514 |
# 1675 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13515 |
size_type |
13516 |
find_last_of(const _CharT* __s, size_type __pos, size_type __n) const; |
13517 |
# 1688 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13518 |
size_type |
13519 |
find_last_of(const _CharT* __s, size_type __pos = npos) const |
13520 |
{ |
13521 |
; |
13522 |
return this->find_last_of(__s, __pos, traits_type::length(__s)); |
13523 |
} |
13524 |
# 1707 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13525 |
size_type |
13526 |
find_last_of(_CharT __c, size_type __pos = npos) const |
13527 |
{ return this->rfind(__c, __pos); } |
13528 |
# 1721 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13529 |
size_type |
13530 |
find_first_not_of(const basic_string& __str, size_type __pos = 0) const |
13531 |
{ return this->find_first_not_of(__str.data(), __pos, __str.size()); } |
13532 |
# 1736 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13533 |
size_type |
13534 |
find_first_not_of(const _CharT* __s, size_type __pos, |
13535 |
size_type __n) const; |
13536 |
# 1750 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13537 |
size_type |
13538 |
find_first_not_of(const _CharT* __s, size_type __pos = 0) const |
13539 |
{ |
13540 |
; |
13541 |
return this->find_first_not_of(__s, __pos, traits_type::length(__s)); |
13542 |
} |
13543 |
# 1767 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13544 |
size_type |
13545 |
find_first_not_of(_CharT __c, size_type __pos = 0) const; |
13546 |
# 1780 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13547 |
size_type |
13548 |
find_last_not_of(const basic_string& __str, size_type __pos = npos) const |
13549 |
{ return this->find_last_not_of(__str.data(), __pos, __str.size()); } |
13550 |
# 1796 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13551 |
size_type |
13552 |
find_last_not_of(const _CharT* __s, size_type __pos, |
13553 |
size_type __n) const; |
13554 |
# 1809 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13555 |
size_type |
13556 |
find_last_not_of(const _CharT* __s, size_type __pos = npos) const |
13557 |
{ |
13558 |
; |
13559 |
return this->find_last_not_of(__s, __pos, traits_type::length(__s)); |
13560 |
} |
13561 |
# 1826 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13562 |
size_type |
13563 |
find_last_not_of(_CharT __c, size_type __pos = npos) const; |
13564 |
# 1841 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13565 |
basic_string |
13566 |
substr(size_type __pos = 0, size_type __n = npos) const |
13567 |
{ return basic_string(*this, |
13568 |
_M_check(__pos, "basic_string::substr"), __n); } |
13569 |
# 1859 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13570 |
int |
13571 |
compare(const basic_string& __str) const |
13572 |
{ |
13573 |
const size_type __size = this->size(); |
13574 |
const size_type __osize = __str.size(); |
13575 |
const size_type __len = std::min(__size, __osize); |
13576 |
|
13577 |
int __r = traits_type::compare(_M_data(), __str.data(), __len); |
13578 |
if (!__r) |
13579 |
__r = __size - __osize; |
13580 |
return __r; |
13581 |
} |
13582 |
# 1889 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13583 |
int |
13584 |
compare(size_type __pos, size_type __n, const basic_string& __str) const; |
13585 |
# 1913 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13586 |
int |
13587 |
compare(size_type __pos1, size_type __n1, const basic_string& __str, |
13588 |
size_type __pos2, size_type __n2) const; |
13589 |
# 1931 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13590 |
int |
13591 |
compare(const _CharT* __s) const; |
13592 |
# 1954 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13593 |
int |
13594 |
compare(size_type __pos, size_type __n1, const _CharT* __s) const; |
13595 |
# 1979 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13596 |
int |
13597 |
compare(size_type __pos, size_type __n1, const _CharT* __s, |
13598 |
size_type __n2) const; |
13599 |
}; |
13600 |
|
13601 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13602 |
inline basic_string<_CharT, _Traits, _Alloc>:: |
13603 |
basic_string() |
13604 |
|
13605 |
: _M_dataplus(_S_empty_rep()._M_refdata(), _Alloc()) { } |
13606 |
# 2000 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13607 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13608 |
basic_string<_CharT, _Traits, _Alloc> |
13609 |
operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, |
13610 |
const basic_string<_CharT, _Traits, _Alloc>& __rhs) |
13611 |
{ |
13612 |
basic_string<_CharT, _Traits, _Alloc> __str(__lhs); |
13613 |
__str.append(__rhs); |
13614 |
return __str; |
13615 |
} |
13616 |
|
13617 |
|
13618 |
|
13619 |
|
13620 |
|
13621 |
|
13622 |
|
13623 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13624 |
basic_string<_CharT,_Traits,_Alloc> |
13625 |
operator+(const _CharT* __lhs, |
13626 |
const basic_string<_CharT,_Traits,_Alloc>& __rhs); |
13627 |
|
13628 |
|
13629 |
|
13630 |
|
13631 |
|
13632 |
|
13633 |
|
13634 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13635 |
basic_string<_CharT,_Traits,_Alloc> |
13636 |
operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs); |
13637 |
|
13638 |
|
13639 |
|
13640 |
|
13641 |
|
13642 |
|
13643 |
|
13644 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13645 |
inline basic_string<_CharT, _Traits, _Alloc> |
13646 |
operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, |
13647 |
const _CharT* __rhs) |
13648 |
{ |
13649 |
basic_string<_CharT, _Traits, _Alloc> __str(__lhs); |
13650 |
__str.append(__rhs); |
13651 |
return __str; |
13652 |
} |
13653 |
|
13654 |
|
13655 |
|
13656 |
|
13657 |
|
13658 |
|
13659 |
|
13660 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13661 |
inline basic_string<_CharT, _Traits, _Alloc> |
13662 |
operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) |
13663 |
{ |
13664 |
typedef basic_string<_CharT, _Traits, _Alloc> __string_type; |
13665 |
typedef typename __string_type::size_type __size_type; |
13666 |
__string_type __str(__lhs); |
13667 |
__str.append(__size_type(1), __rhs); |
13668 |
return __str; |
13669 |
} |
13670 |
# 2071 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13671 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13672 |
inline bool |
13673 |
operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, |
13674 |
const basic_string<_CharT, _Traits, _Alloc>& __rhs) |
13675 |
{ return __lhs.compare(__rhs) == 0; } |
13676 |
|
13677 |
|
13678 |
|
13679 |
|
13680 |
|
13681 |
|
13682 |
|
13683 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13684 |
inline bool |
13685 |
operator==(const _CharT* __lhs, |
13686 |
const basic_string<_CharT, _Traits, _Alloc>& __rhs) |
13687 |
{ return __rhs.compare(__lhs) == 0; } |
13688 |
|
13689 |
|
13690 |
|
13691 |
|
13692 |
|
13693 |
|
13694 |
|
13695 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13696 |
inline bool |
13697 |
operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, |
13698 |
const _CharT* __rhs) |
13699 |
{ return __lhs.compare(__rhs) == 0; } |
13700 |
# 2108 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13701 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13702 |
inline bool |
13703 |
operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, |
13704 |
const basic_string<_CharT, _Traits, _Alloc>& __rhs) |
13705 |
{ return __rhs.compare(__lhs) != 0; } |
13706 |
|
13707 |
|
13708 |
|
13709 |
|
13710 |
|
13711 |
|
13712 |
|
13713 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13714 |
inline bool |
13715 |
operator!=(const _CharT* __lhs, |
13716 |
const basic_string<_CharT, _Traits, _Alloc>& __rhs) |
13717 |
{ return __rhs.compare(__lhs) != 0; } |
13718 |
|
13719 |
|
13720 |
|
13721 |
|
13722 |
|
13723 |
|
13724 |
|
13725 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13726 |
inline bool |
13727 |
operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, |
13728 |
const _CharT* __rhs) |
13729 |
{ return __lhs.compare(__rhs) != 0; } |
13730 |
# 2145 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13731 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13732 |
inline bool |
13733 |
operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, |
13734 |
const basic_string<_CharT, _Traits, _Alloc>& __rhs) |
13735 |
{ return __lhs.compare(__rhs) < 0; } |
13736 |
|
13737 |
|
13738 |
|
13739 |
|
13740 |
|
13741 |
|
13742 |
|
13743 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13744 |
inline bool |
13745 |
operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, |
13746 |
const _CharT* __rhs) |
13747 |
{ return __lhs.compare(__rhs) < 0; } |
13748 |
|
13749 |
|
13750 |
|
13751 |
|
13752 |
|
13753 |
|
13754 |
|
13755 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13756 |
inline bool |
13757 |
operator<(const _CharT* __lhs, |
13758 |
const basic_string<_CharT, _Traits, _Alloc>& __rhs) |
13759 |
{ return __rhs.compare(__lhs) > 0; } |
13760 |
# 2182 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13761 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13762 |
inline bool |
13763 |
operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, |
13764 |
const basic_string<_CharT, _Traits, _Alloc>& __rhs) |
13765 |
{ return __lhs.compare(__rhs) > 0; } |
13766 |
|
13767 |
|
13768 |
|
13769 |
|
13770 |
|
13771 |
|
13772 |
|
13773 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13774 |
inline bool |
13775 |
operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, |
13776 |
const _CharT* __rhs) |
13777 |
{ return __lhs.compare(__rhs) > 0; } |
13778 |
|
13779 |
|
13780 |
|
13781 |
|
13782 |
|
13783 |
|
13784 |
|
13785 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13786 |
inline bool |
13787 |
operator>(const _CharT* __lhs, |
13788 |
const basic_string<_CharT, _Traits, _Alloc>& __rhs) |
13789 |
{ return __rhs.compare(__lhs) < 0; } |
13790 |
# 2219 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13791 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13792 |
inline bool |
13793 |
operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, |
13794 |
const basic_string<_CharT, _Traits, _Alloc>& __rhs) |
13795 |
{ return __lhs.compare(__rhs) <= 0; } |
13796 |
|
13797 |
|
13798 |
|
13799 |
|
13800 |
|
13801 |
|
13802 |
|
13803 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13804 |
inline bool |
13805 |
operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, |
13806 |
const _CharT* __rhs) |
13807 |
{ return __lhs.compare(__rhs) <= 0; } |
13808 |
|
13809 |
|
13810 |
|
13811 |
|
13812 |
|
13813 |
|
13814 |
|
13815 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13816 |
inline bool |
13817 |
operator<=(const _CharT* __lhs, |
13818 |
const basic_string<_CharT, _Traits, _Alloc>& __rhs) |
13819 |
{ return __rhs.compare(__lhs) >= 0; } |
13820 |
# 2256 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13821 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13822 |
inline bool |
13823 |
operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, |
13824 |
const basic_string<_CharT, _Traits, _Alloc>& __rhs) |
13825 |
{ return __lhs.compare(__rhs) >= 0; } |
13826 |
|
13827 |
|
13828 |
|
13829 |
|
13830 |
|
13831 |
|
13832 |
|
13833 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13834 |
inline bool |
13835 |
operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, |
13836 |
const _CharT* __rhs) |
13837 |
{ return __lhs.compare(__rhs) >= 0; } |
13838 |
|
13839 |
|
13840 |
|
13841 |
|
13842 |
|
13843 |
|
13844 |
|
13845 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13846 |
inline bool |
13847 |
operator>=(const _CharT* __lhs, |
13848 |
const basic_string<_CharT, _Traits, _Alloc>& __rhs) |
13849 |
{ return __rhs.compare(__lhs) <= 0; } |
13850 |
# 2293 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13851 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13852 |
inline void |
13853 |
swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, |
13854 |
basic_string<_CharT, _Traits, _Alloc>& __rhs) |
13855 |
{ __lhs.swap(__rhs); } |
13856 |
# 2310 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13857 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13858 |
basic_istream<_CharT, _Traits>& |
13859 |
operator>>(basic_istream<_CharT, _Traits>& __is, |
13860 |
basic_string<_CharT, _Traits, _Alloc>& __str); |
13861 |
# 2324 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13862 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13863 |
basic_ostream<_CharT, _Traits>& |
13864 |
operator<<(basic_ostream<_CharT, _Traits>& __os, |
13865 |
const basic_string<_CharT, _Traits, _Alloc>& __str); |
13866 |
# 2342 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13867 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13868 |
basic_istream<_CharT,_Traits>& |
13869 |
getline(basic_istream<_CharT, _Traits>& __is, |
13870 |
basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); |
13871 |
# 2359 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.h" 3 |
13872 |
template<typename _CharT, typename _Traits, typename _Alloc> |
13873 |
inline basic_istream<_CharT,_Traits>& |
13874 |
getline(basic_istream<_CharT, _Traits>& __is, |
13875 |
basic_string<_CharT, _Traits, _Alloc>& __str); |
13876 |
} |
13877 |
# 54 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/string" 2 3 |
13878 |
|
13879 |
|
13880 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/algorithm" 1 3 |
13881 |
# 64 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/algorithm" 3 |
13882 |
|
13883 |
# 65 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/algorithm" 3 |
13884 |
|
13885 |
|
13886 |
|
13887 |
|
13888 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 1 3 |
13889 |
# 64 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
13890 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_heap.h" 1 3 |
13891 |
# 65 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_heap.h" 3 |
13892 |
namespace std |
13893 |
{ |
13894 |
|
13895 |
|
13896 |
|
13897 |
template<typename _RandomAccessIterator, typename _Distance> |
13898 |
bool |
13899 |
__is_heap(_RandomAccessIterator __first, _Distance __n) |
13900 |
{ |
13901 |
_Distance __parent = 0; |
13902 |
for (_Distance __child = 1; __child < __n; ++__child) |
13903 |
{ |
13904 |
if (__first[__parent] < __first[__child]) |
13905 |
return false; |
13906 |
if ((__child & 1) == 0) |
13907 |
++__parent; |
13908 |
} |
13909 |
return true; |
13910 |
} |
13911 |
|
13912 |
template<typename _RandomAccessIterator, typename _Distance, |
13913 |
typename _StrictWeakOrdering> |
13914 |
bool |
13915 |
__is_heap(_RandomAccessIterator __first, _StrictWeakOrdering __comp, |
13916 |
_Distance __n) |
13917 |
{ |
13918 |
_Distance __parent = 0; |
13919 |
for (_Distance __child = 1; __child < __n; ++__child) |
13920 |
{ |
13921 |
if (__comp(__first[__parent], __first[__child])) |
13922 |
return false; |
13923 |
if ((__child & 1) == 0) |
13924 |
++__parent; |
13925 |
} |
13926 |
return true; |
13927 |
} |
13928 |
|
13929 |
template<typename _RandomAccessIterator> |
13930 |
bool |
13931 |
__is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) |
13932 |
{ return std::__is_heap(__first, std::distance(__first, __last)); } |
13933 |
|
13934 |
template<typename _RandomAccessIterator, typename _StrictWeakOrdering> |
13935 |
bool |
13936 |
__is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, |
13937 |
_StrictWeakOrdering __comp) |
13938 |
{ return std::__is_heap(__first, __comp, std::distance(__first, __last)); } |
13939 |
|
13940 |
|
13941 |
|
13942 |
template<typename _RandomAccessIterator, typename _Distance, typename _Tp> |
13943 |
void |
13944 |
__push_heap(_RandomAccessIterator __first, |
13945 |
_Distance __holeIndex, _Distance __topIndex, _Tp __value) |
13946 |
{ |
13947 |
_Distance __parent = (__holeIndex - 1) / 2; |
13948 |
while (__holeIndex > __topIndex && *(__first + __parent) < __value) |
13949 |
{ |
13950 |
*(__first + __holeIndex) = *(__first + __parent); |
13951 |
__holeIndex = __parent; |
13952 |
__parent = (__holeIndex - 1) / 2; |
13953 |
} |
13954 |
*(__first + __holeIndex) = __value; |
13955 |
} |
13956 |
# 139 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_heap.h" 3 |
13957 |
template<typename _RandomAccessIterator> |
13958 |
inline void |
13959 |
push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) |
13960 |
{ |
13961 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
13962 |
_ValueType; |
13963 |
typedef typename iterator_traits<_RandomAccessIterator>::difference_type |
13964 |
_DistanceType; |
13965 |
|
13966 |
|
13967 |
|
13968 |
|
13969 |
|
13970 |
; |
13971 |
|
13972 |
|
13973 |
std::__push_heap(__first, _DistanceType((__last - __first) - 1), |
13974 |
_DistanceType(0), _ValueType(*(__last - 1))); |
13975 |
} |
13976 |
|
13977 |
template<typename _RandomAccessIterator, typename _Distance, typename _Tp, |
13978 |
typename _Compare> |
13979 |
void |
13980 |
__push_heap(_RandomAccessIterator __first, _Distance __holeIndex, |
13981 |
_Distance __topIndex, _Tp __value, _Compare __comp) |
13982 |
{ |
13983 |
_Distance __parent = (__holeIndex - 1) / 2; |
13984 |
while (__holeIndex > __topIndex |
13985 |
&& __comp(*(__first + __parent), __value)) |
13986 |
{ |
13987 |
*(__first + __holeIndex) = *(__first + __parent); |
13988 |
__holeIndex = __parent; |
13989 |
__parent = (__holeIndex - 1) / 2; |
13990 |
} |
13991 |
*(__first + __holeIndex) = __value; |
13992 |
} |
13993 |
# 187 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_heap.h" 3 |
13994 |
template<typename _RandomAccessIterator, typename _Compare> |
13995 |
inline void |
13996 |
push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, |
13997 |
_Compare __comp) |
13998 |
{ |
13999 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
14000 |
_ValueType; |
14001 |
typedef typename iterator_traits<_RandomAccessIterator>::difference_type |
14002 |
_DistanceType; |
14003 |
|
14004 |
|
14005 |
|
14006 |
|
14007 |
; |
14008 |
; |
14009 |
|
14010 |
std::__push_heap(__first, _DistanceType((__last - __first) - 1), |
14011 |
_DistanceType(0), _ValueType(*(__last - 1)), __comp); |
14012 |
} |
14013 |
|
14014 |
template<typename _RandomAccessIterator, typename _Distance, typename _Tp> |
14015 |
void |
14016 |
__adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, |
14017 |
_Distance __len, _Tp __value) |
14018 |
{ |
14019 |
const _Distance __topIndex = __holeIndex; |
14020 |
_Distance __secondChild = 2 * __holeIndex + 2; |
14021 |
while (__secondChild < __len) |
14022 |
{ |
14023 |
if (*(__first + __secondChild) < *(__first + (__secondChild - 1))) |
14024 |
__secondChild--; |
14025 |
*(__first + __holeIndex) = *(__first + __secondChild); |
14026 |
__holeIndex = __secondChild; |
14027 |
__secondChild = 2 * (__secondChild + 1); |
14028 |
} |
14029 |
if (__secondChild == __len) |
14030 |
{ |
14031 |
*(__first + __holeIndex) = *(__first + (__secondChild - 1)); |
14032 |
__holeIndex = __secondChild - 1; |
14033 |
} |
14034 |
std::__push_heap(__first, __holeIndex, __topIndex, __value); |
14035 |
} |
14036 |
|
14037 |
template<typename _RandomAccessIterator, typename _Tp> |
14038 |
inline void |
14039 |
__pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, |
14040 |
_RandomAccessIterator __result, _Tp __value) |
14041 |
{ |
14042 |
typedef typename iterator_traits<_RandomAccessIterator>::difference_type |
14043 |
_Distance; |
14044 |
*__result = *__first; |
14045 |
std::__adjust_heap(__first, _Distance(0), _Distance(__last - __first), |
14046 |
__value); |
14047 |
} |
14048 |
# 251 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_heap.h" 3 |
14049 |
template<typename _RandomAccessIterator> |
14050 |
inline void |
14051 |
pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) |
14052 |
{ |
14053 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
14054 |
_ValueType; |
14055 |
|
14056 |
|
14057 |
|
14058 |
|
14059 |
|
14060 |
; |
14061 |
; |
14062 |
|
14063 |
std::__pop_heap(__first, __last - 1, __last - 1, |
14064 |
_ValueType(*(__last - 1))); |
14065 |
} |
14066 |
|
14067 |
template<typename _RandomAccessIterator, typename _Distance, |
14068 |
typename _Tp, typename _Compare> |
14069 |
void |
14070 |
__adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, |
14071 |
_Distance __len, _Tp __value, _Compare __comp) |
14072 |
{ |
14073 |
const _Distance __topIndex = __holeIndex; |
14074 |
_Distance __secondChild = 2 * __holeIndex + 2; |
14075 |
while (__secondChild < __len) |
14076 |
{ |
14077 |
if (__comp(*(__first + __secondChild), |
14078 |
*(__first + (__secondChild - 1)))) |
14079 |
__secondChild--; |
14080 |
*(__first + __holeIndex) = *(__first + __secondChild); |
14081 |
__holeIndex = __secondChild; |
14082 |
__secondChild = 2 * (__secondChild + 1); |
14083 |
} |
14084 |
if (__secondChild == __len) |
14085 |
{ |
14086 |
*(__first + __holeIndex) = *(__first + (__secondChild - 1)); |
14087 |
__holeIndex = __secondChild - 1; |
14088 |
} |
14089 |
std::__push_heap(__first, __holeIndex, __topIndex, __value, __comp); |
14090 |
} |
14091 |
|
14092 |
template<typename _RandomAccessIterator, typename _Tp, typename _Compare> |
14093 |
inline void |
14094 |
__pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, |
14095 |
_RandomAccessIterator __result, _Tp __value, _Compare __comp) |
14096 |
{ |
14097 |
typedef typename iterator_traits<_RandomAccessIterator>::difference_type |
14098 |
_Distance; |
14099 |
*__result = *__first; |
14100 |
std::__adjust_heap(__first, _Distance(0), _Distance(__last - __first), |
14101 |
__value, __comp); |
14102 |
} |
14103 |
# 317 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_heap.h" 3 |
14104 |
template<typename _RandomAccessIterator, typename _Compare> |
14105 |
inline void |
14106 |
pop_heap(_RandomAccessIterator __first, |
14107 |
_RandomAccessIterator __last, _Compare __comp) |
14108 |
{ |
14109 |
|
14110 |
|
14111 |
|
14112 |
; |
14113 |
; |
14114 |
|
14115 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
14116 |
_ValueType; |
14117 |
std::__pop_heap(__first, __last - 1, __last - 1, |
14118 |
_ValueType(*(__last - 1)), __comp); |
14119 |
} |
14120 |
# 342 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_heap.h" 3 |
14121 |
template<typename _RandomAccessIterator> |
14122 |
void |
14123 |
make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) |
14124 |
{ |
14125 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
14126 |
_ValueType; |
14127 |
typedef typename iterator_traits<_RandomAccessIterator>::difference_type |
14128 |
_DistanceType; |
14129 |
|
14130 |
|
14131 |
|
14132 |
|
14133 |
|
14134 |
; |
14135 |
|
14136 |
if (__last - __first < 2) |
14137 |
return; |
14138 |
|
14139 |
const _DistanceType __len = __last - __first; |
14140 |
_DistanceType __parent = (__len - 2) / 2; |
14141 |
while (true) |
14142 |
{ |
14143 |
std::__adjust_heap(__first, __parent, __len, |
14144 |
_ValueType(*(__first + __parent))); |
14145 |
if (__parent == 0) |
14146 |
return; |
14147 |
__parent--; |
14148 |
} |
14149 |
} |
14150 |
# 382 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_heap.h" 3 |
14151 |
template<typename _RandomAccessIterator, typename _Compare> |
14152 |
inline void |
14153 |
make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, |
14154 |
_Compare __comp) |
14155 |
{ |
14156 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
14157 |
_ValueType; |
14158 |
typedef typename iterator_traits<_RandomAccessIterator>::difference_type |
14159 |
_DistanceType; |
14160 |
|
14161 |
|
14162 |
|
14163 |
|
14164 |
; |
14165 |
|
14166 |
if (__last - __first < 2) |
14167 |
return; |
14168 |
|
14169 |
const _DistanceType __len = __last - __first; |
14170 |
_DistanceType __parent = (__len - 2) / 2; |
14171 |
while (true) |
14172 |
{ |
14173 |
std::__adjust_heap(__first, __parent, __len, |
14174 |
_ValueType(*(__first + __parent)), __comp); |
14175 |
if (__parent == 0) |
14176 |
return; |
14177 |
__parent--; |
14178 |
} |
14179 |
} |
14180 |
# 420 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_heap.h" 3 |
14181 |
template<typename _RandomAccessIterator> |
14182 |
void |
14183 |
sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) |
14184 |
{ |
14185 |
|
14186 |
|
14187 |
|
14188 |
|
14189 |
|
14190 |
; |
14191 |
|
14192 |
|
14193 |
while (__last - __first > 1) |
14194 |
std::pop_heap(__first, __last--); |
14195 |
} |
14196 |
# 446 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_heap.h" 3 |
14197 |
template<typename _RandomAccessIterator, typename _Compare> |
14198 |
void |
14199 |
sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, |
14200 |
_Compare __comp) |
14201 |
{ |
14202 |
|
14203 |
|
14204 |
|
14205 |
; |
14206 |
; |
14207 |
|
14208 |
while (__last - __first > 1) |
14209 |
std::pop_heap(__first, __last--, __comp); |
14210 |
} |
14211 |
|
14212 |
} |
14213 |
# 65 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 2 3 |
14214 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_tempbuf.h" 1 3 |
14215 |
# 66 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_tempbuf.h" 3 |
14216 |
namespace std |
14217 |
{ |
14218 |
|
14219 |
|
14220 |
|
14221 |
|
14222 |
|
14223 |
|
14224 |
|
14225 |
template<typename _ForwardIterator, typename _Tp> |
14226 |
class _Temporary_buffer |
14227 |
{ |
14228 |
|
14229 |
|
14230 |
|
14231 |
public: |
14232 |
typedef _Tp value_type; |
14233 |
typedef value_type* pointer; |
14234 |
typedef pointer iterator; |
14235 |
typedef ptrdiff_t size_type; |
14236 |
|
14237 |
protected: |
14238 |
size_type _M_original_len; |
14239 |
size_type _M_len; |
14240 |
pointer _M_buffer; |
14241 |
|
14242 |
void |
14243 |
_M_initialize_buffer(const _Tp&, __true_type) { } |
14244 |
|
14245 |
void |
14246 |
_M_initialize_buffer(const _Tp& val, __false_type) |
14247 |
{ std::uninitialized_fill_n(_M_buffer, _M_len, val); } |
14248 |
|
14249 |
public: |
14250 |
|
14251 |
size_type |
14252 |
size() const |
14253 |
{ return _M_len; } |
14254 |
|
14255 |
|
14256 |
size_type |
14257 |
requested_size() const |
14258 |
{ return _M_original_len; } |
14259 |
|
14260 |
|
14261 |
iterator |
14262 |
begin() |
14263 |
{ return _M_buffer; } |
14264 |
|
14265 |
|
14266 |
iterator |
14267 |
end() |
14268 |
{ return _M_buffer + _M_len; } |
14269 |
|
14270 |
|
14271 |
|
14272 |
|
14273 |
|
14274 |
_Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last); |
14275 |
|
14276 |
~_Temporary_buffer() |
14277 |
{ |
14278 |
std::_Destroy(_M_buffer, _M_buffer + _M_len); |
14279 |
std::return_temporary_buffer(_M_buffer); |
14280 |
} |
14281 |
|
14282 |
private: |
14283 |
|
14284 |
_Temporary_buffer(const _Temporary_buffer&); |
14285 |
|
14286 |
void |
14287 |
operator=(const _Temporary_buffer&); |
14288 |
}; |
14289 |
|
14290 |
|
14291 |
template<typename _ForwardIterator, typename _Tp> |
14292 |
_Temporary_buffer<_ForwardIterator, _Tp>:: |
14293 |
_Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last) |
14294 |
: _M_original_len(std::distance(__first, __last)), |
14295 |
_M_len(0), _M_buffer(0) |
14296 |
{ |
14297 |
|
14298 |
typedef typename __type_traits<_Tp>::has_trivial_default_constructor |
14299 |
_Trivial; |
14300 |
|
14301 |
try |
14302 |
{ |
14303 |
pair<pointer, size_type> __p(get_temporary_buffer< |
14304 |
value_type>(_M_original_len)); |
14305 |
_M_buffer = __p.first; |
14306 |
_M_len = __p.second; |
14307 |
if (_M_len > 0) |
14308 |
_M_initialize_buffer(*__first, _Trivial()); |
14309 |
} |
14310 |
catch(...) |
14311 |
{ |
14312 |
std::return_temporary_buffer(_M_buffer); |
14313 |
_M_buffer = 0; |
14314 |
_M_len = 0; |
14315 |
throw; |
14316 |
} |
14317 |
} |
14318 |
} |
14319 |
# 66 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 2 3 |
14320 |
|
14321 |
|
14322 |
|
14323 |
|
14324 |
namespace std |
14325 |
{ |
14326 |
# 84 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14327 |
template<typename _Tp> |
14328 |
inline const _Tp& |
14329 |
__median(const _Tp& __a, const _Tp& __b, const _Tp& __c) |
14330 |
{ |
14331 |
|
14332 |
|
14333 |
if (__a < __b) |
14334 |
if (__b < __c) |
14335 |
return __b; |
14336 |
else if (__a < __c) |
14337 |
return __c; |
14338 |
else |
14339 |
return __a; |
14340 |
else if (__a < __c) |
14341 |
return __a; |
14342 |
else if (__b < __c) |
14343 |
return __c; |
14344 |
else |
14345 |
return __b; |
14346 |
} |
14347 |
# 118 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14348 |
template<typename _Tp, typename _Compare> |
14349 |
inline const _Tp& |
14350 |
__median(const _Tp& __a, const _Tp& __b, const _Tp& __c, _Compare __comp) |
14351 |
{ |
14352 |
|
14353 |
|
14354 |
if (__comp(__a, __b)) |
14355 |
if (__comp(__b, __c)) |
14356 |
return __b; |
14357 |
else if (__comp(__a, __c)) |
14358 |
return __c; |
14359 |
else |
14360 |
return __a; |
14361 |
else if (__comp(__a, __c)) |
14362 |
return __a; |
14363 |
else if (__comp(__b, __c)) |
14364 |
return __c; |
14365 |
else |
14366 |
return __b; |
14367 |
} |
14368 |
# 150 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14369 |
template<typename _InputIterator, typename _Function> |
14370 |
_Function |
14371 |
for_each(_InputIterator __first, _InputIterator __last, _Function __f) |
14372 |
{ |
14373 |
|
14374 |
|
14375 |
; |
14376 |
for ( ; __first != __last; ++__first) |
14377 |
__f(*__first); |
14378 |
return __f; |
14379 |
} |
14380 |
|
14381 |
|
14382 |
|
14383 |
|
14384 |
|
14385 |
|
14386 |
template<typename _InputIterator, typename _Tp> |
14387 |
inline _InputIterator |
14388 |
find(_InputIterator __first, _InputIterator __last, |
14389 |
const _Tp& __val, input_iterator_tag) |
14390 |
{ |
14391 |
while (__first != __last && !(*__first == __val)) |
14392 |
++__first; |
14393 |
return __first; |
14394 |
} |
14395 |
|
14396 |
|
14397 |
|
14398 |
|
14399 |
|
14400 |
|
14401 |
template<typename _InputIterator, typename _Predicate> |
14402 |
inline _InputIterator |
14403 |
find_if(_InputIterator __first, _InputIterator __last, |
14404 |
_Predicate __pred, input_iterator_tag) |
14405 |
{ |
14406 |
while (__first != __last && !__pred(*__first)) |
14407 |
++__first; |
14408 |
return __first; |
14409 |
} |
14410 |
|
14411 |
|
14412 |
|
14413 |
|
14414 |
|
14415 |
|
14416 |
template<typename _RandomAccessIterator, typename _Tp> |
14417 |
_RandomAccessIterator |
14418 |
find(_RandomAccessIterator __first, _RandomAccessIterator __last, |
14419 |
const _Tp& __val, random_access_iterator_tag) |
14420 |
{ |
14421 |
typename iterator_traits<_RandomAccessIterator>::difference_type |
14422 |
__trip_count = (__last - __first) >> 2; |
14423 |
|
14424 |
for ( ; __trip_count > 0 ; --__trip_count) |
14425 |
{ |
14426 |
if (*__first == __val) |
14427 |
return __first; |
14428 |
++__first; |
14429 |
|
14430 |
if (*__first == __val) |
14431 |
return __first; |
14432 |
++__first; |
14433 |
|
14434 |
if (*__first == __val) |
14435 |
return __first; |
14436 |
++__first; |
14437 |
|
14438 |
if (*__first == __val) |
14439 |
return __first; |
14440 |
++__first; |
14441 |
} |
14442 |
|
14443 |
switch (__last - __first) |
14444 |
{ |
14445 |
case 3: |
14446 |
if (*__first == __val) |
14447 |
return __first; |
14448 |
++__first; |
14449 |
case 2: |
14450 |
if (*__first == __val) |
14451 |
return __first; |
14452 |
++__first; |
14453 |
case 1: |
14454 |
if (*__first == __val) |
14455 |
return __first; |
14456 |
++__first; |
14457 |
case 0: |
14458 |
default: |
14459 |
return __last; |
14460 |
} |
14461 |
} |
14462 |
|
14463 |
|
14464 |
|
14465 |
|
14466 |
|
14467 |
|
14468 |
template<typename _RandomAccessIterator, typename _Predicate> |
14469 |
_RandomAccessIterator |
14470 |
find_if(_RandomAccessIterator __first, _RandomAccessIterator __last, |
14471 |
_Predicate __pred, random_access_iterator_tag) |
14472 |
{ |
14473 |
typename iterator_traits<_RandomAccessIterator>::difference_type |
14474 |
__trip_count = (__last - __first) >> 2; |
14475 |
|
14476 |
for ( ; __trip_count > 0 ; --__trip_count) |
14477 |
{ |
14478 |
if (__pred(*__first)) |
14479 |
return __first; |
14480 |
++__first; |
14481 |
|
14482 |
if (__pred(*__first)) |
14483 |
return __first; |
14484 |
++__first; |
14485 |
|
14486 |
if (__pred(*__first)) |
14487 |
return __first; |
14488 |
++__first; |
14489 |
|
14490 |
if (__pred(*__first)) |
14491 |
return __first; |
14492 |
++__first; |
14493 |
} |
14494 |
|
14495 |
switch (__last - __first) |
14496 |
{ |
14497 |
case 3: |
14498 |
if (__pred(*__first)) |
14499 |
return __first; |
14500 |
++__first; |
14501 |
case 2: |
14502 |
if (__pred(*__first)) |
14503 |
return __first; |
14504 |
++__first; |
14505 |
case 1: |
14506 |
if (__pred(*__first)) |
14507 |
return __first; |
14508 |
++__first; |
14509 |
case 0: |
14510 |
default: |
14511 |
return __last; |
14512 |
} |
14513 |
} |
14514 |
# 304 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14515 |
template<typename _InputIterator, typename _Tp> |
14516 |
inline _InputIterator |
14517 |
find(_InputIterator __first, _InputIterator __last, |
14518 |
const _Tp& __val) |
14519 |
{ |
14520 |
|
14521 |
|
14522 |
|
14523 |
|
14524 |
; |
14525 |
return std::find(__first, __last, __val, |
14526 |
std::__iterator_category(__first)); |
14527 |
} |
14528 |
# 326 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14529 |
template<typename _InputIterator, typename _Predicate> |
14530 |
inline _InputIterator |
14531 |
find_if(_InputIterator __first, _InputIterator __last, |
14532 |
_Predicate __pred) |
14533 |
{ |
14534 |
|
14535 |
|
14536 |
|
14537 |
|
14538 |
; |
14539 |
return std::find_if(__first, __last, __pred, |
14540 |
std::__iterator_category(__first)); |
14541 |
} |
14542 |
# 348 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14543 |
template<typename _ForwardIterator> |
14544 |
_ForwardIterator |
14545 |
adjacent_find(_ForwardIterator __first, _ForwardIterator __last) |
14546 |
{ |
14547 |
|
14548 |
|
14549 |
|
14550 |
|
14551 |
; |
14552 |
if (__first == __last) |
14553 |
return __last; |
14554 |
_ForwardIterator __next = __first; |
14555 |
while(++__next != __last) |
14556 |
{ |
14557 |
if (*__first == *__next) |
14558 |
return __first; |
14559 |
__first = __next; |
14560 |
} |
14561 |
return __last; |
14562 |
} |
14563 |
# 379 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14564 |
template<typename _ForwardIterator, typename _BinaryPredicate> |
14565 |
_ForwardIterator |
14566 |
adjacent_find(_ForwardIterator __first, _ForwardIterator __last, |
14567 |
_BinaryPredicate __binary_pred) |
14568 |
{ |
14569 |
|
14570 |
|
14571 |
|
14572 |
|
14573 |
|
14574 |
; |
14575 |
if (__first == __last) |
14576 |
return __last; |
14577 |
_ForwardIterator __next = __first; |
14578 |
while(++__next != __last) |
14579 |
{ |
14580 |
if (__binary_pred(*__first, *__next)) |
14581 |
return __first; |
14582 |
__first = __next; |
14583 |
} |
14584 |
return __last; |
14585 |
} |
14586 |
# 410 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14587 |
template<typename _InputIterator, typename _Tp> |
14588 |
typename iterator_traits<_InputIterator>::difference_type |
14589 |
count(_InputIterator __first, _InputIterator __last, const _Tp& __value) |
14590 |
{ |
14591 |
|
14592 |
|
14593 |
|
14594 |
|
14595 |
|
14596 |
; |
14597 |
typename iterator_traits<_InputIterator>::difference_type __n = 0; |
14598 |
for ( ; __first != __last; ++__first) |
14599 |
if (*__first == __value) |
14600 |
++__n; |
14601 |
return __n; |
14602 |
} |
14603 |
# 435 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14604 |
template<typename _InputIterator, typename _Predicate> |
14605 |
typename iterator_traits<_InputIterator>::difference_type |
14606 |
count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) |
14607 |
{ |
14608 |
|
14609 |
|
14610 |
|
14611 |
|
14612 |
; |
14613 |
typename iterator_traits<_InputIterator>::difference_type __n = 0; |
14614 |
for ( ; __first != __last; ++__first) |
14615 |
if (__pred(*__first)) |
14616 |
++__n; |
14617 |
return __n; |
14618 |
} |
14619 |
# 474 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14620 |
template<typename _ForwardIterator1, typename _ForwardIterator2> |
14621 |
_ForwardIterator1 |
14622 |
search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, |
14623 |
_ForwardIterator2 __first2, _ForwardIterator2 __last2) |
14624 |
{ |
14625 |
|
14626 |
|
14627 |
|
14628 |
|
14629 |
|
14630 |
|
14631 |
; |
14632 |
; |
14633 |
|
14634 |
if (__first1 == __last1 || __first2 == __last2) |
14635 |
return __first1; |
14636 |
|
14637 |
|
14638 |
_ForwardIterator2 __tmp(__first2); |
14639 |
++__tmp; |
14640 |
if (__tmp == __last2) |
14641 |
return std::find(__first1, __last1, *__first2); |
14642 |
|
14643 |
|
14644 |
_ForwardIterator2 __p1, __p; |
14645 |
__p1 = __first2; ++__p1; |
14646 |
_ForwardIterator1 __current = __first1; |
14647 |
|
14648 |
while (__first1 != __last1) |
14649 |
{ |
14650 |
__first1 = std::find(__first1, __last1, *__first2); |
14651 |
if (__first1 == __last1) |
14652 |
return __last1; |
14653 |
|
14654 |
__p = __p1; |
14655 |
__current = __first1; |
14656 |
if (++__current == __last1) |
14657 |
return __last1; |
14658 |
|
14659 |
while (*__current == *__p) |
14660 |
{ |
14661 |
if (++__p == __last2) |
14662 |
return __first1; |
14663 |
if (++__current == __last1) |
14664 |
return __last1; |
14665 |
} |
14666 |
++__first1; |
14667 |
} |
14668 |
return __first1; |
14669 |
} |
14670 |
# 545 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14671 |
template<typename _ForwardIterator1, typename _ForwardIterator2, |
14672 |
typename _BinaryPredicate> |
14673 |
_ForwardIterator1 |
14674 |
search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, |
14675 |
_ForwardIterator2 __first2, _ForwardIterator2 __last2, |
14676 |
_BinaryPredicate __predicate) |
14677 |
{ |
14678 |
|
14679 |
|
14680 |
|
14681 |
|
14682 |
|
14683 |
|
14684 |
; |
14685 |
; |
14686 |
|
14687 |
|
14688 |
if (__first1 == __last1 || __first2 == __last2) |
14689 |
return __first1; |
14690 |
|
14691 |
|
14692 |
_ForwardIterator2 __tmp(__first2); |
14693 |
++__tmp; |
14694 |
if (__tmp == __last2) |
14695 |
{ |
14696 |
while (__first1 != __last1 && !__predicate(*__first1, *__first2)) |
14697 |
++__first1; |
14698 |
return __first1; |
14699 |
} |
14700 |
|
14701 |
|
14702 |
_ForwardIterator2 __p1, __p; |
14703 |
__p1 = __first2; ++__p1; |
14704 |
_ForwardIterator1 __current = __first1; |
14705 |
|
14706 |
while (__first1 != __last1) |
14707 |
{ |
14708 |
while (__first1 != __last1) |
14709 |
{ |
14710 |
if (__predicate(*__first1, *__first2)) |
14711 |
break; |
14712 |
++__first1; |
14713 |
} |
14714 |
while (__first1 != __last1 && !__predicate(*__first1, *__first2)) |
14715 |
++__first1; |
14716 |
if (__first1 == __last1) |
14717 |
return __last1; |
14718 |
|
14719 |
__p = __p1; |
14720 |
__current = __first1; |
14721 |
if (++__current == __last1) |
14722 |
return __last1; |
14723 |
|
14724 |
while (__predicate(*__current, *__p)) |
14725 |
{ |
14726 |
if (++__p == __last2) |
14727 |
return __first1; |
14728 |
if (++__current == __last1) |
14729 |
return __last1; |
14730 |
} |
14731 |
++__first1; |
14732 |
} |
14733 |
return __first1; |
14734 |
} |
14735 |
# 623 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14736 |
template<typename _ForwardIterator, typename _Integer, typename _Tp> |
14737 |
_ForwardIterator |
14738 |
search_n(_ForwardIterator __first, _ForwardIterator __last, |
14739 |
_Integer __count, const _Tp& __val) |
14740 |
{ |
14741 |
|
14742 |
|
14743 |
|
14744 |
|
14745 |
|
14746 |
; |
14747 |
|
14748 |
if (__count <= 0) |
14749 |
return __first; |
14750 |
else |
14751 |
{ |
14752 |
__first = std::find(__first, __last, __val); |
14753 |
while (__first != __last) |
14754 |
{ |
14755 |
typename iterator_traits<_ForwardIterator>::difference_type |
14756 |
__n = __count; |
14757 |
_ForwardIterator __i = __first; |
14758 |
++__i; |
14759 |
while (__i != __last && __n != 1 && *__i == __val) |
14760 |
{ |
14761 |
++__i; |
14762 |
--__n; |
14763 |
} |
14764 |
if (__n == 1) |
14765 |
return __first; |
14766 |
else |
14767 |
__first = std::find(__i, __last, __val); |
14768 |
} |
14769 |
return __last; |
14770 |
} |
14771 |
} |
14772 |
# 675 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14773 |
template<typename _ForwardIterator, typename _Integer, typename _Tp, |
14774 |
typename _BinaryPredicate> |
14775 |
_ForwardIterator |
14776 |
search_n(_ForwardIterator __first, _ForwardIterator __last, |
14777 |
_Integer __count, const _Tp& __val, |
14778 |
_BinaryPredicate __binary_pred) |
14779 |
{ |
14780 |
|
14781 |
|
14782 |
|
14783 |
|
14784 |
; |
14785 |
|
14786 |
if (__count <= 0) |
14787 |
return __first; |
14788 |
else |
14789 |
{ |
14790 |
while (__first != __last) |
14791 |
{ |
14792 |
if (__binary_pred(*__first, __val)) |
14793 |
break; |
14794 |
++__first; |
14795 |
} |
14796 |
while (__first != __last) |
14797 |
{ |
14798 |
typename iterator_traits<_ForwardIterator>::difference_type |
14799 |
__n = __count; |
14800 |
_ForwardIterator __i = __first; |
14801 |
++__i; |
14802 |
while (__i != __last && __n != 1 && __binary_pred(*__i, __val)) |
14803 |
{ |
14804 |
++__i; |
14805 |
--__n; |
14806 |
} |
14807 |
if (__n == 1) |
14808 |
return __first; |
14809 |
else |
14810 |
{ |
14811 |
while (__i != __last) |
14812 |
{ |
14813 |
if (__binary_pred(*__i, __val)) |
14814 |
break; |
14815 |
++__i; |
14816 |
} |
14817 |
__first = __i; |
14818 |
} |
14819 |
} |
14820 |
return __last; |
14821 |
} |
14822 |
} |
14823 |
# 737 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14824 |
template<typename _ForwardIterator1, typename _ForwardIterator2> |
14825 |
_ForwardIterator2 |
14826 |
swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, |
14827 |
_ForwardIterator2 __first2) |
14828 |
{ |
14829 |
|
14830 |
|
14831 |
|
14832 |
|
14833 |
|
14834 |
|
14835 |
|
14836 |
|
14837 |
|
14838 |
|
14839 |
|
14840 |
; |
14841 |
|
14842 |
for ( ; __first1 != __last1; ++__first1, ++__first2) |
14843 |
std::iter_swap(__first1, __first2); |
14844 |
return __first2; |
14845 |
} |
14846 |
# 775 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14847 |
template<typename _InputIterator, typename _OutputIterator, |
14848 |
typename _UnaryOperation> |
14849 |
_OutputIterator |
14850 |
transform(_InputIterator __first, _InputIterator __last, |
14851 |
_OutputIterator __result, _UnaryOperation __unary_op) |
14852 |
{ |
14853 |
|
14854 |
|
14855 |
|
14856 |
|
14857 |
|
14858 |
; |
14859 |
|
14860 |
for ( ; __first != __last; ++__first, ++__result) |
14861 |
*__result = __unary_op(*__first); |
14862 |
return __result; |
14863 |
} |
14864 |
# 810 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14865 |
template<typename _InputIterator1, typename _InputIterator2, |
14866 |
typename _OutputIterator, typename _BinaryOperation> |
14867 |
_OutputIterator |
14868 |
transform(_InputIterator1 __first1, _InputIterator1 __last1, |
14869 |
_InputIterator2 __first2, _OutputIterator __result, |
14870 |
_BinaryOperation __binary_op) |
14871 |
{ |
14872 |
|
14873 |
|
14874 |
|
14875 |
|
14876 |
|
14877 |
|
14878 |
; |
14879 |
|
14880 |
for ( ; __first1 != __last1; ++__first1, ++__first2, ++__result) |
14881 |
*__result = __binary_op(*__first1, *__first2); |
14882 |
return __result; |
14883 |
} |
14884 |
# 842 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14885 |
template<typename _ForwardIterator, typename _Tp> |
14886 |
void |
14887 |
replace(_ForwardIterator __first, _ForwardIterator __last, |
14888 |
const _Tp& __old_value, const _Tp& __new_value) |
14889 |
{ |
14890 |
|
14891 |
|
14892 |
|
14893 |
|
14894 |
|
14895 |
|
14896 |
|
14897 |
; |
14898 |
|
14899 |
for ( ; __first != __last; ++__first) |
14900 |
if (*__first == __old_value) |
14901 |
*__first = __new_value; |
14902 |
} |
14903 |
# 873 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14904 |
template<typename _ForwardIterator, typename _Predicate, typename _Tp> |
14905 |
void |
14906 |
replace_if(_ForwardIterator __first, _ForwardIterator __last, |
14907 |
_Predicate __pred, const _Tp& __new_value) |
14908 |
{ |
14909 |
|
14910 |
|
14911 |
|
14912 |
|
14913 |
|
14914 |
|
14915 |
|
14916 |
; |
14917 |
|
14918 |
for ( ; __first != __last; ++__first) |
14919 |
if (__pred(*__first)) |
14920 |
*__first = __new_value; |
14921 |
} |
14922 |
# 906 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14923 |
template<typename _InputIterator, typename _OutputIterator, typename _Tp> |
14924 |
_OutputIterator |
14925 |
replace_copy(_InputIterator __first, _InputIterator __last, |
14926 |
_OutputIterator __result, |
14927 |
const _Tp& __old_value, const _Tp& __new_value) |
14928 |
{ |
14929 |
|
14930 |
|
14931 |
|
14932 |
|
14933 |
|
14934 |
|
14935 |
; |
14936 |
|
14937 |
for ( ; __first != __last; ++__first, ++__result) |
14938 |
*__result = *__first == __old_value ? __new_value : *__first; |
14939 |
return __result; |
14940 |
} |
14941 |
# 939 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14942 |
template<typename _InputIterator, typename _OutputIterator, |
14943 |
typename _Predicate, typename _Tp> |
14944 |
_OutputIterator |
14945 |
replace_copy_if(_InputIterator __first, _InputIterator __last, |
14946 |
_OutputIterator __result, |
14947 |
_Predicate __pred, const _Tp& __new_value) |
14948 |
{ |
14949 |
|
14950 |
|
14951 |
|
14952 |
|
14953 |
|
14954 |
|
14955 |
; |
14956 |
|
14957 |
for ( ; __first != __last; ++__first, ++__result) |
14958 |
*__result = __pred(*__first) ? __new_value : *__first; |
14959 |
return __result; |
14960 |
} |
14961 |
# 970 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14962 |
template<typename _ForwardIterator, typename _Generator> |
14963 |
void |
14964 |
generate(_ForwardIterator __first, _ForwardIterator __last, |
14965 |
_Generator __gen) |
14966 |
{ |
14967 |
|
14968 |
|
14969 |
|
14970 |
|
14971 |
; |
14972 |
|
14973 |
for ( ; __first != __last; ++__first) |
14974 |
*__first = __gen(); |
14975 |
} |
14976 |
# 996 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14977 |
template<typename _OutputIterator, typename _Size, typename _Generator> |
14978 |
_OutputIterator |
14979 |
generate_n(_OutputIterator __first, _Size __n, _Generator __gen) |
14980 |
{ |
14981 |
|
14982 |
|
14983 |
|
14984 |
|
14985 |
|
14986 |
for ( ; __n > 0; --__n, ++__first) |
14987 |
*__first = __gen(); |
14988 |
return __first; |
14989 |
} |
14990 |
# 1023 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
14991 |
template<typename _InputIterator, typename _OutputIterator, typename _Tp> |
14992 |
_OutputIterator |
14993 |
remove_copy(_InputIterator __first, _InputIterator __last, |
14994 |
_OutputIterator __result, const _Tp& __value) |
14995 |
{ |
14996 |
|
14997 |
|
14998 |
|
14999 |
|
15000 |
|
15001 |
|
15002 |
; |
15003 |
|
15004 |
for ( ; __first != __last; ++__first) |
15005 |
if (!(*__first == __value)) |
15006 |
{ |
15007 |
*__result = *__first; |
15008 |
++__result; |
15009 |
} |
15010 |
return __result; |
15011 |
} |
15012 |
# 1059 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15013 |
template<typename _InputIterator, typename _OutputIterator, |
15014 |
typename _Predicate> |
15015 |
_OutputIterator |
15016 |
remove_copy_if(_InputIterator __first, _InputIterator __last, |
15017 |
_OutputIterator __result, _Predicate __pred) |
15018 |
{ |
15019 |
|
15020 |
|
15021 |
|
15022 |
|
15023 |
|
15024 |
|
15025 |
; |
15026 |
|
15027 |
for ( ; __first != __last; ++__first) |
15028 |
if (!__pred(*__first)) |
15029 |
{ |
15030 |
*__result = *__first; |
15031 |
++__result; |
15032 |
} |
15033 |
return __result; |
15034 |
} |
15035 |
# 1098 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15036 |
template<typename _ForwardIterator, typename _Tp> |
15037 |
_ForwardIterator |
15038 |
remove(_ForwardIterator __first, _ForwardIterator __last, |
15039 |
const _Tp& __value) |
15040 |
{ |
15041 |
|
15042 |
|
15043 |
|
15044 |
|
15045 |
|
15046 |
; |
15047 |
|
15048 |
__first = std::find(__first, __last, __value); |
15049 |
_ForwardIterator __i = __first; |
15050 |
return __first == __last ? __first |
15051 |
: std::remove_copy(++__i, __last, |
15052 |
__first, __value); |
15053 |
} |
15054 |
# 1133 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15055 |
template<typename _ForwardIterator, typename _Predicate> |
15056 |
_ForwardIterator |
15057 |
remove_if(_ForwardIterator __first, _ForwardIterator __last, |
15058 |
_Predicate __pred) |
15059 |
{ |
15060 |
|
15061 |
|
15062 |
|
15063 |
|
15064 |
|
15065 |
; |
15066 |
|
15067 |
__first = std::find_if(__first, __last, __pred); |
15068 |
_ForwardIterator __i = __first; |
15069 |
return __first == __last ? __first |
15070 |
: std::remove_copy_if(++__i, __last, |
15071 |
__first, __pred); |
15072 |
} |
15073 |
# 1159 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15074 |
template<typename _InputIterator, typename _OutputIterator> |
15075 |
_OutputIterator |
15076 |
__unique_copy(_InputIterator __first, _InputIterator __last, |
15077 |
_OutputIterator __result, |
15078 |
output_iterator_tag) |
15079 |
{ |
15080 |
|
15081 |
typename iterator_traits<_InputIterator>::value_type __value = *__first; |
15082 |
*__result = __value; |
15083 |
while (++__first != __last) |
15084 |
if (!(__value == *__first)) |
15085 |
{ |
15086 |
__value = *__first; |
15087 |
*++__result = __value; |
15088 |
} |
15089 |
return ++__result; |
15090 |
} |
15091 |
# 1184 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15092 |
template<typename _InputIterator, typename _ForwardIterator> |
15093 |
_ForwardIterator |
15094 |
__unique_copy(_InputIterator __first, _InputIterator __last, |
15095 |
_ForwardIterator __result, |
15096 |
forward_iterator_tag) |
15097 |
{ |
15098 |
|
15099 |
*__result = *__first; |
15100 |
while (++__first != __last) |
15101 |
if (!(*__result == *__first)) |
15102 |
*++__result = *__first; |
15103 |
return ++__result; |
15104 |
} |
15105 |
# 1206 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15106 |
template<typename _InputIterator, typename _OutputIterator, |
15107 |
typename _BinaryPredicate> |
15108 |
_OutputIterator |
15109 |
__unique_copy(_InputIterator __first, _InputIterator __last, |
15110 |
_OutputIterator __result, |
15111 |
_BinaryPredicate __binary_pred, |
15112 |
output_iterator_tag) |
15113 |
{ |
15114 |
|
15115 |
|
15116 |
|
15117 |
|
15118 |
|
15119 |
typename iterator_traits<_InputIterator>::value_type __value = *__first; |
15120 |
*__result = __value; |
15121 |
while (++__first != __last) |
15122 |
if (!__binary_pred(__value, *__first)) |
15123 |
{ |
15124 |
__value = *__first; |
15125 |
*++__result = __value; |
15126 |
} |
15127 |
return ++__result; |
15128 |
} |
15129 |
# 1238 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15130 |
template<typename _InputIterator, typename _ForwardIterator, |
15131 |
typename _BinaryPredicate> |
15132 |
_ForwardIterator |
15133 |
__unique_copy(_InputIterator __first, _InputIterator __last, |
15134 |
_ForwardIterator __result, |
15135 |
_BinaryPredicate __binary_pred, |
15136 |
forward_iterator_tag) |
15137 |
{ |
15138 |
|
15139 |
|
15140 |
|
15141 |
|
15142 |
|
15143 |
*__result = *__first; |
15144 |
while (++__first != __last) |
15145 |
if (!__binary_pred(*__result, *__first)) *++__result = *__first; |
15146 |
return ++__result; |
15147 |
} |
15148 |
# 1270 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15149 |
template<typename _InputIterator, typename _OutputIterator> |
15150 |
inline _OutputIterator |
15151 |
unique_copy(_InputIterator __first, _InputIterator __last, |
15152 |
_OutputIterator __result) |
15153 |
{ |
15154 |
|
15155 |
|
15156 |
|
15157 |
|
15158 |
|
15159 |
|
15160 |
; |
15161 |
|
15162 |
typedef typename iterator_traits<_OutputIterator>::iterator_category |
15163 |
_IterType; |
15164 |
|
15165 |
if (__first == __last) return __result; |
15166 |
return std::__unique_copy(__first, __last, __result, _IterType()); |
15167 |
} |
15168 |
# 1305 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15169 |
template<typename _InputIterator, typename _OutputIterator, |
15170 |
typename _BinaryPredicate> |
15171 |
inline _OutputIterator |
15172 |
unique_copy(_InputIterator __first, _InputIterator __last, |
15173 |
_OutputIterator __result, |
15174 |
_BinaryPredicate __binary_pred) |
15175 |
{ |
15176 |
|
15177 |
|
15178 |
|
15179 |
|
15180 |
; |
15181 |
|
15182 |
typedef typename iterator_traits<_OutputIterator>::iterator_category |
15183 |
_IterType; |
15184 |
|
15185 |
if (__first == __last) return __result; |
15186 |
return std::__unique_copy(__first, __last, __result, |
15187 |
__binary_pred, _IterType()); |
15188 |
} |
15189 |
# 1339 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15190 |
template<typename _ForwardIterator> |
15191 |
_ForwardIterator |
15192 |
unique(_ForwardIterator __first, _ForwardIterator __last) |
15193 |
{ |
15194 |
|
15195 |
|
15196 |
|
15197 |
|
15198 |
|
15199 |
; |
15200 |
|
15201 |
|
15202 |
__first = std::adjacent_find(__first, __last); |
15203 |
if (__first == __last) |
15204 |
return __last; |
15205 |
|
15206 |
|
15207 |
_ForwardIterator __dest = __first; |
15208 |
++__first; |
15209 |
while (++__first != __last) |
15210 |
if (!(*__dest == *__first)) |
15211 |
*++__dest = *__first; |
15212 |
return ++__dest; |
15213 |
} |
15214 |
# 1378 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15215 |
template<typename _ForwardIterator, typename _BinaryPredicate> |
15216 |
_ForwardIterator |
15217 |
unique(_ForwardIterator __first, _ForwardIterator __last, |
15218 |
_BinaryPredicate __binary_pred) |
15219 |
{ |
15220 |
|
15221 |
|
15222 |
|
15223 |
|
15224 |
|
15225 |
|
15226 |
; |
15227 |
|
15228 |
|
15229 |
__first = std::adjacent_find(__first, __last, __binary_pred); |
15230 |
if (__first == __last) |
15231 |
return __last; |
15232 |
|
15233 |
|
15234 |
_ForwardIterator __dest = __first; |
15235 |
++__first; |
15236 |
while (++__first != __last) |
15237 |
if (!__binary_pred(*__dest, *__first)) |
15238 |
*++__dest = *__first; |
15239 |
return ++__dest; |
15240 |
} |
15241 |
# 1412 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15242 |
template<typename _BidirectionalIterator> |
15243 |
void |
15244 |
__reverse(_BidirectionalIterator __first, _BidirectionalIterator __last, |
15245 |
bidirectional_iterator_tag) |
15246 |
{ |
15247 |
while (true) |
15248 |
if (__first == __last || __first == --__last) |
15249 |
return; |
15250 |
else |
15251 |
std::iter_swap(__first++, __last); |
15252 |
} |
15253 |
# 1431 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15254 |
template<typename _RandomAccessIterator> |
15255 |
void |
15256 |
__reverse(_RandomAccessIterator __first, _RandomAccessIterator __last, |
15257 |
random_access_iterator_tag) |
15258 |
{ |
15259 |
while (__first < __last) |
15260 |
std::iter_swap(__first++, --__last); |
15261 |
} |
15262 |
# 1451 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15263 |
template<typename _BidirectionalIterator> |
15264 |
inline void |
15265 |
reverse(_BidirectionalIterator __first, _BidirectionalIterator __last) |
15266 |
{ |
15267 |
|
15268 |
|
15269 |
|
15270 |
; |
15271 |
std::__reverse(__first, __last, std::__iterator_category(__first)); |
15272 |
} |
15273 |
# 1477 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15274 |
template<typename _BidirectionalIterator, typename _OutputIterator> |
15275 |
_OutputIterator |
15276 |
reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last, |
15277 |
_OutputIterator __result) |
15278 |
{ |
15279 |
|
15280 |
|
15281 |
|
15282 |
|
15283 |
|
15284 |
; |
15285 |
|
15286 |
while (__first != __last) |
15287 |
{ |
15288 |
--__last; |
15289 |
*__result = *__last; |
15290 |
++__result; |
15291 |
} |
15292 |
return __result; |
15293 |
} |
15294 |
# 1505 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15295 |
template<typename _EuclideanRingElement> |
15296 |
_EuclideanRingElement |
15297 |
__gcd(_EuclideanRingElement __m, _EuclideanRingElement __n) |
15298 |
{ |
15299 |
while (__n != 0) |
15300 |
{ |
15301 |
_EuclideanRingElement __t = __m % __n; |
15302 |
__m = __n; |
15303 |
__n = __t; |
15304 |
} |
15305 |
return __m; |
15306 |
} |
15307 |
|
15308 |
|
15309 |
|
15310 |
|
15311 |
|
15312 |
|
15313 |
template<typename _ForwardIterator> |
15314 |
void |
15315 |
__rotate(_ForwardIterator __first, |
15316 |
_ForwardIterator __middle, |
15317 |
_ForwardIterator __last, |
15318 |
forward_iterator_tag) |
15319 |
{ |
15320 |
if ((__first == __middle) || (__last == __middle)) |
15321 |
return; |
15322 |
|
15323 |
_ForwardIterator __first2 = __middle; |
15324 |
do |
15325 |
{ |
15326 |
swap(*__first++, *__first2++); |
15327 |
if (__first == __middle) |
15328 |
__middle = __first2; |
15329 |
} |
15330 |
while (__first2 != __last); |
15331 |
|
15332 |
__first2 = __middle; |
15333 |
|
15334 |
while (__first2 != __last) |
15335 |
{ |
15336 |
swap(*__first++, *__first2++); |
15337 |
if (__first == __middle) |
15338 |
__middle = __first2; |
15339 |
else if (__first2 == __last) |
15340 |
__first2 = __middle; |
15341 |
} |
15342 |
} |
15343 |
|
15344 |
|
15345 |
|
15346 |
|
15347 |
|
15348 |
|
15349 |
template<typename _BidirectionalIterator> |
15350 |
void |
15351 |
__rotate(_BidirectionalIterator __first, |
15352 |
_BidirectionalIterator __middle, |
15353 |
_BidirectionalIterator __last, |
15354 |
bidirectional_iterator_tag) |
15355 |
{ |
15356 |
|
15357 |
|
15358 |
|
15359 |
|
15360 |
if ((__first == __middle) || (__last == __middle)) |
15361 |
return; |
15362 |
|
15363 |
std::__reverse(__first, __middle, bidirectional_iterator_tag()); |
15364 |
std::__reverse(__middle, __last, bidirectional_iterator_tag()); |
15365 |
|
15366 |
while (__first != __middle && __middle != __last) |
15367 |
swap(*__first++, *--__last); |
15368 |
|
15369 |
if (__first == __middle) |
15370 |
std::__reverse(__middle, __last, bidirectional_iterator_tag()); |
15371 |
else |
15372 |
std::__reverse(__first, __middle, bidirectional_iterator_tag()); |
15373 |
} |
15374 |
|
15375 |
|
15376 |
|
15377 |
|
15378 |
|
15379 |
|
15380 |
template<typename _RandomAccessIterator> |
15381 |
void |
15382 |
__rotate(_RandomAccessIterator __first, |
15383 |
_RandomAccessIterator __middle, |
15384 |
_RandomAccessIterator __last, |
15385 |
random_access_iterator_tag) |
15386 |
{ |
15387 |
|
15388 |
|
15389 |
|
15390 |
|
15391 |
if ((__first == __middle) || (__last == __middle)) |
15392 |
return; |
15393 |
|
15394 |
typedef typename iterator_traits<_RandomAccessIterator>::difference_type |
15395 |
_Distance; |
15396 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
15397 |
_ValueType; |
15398 |
|
15399 |
const _Distance __n = __last - __first; |
15400 |
const _Distance __k = __middle - __first; |
15401 |
const _Distance __l = __n - __k; |
15402 |
|
15403 |
if (__k == __l) |
15404 |
{ |
15405 |
std::swap_ranges(__first, __middle, __middle); |
15406 |
return; |
15407 |
} |
15408 |
|
15409 |
const _Distance __d = __gcd(__n, __k); |
15410 |
|
15411 |
for (_Distance __i = 0; __i < __d; __i++) |
15412 |
{ |
15413 |
const _ValueType __tmp = *__first; |
15414 |
_RandomAccessIterator __p = __first; |
15415 |
|
15416 |
if (__k < __l) |
15417 |
{ |
15418 |
for (_Distance __j = 0; __j < __l / __d; __j++) |
15419 |
{ |
15420 |
if (__p > __first + __l) |
15421 |
{ |
15422 |
*__p = *(__p - __l); |
15423 |
__p -= __l; |
15424 |
} |
15425 |
|
15426 |
*__p = *(__p + __k); |
15427 |
__p += __k; |
15428 |
} |
15429 |
} |
15430 |
else |
15431 |
{ |
15432 |
for (_Distance __j = 0; __j < __k / __d - 1; __j ++) |
15433 |
{ |
15434 |
if (__p < __last - __k) |
15435 |
{ |
15436 |
*__p = *(__p + __k); |
15437 |
__p += __k; |
15438 |
} |
15439 |
*__p = * (__p - __l); |
15440 |
__p -= __l; |
15441 |
} |
15442 |
} |
15443 |
|
15444 |
*__p = __tmp; |
15445 |
++__first; |
15446 |
} |
15447 |
} |
15448 |
# 1677 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15449 |
template<typename _ForwardIterator> |
15450 |
inline void |
15451 |
rotate(_ForwardIterator __first, _ForwardIterator __middle, |
15452 |
_ForwardIterator __last) |
15453 |
{ |
15454 |
|
15455 |
|
15456 |
|
15457 |
; |
15458 |
; |
15459 |
|
15460 |
typedef typename iterator_traits<_ForwardIterator>::iterator_category |
15461 |
_IterType; |
15462 |
std::__rotate(__first, __middle, __last, _IterType()); |
15463 |
} |
15464 |
# 1710 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15465 |
template<typename _ForwardIterator, typename _OutputIterator> |
15466 |
_OutputIterator |
15467 |
rotate_copy(_ForwardIterator __first, _ForwardIterator __middle, |
15468 |
_ForwardIterator __last, _OutputIterator __result) |
15469 |
{ |
15470 |
|
15471 |
|
15472 |
|
15473 |
|
15474 |
; |
15475 |
; |
15476 |
|
15477 |
return std::copy(__first, __middle, copy(__middle, __last, __result)); |
15478 |
} |
15479 |
# 1735 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15480 |
template<typename _RandomAccessIterator> |
15481 |
inline void |
15482 |
random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last) |
15483 |
{ |
15484 |
|
15485 |
|
15486 |
|
15487 |
; |
15488 |
|
15489 |
if (__first != __last) |
15490 |
for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) |
15491 |
std::iter_swap(__i, __first + (std::rand() % ((__i - __first) + 1))); |
15492 |
} |
15493 |
# 1762 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15494 |
template<typename _RandomAccessIterator, typename _RandomNumberGenerator> |
15495 |
void |
15496 |
random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, |
15497 |
_RandomNumberGenerator& __rand) |
15498 |
{ |
15499 |
|
15500 |
|
15501 |
|
15502 |
; |
15503 |
|
15504 |
if (__first == __last) |
15505 |
return; |
15506 |
for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) |
15507 |
std::iter_swap(__i, __first + __rand((__i - __first) + 1)); |
15508 |
} |
15509 |
|
15510 |
|
15511 |
|
15512 |
|
15513 |
|
15514 |
|
15515 |
|
15516 |
template<typename _ForwardIterator, typename _Predicate> |
15517 |
_ForwardIterator |
15518 |
__partition(_ForwardIterator __first, _ForwardIterator __last, |
15519 |
_Predicate __pred, |
15520 |
forward_iterator_tag) |
15521 |
{ |
15522 |
if (__first == __last) |
15523 |
return __first; |
15524 |
|
15525 |
while (__pred(*__first)) |
15526 |
if (++__first == __last) |
15527 |
return __first; |
15528 |
|
15529 |
_ForwardIterator __next = __first; |
15530 |
|
15531 |
while (++__next != __last) |
15532 |
if (__pred(*__next)) |
15533 |
{ |
15534 |
swap(*__first, *__next); |
15535 |
++__first; |
15536 |
} |
15537 |
|
15538 |
return __first; |
15539 |
} |
15540 |
|
15541 |
|
15542 |
|
15543 |
|
15544 |
|
15545 |
|
15546 |
template<typename _BidirectionalIterator, typename _Predicate> |
15547 |
_BidirectionalIterator |
15548 |
__partition(_BidirectionalIterator __first, _BidirectionalIterator __last, |
15549 |
_Predicate __pred, |
15550 |
bidirectional_iterator_tag) |
15551 |
{ |
15552 |
while (true) |
15553 |
{ |
15554 |
while (true) |
15555 |
if (__first == __last) |
15556 |
return __first; |
15557 |
else if (__pred(*__first)) |
15558 |
++__first; |
15559 |
else |
15560 |
break; |
15561 |
--__last; |
15562 |
while (true) |
15563 |
if (__first == __last) |
15564 |
return __first; |
15565 |
else if (!__pred(*__last)) |
15566 |
--__last; |
15567 |
else |
15568 |
break; |
15569 |
std::iter_swap(__first, __last); |
15570 |
++__first; |
15571 |
} |
15572 |
} |
15573 |
# 1856 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15574 |
template<typename _ForwardIterator, typename _Predicate> |
15575 |
inline _ForwardIterator |
15576 |
partition(_ForwardIterator __first, _ForwardIterator __last, |
15577 |
_Predicate __pred) |
15578 |
{ |
15579 |
|
15580 |
|
15581 |
|
15582 |
|
15583 |
|
15584 |
; |
15585 |
|
15586 |
return std::__partition(__first, __last, __pred, |
15587 |
std::__iterator_category(__first)); |
15588 |
} |
15589 |
|
15590 |
|
15591 |
|
15592 |
|
15593 |
|
15594 |
|
15595 |
|
15596 |
template<typename _ForwardIterator, typename _Predicate, typename _Distance> |
15597 |
_ForwardIterator |
15598 |
__inplace_stable_partition(_ForwardIterator __first, |
15599 |
_ForwardIterator __last, |
15600 |
_Predicate __pred, _Distance __len) |
15601 |
{ |
15602 |
if (__len == 1) |
15603 |
return __pred(*__first) ? __last : __first; |
15604 |
_ForwardIterator __middle = __first; |
15605 |
std::advance(__middle, __len / 2); |
15606 |
_ForwardIterator __begin = std::__inplace_stable_partition(__first, |
15607 |
__middle, |
15608 |
__pred, |
15609 |
__len / 2); |
15610 |
_ForwardIterator __end = std::__inplace_stable_partition(__middle, __last, |
15611 |
__pred, |
15612 |
__len |
15613 |
- __len / 2); |
15614 |
std::rotate(__begin, __middle, __end); |
15615 |
std::advance(__begin, std::distance(__middle, __end)); |
15616 |
return __begin; |
15617 |
} |
15618 |
|
15619 |
|
15620 |
|
15621 |
|
15622 |
|
15623 |
|
15624 |
template<typename _ForwardIterator, typename _Pointer, typename _Predicate, |
15625 |
typename _Distance> |
15626 |
_ForwardIterator |
15627 |
__stable_partition_adaptive(_ForwardIterator __first, |
15628 |
_ForwardIterator __last, |
15629 |
_Predicate __pred, _Distance __len, |
15630 |
_Pointer __buffer, |
15631 |
_Distance __buffer_size) |
15632 |
{ |
15633 |
if (__len <= __buffer_size) |
15634 |
{ |
15635 |
_ForwardIterator __result1 = __first; |
15636 |
_Pointer __result2 = __buffer; |
15637 |
for ( ; __first != __last ; ++__first) |
15638 |
if (__pred(*__first)) |
15639 |
{ |
15640 |
*__result1 = *__first; |
15641 |
++__result1; |
15642 |
} |
15643 |
else |
15644 |
{ |
15645 |
*__result2 = *__first; |
15646 |
++__result2; |
15647 |
} |
15648 |
std::copy(__buffer, __result2, __result1); |
15649 |
return __result1; |
15650 |
} |
15651 |
else |
15652 |
{ |
15653 |
_ForwardIterator __middle = __first; |
15654 |
std::advance(__middle, __len / 2); |
15655 |
_ForwardIterator __begin = |
15656 |
std::__stable_partition_adaptive(__first, __middle, __pred, |
15657 |
__len / 2, __buffer, |
15658 |
__buffer_size); |
15659 |
_ForwardIterator __end = |
15660 |
std::__stable_partition_adaptive(__middle, __last, __pred, |
15661 |
__len - __len / 2, |
15662 |
__buffer, __buffer_size); |
15663 |
std::rotate(__begin, __middle, __end); |
15664 |
std::advance(__begin, std::distance(__middle, __end)); |
15665 |
return __begin; |
15666 |
} |
15667 |
} |
15668 |
# 1967 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15669 |
template<typename _ForwardIterator, typename _Predicate> |
15670 |
_ForwardIterator |
15671 |
stable_partition(_ForwardIterator __first, _ForwardIterator __last, |
15672 |
_Predicate __pred) |
15673 |
{ |
15674 |
|
15675 |
|
15676 |
|
15677 |
|
15678 |
|
15679 |
; |
15680 |
|
15681 |
if (__first == __last) |
15682 |
return __first; |
15683 |
else |
15684 |
{ |
15685 |
typedef typename iterator_traits<_ForwardIterator>::value_type |
15686 |
_ValueType; |
15687 |
typedef typename iterator_traits<_ForwardIterator>::difference_type |
15688 |
_DistanceType; |
15689 |
|
15690 |
_Temporary_buffer<_ForwardIterator, _ValueType> __buf(__first, |
15691 |
__last); |
15692 |
if (__buf.size() > 0) |
15693 |
return |
15694 |
std::__stable_partition_adaptive(__first, __last, __pred, |
15695 |
_DistanceType(__buf.requested_size()), |
15696 |
__buf.begin(), __buf.size()); |
15697 |
else |
15698 |
return |
15699 |
std::__inplace_stable_partition(__first, __last, __pred, |
15700 |
_DistanceType(__buf.requested_size())); |
15701 |
} |
15702 |
} |
15703 |
|
15704 |
|
15705 |
|
15706 |
|
15707 |
|
15708 |
|
15709 |
template<typename _RandomAccessIterator, typename _Tp> |
15710 |
_RandomAccessIterator |
15711 |
__unguarded_partition(_RandomAccessIterator __first, |
15712 |
_RandomAccessIterator __last, _Tp __pivot) |
15713 |
{ |
15714 |
while (true) |
15715 |
{ |
15716 |
while (*__first < __pivot) |
15717 |
++__first; |
15718 |
--__last; |
15719 |
while (__pivot < *__last) |
15720 |
--__last; |
15721 |
if (!(__first < __last)) |
15722 |
return __first; |
15723 |
std::iter_swap(__first, __last); |
15724 |
++__first; |
15725 |
} |
15726 |
} |
15727 |
|
15728 |
|
15729 |
|
15730 |
|
15731 |
|
15732 |
|
15733 |
template<typename _RandomAccessIterator, typename _Tp, typename _Compare> |
15734 |
_RandomAccessIterator |
15735 |
__unguarded_partition(_RandomAccessIterator __first, |
15736 |
_RandomAccessIterator __last, |
15737 |
_Tp __pivot, _Compare __comp) |
15738 |
{ |
15739 |
while (true) |
15740 |
{ |
15741 |
while (__comp(*__first, __pivot)) |
15742 |
++__first; |
15743 |
--__last; |
15744 |
while (__comp(__pivot, *__last)) |
15745 |
--__last; |
15746 |
if (!(__first < __last)) |
15747 |
return __first; |
15748 |
std::iter_swap(__first, __last); |
15749 |
++__first; |
15750 |
} |
15751 |
} |
15752 |
|
15753 |
|
15754 |
|
15755 |
|
15756 |
|
15757 |
|
15758 |
|
15759 |
enum { _S_threshold = 16 }; |
15760 |
|
15761 |
|
15762 |
|
15763 |
|
15764 |
|
15765 |
|
15766 |
template<typename _RandomAccessIterator, typename _Tp> |
15767 |
void |
15768 |
__unguarded_linear_insert(_RandomAccessIterator __last, _Tp __val) |
15769 |
{ |
15770 |
_RandomAccessIterator __next = __last; |
15771 |
--__next; |
15772 |
while (__val < *__next) |
15773 |
{ |
15774 |
*__last = *__next; |
15775 |
__last = __next; |
15776 |
--__next; |
15777 |
} |
15778 |
*__last = __val; |
15779 |
} |
15780 |
|
15781 |
|
15782 |
|
15783 |
|
15784 |
|
15785 |
|
15786 |
template<typename _RandomAccessIterator, typename _Tp, typename _Compare> |
15787 |
void |
15788 |
__unguarded_linear_insert(_RandomAccessIterator __last, _Tp __val, |
15789 |
_Compare __comp) |
15790 |
{ |
15791 |
_RandomAccessIterator __next = __last; |
15792 |
--__next; |
15793 |
while (__comp(__val, *__next)) |
15794 |
{ |
15795 |
*__last = *__next; |
15796 |
__last = __next; |
15797 |
--__next; |
15798 |
} |
15799 |
*__last = __val; |
15800 |
} |
15801 |
|
15802 |
|
15803 |
|
15804 |
|
15805 |
|
15806 |
|
15807 |
template<typename _RandomAccessIterator> |
15808 |
void |
15809 |
__insertion_sort(_RandomAccessIterator __first, |
15810 |
_RandomAccessIterator __last) |
15811 |
{ |
15812 |
if (__first == __last) |
15813 |
return; |
15814 |
|
15815 |
for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) |
15816 |
{ |
15817 |
typename iterator_traits<_RandomAccessIterator>::value_type |
15818 |
__val = *__i; |
15819 |
if (__val < *__first) |
15820 |
{ |
15821 |
std::copy_backward(__first, __i, __i + 1); |
15822 |
*__first = __val; |
15823 |
} |
15824 |
else |
15825 |
std::__unguarded_linear_insert(__i, __val); |
15826 |
} |
15827 |
} |
15828 |
|
15829 |
|
15830 |
|
15831 |
|
15832 |
|
15833 |
|
15834 |
template<typename _RandomAccessIterator, typename _Compare> |
15835 |
void |
15836 |
__insertion_sort(_RandomAccessIterator __first, |
15837 |
_RandomAccessIterator __last, _Compare __comp) |
15838 |
{ |
15839 |
if (__first == __last) return; |
15840 |
|
15841 |
for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) |
15842 |
{ |
15843 |
typename iterator_traits<_RandomAccessIterator>::value_type |
15844 |
__val = *__i; |
15845 |
if (__comp(__val, *__first)) |
15846 |
{ |
15847 |
std::copy_backward(__first, __i, __i + 1); |
15848 |
*__first = __val; |
15849 |
} |
15850 |
else |
15851 |
std::__unguarded_linear_insert(__i, __val, __comp); |
15852 |
} |
15853 |
} |
15854 |
|
15855 |
|
15856 |
|
15857 |
|
15858 |
|
15859 |
|
15860 |
template<typename _RandomAccessIterator> |
15861 |
inline void |
15862 |
__unguarded_insertion_sort(_RandomAccessIterator __first, |
15863 |
_RandomAccessIterator __last) |
15864 |
{ |
15865 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
15866 |
_ValueType; |
15867 |
|
15868 |
for (_RandomAccessIterator __i = __first; __i != __last; ++__i) |
15869 |
std::__unguarded_linear_insert(__i, _ValueType(*__i)); |
15870 |
} |
15871 |
|
15872 |
|
15873 |
|
15874 |
|
15875 |
|
15876 |
|
15877 |
template<typename _RandomAccessIterator, typename _Compare> |
15878 |
inline void |
15879 |
__unguarded_insertion_sort(_RandomAccessIterator __first, |
15880 |
_RandomAccessIterator __last, _Compare __comp) |
15881 |
{ |
15882 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
15883 |
_ValueType; |
15884 |
|
15885 |
for (_RandomAccessIterator __i = __first; __i != __last; ++__i) |
15886 |
std::__unguarded_linear_insert(__i, _ValueType(*__i), __comp); |
15887 |
} |
15888 |
|
15889 |
|
15890 |
|
15891 |
|
15892 |
|
15893 |
|
15894 |
template<typename _RandomAccessIterator> |
15895 |
void |
15896 |
__final_insertion_sort(_RandomAccessIterator __first, |
15897 |
_RandomAccessIterator __last) |
15898 |
{ |
15899 |
if (__last - __first > _S_threshold) |
15900 |
{ |
15901 |
std::__insertion_sort(__first, __first + _S_threshold); |
15902 |
std::__unguarded_insertion_sort(__first + _S_threshold, __last); |
15903 |
} |
15904 |
else |
15905 |
std::__insertion_sort(__first, __last); |
15906 |
} |
15907 |
|
15908 |
|
15909 |
|
15910 |
|
15911 |
|
15912 |
|
15913 |
template<typename _RandomAccessIterator, typename _Compare> |
15914 |
void |
15915 |
__final_insertion_sort(_RandomAccessIterator __first, |
15916 |
_RandomAccessIterator __last, _Compare __comp) |
15917 |
{ |
15918 |
if (__last - __first > _S_threshold) |
15919 |
{ |
15920 |
std::__insertion_sort(__first, __first + _S_threshold, __comp); |
15921 |
std::__unguarded_insertion_sort(__first + _S_threshold, __last, |
15922 |
__comp); |
15923 |
} |
15924 |
else |
15925 |
std::__insertion_sort(__first, __last, __comp); |
15926 |
} |
15927 |
|
15928 |
|
15929 |
|
15930 |
|
15931 |
|
15932 |
|
15933 |
template<typename _Size> |
15934 |
inline _Size |
15935 |
__lg(_Size __n) |
15936 |
{ |
15937 |
_Size __k; |
15938 |
for (__k = 0; __n != 1; __n >>= 1) |
15939 |
++__k; |
15940 |
return __k; |
15941 |
} |
15942 |
# 2256 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15943 |
template<typename _RandomAccessIterator> |
15944 |
void |
15945 |
partial_sort(_RandomAccessIterator __first, |
15946 |
_RandomAccessIterator __middle, |
15947 |
_RandomAccessIterator __last) |
15948 |
{ |
15949 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
15950 |
_ValueType; |
15951 |
|
15952 |
|
15953 |
|
15954 |
|
15955 |
|
15956 |
; |
15957 |
; |
15958 |
|
15959 |
std::make_heap(__first, __middle); |
15960 |
for (_RandomAccessIterator __i = __middle; __i < __last; ++__i) |
15961 |
if (*__i < *__first) |
15962 |
std::__pop_heap(__first, __middle, __i, _ValueType(*__i)); |
15963 |
std::sort_heap(__first, __middle); |
15964 |
} |
15965 |
# 2297 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15966 |
template<typename _RandomAccessIterator, typename _Compare> |
15967 |
void |
15968 |
partial_sort(_RandomAccessIterator __first, |
15969 |
_RandomAccessIterator __middle, |
15970 |
_RandomAccessIterator __last, |
15971 |
_Compare __comp) |
15972 |
{ |
15973 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
15974 |
_ValueType; |
15975 |
|
15976 |
|
15977 |
|
15978 |
|
15979 |
|
15980 |
|
15981 |
; |
15982 |
; |
15983 |
|
15984 |
std::make_heap(__first, __middle, __comp); |
15985 |
for (_RandomAccessIterator __i = __middle; __i < __last; ++__i) |
15986 |
if (__comp(*__i, *__first)) |
15987 |
std::__pop_heap(__first, __middle, __i, _ValueType(*__i), __comp); |
15988 |
std::sort_heap(__first, __middle, __comp); |
15989 |
} |
15990 |
# 2339 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
15991 |
template<typename _InputIterator, typename _RandomAccessIterator> |
15992 |
_RandomAccessIterator |
15993 |
partial_sort_copy(_InputIterator __first, _InputIterator __last, |
15994 |
_RandomAccessIterator __result_first, |
15995 |
_RandomAccessIterator __result_last) |
15996 |
{ |
15997 |
typedef typename iterator_traits<_InputIterator>::value_type |
15998 |
_InputValueType; |
15999 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
16000 |
_OutputValueType; |
16001 |
typedef typename iterator_traits<_RandomAccessIterator>::difference_type |
16002 |
_DistanceType; |
16003 |
|
16004 |
|
16005 |
|
16006 |
|
16007 |
|
16008 |
|
16009 |
|
16010 |
; |
16011 |
; |
16012 |
|
16013 |
if (__result_first == __result_last) |
16014 |
return __result_last; |
16015 |
_RandomAccessIterator __result_real_last = __result_first; |
16016 |
while(__first != __last && __result_real_last != __result_last) |
16017 |
{ |
16018 |
*__result_real_last = *__first; |
16019 |
++__result_real_last; |
16020 |
++__first; |
16021 |
} |
16022 |
std::make_heap(__result_first, __result_real_last); |
16023 |
while (__first != __last) |
16024 |
{ |
16025 |
if (*__first < *__result_first) |
16026 |
std::__adjust_heap(__result_first, _DistanceType(0), |
16027 |
_DistanceType(__result_real_last |
16028 |
- __result_first), |
16029 |
_InputValueType(*__first)); |
16030 |
++__first; |
16031 |
} |
16032 |
std::sort_heap(__result_first, __result_real_last); |
16033 |
return __result_real_last; |
16034 |
} |
16035 |
# 2403 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
16036 |
template<typename _InputIterator, typename _RandomAccessIterator, typename _Compare> |
16037 |
_RandomAccessIterator |
16038 |
partial_sort_copy(_InputIterator __first, _InputIterator __last, |
16039 |
_RandomAccessIterator __result_first, |
16040 |
_RandomAccessIterator __result_last, |
16041 |
_Compare __comp) |
16042 |
{ |
16043 |
typedef typename iterator_traits<_InputIterator>::value_type |
16044 |
_InputValueType; |
16045 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
16046 |
_OutputValueType; |
16047 |
typedef typename iterator_traits<_RandomAccessIterator>::difference_type |
16048 |
_DistanceType; |
16049 |
|
16050 |
|
16051 |
|
16052 |
|
16053 |
|
16054 |
|
16055 |
|
16056 |
|
16057 |
|
16058 |
; |
16059 |
; |
16060 |
|
16061 |
if (__result_first == __result_last) |
16062 |
return __result_last; |
16063 |
_RandomAccessIterator __result_real_last = __result_first; |
16064 |
while(__first != __last && __result_real_last != __result_last) |
16065 |
{ |
16066 |
*__result_real_last = *__first; |
16067 |
++__result_real_last; |
16068 |
++__first; |
16069 |
} |
16070 |
std::make_heap(__result_first, __result_real_last, __comp); |
16071 |
while (__first != __last) |
16072 |
{ |
16073 |
if (__comp(*__first, *__result_first)) |
16074 |
std::__adjust_heap(__result_first, _DistanceType(0), |
16075 |
_DistanceType(__result_real_last |
16076 |
- __result_first), |
16077 |
_InputValueType(*__first), |
16078 |
__comp); |
16079 |
++__first; |
16080 |
} |
16081 |
std::sort_heap(__result_first, __result_real_last, __comp); |
16082 |
return __result_real_last; |
16083 |
} |
16084 |
|
16085 |
|
16086 |
|
16087 |
|
16088 |
|
16089 |
|
16090 |
template<typename _RandomAccessIterator, typename _Size> |
16091 |
void |
16092 |
__introsort_loop(_RandomAccessIterator __first, |
16093 |
_RandomAccessIterator __last, |
16094 |
_Size __depth_limit) |
16095 |
{ |
16096 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
16097 |
_ValueType; |
16098 |
|
16099 |
while (__last - __first > _S_threshold) |
16100 |
{ |
16101 |
if (__depth_limit == 0) |
16102 |
{ |
16103 |
std::partial_sort(__first, __last, __last); |
16104 |
return; |
16105 |
} |
16106 |
--__depth_limit; |
16107 |
_RandomAccessIterator __cut = |
16108 |
std::__unguarded_partition(__first, __last, |
16109 |
_ValueType(std::__median(*__first, |
16110 |
*(__first |
16111 |
+ (__last |
16112 |
- __first) |
16113 |
/ 2), |
16114 |
*(__last |
16115 |
- 1)))); |
16116 |
std::__introsort_loop(__cut, __last, __depth_limit); |
16117 |
__last = __cut; |
16118 |
} |
16119 |
} |
16120 |
|
16121 |
|
16122 |
|
16123 |
|
16124 |
|
16125 |
|
16126 |
template<typename _RandomAccessIterator, typename _Size, typename _Compare> |
16127 |
void |
16128 |
__introsort_loop(_RandomAccessIterator __first, |
16129 |
_RandomAccessIterator __last, |
16130 |
_Size __depth_limit, _Compare __comp) |
16131 |
{ |
16132 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
16133 |
_ValueType; |
16134 |
|
16135 |
while (__last - __first > _S_threshold) |
16136 |
{ |
16137 |
if (__depth_limit == 0) |
16138 |
{ |
16139 |
std::partial_sort(__first, __last, __last, __comp); |
16140 |
return; |
16141 |
} |
16142 |
--__depth_limit; |
16143 |
_RandomAccessIterator __cut = |
16144 |
std::__unguarded_partition(__first, __last, |
16145 |
_ValueType(std::__median(*__first, |
16146 |
*(__first |
16147 |
+ (__last |
16148 |
- __first) |
16149 |
/ 2), |
16150 |
*(__last - 1), |
16151 |
__comp)), |
16152 |
__comp); |
16153 |
std::__introsort_loop(__cut, __last, __depth_limit, __comp); |
16154 |
__last = __cut; |
16155 |
} |
16156 |
} |
16157 |
# 2538 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
16158 |
template<typename _RandomAccessIterator> |
16159 |
inline void |
16160 |
sort(_RandomAccessIterator __first, _RandomAccessIterator __last) |
16161 |
{ |
16162 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
16163 |
_ValueType; |
16164 |
|
16165 |
|
16166 |
|
16167 |
|
16168 |
|
16169 |
; |
16170 |
|
16171 |
if (__first != __last) |
16172 |
{ |
16173 |
std::__introsort_loop(__first, __last, __lg(__last - __first) * 2); |
16174 |
std::__final_insertion_sort(__first, __last); |
16175 |
} |
16176 |
} |
16177 |
# 2572 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
16178 |
template<typename _RandomAccessIterator, typename _Compare> |
16179 |
inline void |
16180 |
sort(_RandomAccessIterator __first, _RandomAccessIterator __last, |
16181 |
_Compare __comp) |
16182 |
{ |
16183 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
16184 |
_ValueType; |
16185 |
|
16186 |
|
16187 |
|
16188 |
|
16189 |
|
16190 |
|
16191 |
; |
16192 |
|
16193 |
if (__first != __last) |
16194 |
{ |
16195 |
std::__introsort_loop(__first, __last, __lg(__last - __first) * 2, |
16196 |
__comp); |
16197 |
std::__final_insertion_sort(__first, __last, __comp); |
16198 |
} |
16199 |
} |
16200 |
# 2605 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
16201 |
template<typename _ForwardIterator, typename _Tp> |
16202 |
_ForwardIterator |
16203 |
lower_bound(_ForwardIterator __first, _ForwardIterator __last, |
16204 |
const _Tp& __val) |
16205 |
{ |
16206 |
typedef typename iterator_traits<_ForwardIterator>::value_type |
16207 |
_ValueType; |
16208 |
typedef typename iterator_traits<_ForwardIterator>::difference_type |
16209 |
_DistanceType; |
16210 |
|
16211 |
|
16212 |
|
16213 |
|
16214 |
|
16215 |
|
16216 |
|
16217 |
|
16218 |
|
16219 |
; |
16220 |
|
16221 |
_DistanceType __len = std::distance(__first, __last); |
16222 |
_DistanceType __half; |
16223 |
_ForwardIterator __middle; |
16224 |
|
16225 |
while (__len > 0) |
16226 |
{ |
16227 |
__half = __len >> 1; |
16228 |
__middle = __first; |
16229 |
std::advance(__middle, __half); |
16230 |
if (*__middle < __val) |
16231 |
{ |
16232 |
__first = __middle; |
16233 |
++__first; |
16234 |
__len = __len - __half - 1; |
16235 |
} |
16236 |
else |
16237 |
__len = __half; |
16238 |
} |
16239 |
return __first; |
16240 |
} |
16241 |
# 2660 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
16242 |
template<typename _ForwardIterator, typename _Tp, typename _Compare> |
16243 |
_ForwardIterator |
16244 |
lower_bound(_ForwardIterator __first, _ForwardIterator __last, |
16245 |
const _Tp& __val, _Compare __comp) |
16246 |
{ |
16247 |
typedef typename iterator_traits<_ForwardIterator>::value_type |
16248 |
_ValueType; |
16249 |
typedef typename iterator_traits<_ForwardIterator>::difference_type |
16250 |
_DistanceType; |
16251 |
|
16252 |
|
16253 |
|
16254 |
|
16255 |
|
16256 |
; |
16257 |
|
16258 |
_DistanceType __len = std::distance(__first, __last); |
16259 |
_DistanceType __half; |
16260 |
_ForwardIterator __middle; |
16261 |
|
16262 |
while (__len > 0) |
16263 |
{ |
16264 |
__half = __len >> 1; |
16265 |
__middle = __first; |
16266 |
std::advance(__middle, __half); |
16267 |
if (__comp(*__middle, __val)) |
16268 |
{ |
16269 |
__first = __middle; |
16270 |
++__first; |
16271 |
__len = __len - __half - 1; |
16272 |
} |
16273 |
else |
16274 |
__len = __half; |
16275 |
} |
16276 |
return __first; |
16277 |
} |
16278 |
# 2707 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
16279 |
template<typename _ForwardIterator, typename _Tp> |
16280 |
_ForwardIterator |
16281 |
upper_bound(_ForwardIterator __first, _ForwardIterator __last, |
16282 |
const _Tp& __val) |
16283 |
{ |
16284 |
typedef typename iterator_traits<_ForwardIterator>::value_type |
16285 |
_ValueType; |
16286 |
typedef typename iterator_traits<_ForwardIterator>::difference_type |
16287 |
_DistanceType; |
16288 |
|
16289 |
|
16290 |
|
16291 |
|
16292 |
|
16293 |
|
16294 |
; |
16295 |
|
16296 |
_DistanceType __len = std::distance(__first, __last); |
16297 |
_DistanceType __half; |
16298 |
_ForwardIterator __middle; |
16299 |
|
16300 |
while (__len > 0) |
16301 |
{ |
16302 |
__half = __len >> 1; |
16303 |
__middle = __first; |
16304 |
std::advance(__middle, __half); |
16305 |
if (__val < *__middle) |
16306 |
__len = __half; |
16307 |
else |
16308 |
{ |
16309 |
__first = __middle; |
16310 |
++__first; |
16311 |
__len = __len - __half - 1; |
16312 |
} |
16313 |
} |
16314 |
return __first; |
16315 |
} |
16316 |
# 2759 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
16317 |
template<typename _ForwardIterator, typename _Tp, typename _Compare> |
16318 |
_ForwardIterator |
16319 |
upper_bound(_ForwardIterator __first, _ForwardIterator __last, |
16320 |
const _Tp& __val, _Compare __comp) |
16321 |
{ |
16322 |
typedef typename iterator_traits<_ForwardIterator>::value_type |
16323 |
_ValueType; |
16324 |
typedef typename iterator_traits<_ForwardIterator>::difference_type |
16325 |
_DistanceType; |
16326 |
|
16327 |
|
16328 |
|
16329 |
|
16330 |
|
16331 |
; |
16332 |
|
16333 |
_DistanceType __len = std::distance(__first, __last); |
16334 |
_DistanceType __half; |
16335 |
_ForwardIterator __middle; |
16336 |
|
16337 |
while (__len > 0) |
16338 |
{ |
16339 |
__half = __len >> 1; |
16340 |
__middle = __first; |
16341 |
std::advance(__middle, __half); |
16342 |
if (__comp(__val, *__middle)) |
16343 |
__len = __half; |
16344 |
else |
16345 |
{ |
16346 |
__first = __middle; |
16347 |
++__first; |
16348 |
__len = __len - __half - 1; |
16349 |
} |
16350 |
} |
16351 |
return __first; |
16352 |
} |
16353 |
|
16354 |
|
16355 |
|
16356 |
|
16357 |
|
16358 |
|
16359 |
template<typename _BidirectionalIterator, typename _Distance> |
16360 |
void |
16361 |
__merge_without_buffer(_BidirectionalIterator __first, |
16362 |
_BidirectionalIterator __middle, |
16363 |
_BidirectionalIterator __last, |
16364 |
_Distance __len1, _Distance __len2) |
16365 |
{ |
16366 |
if (__len1 == 0 || __len2 == 0) |
16367 |
return; |
16368 |
if (__len1 + __len2 == 2) |
16369 |
{ |
16370 |
if (*__middle < *__first) |
16371 |
std::iter_swap(__first, __middle); |
16372 |
return; |
16373 |
} |
16374 |
_BidirectionalIterator __first_cut = __first; |
16375 |
_BidirectionalIterator __second_cut = __middle; |
16376 |
_Distance __len11 = 0; |
16377 |
_Distance __len22 = 0; |
16378 |
if (__len1 > __len2) |
16379 |
{ |
16380 |
__len11 = __len1 / 2; |
16381 |
std::advance(__first_cut, __len11); |
16382 |
__second_cut = std::lower_bound(__middle, __last, *__first_cut); |
16383 |
__len22 = std::distance(__middle, __second_cut); |
16384 |
} |
16385 |
else |
16386 |
{ |
16387 |
__len22 = __len2 / 2; |
16388 |
std::advance(__second_cut, __len22); |
16389 |
__first_cut = std::upper_bound(__first, __middle, *__second_cut); |
16390 |
__len11 = std::distance(__first, __first_cut); |
16391 |
} |
16392 |
std::rotate(__first_cut, __middle, __second_cut); |
16393 |
_BidirectionalIterator __new_middle = __first_cut; |
16394 |
std::advance(__new_middle, std::distance(__middle, __second_cut)); |
16395 |
std::__merge_without_buffer(__first, __first_cut, __new_middle, |
16396 |
__len11, __len22); |
16397 |
std::__merge_without_buffer(__new_middle, __second_cut, __last, |
16398 |
__len1 - __len11, __len2 - __len22); |
16399 |
} |
16400 |
|
16401 |
|
16402 |
|
16403 |
|
16404 |
|
16405 |
|
16406 |
template<typename _BidirectionalIterator, typename _Distance, |
16407 |
typename _Compare> |
16408 |
void |
16409 |
__merge_without_buffer(_BidirectionalIterator __first, |
16410 |
_BidirectionalIterator __middle, |
16411 |
_BidirectionalIterator __last, |
16412 |
_Distance __len1, _Distance __len2, |
16413 |
_Compare __comp) |
16414 |
{ |
16415 |
if (__len1 == 0 || __len2 == 0) |
16416 |
return; |
16417 |
if (__len1 + __len2 == 2) |
16418 |
{ |
16419 |
if (__comp(*__middle, *__first)) |
16420 |
std::iter_swap(__first, __middle); |
16421 |
return; |
16422 |
} |
16423 |
_BidirectionalIterator __first_cut = __first; |
16424 |
_BidirectionalIterator __second_cut = __middle; |
16425 |
_Distance __len11 = 0; |
16426 |
_Distance __len22 = 0; |
16427 |
if (__len1 > __len2) |
16428 |
{ |
16429 |
__len11 = __len1 / 2; |
16430 |
std::advance(__first_cut, __len11); |
16431 |
__second_cut = std::lower_bound(__middle, __last, *__first_cut, |
16432 |
__comp); |
16433 |
__len22 = std::distance(__middle, __second_cut); |
16434 |
} |
16435 |
else |
16436 |
{ |
16437 |
__len22 = __len2 / 2; |
16438 |
std::advance(__second_cut, __len22); |
16439 |
__first_cut = std::upper_bound(__first, __middle, *__second_cut, |
16440 |
__comp); |
16441 |
__len11 = std::distance(__first, __first_cut); |
16442 |
} |
16443 |
std::rotate(__first_cut, __middle, __second_cut); |
16444 |
_BidirectionalIterator __new_middle = __first_cut; |
16445 |
std::advance(__new_middle, std::distance(__middle, __second_cut)); |
16446 |
std::__merge_without_buffer(__first, __first_cut, __new_middle, |
16447 |
__len11, __len22, __comp); |
16448 |
std::__merge_without_buffer(__new_middle, __second_cut, __last, |
16449 |
__len1 - __len11, __len2 - __len22, __comp); |
16450 |
} |
16451 |
|
16452 |
|
16453 |
|
16454 |
|
16455 |
|
16456 |
|
16457 |
template<typename _RandomAccessIterator> |
16458 |
void |
16459 |
__inplace_stable_sort(_RandomAccessIterator __first, |
16460 |
_RandomAccessIterator __last) |
16461 |
{ |
16462 |
if (__last - __first < 15) |
16463 |
{ |
16464 |
std::__insertion_sort(__first, __last); |
16465 |
return; |
16466 |
} |
16467 |
_RandomAccessIterator __middle = __first + (__last - __first) / 2; |
16468 |
std::__inplace_stable_sort(__first, __middle); |
16469 |
std::__inplace_stable_sort(__middle, __last); |
16470 |
std::__merge_without_buffer(__first, __middle, __last, |
16471 |
__middle - __first, |
16472 |
__last - __middle); |
16473 |
} |
16474 |
|
16475 |
|
16476 |
|
16477 |
|
16478 |
|
16479 |
|
16480 |
template<typename _RandomAccessIterator, typename _Compare> |
16481 |
void |
16482 |
__inplace_stable_sort(_RandomAccessIterator __first, |
16483 |
_RandomAccessIterator __last, _Compare __comp) |
16484 |
{ |
16485 |
if (__last - __first < 15) |
16486 |
{ |
16487 |
std::__insertion_sort(__first, __last, __comp); |
16488 |
return; |
16489 |
} |
16490 |
_RandomAccessIterator __middle = __first + (__last - __first) / 2; |
16491 |
std::__inplace_stable_sort(__first, __middle, __comp); |
16492 |
std::__inplace_stable_sort(__middle, __last, __comp); |
16493 |
std::__merge_without_buffer(__first, __middle, __last, |
16494 |
__middle - __first, |
16495 |
__last - __middle, |
16496 |
__comp); |
16497 |
} |
16498 |
# 2957 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
16499 |
template<typename _InputIterator1, typename _InputIterator2, |
16500 |
typename _OutputIterator> |
16501 |
_OutputIterator |
16502 |
merge(_InputIterator1 __first1, _InputIterator1 __last1, |
16503 |
_InputIterator2 __first2, _InputIterator2 __last2, |
16504 |
_OutputIterator __result) |
16505 |
{ |
16506 |
|
16507 |
|
16508 |
|
16509 |
|
16510 |
|
16511 |
|
16512 |
|
16513 |
|
16514 |
|
16515 |
|
16516 |
; |
16517 |
; |
16518 |
|
16519 |
while (__first1 != __last1 && __first2 != __last2) |
16520 |
{ |
16521 |
if (*__first2 < *__first1) |
16522 |
{ |
16523 |
*__result = *__first2; |
16524 |
++__first2; |
16525 |
} |
16526 |
else |
16527 |
{ |
16528 |
*__result = *__first1; |
16529 |
++__first1; |
16530 |
} |
16531 |
++__result; |
16532 |
} |
16533 |
return std::copy(__first2, __last2, std::copy(__first1, __last1, |
16534 |
__result)); |
16535 |
} |
16536 |
# 3015 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
16537 |
template<typename _InputIterator1, typename _InputIterator2, |
16538 |
typename _OutputIterator, typename _Compare> |
16539 |
_OutputIterator |
16540 |
merge(_InputIterator1 __first1, _InputIterator1 __last1, |
16541 |
_InputIterator2 __first2, _InputIterator2 __last2, |
16542 |
_OutputIterator __result, _Compare __comp) |
16543 |
{ |
16544 |
|
16545 |
|
16546 |
|
16547 |
|
16548 |
|
16549 |
|
16550 |
|
16551 |
|
16552 |
|
16553 |
|
16554 |
|
16555 |
; |
16556 |
; |
16557 |
|
16558 |
while (__first1 != __last1 && __first2 != __last2) |
16559 |
{ |
16560 |
if (__comp(*__first2, *__first1)) |
16561 |
{ |
16562 |
*__result = *__first2; |
16563 |
++__first2; |
16564 |
} |
16565 |
else |
16566 |
{ |
16567 |
*__result = *__first1; |
16568 |
++__first1; |
16569 |
} |
16570 |
++__result; |
16571 |
} |
16572 |
return std::copy(__first2, __last2, std::copy(__first1, __last1, |
16573 |
__result)); |
16574 |
} |
16575 |
|
16576 |
template<typename _RandomAccessIterator1, typename _RandomAccessIterator2, |
16577 |
typename _Distance> |
16578 |
void |
16579 |
__merge_sort_loop(_RandomAccessIterator1 __first, |
16580 |
_RandomAccessIterator1 __last, |
16581 |
_RandomAccessIterator2 __result, |
16582 |
_Distance __step_size) |
16583 |
{ |
16584 |
const _Distance __two_step = 2 * __step_size; |
16585 |
|
16586 |
while (__last - __first >= __two_step) |
16587 |
{ |
16588 |
__result = std::merge(__first, __first + __step_size, |
16589 |
__first + __step_size, __first + __two_step, |
16590 |
__result); |
16591 |
__first += __two_step; |
16592 |
} |
16593 |
|
16594 |
__step_size = std::min(_Distance(__last - __first), __step_size); |
16595 |
std::merge(__first, __first + __step_size, __first + __step_size, __last, |
16596 |
__result); |
16597 |
} |
16598 |
|
16599 |
template<typename _RandomAccessIterator1, typename _RandomAccessIterator2, |
16600 |
typename _Distance, typename _Compare> |
16601 |
void |
16602 |
__merge_sort_loop(_RandomAccessIterator1 __first, |
16603 |
_RandomAccessIterator1 __last, |
16604 |
_RandomAccessIterator2 __result, _Distance __step_size, |
16605 |
_Compare __comp) |
16606 |
{ |
16607 |
const _Distance __two_step = 2 * __step_size; |
16608 |
|
16609 |
while (__last - __first >= __two_step) |
16610 |
{ |
16611 |
__result = std::merge(__first, __first + __step_size, |
16612 |
__first + __step_size, __first + __two_step, |
16613 |
__result, |
16614 |
__comp); |
16615 |
__first += __two_step; |
16616 |
} |
16617 |
__step_size = std::min(_Distance(__last - __first), __step_size); |
16618 |
|
16619 |
std::merge(__first, __first + __step_size, |
16620 |
__first + __step_size, __last, |
16621 |
__result, |
16622 |
__comp); |
16623 |
} |
16624 |
|
16625 |
enum { _S_chunk_size = 7 }; |
16626 |
|
16627 |
template<typename _RandomAccessIterator, typename _Distance> |
16628 |
void |
16629 |
__chunk_insertion_sort(_RandomAccessIterator __first, |
16630 |
_RandomAccessIterator __last, |
16631 |
_Distance __chunk_size) |
16632 |
{ |
16633 |
while (__last - __first >= __chunk_size) |
16634 |
{ |
16635 |
std::__insertion_sort(__first, __first + __chunk_size); |
16636 |
__first += __chunk_size; |
16637 |
} |
16638 |
std::__insertion_sort(__first, __last); |
16639 |
} |
16640 |
|
16641 |
template<typename _RandomAccessIterator, typename _Distance, typename _Compare> |
16642 |
void |
16643 |
__chunk_insertion_sort(_RandomAccessIterator __first, |
16644 |
_RandomAccessIterator __last, |
16645 |
_Distance __chunk_size, _Compare __comp) |
16646 |
{ |
16647 |
while (__last - __first >= __chunk_size) |
16648 |
{ |
16649 |
std::__insertion_sort(__first, __first + __chunk_size, __comp); |
16650 |
__first += __chunk_size; |
16651 |
} |
16652 |
std::__insertion_sort(__first, __last, __comp); |
16653 |
} |
16654 |
|
16655 |
template<typename _RandomAccessIterator, typename _Pointer> |
16656 |
void |
16657 |
__merge_sort_with_buffer(_RandomAccessIterator __first, |
16658 |
_RandomAccessIterator __last, |
16659 |
_Pointer __buffer) |
16660 |
{ |
16661 |
typedef typename iterator_traits<_RandomAccessIterator>::difference_type |
16662 |
_Distance; |
16663 |
|
16664 |
const _Distance __len = __last - __first; |
16665 |
const _Pointer __buffer_last = __buffer + __len; |
16666 |
|
16667 |
_Distance __step_size = _S_chunk_size; |
16668 |
std::__chunk_insertion_sort(__first, __last, __step_size); |
16669 |
|
16670 |
while (__step_size < __len) |
16671 |
{ |
16672 |
std::__merge_sort_loop(__first, __last, __buffer, __step_size); |
16673 |
__step_size *= 2; |
16674 |
std::__merge_sort_loop(__buffer, __buffer_last, __first, __step_size); |
16675 |
__step_size *= 2; |
16676 |
} |
16677 |
} |
16678 |
|
16679 |
template<typename _RandomAccessIterator, typename _Pointer, typename _Compare> |
16680 |
void |
16681 |
__merge_sort_with_buffer(_RandomAccessIterator __first, |
16682 |
_RandomAccessIterator __last, |
16683 |
_Pointer __buffer, _Compare __comp) |
16684 |
{ |
16685 |
typedef typename iterator_traits<_RandomAccessIterator>::difference_type |
16686 |
_Distance; |
16687 |
|
16688 |
const _Distance __len = __last - __first; |
16689 |
const _Pointer __buffer_last = __buffer + __len; |
16690 |
|
16691 |
_Distance __step_size = _S_chunk_size; |
16692 |
std::__chunk_insertion_sort(__first, __last, __step_size, __comp); |
16693 |
|
16694 |
while (__step_size < __len) |
16695 |
{ |
16696 |
std::__merge_sort_loop(__first, __last, __buffer, |
16697 |
__step_size, __comp); |
16698 |
__step_size *= 2; |
16699 |
std::__merge_sort_loop(__buffer, __buffer_last, __first, |
16700 |
__step_size, __comp); |
16701 |
__step_size *= 2; |
16702 |
} |
16703 |
} |
16704 |
|
16705 |
|
16706 |
|
16707 |
|
16708 |
|
16709 |
|
16710 |
template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, |
16711 |
typename _BidirectionalIterator3> |
16712 |
_BidirectionalIterator3 |
16713 |
__merge_backward(_BidirectionalIterator1 __first1, |
16714 |
_BidirectionalIterator1 __last1, |
16715 |
_BidirectionalIterator2 __first2, |
16716 |
_BidirectionalIterator2 __last2, |
16717 |
_BidirectionalIterator3 __result) |
16718 |
{ |
16719 |
if (__first1 == __last1) |
16720 |
return std::copy_backward(__first2, __last2, __result); |
16721 |
if (__first2 == __last2) |
16722 |
return std::copy_backward(__first1, __last1, __result); |
16723 |
--__last1; |
16724 |
--__last2; |
16725 |
while (true) |
16726 |
{ |
16727 |
if (*__last2 < *__last1) |
16728 |
{ |
16729 |
*--__result = *__last1; |
16730 |
if (__first1 == __last1) |
16731 |
return std::copy_backward(__first2, ++__last2, __result); |
16732 |
--__last1; |
16733 |
} |
16734 |
else |
16735 |
{ |
16736 |
*--__result = *__last2; |
16737 |
if (__first2 == __last2) |
16738 |
return std::copy_backward(__first1, ++__last1, __result); |
16739 |
--__last2; |
16740 |
} |
16741 |
} |
16742 |
} |
16743 |
|
16744 |
|
16745 |
|
16746 |
|
16747 |
|
16748 |
|
16749 |
template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, |
16750 |
typename _BidirectionalIterator3, typename _Compare> |
16751 |
_BidirectionalIterator3 |
16752 |
__merge_backward(_BidirectionalIterator1 __first1, |
16753 |
_BidirectionalIterator1 __last1, |
16754 |
_BidirectionalIterator2 __first2, |
16755 |
_BidirectionalIterator2 __last2, |
16756 |
_BidirectionalIterator3 __result, |
16757 |
_Compare __comp) |
16758 |
{ |
16759 |
if (__first1 == __last1) |
16760 |
return std::copy_backward(__first2, __last2, __result); |
16761 |
if (__first2 == __last2) |
16762 |
return std::copy_backward(__first1, __last1, __result); |
16763 |
--__last1; |
16764 |
--__last2; |
16765 |
while (true) |
16766 |
{ |
16767 |
if (__comp(*__last2, *__last1)) |
16768 |
{ |
16769 |
*--__result = *__last1; |
16770 |
if (__first1 == __last1) |
16771 |
return std::copy_backward(__first2, ++__last2, __result); |
16772 |
--__last1; |
16773 |
} |
16774 |
else |
16775 |
{ |
16776 |
*--__result = *__last2; |
16777 |
if (__first2 == __last2) |
16778 |
return std::copy_backward(__first1, ++__last1, __result); |
16779 |
--__last2; |
16780 |
} |
16781 |
} |
16782 |
} |
16783 |
|
16784 |
|
16785 |
|
16786 |
|
16787 |
|
16788 |
|
16789 |
template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, |
16790 |
typename _Distance> |
16791 |
_BidirectionalIterator1 |
16792 |
__rotate_adaptive(_BidirectionalIterator1 __first, |
16793 |
_BidirectionalIterator1 __middle, |
16794 |
_BidirectionalIterator1 __last, |
16795 |
_Distance __len1, _Distance __len2, |
16796 |
_BidirectionalIterator2 __buffer, |
16797 |
_Distance __buffer_size) |
16798 |
{ |
16799 |
_BidirectionalIterator2 __buffer_end; |
16800 |
if (__len1 > __len2 && __len2 <= __buffer_size) |
16801 |
{ |
16802 |
__buffer_end = std::copy(__middle, __last, __buffer); |
16803 |
std::copy_backward(__first, __middle, __last); |
16804 |
return std::copy(__buffer, __buffer_end, __first); |
16805 |
} |
16806 |
else if (__len1 <= __buffer_size) |
16807 |
{ |
16808 |
__buffer_end = std::copy(__first, __middle, __buffer); |
16809 |
std::copy(__middle, __last, __first); |
16810 |
return std::copy_backward(__buffer, __buffer_end, __last); |
16811 |
} |
16812 |
else |
16813 |
{ |
16814 |
std::rotate(__first, __middle, __last); |
16815 |
std::advance(__first, std::distance(__middle, __last)); |
16816 |
return __first; |
16817 |
} |
16818 |
} |
16819 |
|
16820 |
|
16821 |
|
16822 |
|
16823 |
|
16824 |
|
16825 |
template<typename _BidirectionalIterator, typename _Distance, |
16826 |
typename _Pointer> |
16827 |
void |
16828 |
__merge_adaptive(_BidirectionalIterator __first, |
16829 |
_BidirectionalIterator __middle, |
16830 |
_BidirectionalIterator __last, |
16831 |
_Distance __len1, _Distance __len2, |
16832 |
_Pointer __buffer, _Distance __buffer_size) |
16833 |
{ |
16834 |
if (__len1 <= __len2 && __len1 <= __buffer_size) |
16835 |
{ |
16836 |
_Pointer __buffer_end = std::copy(__first, __middle, __buffer); |
16837 |
std::merge(__buffer, __buffer_end, __middle, __last, __first); |
16838 |
} |
16839 |
else if (__len2 <= __buffer_size) |
16840 |
{ |
16841 |
_Pointer __buffer_end = std::copy(__middle, __last, __buffer); |
16842 |
std::__merge_backward(__first, __middle, __buffer, |
16843 |
__buffer_end, __last); |
16844 |
} |
16845 |
else |
16846 |
{ |
16847 |
_BidirectionalIterator __first_cut = __first; |
16848 |
_BidirectionalIterator __second_cut = __middle; |
16849 |
_Distance __len11 = 0; |
16850 |
_Distance __len22 = 0; |
16851 |
if (__len1 > __len2) |
16852 |
{ |
16853 |
__len11 = __len1 / 2; |
16854 |
std::advance(__first_cut, __len11); |
16855 |
__second_cut = std::lower_bound(__middle, __last, |
16856 |
*__first_cut); |
16857 |
__len22 = std::distance(__middle, __second_cut); |
16858 |
} |
16859 |
else |
16860 |
{ |
16861 |
__len22 = __len2 / 2; |
16862 |
std::advance(__second_cut, __len22); |
16863 |
__first_cut = std::upper_bound(__first, __middle, |
16864 |
*__second_cut); |
16865 |
__len11 = std::distance(__first, __first_cut); |
16866 |
} |
16867 |
_BidirectionalIterator __new_middle = |
16868 |
std::__rotate_adaptive(__first_cut, __middle, __second_cut, |
16869 |
__len1 - __len11, __len22, __buffer, |
16870 |
__buffer_size); |
16871 |
std::__merge_adaptive(__first, __first_cut, __new_middle, __len11, |
16872 |
__len22, __buffer, __buffer_size); |
16873 |
std::__merge_adaptive(__new_middle, __second_cut, __last, |
16874 |
__len1 - __len11, |
16875 |
__len2 - __len22, __buffer, __buffer_size); |
16876 |
} |
16877 |
} |
16878 |
|
16879 |
|
16880 |
|
16881 |
|
16882 |
|
16883 |
|
16884 |
template<typename _BidirectionalIterator, typename _Distance, typename _Pointer, |
16885 |
typename _Compare> |
16886 |
void |
16887 |
__merge_adaptive(_BidirectionalIterator __first, |
16888 |
_BidirectionalIterator __middle, |
16889 |
_BidirectionalIterator __last, |
16890 |
_Distance __len1, _Distance __len2, |
16891 |
_Pointer __buffer, _Distance __buffer_size, |
16892 |
_Compare __comp) |
16893 |
{ |
16894 |
if (__len1 <= __len2 && __len1 <= __buffer_size) |
16895 |
{ |
16896 |
_Pointer __buffer_end = std::copy(__first, __middle, __buffer); |
16897 |
std::merge(__buffer, __buffer_end, __middle, __last, __first, __comp); |
16898 |
} |
16899 |
else if (__len2 <= __buffer_size) |
16900 |
{ |
16901 |
_Pointer __buffer_end = std::copy(__middle, __last, __buffer); |
16902 |
std::__merge_backward(__first, __middle, __buffer, __buffer_end, |
16903 |
__last, __comp); |
16904 |
} |
16905 |
else |
16906 |
{ |
16907 |
_BidirectionalIterator __first_cut = __first; |
16908 |
_BidirectionalIterator __second_cut = __middle; |
16909 |
_Distance __len11 = 0; |
16910 |
_Distance __len22 = 0; |
16911 |
if (__len1 > __len2) |
16912 |
{ |
16913 |
__len11 = __len1 / 2; |
16914 |
std::advance(__first_cut, __len11); |
16915 |
__second_cut = std::lower_bound(__middle, __last, *__first_cut, |
16916 |
__comp); |
16917 |
__len22 = std::distance(__middle, __second_cut); |
16918 |
} |
16919 |
else |
16920 |
{ |
16921 |
__len22 = __len2 / 2; |
16922 |
std::advance(__second_cut, __len22); |
16923 |
__first_cut = std::upper_bound(__first, __middle, *__second_cut, |
16924 |
__comp); |
16925 |
__len11 = std::distance(__first, __first_cut); |
16926 |
} |
16927 |
_BidirectionalIterator __new_middle = |
16928 |
std::__rotate_adaptive(__first_cut, __middle, __second_cut, |
16929 |
__len1 - __len11, __len22, __buffer, |
16930 |
__buffer_size); |
16931 |
std::__merge_adaptive(__first, __first_cut, __new_middle, __len11, |
16932 |
__len22, __buffer, __buffer_size, __comp); |
16933 |
std::__merge_adaptive(__new_middle, __second_cut, __last, |
16934 |
__len1 - __len11, |
16935 |
__len2 - __len22, __buffer, |
16936 |
__buffer_size, __comp); |
16937 |
} |
16938 |
} |
16939 |
# 3435 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
16940 |
template<typename _BidirectionalIterator> |
16941 |
void |
16942 |
inplace_merge(_BidirectionalIterator __first, |
16943 |
_BidirectionalIterator __middle, |
16944 |
_BidirectionalIterator __last) |
16945 |
{ |
16946 |
typedef typename iterator_traits<_BidirectionalIterator>::value_type |
16947 |
_ValueType; |
16948 |
typedef typename iterator_traits<_BidirectionalIterator>::difference_type |
16949 |
_DistanceType; |
16950 |
|
16951 |
|
16952 |
|
16953 |
|
16954 |
|
16955 |
; |
16956 |
; |
16957 |
|
16958 |
if (__first == __middle || __middle == __last) |
16959 |
return; |
16960 |
|
16961 |
_DistanceType __len1 = std::distance(__first, __middle); |
16962 |
_DistanceType __len2 = std::distance(__middle, __last); |
16963 |
|
16964 |
_Temporary_buffer<_BidirectionalIterator, _ValueType> __buf(__first, |
16965 |
__last); |
16966 |
if (__buf.begin() == 0) |
16967 |
std::__merge_without_buffer(__first, __middle, __last, __len1, __len2); |
16968 |
else |
16969 |
std::__merge_adaptive(__first, __middle, __last, __len1, __len2, |
16970 |
__buf.begin(), _DistanceType(__buf.size())); |
16971 |
} |
16972 |
# 3489 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
16973 |
template<typename _BidirectionalIterator, typename _Compare> |
16974 |
void |
16975 |
inplace_merge(_BidirectionalIterator __first, |
16976 |
_BidirectionalIterator __middle, |
16977 |
_BidirectionalIterator __last, |
16978 |
_Compare __comp) |
16979 |
{ |
16980 |
typedef typename iterator_traits<_BidirectionalIterator>::value_type |
16981 |
_ValueType; |
16982 |
typedef typename iterator_traits<_BidirectionalIterator>::difference_type |
16983 |
_DistanceType; |
16984 |
|
16985 |
|
16986 |
|
16987 |
|
16988 |
|
16989 |
|
16990 |
; |
16991 |
; |
16992 |
|
16993 |
if (__first == __middle || __middle == __last) |
16994 |
return; |
16995 |
|
16996 |
const _DistanceType __len1 = std::distance(__first, __middle); |
16997 |
const _DistanceType __len2 = std::distance(__middle, __last); |
16998 |
|
16999 |
_Temporary_buffer<_BidirectionalIterator, _ValueType> __buf(__first, |
17000 |
__last); |
17001 |
if (__buf.begin() == 0) |
17002 |
std::__merge_without_buffer(__first, __middle, __last, __len1, |
17003 |
__len2, __comp); |
17004 |
else |
17005 |
std::__merge_adaptive(__first, __middle, __last, __len1, __len2, |
17006 |
__buf.begin(), _DistanceType(__buf.size()), |
17007 |
__comp); |
17008 |
} |
17009 |
|
17010 |
template<typename _RandomAccessIterator, typename _Pointer, |
17011 |
typename _Distance> |
17012 |
void |
17013 |
__stable_sort_adaptive(_RandomAccessIterator __first, |
17014 |
_RandomAccessIterator __last, |
17015 |
_Pointer __buffer, _Distance __buffer_size) |
17016 |
{ |
17017 |
const _Distance __len = (__last - __first + 1) / 2; |
17018 |
const _RandomAccessIterator __middle = __first + __len; |
17019 |
if (__len > __buffer_size) |
17020 |
{ |
17021 |
std::__stable_sort_adaptive(__first, __middle, |
17022 |
__buffer, __buffer_size); |
17023 |
std::__stable_sort_adaptive(__middle, __last, |
17024 |
__buffer, __buffer_size); |
17025 |
} |
17026 |
else |
17027 |
{ |
17028 |
std::__merge_sort_with_buffer(__first, __middle, __buffer); |
17029 |
std::__merge_sort_with_buffer(__middle, __last, __buffer); |
17030 |
} |
17031 |
std::__merge_adaptive(__first, __middle, __last, |
17032 |
_Distance(__middle - __first), |
17033 |
_Distance(__last - __middle), |
17034 |
__buffer, __buffer_size); |
17035 |
} |
17036 |
|
17037 |
template<typename _RandomAccessIterator, typename _Pointer, |
17038 |
typename _Distance, typename _Compare> |
17039 |
void |
17040 |
__stable_sort_adaptive(_RandomAccessIterator __first, |
17041 |
_RandomAccessIterator __last, |
17042 |
_Pointer __buffer, _Distance __buffer_size, |
17043 |
_Compare __comp) |
17044 |
{ |
17045 |
const _Distance __len = (__last - __first + 1) / 2; |
17046 |
const _RandomAccessIterator __middle = __first + __len; |
17047 |
if (__len > __buffer_size) |
17048 |
{ |
17049 |
std::__stable_sort_adaptive(__first, __middle, __buffer, |
17050 |
__buffer_size, __comp); |
17051 |
std::__stable_sort_adaptive(__middle, __last, __buffer, |
17052 |
__buffer_size, __comp); |
17053 |
} |
17054 |
else |
17055 |
{ |
17056 |
std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp); |
17057 |
std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp); |
17058 |
} |
17059 |
std::__merge_adaptive(__first, __middle, __last, |
17060 |
_Distance(__middle - __first), |
17061 |
_Distance(__last - __middle), |
17062 |
__buffer, __buffer_size, |
17063 |
__comp); |
17064 |
} |
17065 |
# 3598 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17066 |
template<typename _RandomAccessIterator> |
17067 |
inline void |
17068 |
stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) |
17069 |
{ |
17070 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
17071 |
_ValueType; |
17072 |
typedef typename iterator_traits<_RandomAccessIterator>::difference_type |
17073 |
_DistanceType; |
17074 |
|
17075 |
|
17076 |
|
17077 |
|
17078 |
|
17079 |
; |
17080 |
|
17081 |
_Temporary_buffer<_RandomAccessIterator, _ValueType> |
17082 |
buf(__first, __last); |
17083 |
if (buf.begin() == 0) |
17084 |
std::__inplace_stable_sort(__first, __last); |
17085 |
else |
17086 |
std::__stable_sort_adaptive(__first, __last, buf.begin(), |
17087 |
_DistanceType(buf.size())); |
17088 |
} |
17089 |
# 3639 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17090 |
template<typename _RandomAccessIterator, typename _Compare> |
17091 |
inline void |
17092 |
stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, |
17093 |
_Compare __comp) |
17094 |
{ |
17095 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
17096 |
_ValueType; |
17097 |
typedef typename iterator_traits<_RandomAccessIterator>::difference_type |
17098 |
_DistanceType; |
17099 |
|
17100 |
|
17101 |
|
17102 |
|
17103 |
|
17104 |
|
17105 |
|
17106 |
; |
17107 |
|
17108 |
_Temporary_buffer<_RandomAccessIterator, _ValueType> buf(__first, __last); |
17109 |
if (buf.begin() == 0) |
17110 |
std::__inplace_stable_sort(__first, __last, __comp); |
17111 |
else |
17112 |
std::__stable_sort_adaptive(__first, __last, buf.begin(), |
17113 |
_DistanceType(buf.size()), __comp); |
17114 |
} |
17115 |
# 3680 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17116 |
template<typename _RandomAccessIterator> |
17117 |
void |
17118 |
nth_element(_RandomAccessIterator __first, |
17119 |
_RandomAccessIterator __nth, |
17120 |
_RandomAccessIterator __last) |
17121 |
{ |
17122 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
17123 |
_ValueType; |
17124 |
|
17125 |
|
17126 |
|
17127 |
|
17128 |
|
17129 |
; |
17130 |
; |
17131 |
|
17132 |
while (__last - __first > 3) |
17133 |
{ |
17134 |
_RandomAccessIterator __cut = |
17135 |
std::__unguarded_partition(__first, __last, |
17136 |
_ValueType(std::__median(*__first, |
17137 |
*(__first |
17138 |
+ (__last |
17139 |
- __first) |
17140 |
/ 2), |
17141 |
*(__last |
17142 |
- 1)))); |
17143 |
if (__cut <= __nth) |
17144 |
__first = __cut; |
17145 |
else |
17146 |
__last = __cut; |
17147 |
} |
17148 |
std::__insertion_sort(__first, __last); |
17149 |
} |
17150 |
# 3731 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17151 |
template<typename _RandomAccessIterator, typename _Compare> |
17152 |
void |
17153 |
nth_element(_RandomAccessIterator __first, |
17154 |
_RandomAccessIterator __nth, |
17155 |
_RandomAccessIterator __last, |
17156 |
_Compare __comp) |
17157 |
{ |
17158 |
typedef typename iterator_traits<_RandomAccessIterator>::value_type |
17159 |
_ValueType; |
17160 |
|
17161 |
|
17162 |
|
17163 |
|
17164 |
|
17165 |
|
17166 |
; |
17167 |
; |
17168 |
|
17169 |
while (__last - __first > 3) |
17170 |
{ |
17171 |
_RandomAccessIterator __cut = |
17172 |
std::__unguarded_partition(__first, __last, |
17173 |
_ValueType(std::__median(*__first, |
17174 |
*(__first |
17175 |
+ (__last |
17176 |
- __first) |
17177 |
/ 2), |
17178 |
*(__last - 1), |
17179 |
__comp)), __comp); |
17180 |
if (__cut <= __nth) |
17181 |
__first = __cut; |
17182 |
else |
17183 |
__last = __cut; |
17184 |
} |
17185 |
std::__insertion_sort(__first, __last, __comp); |
17186 |
} |
17187 |
# 3784 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17188 |
template<typename _ForwardIterator, typename _Tp> |
17189 |
pair<_ForwardIterator, _ForwardIterator> |
17190 |
equal_range(_ForwardIterator __first, _ForwardIterator __last, |
17191 |
const _Tp& __val) |
17192 |
{ |
17193 |
typedef typename iterator_traits<_ForwardIterator>::value_type |
17194 |
_ValueType; |
17195 |
typedef typename iterator_traits<_ForwardIterator>::difference_type |
17196 |
_DistanceType; |
17197 |
|
17198 |
|
17199 |
|
17200 |
|
17201 |
|
17202 |
|
17203 |
; |
17204 |
|
17205 |
_DistanceType __len = std::distance(__first, __last); |
17206 |
_DistanceType __half; |
17207 |
_ForwardIterator __middle, __left, __right; |
17208 |
|
17209 |
while (__len > 0) |
17210 |
{ |
17211 |
__half = __len >> 1; |
17212 |
__middle = __first; |
17213 |
std::advance(__middle, __half); |
17214 |
if (*__middle < __val) |
17215 |
{ |
17216 |
__first = __middle; |
17217 |
++__first; |
17218 |
__len = __len - __half - 1; |
17219 |
} |
17220 |
else if (__val < *__middle) |
17221 |
__len = __half; |
17222 |
else |
17223 |
{ |
17224 |
__left = std::lower_bound(__first, __middle, __val); |
17225 |
std::advance(__first, __len); |
17226 |
__right = std::upper_bound(++__middle, __first, __val); |
17227 |
return pair<_ForwardIterator, _ForwardIterator>(__left, __right); |
17228 |
} |
17229 |
} |
17230 |
return pair<_ForwardIterator, _ForwardIterator>(__first, __first); |
17231 |
} |
17232 |
# 3846 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17233 |
template<typename _ForwardIterator, typename _Tp, typename _Compare> |
17234 |
pair<_ForwardIterator, _ForwardIterator> |
17235 |
equal_range(_ForwardIterator __first, _ForwardIterator __last, |
17236 |
const _Tp& __val, |
17237 |
_Compare __comp) |
17238 |
{ |
17239 |
typedef typename iterator_traits<_ForwardIterator>::value_type |
17240 |
_ValueType; |
17241 |
typedef typename iterator_traits<_ForwardIterator>::difference_type |
17242 |
_DistanceType; |
17243 |
|
17244 |
|
17245 |
|
17246 |
|
17247 |
|
17248 |
|
17249 |
|
17250 |
; |
17251 |
|
17252 |
_DistanceType __len = std::distance(__first, __last); |
17253 |
_DistanceType __half; |
17254 |
_ForwardIterator __middle, __left, __right; |
17255 |
|
17256 |
while (__len > 0) |
17257 |
{ |
17258 |
__half = __len >> 1; |
17259 |
__middle = __first; |
17260 |
std::advance(__middle, __half); |
17261 |
if (__comp(*__middle, __val)) |
17262 |
{ |
17263 |
__first = __middle; |
17264 |
++__first; |
17265 |
__len = __len - __half - 1; |
17266 |
} |
17267 |
else if (__comp(__val, *__middle)) |
17268 |
__len = __half; |
17269 |
else |
17270 |
{ |
17271 |
__left = std::lower_bound(__first, __middle, __val, __comp); |
17272 |
std::advance(__first, __len); |
17273 |
__right = std::upper_bound(++__middle, __first, __val, __comp); |
17274 |
return pair<_ForwardIterator, _ForwardIterator>(__left, __right); |
17275 |
} |
17276 |
} |
17277 |
return pair<_ForwardIterator, _ForwardIterator>(__first, __first); |
17278 |
} |
17279 |
# 3904 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17280 |
template<typename _ForwardIterator, typename _Tp> |
17281 |
bool |
17282 |
binary_search(_ForwardIterator __first, _ForwardIterator __last, |
17283 |
const _Tp& __val) |
17284 |
{ |
17285 |
|
17286 |
|
17287 |
|
17288 |
|
17289 |
|
17290 |
|
17291 |
; |
17292 |
|
17293 |
_ForwardIterator __i = std::lower_bound(__first, __last, __val); |
17294 |
return __i != __last && !(__val < *__i); |
17295 |
} |
17296 |
# 3936 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17297 |
template<typename _ForwardIterator, typename _Tp, typename _Compare> |
17298 |
bool |
17299 |
binary_search(_ForwardIterator __first, _ForwardIterator __last, |
17300 |
const _Tp& __val, _Compare __comp) |
17301 |
{ |
17302 |
|
17303 |
|
17304 |
|
17305 |
|
17306 |
|
17307 |
|
17308 |
; |
17309 |
|
17310 |
_ForwardIterator __i = std::lower_bound(__first, __last, __val, __comp); |
17311 |
return __i != __last && !__comp(__val, *__i); |
17312 |
} |
17313 |
# 3974 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17314 |
template<typename _InputIterator1, typename _InputIterator2> |
17315 |
bool |
17316 |
includes(_InputIterator1 __first1, _InputIterator1 __last1, |
17317 |
_InputIterator2 __first2, _InputIterator2 __last2) |
17318 |
{ |
17319 |
|
17320 |
|
17321 |
|
17322 |
|
17323 |
|
17324 |
|
17325 |
|
17326 |
|
17327 |
; |
17328 |
; |
17329 |
|
17330 |
while (__first1 != __last1 && __first2 != __last2) |
17331 |
if (*__first2 < *__first1) |
17332 |
return false; |
17333 |
else if(*__first1 < *__first2) |
17334 |
++__first1; |
17335 |
else |
17336 |
++__first1, ++__first2; |
17337 |
|
17338 |
return __first2 == __last2; |
17339 |
} |
17340 |
# 4020 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17341 |
template<typename _InputIterator1, typename _InputIterator2, |
17342 |
typename _Compare> |
17343 |
bool |
17344 |
includes(_InputIterator1 __first1, _InputIterator1 __last1, |
17345 |
_InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp) |
17346 |
{ |
17347 |
|
17348 |
|
17349 |
|
17350 |
|
17351 |
|
17352 |
|
17353 |
|
17354 |
|
17355 |
|
17356 |
; |
17357 |
; |
17358 |
|
17359 |
while (__first1 != __last1 && __first2 != __last2) |
17360 |
if (__comp(*__first2, *__first1)) |
17361 |
return false; |
17362 |
else if(__comp(*__first1, *__first2)) |
17363 |
++__first1; |
17364 |
else |
17365 |
++__first1, ++__first2; |
17366 |
|
17367 |
return __first2 == __last2; |
17368 |
} |
17369 |
# 4066 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17370 |
template<typename _InputIterator1, typename _InputIterator2, |
17371 |
typename _OutputIterator> |
17372 |
_OutputIterator |
17373 |
set_union(_InputIterator1 __first1, _InputIterator1 __last1, |
17374 |
_InputIterator2 __first2, _InputIterator2 __last2, |
17375 |
_OutputIterator __result) |
17376 |
{ |
17377 |
|
17378 |
|
17379 |
|
17380 |
|
17381 |
|
17382 |
|
17383 |
|
17384 |
|
17385 |
|
17386 |
|
17387 |
; |
17388 |
; |
17389 |
|
17390 |
while (__first1 != __last1 && __first2 != __last2) |
17391 |
{ |
17392 |
if (*__first1 < *__first2) |
17393 |
{ |
17394 |
*__result = *__first1; |
17395 |
++__first1; |
17396 |
} |
17397 |
else if (*__first2 < *__first1) |
17398 |
{ |
17399 |
*__result = *__first2; |
17400 |
++__first2; |
17401 |
} |
17402 |
else |
17403 |
{ |
17404 |
*__result = *__first1; |
17405 |
++__first1; |
17406 |
++__first2; |
17407 |
} |
17408 |
++__result; |
17409 |
} |
17410 |
return std::copy(__first2, __last2, std::copy(__first1, __last1, |
17411 |
__result)); |
17412 |
} |
17413 |
# 4128 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17414 |
template<typename _InputIterator1, typename _InputIterator2, |
17415 |
typename _OutputIterator, typename _Compare> |
17416 |
_OutputIterator |
17417 |
set_union(_InputIterator1 __first1, _InputIterator1 __last1, |
17418 |
_InputIterator2 __first2, _InputIterator2 __last2, |
17419 |
_OutputIterator __result, _Compare __comp) |
17420 |
{ |
17421 |
|
17422 |
|
17423 |
|
17424 |
|
17425 |
|
17426 |
|
17427 |
|
17428 |
|
17429 |
|
17430 |
|
17431 |
|
17432 |
; |
17433 |
; |
17434 |
|
17435 |
while (__first1 != __last1 && __first2 != __last2) |
17436 |
{ |
17437 |
if (__comp(*__first1, *__first2)) |
17438 |
{ |
17439 |
*__result = *__first1; |
17440 |
++__first1; |
17441 |
} |
17442 |
else if (__comp(*__first2, *__first1)) |
17443 |
{ |
17444 |
*__result = *__first2; |
17445 |
++__first2; |
17446 |
} |
17447 |
else |
17448 |
{ |
17449 |
*__result = *__first1; |
17450 |
++__first1; |
17451 |
++__first2; |
17452 |
} |
17453 |
++__result; |
17454 |
} |
17455 |
return std::copy(__first2, __last2, std::copy(__first1, __last1, |
17456 |
__result)); |
17457 |
} |
17458 |
# 4189 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17459 |
template<typename _InputIterator1, typename _InputIterator2, |
17460 |
typename _OutputIterator> |
17461 |
_OutputIterator |
17462 |
set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, |
17463 |
_InputIterator2 __first2, _InputIterator2 __last2, |
17464 |
_OutputIterator __result) |
17465 |
{ |
17466 |
|
17467 |
|
17468 |
|
17469 |
|
17470 |
|
17471 |
|
17472 |
|
17473 |
|
17474 |
|
17475 |
|
17476 |
; |
17477 |
; |
17478 |
|
17479 |
while (__first1 != __last1 && __first2 != __last2) |
17480 |
if (*__first1 < *__first2) |
17481 |
++__first1; |
17482 |
else if (*__first2 < *__first1) |
17483 |
++__first2; |
17484 |
else |
17485 |
{ |
17486 |
*__result = *__first1; |
17487 |
++__first1; |
17488 |
++__first2; |
17489 |
++__result; |
17490 |
} |
17491 |
return __result; |
17492 |
} |
17493 |
# 4243 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17494 |
template<typename _InputIterator1, typename _InputIterator2, |
17495 |
typename _OutputIterator, typename _Compare> |
17496 |
_OutputIterator |
17497 |
set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, |
17498 |
_InputIterator2 __first2, _InputIterator2 __last2, |
17499 |
_OutputIterator __result, _Compare __comp) |
17500 |
{ |
17501 |
|
17502 |
|
17503 |
|
17504 |
|
17505 |
|
17506 |
|
17507 |
|
17508 |
|
17509 |
|
17510 |
|
17511 |
|
17512 |
; |
17513 |
; |
17514 |
|
17515 |
while (__first1 != __last1 && __first2 != __last2) |
17516 |
if (__comp(*__first1, *__first2)) |
17517 |
++__first1; |
17518 |
else if (__comp(*__first2, *__first1)) |
17519 |
++__first2; |
17520 |
else |
17521 |
{ |
17522 |
*__result = *__first1; |
17523 |
++__first1; |
17524 |
++__first2; |
17525 |
++__result; |
17526 |
} |
17527 |
return __result; |
17528 |
} |
17529 |
# 4297 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17530 |
template<typename _InputIterator1, typename _InputIterator2, |
17531 |
typename _OutputIterator> |
17532 |
_OutputIterator |
17533 |
set_difference(_InputIterator1 __first1, _InputIterator1 __last1, |
17534 |
_InputIterator2 __first2, _InputIterator2 __last2, |
17535 |
_OutputIterator __result) |
17536 |
{ |
17537 |
|
17538 |
|
17539 |
|
17540 |
|
17541 |
|
17542 |
|
17543 |
|
17544 |
|
17545 |
|
17546 |
|
17547 |
; |
17548 |
; |
17549 |
|
17550 |
while (__first1 != __last1 && __first2 != __last2) |
17551 |
if (*__first1 < *__first2) |
17552 |
{ |
17553 |
*__result = *__first1; |
17554 |
++__first1; |
17555 |
++__result; |
17556 |
} |
17557 |
else if (*__first2 < *__first1) |
17558 |
++__first2; |
17559 |
else |
17560 |
{ |
17561 |
++__first1; |
17562 |
++__first2; |
17563 |
} |
17564 |
return std::copy(__first1, __last1, __result); |
17565 |
} |
17566 |
# 4355 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17567 |
template<typename _InputIterator1, typename _InputIterator2, |
17568 |
typename _OutputIterator, typename _Compare> |
17569 |
_OutputIterator |
17570 |
set_difference(_InputIterator1 __first1, _InputIterator1 __last1, |
17571 |
_InputIterator2 __first2, _InputIterator2 __last2, |
17572 |
_OutputIterator __result, _Compare __comp) |
17573 |
{ |
17574 |
|
17575 |
|
17576 |
|
17577 |
|
17578 |
|
17579 |
|
17580 |
|
17581 |
|
17582 |
|
17583 |
|
17584 |
|
17585 |
; |
17586 |
; |
17587 |
|
17588 |
while (__first1 != __last1 && __first2 != __last2) |
17589 |
if (__comp(*__first1, *__first2)) |
17590 |
{ |
17591 |
*__result = *__first1; |
17592 |
++__first1; |
17593 |
++__result; |
17594 |
} |
17595 |
else if (__comp(*__first2, *__first1)) |
17596 |
++__first2; |
17597 |
else |
17598 |
{ |
17599 |
++__first1; |
17600 |
++__first2; |
17601 |
} |
17602 |
return std::copy(__first1, __last1, __result); |
17603 |
} |
17604 |
# 4409 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17605 |
template<typename _InputIterator1, typename _InputIterator2, |
17606 |
typename _OutputIterator> |
17607 |
_OutputIterator |
17608 |
set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, |
17609 |
_InputIterator2 __first2, _InputIterator2 __last2, |
17610 |
_OutputIterator __result) |
17611 |
{ |
17612 |
|
17613 |
|
17614 |
|
17615 |
|
17616 |
|
17617 |
|
17618 |
|
17619 |
|
17620 |
|
17621 |
|
17622 |
; |
17623 |
; |
17624 |
|
17625 |
while (__first1 != __last1 && __first2 != __last2) |
17626 |
if (*__first1 < *__first2) |
17627 |
{ |
17628 |
*__result = *__first1; |
17629 |
++__first1; |
17630 |
++__result; |
17631 |
} |
17632 |
else if (*__first2 < *__first1) |
17633 |
{ |
17634 |
*__result = *__first2; |
17635 |
++__first2; |
17636 |
++__result; |
17637 |
} |
17638 |
else |
17639 |
{ |
17640 |
++__first1; |
17641 |
++__first2; |
17642 |
} |
17643 |
return std::copy(__first2, __last2, std::copy(__first1, |
17644 |
__last1, __result)); |
17645 |
} |
17646 |
# 4470 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17647 |
template<typename _InputIterator1, typename _InputIterator2, |
17648 |
typename _OutputIterator, typename _Compare> |
17649 |
_OutputIterator |
17650 |
set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, |
17651 |
_InputIterator2 __first2, _InputIterator2 __last2, |
17652 |
_OutputIterator __result, |
17653 |
_Compare __comp) |
17654 |
{ |
17655 |
|
17656 |
|
17657 |
|
17658 |
|
17659 |
|
17660 |
|
17661 |
|
17662 |
|
17663 |
|
17664 |
|
17665 |
|
17666 |
; |
17667 |
; |
17668 |
|
17669 |
while (__first1 != __last1 && __first2 != __last2) |
17670 |
if (__comp(*__first1, *__first2)) |
17671 |
{ |
17672 |
*__result = *__first1; |
17673 |
++__first1; |
17674 |
++__result; |
17675 |
} |
17676 |
else if (__comp(*__first2, *__first1)) |
17677 |
{ |
17678 |
*__result = *__first2; |
17679 |
++__first2; |
17680 |
++__result; |
17681 |
} |
17682 |
else |
17683 |
{ |
17684 |
++__first1; |
17685 |
++__first2; |
17686 |
} |
17687 |
return std::copy(__first2, __last2, std::copy(__first1, |
17688 |
__last1, __result)); |
17689 |
} |
17690 |
# 4523 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17691 |
template<typename _ForwardIterator> |
17692 |
_ForwardIterator |
17693 |
max_element(_ForwardIterator __first, _ForwardIterator __last) |
17694 |
{ |
17695 |
|
17696 |
|
17697 |
|
17698 |
|
17699 |
; |
17700 |
|
17701 |
if (__first == __last) |
17702 |
return __first; |
17703 |
_ForwardIterator __result = __first; |
17704 |
while (++__first != __last) |
17705 |
if (*__result < *__first) |
17706 |
__result = __first; |
17707 |
return __result; |
17708 |
} |
17709 |
# 4550 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17710 |
template<typename _ForwardIterator, typename _Compare> |
17711 |
_ForwardIterator |
17712 |
max_element(_ForwardIterator __first, _ForwardIterator __last, |
17713 |
_Compare __comp) |
17714 |
{ |
17715 |
|
17716 |
|
17717 |
|
17718 |
|
17719 |
|
17720 |
; |
17721 |
|
17722 |
if (__first == __last) return __first; |
17723 |
_ForwardIterator __result = __first; |
17724 |
while (++__first != __last) |
17725 |
if (__comp(*__result, *__first)) __result = __first; |
17726 |
return __result; |
17727 |
} |
17728 |
|
17729 |
|
17730 |
|
17731 |
|
17732 |
|
17733 |
|
17734 |
|
17735 |
template<typename _ForwardIterator> |
17736 |
_ForwardIterator |
17737 |
min_element(_ForwardIterator __first, _ForwardIterator __last) |
17738 |
{ |
17739 |
|
17740 |
|
17741 |
|
17742 |
|
17743 |
; |
17744 |
|
17745 |
if (__first == __last) |
17746 |
return __first; |
17747 |
_ForwardIterator __result = __first; |
17748 |
while (++__first != __last) |
17749 |
if (*__first < *__result) |
17750 |
__result = __first; |
17751 |
return __result; |
17752 |
} |
17753 |
# 4602 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17754 |
template<typename _ForwardIterator, typename _Compare> |
17755 |
_ForwardIterator |
17756 |
min_element(_ForwardIterator __first, _ForwardIterator __last, |
17757 |
_Compare __comp) |
17758 |
{ |
17759 |
|
17760 |
|
17761 |
|
17762 |
|
17763 |
|
17764 |
; |
17765 |
|
17766 |
if (__first == __last) |
17767 |
return __first; |
17768 |
_ForwardIterator __result = __first; |
17769 |
while (++__first != __last) |
17770 |
if (__comp(*__first, *__result)) |
17771 |
__result = __first; |
17772 |
return __result; |
17773 |
} |
17774 |
# 4637 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17775 |
template<typename _BidirectionalIterator> |
17776 |
bool |
17777 |
next_permutation(_BidirectionalIterator __first, |
17778 |
_BidirectionalIterator __last) |
17779 |
{ |
17780 |
|
17781 |
|
17782 |
|
17783 |
|
17784 |
|
17785 |
; |
17786 |
|
17787 |
if (__first == __last) |
17788 |
return false; |
17789 |
_BidirectionalIterator __i = __first; |
17790 |
++__i; |
17791 |
if (__i == __last) |
17792 |
return false; |
17793 |
__i = __last; |
17794 |
--__i; |
17795 |
|
17796 |
for(;;) |
17797 |
{ |
17798 |
_BidirectionalIterator __ii = __i; |
17799 |
--__i; |
17800 |
if (*__i < *__ii) |
17801 |
{ |
17802 |
_BidirectionalIterator __j = __last; |
17803 |
while (!(*__i < *--__j)) |
17804 |
{} |
17805 |
std::iter_swap(__i, __j); |
17806 |
std::reverse(__ii, __last); |
17807 |
return true; |
17808 |
} |
17809 |
if (__i == __first) |
17810 |
{ |
17811 |
std::reverse(__first, __last); |
17812 |
return false; |
17813 |
} |
17814 |
} |
17815 |
} |
17816 |
# 4693 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17817 |
template<typename _BidirectionalIterator, typename _Compare> |
17818 |
bool |
17819 |
next_permutation(_BidirectionalIterator __first, |
17820 |
_BidirectionalIterator __last, _Compare __comp) |
17821 |
{ |
17822 |
|
17823 |
|
17824 |
|
17825 |
|
17826 |
|
17827 |
|
17828 |
; |
17829 |
|
17830 |
if (__first == __last) |
17831 |
return false; |
17832 |
_BidirectionalIterator __i = __first; |
17833 |
++__i; |
17834 |
if (__i == __last) |
17835 |
return false; |
17836 |
__i = __last; |
17837 |
--__i; |
17838 |
|
17839 |
for(;;) |
17840 |
{ |
17841 |
_BidirectionalIterator __ii = __i; |
17842 |
--__i; |
17843 |
if (__comp(*__i, *__ii)) |
17844 |
{ |
17845 |
_BidirectionalIterator __j = __last; |
17846 |
while (!__comp(*__i, *--__j)) |
17847 |
{} |
17848 |
std::iter_swap(__i, __j); |
17849 |
std::reverse(__ii, __last); |
17850 |
return true; |
17851 |
} |
17852 |
if (__i == __first) |
17853 |
{ |
17854 |
std::reverse(__first, __last); |
17855 |
return false; |
17856 |
} |
17857 |
} |
17858 |
} |
17859 |
# 4748 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17860 |
template<typename _BidirectionalIterator> |
17861 |
bool |
17862 |
prev_permutation(_BidirectionalIterator __first, |
17863 |
_BidirectionalIterator __last) |
17864 |
{ |
17865 |
|
17866 |
|
17867 |
|
17868 |
|
17869 |
|
17870 |
; |
17871 |
|
17872 |
if (__first == __last) |
17873 |
return false; |
17874 |
_BidirectionalIterator __i = __first; |
17875 |
++__i; |
17876 |
if (__i == __last) |
17877 |
return false; |
17878 |
__i = __last; |
17879 |
--__i; |
17880 |
|
17881 |
for(;;) |
17882 |
{ |
17883 |
_BidirectionalIterator __ii = __i; |
17884 |
--__i; |
17885 |
if (*__ii < *__i) |
17886 |
{ |
17887 |
_BidirectionalIterator __j = __last; |
17888 |
while (!(*--__j < *__i)) |
17889 |
{} |
17890 |
std::iter_swap(__i, __j); |
17891 |
std::reverse(__ii, __last); |
17892 |
return true; |
17893 |
} |
17894 |
if (__i == __first) |
17895 |
{ |
17896 |
std::reverse(__first, __last); |
17897 |
return false; |
17898 |
} |
17899 |
} |
17900 |
} |
17901 |
# 4804 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17902 |
template<typename _BidirectionalIterator, typename _Compare> |
17903 |
bool |
17904 |
prev_permutation(_BidirectionalIterator __first, |
17905 |
_BidirectionalIterator __last, _Compare __comp) |
17906 |
{ |
17907 |
|
17908 |
|
17909 |
|
17910 |
|
17911 |
|
17912 |
|
17913 |
; |
17914 |
|
17915 |
if (__first == __last) |
17916 |
return false; |
17917 |
_BidirectionalIterator __i = __first; |
17918 |
++__i; |
17919 |
if (__i == __last) |
17920 |
return false; |
17921 |
__i = __last; |
17922 |
--__i; |
17923 |
|
17924 |
for(;;) |
17925 |
{ |
17926 |
_BidirectionalIterator __ii = __i; |
17927 |
--__i; |
17928 |
if (__comp(*__ii, *__i)) |
17929 |
{ |
17930 |
_BidirectionalIterator __j = __last; |
17931 |
while (!__comp(*--__j, *__i)) |
17932 |
{} |
17933 |
std::iter_swap(__i, __j); |
17934 |
std::reverse(__ii, __last); |
17935 |
return true; |
17936 |
} |
17937 |
if (__i == __first) |
17938 |
{ |
17939 |
std::reverse(__first, __last); |
17940 |
return false; |
17941 |
} |
17942 |
} |
17943 |
} |
17944 |
# 4863 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17945 |
template<typename _InputIterator, typename _ForwardIterator> |
17946 |
_InputIterator |
17947 |
find_first_of(_InputIterator __first1, _InputIterator __last1, |
17948 |
_ForwardIterator __first2, _ForwardIterator __last2) |
17949 |
{ |
17950 |
|
17951 |
|
17952 |
|
17953 |
|
17954 |
|
17955 |
|
17956 |
; |
17957 |
; |
17958 |
|
17959 |
for ( ; __first1 != __last1; ++__first1) |
17960 |
for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) |
17961 |
if (*__first1 == *__iter) |
17962 |
return __first1; |
17963 |
return __last1; |
17964 |
} |
17965 |
# 4899 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17966 |
template<typename _InputIterator, typename _ForwardIterator, |
17967 |
typename _BinaryPredicate> |
17968 |
_InputIterator |
17969 |
find_first_of(_InputIterator __first1, _InputIterator __last1, |
17970 |
_ForwardIterator __first2, _ForwardIterator __last2, |
17971 |
_BinaryPredicate __comp) |
17972 |
{ |
17973 |
|
17974 |
|
17975 |
|
17976 |
|
17977 |
|
17978 |
|
17979 |
; |
17980 |
; |
17981 |
|
17982 |
for ( ; __first1 != __last1; ++__first1) |
17983 |
for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) |
17984 |
if (__comp(*__first1, *__iter)) |
17985 |
return __first1; |
17986 |
return __last1; |
17987 |
} |
17988 |
# 4929 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
17989 |
template<typename _ForwardIterator1, typename _ForwardIterator2> |
17990 |
_ForwardIterator1 |
17991 |
__find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, |
17992 |
_ForwardIterator2 __first2, _ForwardIterator2 __last2, |
17993 |
forward_iterator_tag, forward_iterator_tag) |
17994 |
{ |
17995 |
if (__first2 == __last2) |
17996 |
return __last1; |
17997 |
else |
17998 |
{ |
17999 |
_ForwardIterator1 __result = __last1; |
18000 |
while (1) |
18001 |
{ |
18002 |
_ForwardIterator1 __new_result |
18003 |
= std::search(__first1, __last1, __first2, __last2); |
18004 |
if (__new_result == __last1) |
18005 |
return __result; |
18006 |
else |
18007 |
{ |
18008 |
__result = __new_result; |
18009 |
__first1 = __new_result; |
18010 |
++__first1; |
18011 |
} |
18012 |
} |
18013 |
} |
18014 |
} |
18015 |
|
18016 |
template<typename _ForwardIterator1, typename _ForwardIterator2, |
18017 |
typename _BinaryPredicate> |
18018 |
_ForwardIterator1 |
18019 |
__find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, |
18020 |
_ForwardIterator2 __first2, _ForwardIterator2 __last2, |
18021 |
forward_iterator_tag, forward_iterator_tag, |
18022 |
_BinaryPredicate __comp) |
18023 |
{ |
18024 |
if (__first2 == __last2) |
18025 |
return __last1; |
18026 |
else |
18027 |
{ |
18028 |
_ForwardIterator1 __result = __last1; |
18029 |
while (1) |
18030 |
{ |
18031 |
_ForwardIterator1 __new_result |
18032 |
= std::search(__first1, __last1, __first2, __last2, __comp); |
18033 |
if (__new_result == __last1) |
18034 |
return __result; |
18035 |
else |
18036 |
{ |
18037 |
__result = __new_result; |
18038 |
__first1 = __new_result; |
18039 |
++__first1; |
18040 |
} |
18041 |
} |
18042 |
} |
18043 |
} |
18044 |
|
18045 |
|
18046 |
template<typename _BidirectionalIterator1, typename _BidirectionalIterator2> |
18047 |
_BidirectionalIterator1 |
18048 |
__find_end(_BidirectionalIterator1 __first1, |
18049 |
_BidirectionalIterator1 __last1, |
18050 |
_BidirectionalIterator2 __first2, |
18051 |
_BidirectionalIterator2 __last2, |
18052 |
bidirectional_iterator_tag, bidirectional_iterator_tag) |
18053 |
{ |
18054 |
|
18055 |
|
18056 |
|
18057 |
|
18058 |
|
18059 |
|
18060 |
typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1; |
18061 |
typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2; |
18062 |
|
18063 |
_RevIterator1 __rlast1(__first1); |
18064 |
_RevIterator2 __rlast2(__first2); |
18065 |
_RevIterator1 __rresult = std::search(_RevIterator1(__last1), __rlast1, |
18066 |
_RevIterator2(__last2), __rlast2); |
18067 |
|
18068 |
if (__rresult == __rlast1) |
18069 |
return __last1; |
18070 |
else |
18071 |
{ |
18072 |
_BidirectionalIterator1 __result = __rresult.base(); |
18073 |
std::advance(__result, -std::distance(__first2, __last2)); |
18074 |
return __result; |
18075 |
} |
18076 |
} |
18077 |
|
18078 |
template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, |
18079 |
typename _BinaryPredicate> |
18080 |
_BidirectionalIterator1 |
18081 |
__find_end(_BidirectionalIterator1 __first1, |
18082 |
_BidirectionalIterator1 __last1, |
18083 |
_BidirectionalIterator2 __first2, |
18084 |
_BidirectionalIterator2 __last2, |
18085 |
bidirectional_iterator_tag, bidirectional_iterator_tag, |
18086 |
_BinaryPredicate __comp) |
18087 |
{ |
18088 |
|
18089 |
|
18090 |
|
18091 |
|
18092 |
|
18093 |
|
18094 |
typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1; |
18095 |
typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2; |
18096 |
|
18097 |
_RevIterator1 __rlast1(__first1); |
18098 |
_RevIterator2 __rlast2(__first2); |
18099 |
_RevIterator1 __rresult = std::search(_RevIterator1(__last1), __rlast1, |
18100 |
_RevIterator2(__last2), __rlast2, |
18101 |
__comp); |
18102 |
|
18103 |
if (__rresult == __rlast1) |
18104 |
return __last1; |
18105 |
else |
18106 |
{ |
18107 |
_BidirectionalIterator1 __result = __rresult.base(); |
18108 |
std::advance(__result, -std::distance(__first2, __last2)); |
18109 |
return __result; |
18110 |
} |
18111 |
} |
18112 |
# 5079 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
18113 |
template<typename _ForwardIterator1, typename _ForwardIterator2> |
18114 |
inline _ForwardIterator1 |
18115 |
find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, |
18116 |
_ForwardIterator2 __first2, _ForwardIterator2 __last2) |
18117 |
{ |
18118 |
|
18119 |
|
18120 |
|
18121 |
|
18122 |
|
18123 |
|
18124 |
; |
18125 |
; |
18126 |
|
18127 |
return std::__find_end(__first1, __last1, __first2, __last2, |
18128 |
std::__iterator_category(__first1), |
18129 |
std::__iterator_category(__first2)); |
18130 |
} |
18131 |
# 5124 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_algo.h" 3 |
18132 |
template<typename _ForwardIterator1, typename _ForwardIterator2, |
18133 |
typename _BinaryPredicate> |
18134 |
inline _ForwardIterator1 |
18135 |
find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, |
18136 |
_ForwardIterator2 __first2, _ForwardIterator2 __last2, |
18137 |
_BinaryPredicate __comp) |
18138 |
{ |
18139 |
|
18140 |
|
18141 |
|
18142 |
|
18143 |
|
18144 |
|
18145 |
; |
18146 |
; |
18147 |
|
18148 |
return std::__find_end(__first1, __last1, __first2, __last2, |
18149 |
std::__iterator_category(__first1), |
18150 |
std::__iterator_category(__first2), |
18151 |
__comp); |
18152 |
} |
18153 |
|
18154 |
} |
18155 |
# 70 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/algorithm" 2 3 |
18156 |
# 57 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/string" 2 3 |
18157 |
# 1 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.tcc" 1 3 |
18158 |
# 44 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.tcc" 3 |
18159 |
|
18160 |
# 45 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.tcc" 3 |
18161 |
|
18162 |
namespace std |
18163 |
{ |
18164 |
template<typename _Type> |
18165 |
inline bool |
18166 |
__is_null_pointer(_Type* __ptr) |
18167 |
{ return __ptr == 0; } |
18168 |
|
18169 |
template<typename _Type> |
18170 |
inline bool |
18171 |
__is_null_pointer(_Type) |
18172 |
{ return false; } |
18173 |
|
18174 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18175 |
const typename basic_string<_CharT, _Traits, _Alloc>::size_type |
18176 |
basic_string<_CharT, _Traits, _Alloc>:: |
18177 |
_Rep::_S_max_size = (((npos - sizeof(_Rep_base))/sizeof(_CharT)) - 1) / 4; |
18178 |
|
18179 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18180 |
const _CharT |
18181 |
basic_string<_CharT, _Traits, _Alloc>:: |
18182 |
_Rep::_S_terminal = _CharT(); |
18183 |
|
18184 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18185 |
const typename basic_string<_CharT, _Traits, _Alloc>::size_type |
18186 |
basic_string<_CharT, _Traits, _Alloc>::npos; |
18187 |
|
18188 |
|
18189 |
|
18190 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18191 |
typename basic_string<_CharT, _Traits, _Alloc>::size_type |
18192 |
basic_string<_CharT, _Traits, _Alloc>::_Rep::_S_empty_rep_storage[ |
18193 |
(sizeof(_Rep_base) + sizeof(_CharT) + sizeof(size_type) - 1) / |
18194 |
sizeof(size_type)]; |
18195 |
|
18196 |
|
18197 |
|
18198 |
|
18199 |
|
18200 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18201 |
template<typename _InIterator> |
18202 |
_CharT* |
18203 |
basic_string<_CharT, _Traits, _Alloc>:: |
18204 |
_S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, |
18205 |
input_iterator_tag) |
18206 |
{ |
18207 |
|
18208 |
if (__beg == __end && __a == _Alloc()) |
18209 |
return _S_empty_rep()._M_refdata(); |
18210 |
|
18211 |
|
18212 |
_CharT __buf[128]; |
18213 |
size_type __len = 0; |
18214 |
while (__beg != __end && __len < sizeof(__buf) / sizeof(_CharT)) |
18215 |
{ |
18216 |
__buf[__len++] = *__beg; |
18217 |
++__beg; |
18218 |
} |
18219 |
_Rep* __r = _Rep::_S_create(__len, size_type(0), __a); |
18220 |
traits_type::copy(__r->_M_refdata(), __buf, __len); |
18221 |
try |
18222 |
{ |
18223 |
while (__beg != __end) |
18224 |
{ |
18225 |
if (__len == __r->_M_capacity) |
18226 |
{ |
18227 |
|
18228 |
_Rep* __another = _Rep::_S_create(__len + 1, __len, __a); |
18229 |
traits_type::copy(__another->_M_refdata(), |
18230 |
__r->_M_refdata(), __len); |
18231 |
__r->_M_destroy(__a); |
18232 |
__r = __another; |
18233 |
} |
18234 |
__r->_M_refdata()[__len++] = *__beg; |
18235 |
++__beg; |
18236 |
} |
18237 |
} |
18238 |
catch(...) |
18239 |
{ |
18240 |
__r->_M_destroy(__a); |
18241 |
throw; |
18242 |
} |
18243 |
__r->_M_length = __len; |
18244 |
__r->_M_refdata()[__len] = _Rep::_S_terminal; |
18245 |
return __r->_M_refdata(); |
18246 |
} |
18247 |
|
18248 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18249 |
template <typename _InIterator> |
18250 |
_CharT* |
18251 |
basic_string<_CharT, _Traits, _Alloc>:: |
18252 |
_S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, |
18253 |
forward_iterator_tag) |
18254 |
{ |
18255 |
|
18256 |
if (__beg == __end && __a == _Alloc()) |
18257 |
return _S_empty_rep()._M_refdata(); |
18258 |
|
18259 |
|
18260 |
if (__builtin_expect(__is_null_pointer(__beg) && __beg != __end, 0)) |
18261 |
__throw_logic_error(("basic_string::_S_construct NULL not valid")); |
18262 |
|
18263 |
const size_type __dnew = static_cast<size_type>(std::distance(__beg, |
18264 |
__end)); |
18265 |
|
18266 |
_Rep* __r = _Rep::_S_create(__dnew, size_type(0), __a); |
18267 |
try |
18268 |
{ _S_copy_chars(__r->_M_refdata(), __beg, __end); } |
18269 |
catch(...) |
18270 |
{ |
18271 |
__r->_M_destroy(__a); |
18272 |
throw; |
18273 |
} |
18274 |
__r->_M_length = __dnew; |
18275 |
__r->_M_refdata()[__dnew] = _Rep::_S_terminal; |
18276 |
return __r->_M_refdata(); |
18277 |
} |
18278 |
|
18279 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18280 |
_CharT* |
18281 |
basic_string<_CharT, _Traits, _Alloc>:: |
18282 |
_S_construct(size_type __n, _CharT __c, const _Alloc& __a) |
18283 |
{ |
18284 |
|
18285 |
if (__n == 0 && __a == _Alloc()) |
18286 |
return _S_empty_rep()._M_refdata(); |
18287 |
|
18288 |
|
18289 |
_Rep* __r = _Rep::_S_create(__n, size_type(0), __a); |
18290 |
if (__n) |
18291 |
traits_type::assign(__r->_M_refdata(), __n, __c); |
18292 |
|
18293 |
__r->_M_length = __n; |
18294 |
__r->_M_refdata()[__n] = _Rep::_S_terminal; |
18295 |
return __r->_M_refdata(); |
18296 |
} |
18297 |
|
18298 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18299 |
basic_string<_CharT, _Traits, _Alloc>:: |
18300 |
basic_string(const basic_string& __str) |
18301 |
: _M_dataplus(__str._M_rep()->_M_grab(_Alloc(__str.get_allocator()), |
18302 |
__str.get_allocator()), |
18303 |
__str.get_allocator()) |
18304 |
{ } |
18305 |
|
18306 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18307 |
basic_string<_CharT, _Traits, _Alloc>:: |
18308 |
basic_string(const _Alloc& __a) |
18309 |
: _M_dataplus(_S_construct(size_type(), _CharT(), __a), __a) |
18310 |
{ } |
18311 |
|
18312 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18313 |
basic_string<_CharT, _Traits, _Alloc>:: |
18314 |
basic_string(const basic_string& __str, size_type __pos, size_type __n) |
18315 |
: _M_dataplus(_S_construct(__str._M_data() |
18316 |
+ __str._M_check(__pos, |
18317 |
"basic_string::basic_string"), |
18318 |
__str._M_data() + __str._M_limit(__pos, __n) |
18319 |
+ __pos, _Alloc()), _Alloc()) |
18320 |
{ } |
18321 |
|
18322 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18323 |
basic_string<_CharT, _Traits, _Alloc>:: |
18324 |
basic_string(const basic_string& __str, size_type __pos, |
18325 |
size_type __n, const _Alloc& __a) |
18326 |
: _M_dataplus(_S_construct(__str._M_data() |
18327 |
+ __str._M_check(__pos, |
18328 |
"basic_string::basic_string"), |
18329 |
__str._M_data() + __str._M_limit(__pos, __n) |
18330 |
+ __pos, __a), __a) |
18331 |
{ } |
18332 |
|
18333 |
|
18334 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18335 |
basic_string<_CharT, _Traits, _Alloc>:: |
18336 |
basic_string(const _CharT* __s, size_type __n, const _Alloc& __a) |
18337 |
: _M_dataplus(_S_construct(__s, __s + __n, __a), __a) |
18338 |
{ } |
18339 |
|
18340 |
|
18341 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18342 |
basic_string<_CharT, _Traits, _Alloc>:: |
18343 |
basic_string(const _CharT* __s, const _Alloc& __a) |
18344 |
: _M_dataplus(_S_construct(__s, __s ? __s + traits_type::length(__s) : |
18345 |
__s + npos, __a), __a) |
18346 |
{ } |
18347 |
|
18348 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18349 |
basic_string<_CharT, _Traits, _Alloc>:: |
18350 |
basic_string(size_type __n, _CharT __c, const _Alloc& __a) |
18351 |
: _M_dataplus(_S_construct(__n, __c, __a), __a) |
18352 |
{ } |
18353 |
|
18354 |
|
18355 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18356 |
template<typename _InputIterator> |
18357 |
basic_string<_CharT, _Traits, _Alloc>:: |
18358 |
basic_string(_InputIterator __beg, _InputIterator __end, const _Alloc& __a) |
18359 |
: _M_dataplus(_S_construct(__beg, __end, __a), __a) |
18360 |
{ } |
18361 |
|
18362 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18363 |
basic_string<_CharT, _Traits, _Alloc>& |
18364 |
basic_string<_CharT, _Traits, _Alloc>:: |
18365 |
assign(const basic_string& __str) |
18366 |
{ |
18367 |
if (_M_rep() != __str._M_rep()) |
18368 |
{ |
18369 |
|
18370 |
const allocator_type __a = this->get_allocator(); |
18371 |
_CharT* __tmp = __str._M_rep()->_M_grab(__a, __str.get_allocator()); |
18372 |
_M_rep()->_M_dispose(__a); |
18373 |
_M_data(__tmp); |
18374 |
} |
18375 |
return *this; |
18376 |
} |
18377 |
|
18378 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18379 |
basic_string<_CharT, _Traits, _Alloc>& |
18380 |
basic_string<_CharT, _Traits, _Alloc>:: |
18381 |
assign(const _CharT* __s, size_type __n) |
18382 |
{ |
18383 |
; |
18384 |
if (__n > this->max_size()) |
18385 |
__throw_length_error(("basic_string::assign")); |
18386 |
if (_M_rep()->_M_is_shared() || less<const _CharT*>()(__s, _M_data()) |
18387 |
|| less<const _CharT*>()(_M_data() + this->size(), __s)) |
18388 |
return _M_replace_safe(size_type(0), this->size(), __s, __n); |
18389 |
else |
18390 |
{ |
18391 |
|
18392 |
const size_type __pos = __s - _M_data(); |
18393 |
if (__pos >= __n) |
18394 |
traits_type::copy(_M_data(), __s, __n); |
18395 |
else if (__pos) |
18396 |
traits_type::move(_M_data(), __s, __n); |
18397 |
_M_rep()->_M_set_sharable(); |
18398 |
_M_rep()->_M_length = __n; |
18399 |
_M_data()[__n] = _Rep::_S_terminal; |
18400 |
return *this; |
18401 |
} |
18402 |
} |
18403 |
|
18404 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18405 |
basic_string<_CharT, _Traits, _Alloc>& |
18406 |
basic_string<_CharT, _Traits, _Alloc>:: |
18407 |
insert(size_type __pos, const _CharT* __s, size_type __n) |
18408 |
{ |
18409 |
; |
18410 |
_M_check(__pos, "basic_string::insert"); |
18411 |
if (this->max_size() - this->size() < __n) |
18412 |
__throw_length_error(("basic_string::insert")); |
18413 |
if (_M_rep()->_M_is_shared() || less<const _CharT*>()(__s, _M_data()) |
18414 |
|| less<const _CharT*>()(_M_data() + this->size(), __s)) |
18415 |
return _M_replace_safe(__pos, size_type(0), __s, __n); |
18416 |
else |
18417 |
{ |
18418 |
|
18419 |
|
18420 |
|
18421 |
const size_type __off = __s - _M_data(); |
18422 |
_M_mutate(__pos, 0, __n); |
18423 |
__s = _M_data() + __off; |
18424 |
_CharT* __p = _M_data() + __pos; |
18425 |
if (__s + __n <= __p) |
18426 |
traits_type::copy(__p, __s, __n); |
18427 |
else if (__s >= __p) |
18428 |
traits_type::copy(__p, __s + __n, __n); |
18429 |
else |
18430 |
{ |
18431 |
const size_type __nleft = __p - __s; |
18432 |
traits_type::copy(__p, __s, __nleft); |
18433 |
traits_type::copy(__p + __nleft, __p + __n, __n - __nleft); |
18434 |
} |
18435 |
return *this; |
18436 |
} |
18437 |
} |
18438 |
|
18439 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18440 |
basic_string<_CharT, _Traits, _Alloc>& |
18441 |
basic_string<_CharT, _Traits, _Alloc>:: |
18442 |
replace(size_type __pos, size_type __n1, const _CharT* __s, |
18443 |
size_type __n2) |
18444 |
{ |
18445 |
; |
18446 |
_M_check(__pos, "basic_string::replace"); |
18447 |
__n1 = _M_limit(__pos, __n1); |
18448 |
if (this->max_size() - (this->size() - __n1) < __n2) |
18449 |
__throw_length_error(("basic_string::replace")); |
18450 |
bool __left; |
18451 |
if (_M_rep()->_M_is_shared() || less<const _CharT*>()(__s, _M_data()) |
18452 |
|| less<const _CharT*>()(_M_data() + this->size(), __s)) |
18453 |
return _M_replace_safe(__pos, __n1, __s, __n2); |
18454 |
else if ((__left = __s + __n2 <= _M_data() + __pos) |
18455 |
|| _M_data() + __pos + __n1 <= __s) |
18456 |
{ |
18457 |
|
18458 |
const size_type __off = __s - _M_data(); |
18459 |
_M_mutate(__pos, __n1, __n2); |
18460 |
if (__left) |
18461 |
traits_type::copy(_M_data() + __pos, |
18462 |
_M_data() + __off, __n2); |
18463 |
else |
18464 |
traits_type::copy(_M_data() + __pos, |
18465 |
_M_data() + __off + __n2 - __n1, __n2); |
18466 |
return *this; |
18467 |
} |
18468 |
else |
18469 |
{ |
18470 |
|
18471 |
const basic_string __tmp(__s, __n2); |
18472 |
return _M_replace_safe(__pos, __n1, __tmp._M_data(), __n2); |
18473 |
} |
18474 |
} |
18475 |
|
18476 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18477 |
void |
18478 |
basic_string<_CharT, _Traits, _Alloc>::_Rep:: |
18479 |
_M_destroy(const _Alloc& __a) throw () |
18480 |
{ |
18481 |
|
18482 |
if (this == &_S_empty_rep()) |
18483 |
return; |
18484 |
|
18485 |
const size_type __size = sizeof(_Rep_base) + |
18486 |
(this->_M_capacity + 1) * sizeof(_CharT); |
18487 |
_Raw_bytes_alloc(__a).deallocate(reinterpret_cast<char*>(this), __size); |
18488 |
} |
18489 |
|
18490 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18491 |
void |
18492 |
basic_string<_CharT, _Traits, _Alloc>::_M_leak_hard() |
18493 |
{ |
18494 |
|
18495 |
if (_M_rep() == &_S_empty_rep()) |
18496 |
return; |
18497 |
|
18498 |
if (_M_rep()->_M_is_shared()) |
18499 |
_M_mutate(0, 0, 0); |
18500 |
_M_rep()->_M_set_leaked(); |
18501 |
} |
18502 |
|
18503 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18504 |
void |
18505 |
basic_string<_CharT, _Traits, _Alloc>:: |
18506 |
_M_mutate(size_type __pos, size_type __len1, size_type __len2) |
18507 |
{ |
18508 |
const size_type __old_size = this->size(); |
18509 |
const size_type __new_size = __old_size + __len2 - __len1; |
18510 |
const size_type __how_much = __old_size - __pos - __len1; |
18511 |
|
18512 |
if (__new_size > capacity() || _M_rep()->_M_is_shared()) |
18513 |
{ |
18514 |
|
18515 |
const allocator_type __a = get_allocator(); |
18516 |
_Rep* __r = _Rep::_S_create(__new_size, capacity(), __a); |
18517 |
|
18518 |
if (__pos) |
18519 |
traits_type::copy(__r->_M_refdata(), _M_data(), __pos); |
18520 |
if (__how_much) |
18521 |
traits_type::copy(__r->_M_refdata() + __pos + __len2, |
18522 |
_M_data() + __pos + __len1, __how_much); |
18523 |
|
18524 |
_M_rep()->_M_dispose(__a); |
18525 |
_M_data(__r->_M_refdata()); |
18526 |
} |
18527 |
else if (__how_much && __len1 != __len2) |
18528 |
{ |
18529 |
|
18530 |
traits_type::move(_M_data() + __pos + __len2, |
18531 |
_M_data() + __pos + __len1, __how_much); |
18532 |
} |
18533 |
_M_rep()->_M_set_sharable(); |
18534 |
_M_rep()->_M_length = __new_size; |
18535 |
_M_data()[__new_size] = _Rep::_S_terminal; |
18536 |
|
18537 |
} |
18538 |
|
18539 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18540 |
void |
18541 |
basic_string<_CharT, _Traits, _Alloc>::reserve(size_type __res) |
18542 |
{ |
18543 |
if (__res != this->capacity() || _M_rep()->_M_is_shared()) |
18544 |
{ |
18545 |
if (__res > this->max_size()) |
18546 |
__throw_length_error(("basic_string::reserve")); |
18547 |
|
18548 |
if (__res < this->size()) |
18549 |
__res = this->size(); |
18550 |
const allocator_type __a = get_allocator(); |
18551 |
_CharT* __tmp = _M_rep()->_M_clone(__a, __res - this->size()); |
18552 |
_M_rep()->_M_dispose(__a); |
18553 |
_M_data(__tmp); |
18554 |
} |
18555 |
} |
18556 |
|
18557 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18558 |
void basic_string<_CharT, _Traits, _Alloc>::swap(basic_string& __s) |
18559 |
{ |
18560 |
if (_M_rep()->_M_is_leaked()) |
18561 |
_M_rep()->_M_set_sharable(); |
18562 |
if (__s._M_rep()->_M_is_leaked()) |
18563 |
__s._M_rep()->_M_set_sharable(); |
18564 |
if (this->get_allocator() == __s.get_allocator()) |
18565 |
{ |
18566 |
_CharT* __tmp = _M_data(); |
18567 |
_M_data(__s._M_data()); |
18568 |
__s._M_data(__tmp); |
18569 |
} |
18570 |
|
18571 |
else |
18572 |
{ |
18573 |
const basic_string __tmp1(_M_ibegin(), _M_iend(), |
18574 |
__s.get_allocator()); |
18575 |
const basic_string __tmp2(__s._M_ibegin(), __s._M_iend(), |
18576 |
this->get_allocator()); |
18577 |
*this = __tmp2; |
18578 |
__s = __tmp1; |
18579 |
} |
18580 |
} |
18581 |
|
18582 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18583 |
typename basic_string<_CharT, _Traits, _Alloc>::_Rep* |
18584 |
basic_string<_CharT, _Traits, _Alloc>::_Rep:: |
18585 |
_S_create(size_type __capacity, size_type __old_capacity, |
18586 |
const _Alloc& __alloc) |
18587 |
{ |
18588 |
typedef basic_string<_CharT, _Traits, _Alloc> __string_type; |
18589 |
|
18590 |
|
18591 |
if (__capacity > _S_max_size) |
18592 |
__throw_length_error(("basic_string::_S_create")); |
18593 |
# 501 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.tcc" 3 |
18594 |
const size_type __pagesize = 4096; |
18595 |
const size_type __subpagesize = 128; |
18596 |
const size_type __malloc_header_size = 4 * sizeof (void*); |
18597 |
# 513 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/basic_string.tcc" 3 |
18598 |
const size_type __page_capacity = ((__pagesize - __malloc_header_size |
18599 |
- sizeof(_Rep) - sizeof(_CharT)) |
18600 |
/ sizeof(_CharT)); |
18601 |
|
18602 |
if (__capacity > __old_capacity && __capacity < 2 * __old_capacity |
18603 |
&& __capacity > __page_capacity) |
18604 |
__capacity = 2 * __old_capacity; |
18605 |
|
18606 |
|
18607 |
|
18608 |
|
18609 |
size_type __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep); |
18610 |
|
18611 |
const size_type __adj_size = __size + __malloc_header_size; |
18612 |
if (__adj_size > __pagesize) |
18613 |
{ |
18614 |
const size_type __extra = __pagesize - __adj_size % __pagesize; |
18615 |
__capacity += __extra / sizeof(_CharT); |
18616 |
|
18617 |
if (__capacity > _S_max_size) |
18618 |
__capacity = _S_max_size; |
18619 |
__size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep); |
18620 |
} |
18621 |
else if (__size > __subpagesize) |
18622 |
{ |
18623 |
const size_type __extra = __subpagesize - __adj_size % __subpagesize; |
18624 |
__capacity += __extra / sizeof(_CharT); |
18625 |
__size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep); |
18626 |
} |
18627 |
|
18628 |
|
18629 |
|
18630 |
void* __place = _Raw_bytes_alloc(__alloc).allocate(__size); |
18631 |
_Rep *__p = new (__place) _Rep; |
18632 |
__p->_M_capacity = __capacity; |
18633 |
__p->_M_set_sharable(); |
18634 |
__p->_M_length = 0; |
18635 |
return __p; |
18636 |
} |
18637 |
|
18638 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18639 |
_CharT* |
18640 |
basic_string<_CharT, _Traits, _Alloc>::_Rep:: |
18641 |
_M_clone(const _Alloc& __alloc, size_type __res) |
18642 |
{ |
18643 |
|
18644 |
const size_type __requested_cap = this->_M_length + __res; |
18645 |
_Rep* __r = _Rep::_S_create(__requested_cap, this->_M_capacity, |
18646 |
__alloc); |
18647 |
if (this->_M_length) |
18648 |
traits_type::copy(__r->_M_refdata(), _M_refdata(), |
18649 |
this->_M_length); |
18650 |
|
18651 |
__r->_M_length = this->_M_length; |
18652 |
__r->_M_refdata()[this->_M_length] = _Rep::_S_terminal; |
18653 |
return __r->_M_refdata(); |
18654 |
} |
18655 |
|
18656 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18657 |
void |
18658 |
basic_string<_CharT, _Traits, _Alloc>::resize(size_type __n, _CharT __c) |
18659 |
{ |
18660 |
if (__n > max_size()) |
18661 |
__throw_length_error(("basic_string::resize")); |
18662 |
const size_type __size = this->size(); |
18663 |
if (__size < __n) |
18664 |
this->append(__n - __size, __c); |
18665 |
else if (__n < __size) |
18666 |
this->erase(__n); |
18667 |
|
18668 |
} |
18669 |
|
18670 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18671 |
template<typename _InputIterator> |
18672 |
basic_string<_CharT, _Traits, _Alloc>& |
18673 |
basic_string<_CharT, _Traits, _Alloc>:: |
18674 |
_M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1, |
18675 |
_InputIterator __k2, __false_type) |
18676 |
{ |
18677 |
const basic_string __s(__k1, __k2); |
18678 |
const size_type __n1 = __i2 - __i1; |
18679 |
if (this->max_size() - (this->size() - __n1) < __s.size()) |
18680 |
__throw_length_error(("basic_string::_M_replace_dispatch")); |
18681 |
return _M_replace_safe(__i1 - _M_ibegin(), __n1, __s._M_data(), |
18682 |
__s.size()); |
18683 |
} |
18684 |
|
18685 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18686 |
basic_string<_CharT, _Traits, _Alloc>& |
18687 |
basic_string<_CharT, _Traits, _Alloc>:: |
18688 |
append(const basic_string& __str) |
18689 |
{ |
18690 |
|
18691 |
|
18692 |
|
18693 |
const size_type __size = __str.size(); |
18694 |
const size_type __len = __size + this->size(); |
18695 |
if (__len > this->capacity()) |
18696 |
this->reserve(__len); |
18697 |
return _M_replace_safe(this->size(), size_type(0), __str._M_data(), |
18698 |
__str.size()); |
18699 |
} |
18700 |
|
18701 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18702 |
basic_string<_CharT, _Traits, _Alloc>& |
18703 |
basic_string<_CharT, _Traits, _Alloc>:: |
18704 |
append(const basic_string& __str, size_type __pos, size_type __n) |
18705 |
{ |
18706 |
|
18707 |
|
18708 |
|
18709 |
__str._M_check(__pos, "basic_string::append"); |
18710 |
__n = __str._M_limit(__pos, __n); |
18711 |
const size_type __len = __n + this->size(); |
18712 |
if (__len > this->capacity()) |
18713 |
this->reserve(__len); |
18714 |
return _M_replace_safe(this->size(), size_type(0), __str._M_data() |
18715 |
+ __pos, __n); |
18716 |
} |
18717 |
|
18718 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18719 |
basic_string<_CharT, _Traits, _Alloc>& |
18720 |
basic_string<_CharT, _Traits, _Alloc>:: |
18721 |
append(const _CharT* __s, size_type __n) |
18722 |
{ |
18723 |
; |
18724 |
const size_type __len = __n + this->size(); |
18725 |
if (__len > this->capacity()) |
18726 |
this->reserve(__len); |
18727 |
return _M_replace_safe(this->size(), size_type(0), __s, __n); |
18728 |
} |
18729 |
|
18730 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18731 |
basic_string<_CharT, _Traits, _Alloc> |
18732 |
operator+(const _CharT* __lhs, |
18733 |
const basic_string<_CharT, _Traits, _Alloc>& __rhs) |
18734 |
{ |
18735 |
; |
18736 |
typedef basic_string<_CharT, _Traits, _Alloc> __string_type; |
18737 |
typedef typename __string_type::size_type __size_type; |
18738 |
const __size_type __len = _Traits::length(__lhs); |
18739 |
__string_type __str; |
18740 |
__str.reserve(__len + __rhs.size()); |
18741 |
__str.append(__lhs, __len); |
18742 |
__str.append(__rhs); |
18743 |
return __str; |
18744 |
} |
18745 |
|
18746 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18747 |
basic_string<_CharT, _Traits, _Alloc> |
18748 |
operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) |
18749 |
{ |
18750 |
typedef basic_string<_CharT, _Traits, _Alloc> __string_type; |
18751 |
typedef typename __string_type::size_type __size_type; |
18752 |
__string_type __str; |
18753 |
const __size_type __len = __rhs.size(); |
18754 |
__str.reserve(__len + 1); |
18755 |
__str.append(__size_type(1), __lhs); |
18756 |
__str.append(__rhs); |
18757 |
return __str; |
18758 |
} |
18759 |
|
18760 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18761 |
typename basic_string<_CharT, _Traits, _Alloc>::size_type |
18762 |
basic_string<_CharT, _Traits, _Alloc>:: |
18763 |
copy(_CharT* __s, size_type __n, size_type __pos) const |
18764 |
{ |
18765 |
_M_check(__pos, "basic_string::copy"); |
18766 |
__n = _M_limit(__pos, __n); |
18767 |
; |
18768 |
if (__n) |
18769 |
traits_type::copy(__s, _M_data() + __pos, __n); |
18770 |
|
18771 |
return __n; |
18772 |
} |
18773 |
|
18774 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18775 |
typename basic_string<_CharT, _Traits, _Alloc>::size_type |
18776 |
basic_string<_CharT, _Traits, _Alloc>:: |
18777 |
find(const _CharT* __s, size_type __pos, size_type __n) const |
18778 |
{ |
18779 |
; |
18780 |
const size_type __size = this->size(); |
18781 |
const _CharT* __data = _M_data(); |
18782 |
for (; __pos + __n <= __size; ++__pos) |
18783 |
if (traits_type::compare(__data + __pos, __s, __n) == 0) |
18784 |
return __pos; |
18785 |
return npos; |
18786 |
} |
18787 |
|
18788 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18789 |
typename basic_string<_CharT, _Traits, _Alloc>::size_type |
18790 |
basic_string<_CharT, _Traits, _Alloc>:: |
18791 |
find(_CharT __c, size_type __pos) const |
18792 |
{ |
18793 |
const size_type __size = this->size(); |
18794 |
size_type __ret = npos; |
18795 |
if (__pos < __size) |
18796 |
{ |
18797 |
const _CharT* __data = _M_data(); |
18798 |
const size_type __n = __size - __pos; |
18799 |
const _CharT* __p = traits_type::find(__data + __pos, __n, __c); |
18800 |
if (__p) |
18801 |
__ret = __p - __data; |
18802 |
} |
18803 |
return __ret; |
18804 |
} |
18805 |
|
18806 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18807 |
typename basic_string<_CharT, _Traits, _Alloc>::size_type |
18808 |
basic_string<_CharT, _Traits, _Alloc>:: |
18809 |
rfind(const _CharT* __s, size_type __pos, size_type __n) const |
18810 |
{ |
18811 |
; |
18812 |
const size_type __size = this->size(); |
18813 |
if (__n <= __size) |
18814 |
{ |
18815 |
__pos = std::min(size_type(__size - __n), __pos); |
18816 |
const _CharT* __data = _M_data(); |
18817 |
do |
18818 |
{ |
18819 |
if (traits_type::compare(__data + __pos, __s, __n) == 0) |
18820 |
return __pos; |
18821 |
} |
18822 |
while (__pos-- > 0); |
18823 |
} |
18824 |
return npos; |
18825 |
} |
18826 |
|
18827 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18828 |
typename basic_string<_CharT, _Traits, _Alloc>::size_type |
18829 |
basic_string<_CharT, _Traits, _Alloc>:: |
18830 |
rfind(_CharT __c, size_type __pos) const |
18831 |
{ |
18832 |
size_type __size = this->size(); |
18833 |
if (__size) |
18834 |
{ |
18835 |
if (--__size > __pos) |
18836 |
__size = __pos; |
18837 |
for (++__size; __size-- > 0; ) |
18838 |
if (traits_type::eq(_M_data()[__size], __c)) |
18839 |
return __size; |
18840 |
} |
18841 |
return npos; |
18842 |
} |
18843 |
|
18844 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18845 |
typename basic_string<_CharT, _Traits, _Alloc>::size_type |
18846 |
basic_string<_CharT, _Traits, _Alloc>:: |
18847 |
find_first_of(const _CharT* __s, size_type __pos, size_type __n) const |
18848 |
{ |
18849 |
; |
18850 |
for (; __n && __pos < this->size(); ++__pos) |
18851 |
{ |
18852 |
const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]); |
18853 |
if (__p) |
18854 |
return __pos; |
18855 |
} |
18856 |
return npos; |
18857 |
} |
18858 |
|
18859 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18860 |
typename basic_string<_CharT, _Traits, _Alloc>::size_type |
18861 |
basic_string<_CharT, _Traits, _Alloc>:: |
18862 |
find_last_of(const _CharT* __s, size_type __pos, size_type __n) const |
18863 |
{ |
18864 |
; |
18865 |
size_type __size = this->size(); |
18866 |
if (__size && __n) |
18867 |
{ |
18868 |
if (--__size > __pos) |
18869 |
__size = __pos; |
18870 |
do |
18871 |
{ |
18872 |
if (traits_type::find(__s, __n, _M_data()[__size])) |
18873 |
return __size; |
18874 |
} |
18875 |
while (__size-- != 0); |
18876 |
} |
18877 |
return npos; |
18878 |
} |
18879 |
|
18880 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18881 |
typename basic_string<_CharT, _Traits, _Alloc>::size_type |
18882 |
basic_string<_CharT, _Traits, _Alloc>:: |
18883 |
find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const |
18884 |
{ |
18885 |
; |
18886 |
for (; __pos < this->size(); ++__pos) |
18887 |
if (!traits_type::find(__s, __n, _M_data()[__pos])) |
18888 |
return __pos; |
18889 |
return npos; |
18890 |
} |
18891 |
|
18892 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18893 |
typename basic_string<_CharT, _Traits, _Alloc>::size_type |
18894 |
basic_string<_CharT, _Traits, _Alloc>:: |
18895 |
find_first_not_of(_CharT __c, size_type __pos) const |
18896 |
{ |
18897 |
for (; __pos < this->size(); ++__pos) |
18898 |
if (!traits_type::eq(_M_data()[__pos], __c)) |
18899 |
return __pos; |
18900 |
return npos; |
18901 |
} |
18902 |
|
18903 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18904 |
typename basic_string<_CharT, _Traits, _Alloc>::size_type |
18905 |
basic_string<_CharT, _Traits, _Alloc>:: |
18906 |
find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const |
18907 |
{ |
18908 |
; |
18909 |
size_type __size = this->size(); |
18910 |
if (__size) |
18911 |
{ |
18912 |
if (--__size > __pos) |
18913 |
__size = __pos; |
18914 |
do |
18915 |
{ |
18916 |
if (!traits_type::find(__s, __n, _M_data()[__size])) |
18917 |
return __size; |
18918 |
} |
18919 |
while (__size--); |
18920 |
} |
18921 |
return npos; |
18922 |
} |
18923 |
|
18924 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18925 |
typename basic_string<_CharT, _Traits, _Alloc>::size_type |
18926 |
basic_string<_CharT, _Traits, _Alloc>:: |
18927 |
find_last_not_of(_CharT __c, size_type __pos) const |
18928 |
{ |
18929 |
size_type __size = this->size(); |
18930 |
if (__size) |
18931 |
{ |
18932 |
if (--__size > __pos) |
18933 |
__size = __pos; |
18934 |
do |
18935 |
{ |
18936 |
if (!traits_type::eq(_M_data()[__size], __c)) |
18937 |
return __size; |
18938 |
} |
18939 |
while (__size--); |
18940 |
} |
18941 |
return npos; |
18942 |
} |
18943 |
|
18944 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18945 |
int |
18946 |
basic_string<_CharT, _Traits, _Alloc>:: |
18947 |
compare(size_type __pos, size_type __n, const basic_string& __str) const |
18948 |
{ |
18949 |
_M_check(__pos, "basic_string::compare"); |
18950 |
__n = _M_limit(__pos, __n); |
18951 |
const size_type __osize = __str.size(); |
18952 |
const size_type __len = std::min(__n, __osize); |
18953 |
int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len); |
18954 |
if (!__r) |
18955 |
__r = __n - __osize; |
18956 |
return __r; |
18957 |
} |
18958 |
|
18959 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18960 |
int |
18961 |
basic_string<_CharT, _Traits, _Alloc>:: |
18962 |
compare(size_type __pos1, size_type __n1, const basic_string& __str, |
18963 |
size_type __pos2, size_type __n2) const |
18964 |
{ |
18965 |
_M_check(__pos1, "basic_string::compare"); |
18966 |
__str._M_check(__pos2, "basic_string::compare"); |
18967 |
__n1 = _M_limit(__pos1, __n1); |
18968 |
__n2 = __str._M_limit(__pos2, __n2); |
18969 |
const size_type __len = std::min(__n1, __n2); |
18970 |
int __r = traits_type::compare(_M_data() + __pos1, |
18971 |
__str.data() + __pos2, __len); |
18972 |
if (!__r) |
18973 |
__r = __n1 - __n2; |
18974 |
return __r; |
18975 |
} |
18976 |
|
18977 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18978 |
int |
18979 |
basic_string<_CharT, _Traits, _Alloc>:: |
18980 |
compare(const _CharT* __s) const |
18981 |
{ |
18982 |
; |
18983 |
const size_type __size = this->size(); |
18984 |
const size_type __osize = traits_type::length(__s); |
18985 |
const size_type __len = std::min(__size, __osize); |
18986 |
int __r = traits_type::compare(_M_data(), __s, __len); |
18987 |
if (!__r) |
18988 |
__r = __size - __osize; |
18989 |
return __r; |
18990 |
} |
18991 |
|
18992 |
template<typename _CharT, typename _Traits, typename _Alloc> |
18993 |
int |
18994 |
basic_string <_CharT, _Traits, _Alloc>:: |
18995 |
compare(size_type __pos, size_type __n1, const _CharT* __s) const |
18996 |
{ |
18997 |
; |
18998 |
_M_check(__pos, "basic_string::compare"); |
18999 |
__n1 = _M_limit(__pos, __n1); |
19000 |
const size_type __osize = traits_type::length(__s); |
19001 |
const size_type __len = std::min(__n1, __osize); |
19002 |
int __r = traits_type::compare(_M_data() + __pos, __s, __len); |
19003 |
if (!__r) |
19004 |
__r = __n1 - __osize; |
19005 |
return __r; |
19006 |
} |
19007 |
|
19008 |
template<typename _CharT, typename _Traits, typename _Alloc> |
19009 |
int |
19010 |
basic_string <_CharT, _Traits, _Alloc>:: |
19011 |
compare(size_type __pos, size_type __n1, const _CharT* __s, |
19012 |
size_type __n2) const |
19013 |
{ |
19014 |
; |
19015 |
_M_check(__pos, "basic_string::compare"); |
19016 |
__n1 = _M_limit(__pos, __n1); |
19017 |
const size_type __len = std::min(__n1, __n2); |
19018 |
int __r = traits_type::compare(_M_data() + __pos, __s, __len); |
19019 |
if (!__r) |
19020 |
__r = __n1 - __n2; |
19021 |
return __r; |
19022 |
} |
19023 |
|
19024 |
|
19025 |
|
19026 |
|
19027 |
|
19028 |
extern template class basic_string<char>; |
19029 |
extern template |
19030 |
basic_istream<char>& |
19031 |
operator>>(basic_istream<char>&, string&); |
19032 |
extern template |
19033 |
basic_ostream<char>& |
19034 |
operator<<(basic_ostream<char>&, const string&); |
19035 |
extern template |
19036 |
basic_istream<char>& |
19037 |
getline(basic_istream<char>&, string&, char); |
19038 |
extern template |
19039 |
basic_istream<char>& |
19040 |
getline(basic_istream<char>&, string&); |
19041 |
|
19042 |
|
19043 |
extern template class basic_string<wchar_t>; |
19044 |
extern template |
19045 |
basic_istream<wchar_t>& |
19046 |
operator>>(basic_istream<wchar_t>&, wstring&); |
19047 |
extern template |
19048 |
basic_ostream<wchar_t>& |
19049 |
operator<<(basic_ostream<wchar_t>&, const wstring&); |
19050 |
extern template |
19051 |
basic_istream<wchar_t>& |
19052 |
getline(basic_istream<wchar_t>&, wstring&, wchar_t); |
19053 |
extern template |
19054 |
basic_istream<wchar_t>& |
19055 |
getline(basic_istream<wchar_t>&, wstring&); |
19056 |
|
19057 |
|
19058 |
} |
19059 |
# 58 "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/string" 2 3 |
19060 |
# 45 "/cern/ROOT/include/TString.h" 2 |
19061 |
|
19062 |
|
19063 |
|
19064 |
|
19065 |
|
19066 |
class TRegexp; |
19067 |
class TPRegexp; |
19068 |
class TString; |
19069 |
class TSubString; |
19070 |
class TObjArray; |
19071 |
class TVirtualMutex; |
19072 |
|
19073 |
extern TVirtualMutex *gStringMutex; |
19074 |
|
19075 |
TString operator+(const TString &s1, const TString &s2); |
19076 |
TString operator+(const TString &s, const char *cs); |
19077 |
TString operator+(const char *cs, const TString &s); |
19078 |
TString operator+(const TString &s, char c); |
19079 |
TString operator+(const TString &s, Long_t i); |
19080 |
TString operator+(const TString &s, ULong_t i); |
19081 |
TString operator+(const TString &s, Long64_t i); |
19082 |
TString operator+(const TString &s, ULong64_t i); |
19083 |
TString operator+(char c, const TString &s); |
19084 |
TString operator+(Long_t i, const TString &s); |
19085 |
TString operator+(ULong_t i, const TString &s); |
19086 |
TString operator+(Long64_t i, const TString &s); |
19087 |
TString operator+(ULong64_t i, const TString &s); |
19088 |
Bool_t operator==(const TString &s1, const TString &s2); |
19089 |
Bool_t operator==(const TString &s1, const char *s2); |
19090 |
Bool_t operator==(const TSubString &s1, const TSubString &s2); |
19091 |
Bool_t operator==(const TSubString &s1, const TString &s2); |
19092 |
Bool_t operator==(const TSubString &s1, const char *s2); |
19093 |
# 88 "/cern/ROOT/include/TString.h" |
19094 |
class TStringRef : public TRefCnt { |
19095 |
|
19096 |
friend class TString; |
19097 |
friend class TStringLong; |
19098 |
friend class TSubString; |
19099 |
|
19100 |
private: |
19101 |
Ssiz_t fCapacity; |
19102 |
Ssiz_t fNchars; |
19103 |
|
19104 |
void UnLink(); |
19105 |
|
19106 |
Ssiz_t Length() const { return fNchars; } |
19107 |
Ssiz_t Capacity() const { return fCapacity; } |
19108 |
char *Data() const { return (char*)(this+1); } |
19109 |
|
19110 |
char &operator[](Ssiz_t i) { return ((char*)(this+1))[i]; } |
19111 |
char operator[](Ssiz_t i) const { return ((char*)(this+1))[i]; } |
19112 |
|
19113 |
Ssiz_t First(char c) const; |
19114 |
Ssiz_t First(const char *s) const; |
19115 |
UInt_t Hash() const; |
19116 |
UInt_t HashFoldCase() const; |
19117 |
Ssiz_t Last(char) const; |
19118 |
|
19119 |
static TStringRef *GetRep(Ssiz_t capac, Ssiz_t nchar); |
19120 |
}; |
19121 |
# 125 "/cern/ROOT/include/TString.h" |
19122 |
class TSubString { |
19123 |
|
19124 |
friend class TStringLong; |
19125 |
friend class TString; |
19126 |
|
19127 |
friend Bool_t operator==(const TSubString &s1, const TSubString &s2); |
19128 |
friend Bool_t operator==(const TSubString &s1, const TString &s2); |
19129 |
friend Bool_t operator==(const TSubString &s1, const char *s2); |
19130 |
|
19131 |
private: |
19132 |
TString &fStr; |
19133 |
Ssiz_t fBegin; |
19134 |
Ssiz_t fExtent; |
19135 |
|
19136 |
|
19137 |
TSubString(const TString &s, Ssiz_t start, Ssiz_t len); |
19138 |
|
19139 |
protected: |
19140 |
void SubStringError(Ssiz_t, Ssiz_t, Ssiz_t) const; |
19141 |
void AssertElement(Ssiz_t i) const; |
19142 |
|
19143 |
public: |
19144 |
TSubString(const TSubString &s) |
19145 |
: fStr(s.fStr), fBegin(s.fBegin), fExtent(s.fExtent) { } |
19146 |
|
19147 |
TSubString &operator=(const char *s); |
19148 |
TSubString &operator=(const TString &s); |
19149 |
TSubString &operator=(const TSubString &s); |
19150 |
char &operator()(Ssiz_t i); |
19151 |
char &operator[](Ssiz_t i); |
19152 |
char operator()(Ssiz_t i) const; |
19153 |
char operator[](Ssiz_t i) const; |
19154 |
|
19155 |
const char *Data() const; |
19156 |
Ssiz_t Length() const { return fExtent; } |
19157 |
Ssiz_t Start() const { return fBegin; } |
19158 |
TString& String() { return fStr; } |
19159 |
void ToLower(); |
19160 |
void ToUpper(); |
19161 |
|
19162 |
|
19163 |
Bool_t IsNull() const { return fBegin == kNPOS; } |
19164 |
int operator!() const { return fBegin == kNPOS; } |
19165 |
}; |
19166 |
|
19167 |
|
19168 |
|
19169 |
|
19170 |
|
19171 |
|
19172 |
|
19173 |
class TString { |
19174 |
|
19175 |
friend class TSubString; |
19176 |
friend class TStringRef; |
19177 |
|
19178 |
friend TString operator+(const TString &s1, const TString &s2); |
19179 |
friend TString operator+(const TString &s, const char *cs); |
19180 |
friend TString operator+(const char *cs, const TString &s); |
19181 |
friend TString operator+(const TString &s, char c); |
19182 |
friend TString operator+(const TString &s, Long_t i); |
19183 |
friend TString operator+(const TString &s, ULong_t i); |
19184 |
friend TString operator+(const TString &s, Long64_t i); |
19185 |
friend TString operator+(const TString &s, ULong64_t i); |
19186 |
friend TString operator+(char c, const TString &s); |
19187 |
friend TString operator+(Long_t i, const TString &s); |
19188 |
friend TString operator+(ULong_t i, const TString &s); |
19189 |
friend TString operator+(Long64_t i, const TString &s); |
19190 |
friend TString operator+(ULong64_t i, const TString &s); |
19191 |
friend Bool_t operator==(const TString &s1, const TString &s2); |
19192 |
friend Bool_t operator==(const TString &s1, const char *s2); |
19193 |
|
19194 |
private: |
19195 |
static Ssiz_t fgInitialCapac; |
19196 |
static Ssiz_t fgResizeInc; |
19197 |
static Ssiz_t fgFreeboard; |
19198 |
|
19199 |
void Clone(); |
19200 |
void Clone(Ssiz_t nc); |
19201 |
void FormImp(const char *fmt, va_list ap); |
19202 |
|
19203 |
protected: |
19204 |
char *fData; |
19205 |
|
19206 |
|
19207 |
TString(const char *a1, Ssiz_t n1, const char *a2, Ssiz_t n2); |
19208 |
TStringRef *Pref() const { return (((TStringRef*) fData) - 1); } |
19209 |
void AssertElement(Ssiz_t nc) const; |
19210 |
void Clobber(Ssiz_t nc); |
19211 |
void Cow(); |
19212 |
void Cow(Ssiz_t nc); |
19213 |
static Ssiz_t AdjustCapacity(Ssiz_t nc); |
19214 |
void InitChar(char c); |
19215 |
|
19216 |
public: |
19217 |
enum EStripType { kLeading = 0x1, kTrailing = 0x2, kBoth = 0x3 }; |
19218 |
enum ECaseCompare { kExact, kIgnoreCase }; |
19219 |
|
19220 |
TString(); |
19221 |
TString(Ssiz_t ic); |
19222 |
TString(const TString &s) : |
19223 |
fData(s.fData) { Pref()->AddReference(); } |
19224 |
|
19225 |
TString(const char *s); |
19226 |
TString(const char *s, Ssiz_t n); |
19227 |
TString(const std::string &s); |
19228 |
TString(char c) : fData(0) { InitChar(c); } |
19229 |
TString(char c, Ssiz_t s); |
19230 |
TString(const TSubString &sub); |
19231 |
|
19232 |
virtual ~TString(); |
19233 |
|
19234 |
|
19235 |
virtual void FillBuffer(char *&buffer); |
19236 |
virtual void ReadBuffer(char *&buffer); |
19237 |
virtual Int_t Sizeof() const; |
19238 |
|
19239 |
static TString *ReadString(TBuffer &b, const TClass *clReq); |
19240 |
static void WriteString(TBuffer &b, const TString *a); |
19241 |
|
19242 |
friend TBuffer &operator<<(TBuffer &b, const TString *obj); |
19243 |
|
19244 |
|
19245 |
Bool_t Gets(FILE *fp, Bool_t chop=kTRUE); |
19246 |
void Puts(FILE *fp); |
19247 |
|
19248 |
|
19249 |
operator const char*() const { return fData; } |
19250 |
|
19251 |
|
19252 |
TString &operator=(char s); |
19253 |
TString &operator=(const char *s); |
19254 |
TString &operator=(const TString &s); |
19255 |
TString &operator=(const std::string &s); |
19256 |
TString &operator=(const TSubString &s); |
19257 |
TString &operator+=(const char *s); |
19258 |
TString &operator+=(const TString &s); |
19259 |
TString &operator+=(char c); |
19260 |
TString &operator+=(Short_t i); |
19261 |
TString &operator+=(UShort_t i); |
19262 |
TString &operator+=(Int_t i); |
19263 |
TString &operator+=(UInt_t i); |
19264 |
TString &operator+=(Long_t i); |
19265 |
TString &operator+=(ULong_t i); |
19266 |
TString &operator+=(Float_t f); |
19267 |
TString &operator+=(Double_t f); |
19268 |
TString &operator+=(Long64_t i); |
19269 |
TString &operator+=(ULong64_t i); |
19270 |
|
19271 |
|
19272 |
char &operator[](Ssiz_t i); |
19273 |
char &operator()(Ssiz_t i); |
19274 |
TSubString operator()(Ssiz_t start, Ssiz_t len); |
19275 |
TSubString operator()(const TRegexp &re); |
19276 |
TSubString operator()(const TRegexp &re, Ssiz_t start); |
19277 |
TSubString operator()(TPRegexp &re); |
19278 |
TSubString operator()(TPRegexp &re, Ssiz_t start); |
19279 |
TSubString SubString(const char *pat, Ssiz_t start = 0, |
19280 |
ECaseCompare cmp = kExact); |
19281 |
char operator[](Ssiz_t i) const; |
19282 |
char operator()(Ssiz_t i) const; |
19283 |
TSubString operator()(Ssiz_t start, Ssiz_t len) const; |
19284 |
TSubString operator()(const TRegexp &re) const; |
19285 |
TSubString operator()(const TRegexp &re, Ssiz_t start) const; |
19286 |
TSubString operator()(TPRegexp &re) const; |
19287 |
TSubString operator()(TPRegexp &re, Ssiz_t start) const; |
19288 |
TSubString SubString(const char *pat, Ssiz_t start = 0, |
19289 |
ECaseCompare cmp = kExact) const; |
19290 |
|
19291 |
|
19292 |
TString &Append(const char *cs); |
19293 |
TString &Append(const char *cs, Ssiz_t n); |
19294 |
TString &Append(const TString &s); |
19295 |
TString &Append(const TString &s, Ssiz_t n); |
19296 |
TString &Append(char c, Ssiz_t rep = 1); |
19297 |
Int_t Atoi() const; |
19298 |
Long64_t Atoll() const; |
19299 |
Double_t Atof() const; |
19300 |
Bool_t BeginsWith(const char *s, ECaseCompare cmp = kExact) const; |
19301 |
Bool_t BeginsWith(const TString &pat, ECaseCompare cmp = kExact) const; |
19302 |
Ssiz_t Capacity() const { return Pref()->Capacity(); } |
19303 |
Ssiz_t Capacity(Ssiz_t n); |
19304 |
TString &Chop(); |
19305 |
int CompareTo(const char *cs, ECaseCompare cmp = kExact) const; |
19306 |
int CompareTo(const TString &st, ECaseCompare cmp = kExact) const; |
19307 |
Bool_t Contains(const char *pat, ECaseCompare cmp = kExact) const; |
19308 |
Bool_t Contains(const TString &pat, ECaseCompare cmp = kExact) const; |
19309 |
Bool_t Contains(const TRegexp &pat) const; |
19310 |
Bool_t Contains(TPRegexp &pat) const; |
19311 |
Int_t CountChar(Int_t c) const; |
19312 |
TString Copy() const; |
19313 |
const char *Data() const { return fData; } |
19314 |
Bool_t EndsWith(const char *pat, ECaseCompare cmp = kExact) const; |
19315 |
Ssiz_t First(char c) const { return Pref()->First(c); } |
19316 |
Ssiz_t First(const char *cs) const { return Pref()->First(cs); } |
19317 |
void Form(const char *fmt, ...); |
19318 |
UInt_t Hash(ECaseCompare cmp = kExact) const; |
19319 |
Ssiz_t Index(const char *pat, Ssiz_t i = 0, |
19320 |
ECaseCompare cmp = kExact) const; |
19321 |
Ssiz_t Index(const TString &s, Ssiz_t i = 0, |
19322 |
ECaseCompare cmp = kExact) const; |
19323 |
Ssiz_t Index(const char *pat, Ssiz_t patlen, Ssiz_t i, |
19324 |
ECaseCompare cmp) const; |
19325 |
Ssiz_t Index(const TString &s, Ssiz_t patlen, Ssiz_t i, |
19326 |
ECaseCompare cmp) const; |
19327 |
Ssiz_t Index(const TRegexp &pat, Ssiz_t i = 0) const; |
19328 |
Ssiz_t Index(const TRegexp &pat, Ssiz_t *ext, Ssiz_t i = 0) const; |
19329 |
Ssiz_t Index(TPRegexp &pat, Ssiz_t i = 0) const; |
19330 |
Ssiz_t Index(TPRegexp &pat, Ssiz_t *ext, Ssiz_t i = 0) const; |
19331 |
TString &Insert(Ssiz_t pos, const char *s); |
19332 |
TString &Insert(Ssiz_t pos, const char *s, Ssiz_t extent); |
19333 |
TString &Insert(Ssiz_t pos, const TString &s); |
19334 |
TString &Insert(Ssiz_t pos, const TString &s, Ssiz_t extent); |
19335 |
Bool_t IsAscii() const; |
19336 |
Bool_t IsAlpha() const; |
19337 |
Bool_t IsAlnum() const; |
19338 |
Bool_t IsDigit() const; |
19339 |
Bool_t IsFloat() const; |
19340 |
Bool_t IsHex() const; |
19341 |
Bool_t IsNull() const { return Pref()->fNchars == 0; } |
19342 |
Bool_t IsWhitespace() const { return (Length() == CountChar(' ')); } |
19343 |
Ssiz_t Last(char c) const { return Pref()->Last(c); } |
19344 |
Ssiz_t Length() const { return Pref()->fNchars; } |
19345 |
Bool_t MaybeRegexp() const; |
19346 |
Bool_t MaybeWildcard() const; |
19347 |
TString &Prepend(const char *cs); |
19348 |
TString &Prepend(const char *cs, Ssiz_t n); |
19349 |
TString &Prepend(const TString &s); |
19350 |
TString &Prepend(const TString &s, Ssiz_t n); |
19351 |
TString &Prepend(char c, Ssiz_t rep = 1); |
19352 |
istream &ReadFile(istream &str); |
19353 |
istream &ReadLine(istream &str, |
19354 |
Bool_t skipWhite = kTRUE); |
19355 |
istream &ReadString(istream &str); |
19356 |
istream &ReadToDelim(istream &str, char delim = '\n'); |
19357 |
istream &ReadToken(istream &str); |
19358 |
TString &Remove(Ssiz_t pos); |
19359 |
TString &Remove(Ssiz_t pos, Ssiz_t n); |
19360 |
TString &Remove(EStripType s, char c); |
19361 |
TString &Replace(Ssiz_t pos, Ssiz_t n, const char *s); |
19362 |
TString &Replace(Ssiz_t pos, Ssiz_t n, const char *s, Ssiz_t ns); |
19363 |
TString &Replace(Ssiz_t pos, Ssiz_t n, const TString &s); |
19364 |
TString &Replace(Ssiz_t pos, Ssiz_t n1, const TString &s, Ssiz_t n2); |
19365 |
TString &ReplaceAll(const TString &s1, const TString &s2); |
19366 |
TString &ReplaceAll(const TString &s1, const char *s2); |
19367 |
TString &ReplaceAll(const char *s1, const TString &s2); |
19368 |
TString &ReplaceAll(const char *s1, const char *s2); |
19369 |
TString &ReplaceAll(const char *s1, Ssiz_t ls1, const char *s2, Ssiz_t ls2); |
19370 |
void Resize(Ssiz_t n); |
19371 |
TSubString Strip(EStripType s = kTrailing, char c = ' '); |
19372 |
TSubString Strip(EStripType s = kTrailing, char c = ' ') const; |
19373 |
void ToLower(); |
19374 |
void ToUpper(); |
19375 |
TObjArray *Tokenize(const TString &delim) const; |
19376 |
Bool_t Tokenize(TString &tok, Ssiz_t &from, const char *delim = " ") const; |
19377 |
|
19378 |
|
19379 |
static ULong_t Hash(const void *txt, Int_t ntxt); |
19380 |
static Ssiz_t InitialCapacity(Ssiz_t ic = 15); |
19381 |
static Ssiz_t MaxWaste(Ssiz_t mw = 15); |
19382 |
static Ssiz_t ResizeIncrement(Ssiz_t ri = 16); |
19383 |
static Ssiz_t GetInitialCapacity(); |
19384 |
static Ssiz_t GetResizeIncrement(); |
19385 |
static Ssiz_t GetMaxWaste(); |
19386 |
static TString Format(const char *fmt, ...); |
19387 |
|
19388 |
private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TString::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TString::Streamer(b); } static const char *DeclFileName() { return "/cern/ROOT/include/TString.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 391; } |
19389 |
}; |
19390 |
|
19391 |
|
19392 |
istream &operator>>(istream &str, TString &s); |
19393 |
ostream &operator<<(ostream &str, const TString &s); |
19394 |
|
19395 |
|
19396 |
|
19397 |
TBuffer &operator>>(TBuffer &buf, TString *&sp); |
19398 |
|
19399 |
TString ToLower(const TString &s); |
19400 |
TString ToUpper(const TString &s); |
19401 |
|
19402 |
inline UInt_t Hash(const TString &s) { return s.Hash(); } |
19403 |
inline UInt_t Hash(const TString *s) { return s->Hash(); } |
19404 |
UInt_t Hash(const char *s); |
19405 |
|
19406 |
extern char *Form(const char *fmt, ...); |
19407 |
extern void Printf(const char *fmt, ...); |
19408 |
extern char *Strip(const char *str, char c = ' '); |
19409 |
extern char *StrDup(const char *str); |
19410 |
extern char *Compress(const char *str); |
19411 |
extern int EscChar(const char *src, char *dst, int dstlen, char *specchars, |
19412 |
char escchar); |
19413 |
extern int UnEscChar(const char *src, char *dst, int dstlen, char *specchars, |
19414 |
char escchar); |
19415 |
# 431 "/cern/ROOT/include/TString.h" |
19416 |
inline void TStringRef::UnLink() |
19417 |
{ if (RemoveReference() == 0) delete [] (char*)this; } |
19418 |
|
19419 |
inline void TString::Cow() |
19420 |
{ if (Pref()->References() > 1) Clone(); } |
19421 |
|
19422 |
inline void TString::Cow(Ssiz_t nc) |
19423 |
{ if (Pref()->References() > 1 || Capacity() < nc) Clone(nc); } |
19424 |
|
19425 |
inline TString &TString::Append(const char *cs) |
19426 |
{ return Replace(Length(), 0, cs, cs ? strlen(cs) : 0); } |
19427 |
|
19428 |
inline TString &TString::Append(const char *cs, Ssiz_t n) |
19429 |
{ return Replace(Length(), 0, cs, n); } |
19430 |
|
19431 |
inline TString &TString::Append(const TString &s) |
19432 |
{ return Replace(Length(), 0, s.Data(), s.Length()); } |
19433 |
|
19434 |
inline TString &TString::Append(const TString &s, Ssiz_t n) |
19435 |
{ return Replace(Length(), 0, s.Data(), TMath::Min(n, s.Length())); } |
19436 |
|
19437 |
inline TString &TString::operator+=(const char *cs) |
19438 |
{ return Append(cs, cs ? strlen(cs) : 0); } |
19439 |
|
19440 |
inline TString &TString::operator+=(const TString &s) |
19441 |
{ return Append(s.Data(), s.Length()); } |
19442 |
|
19443 |
inline TString &TString::operator+=(char c) |
19444 |
{ return Append(c); } |
19445 |
|
19446 |
inline TString &TString::operator+=(Long_t i) |
19447 |
{ return operator+=(::Form("%ld", i)); } |
19448 |
|
19449 |
inline TString &TString::operator+=(ULong_t i) |
19450 |
{ return operator+=(::Form("%lu", i)); } |
19451 |
|
19452 |
inline TString &TString::operator+=(Short_t i) |
19453 |
{ return operator+=((Long_t) i); } |
19454 |
|
19455 |
inline TString &TString::operator+=(UShort_t i) |
19456 |
{ return operator+=((ULong_t) i); } |
19457 |
|
19458 |
inline TString &TString::operator+=(Int_t i) |
19459 |
{ return operator+=((Long_t) i); } |
19460 |
|
19461 |
inline TString &TString::operator+=(UInt_t i) |
19462 |
{ return operator+=((ULong_t) i); } |
19463 |
|
19464 |
inline TString &TString::operator+=(Double_t f) |
19465 |
{ return operator+=(::Form("%9.9g", f)); } |
19466 |
|
19467 |
inline TString &TString::operator+=(Float_t f) |
19468 |
{ return operator+=((Double_t) f); } |
19469 |
|
19470 |
inline TString &TString::operator+=(Long64_t l) |
19471 |
{ return operator+=(::Form("%lld", l)); } |
19472 |
|
19473 |
inline TString &TString::operator+=(ULong64_t ul) |
19474 |
{ return operator+=(::Form("%llu", ul)); } |
19475 |
|
19476 |
inline Bool_t TString::BeginsWith(const char *s, ECaseCompare cmp) const |
19477 |
{ return Index(s, s ? strlen(s) : (Ssiz_t)0, (Ssiz_t)0, cmp) == 0; } |
19478 |
|
19479 |
inline Bool_t TString::BeginsWith(const TString &pat, ECaseCompare cmp) const |
19480 |
{ return Index(pat.Data(), pat.Length(), (Ssiz_t)0, cmp) == 0; } |
19481 |
|
19482 |
inline Bool_t TString::Contains(const TString &pat, ECaseCompare cmp) const |
19483 |
{ return Index(pat.Data(), pat.Length(), (Ssiz_t)0, cmp) != kNPOS; } |
19484 |
|
19485 |
inline Bool_t TString::Contains(const char *s, ECaseCompare cmp) const |
19486 |
{ return Index(s, s ? strlen(s) : 0, (Ssiz_t)0, cmp) != kNPOS; } |
19487 |
|
19488 |
inline Bool_t TString::Contains(const TRegexp &pat) const |
19489 |
{ return Index(pat, (Ssiz_t)0) != kNPOS; } |
19490 |
|
19491 |
inline Bool_t TString::Contains(TPRegexp &pat) const |
19492 |
{ return Index(pat, (Ssiz_t)0) != kNPOS; } |
19493 |
|
19494 |
inline Ssiz_t TString::Index(const char *s, Ssiz_t i, ECaseCompare cmp) const |
19495 |
{ return Index(s, s ? strlen(s) : 0, i, cmp); } |
19496 |
|
19497 |
inline Ssiz_t TString::Index(const TString &s, Ssiz_t i, ECaseCompare cmp) const |
19498 |
{ return Index(s.Data(), s.Length(), i, cmp); } |
19499 |
|
19500 |
inline Ssiz_t TString::Index(const TString &pat, Ssiz_t patlen, Ssiz_t i, |
19501 |
ECaseCompare cmp) const |
19502 |
{ return Index(pat.Data(), patlen, i, cmp); } |
19503 |
|
19504 |
inline TString &TString::Insert(Ssiz_t pos, const char *cs) |
19505 |
{ return Replace(pos, 0, cs, cs ? strlen(cs) : 0); } |
19506 |
|
19507 |
inline TString &TString::Insert(Ssiz_t pos, const char *cs, Ssiz_t n) |
19508 |
{ return Replace(pos, 0, cs, n); } |
19509 |
|
19510 |
inline TString &TString::Insert(Ssiz_t pos, const TString &s) |
19511 |
{ return Replace(pos, 0, s.Data(), s.Length()); } |
19512 |
|
19513 |
inline TString &TString::Insert(Ssiz_t pos, const TString &s, Ssiz_t n) |
19514 |
{ return Replace(pos, 0, s.Data(), TMath::Min(n, s.Length())); } |
19515 |
|
19516 |
inline TString &TString::Prepend(const char *cs) |
19517 |
{ return Replace(0, 0, cs, cs ? strlen(cs) : 0); } |
19518 |
|
19519 |
inline TString &TString::Prepend(const char *cs, Ssiz_t n) |
19520 |
{ return Replace(0, 0, cs, n); } |
19521 |
|
19522 |
inline TString &TString::Prepend(const TString &s) |
19523 |
{ return Replace(0, 0, s.Data(), s.Length()); } |
19524 |
|
19525 |
inline TString &TString::Prepend(const TString &s, Ssiz_t n) |
19526 |
{ return Replace(0, 0, s.Data(), TMath::Min(n, s.Length())); } |
19527 |
|
19528 |
inline TString &TString::Remove(Ssiz_t pos) |
19529 |
{ return Replace(pos, TMath::Max(0, Length()-pos), 0, 0); } |
19530 |
|
19531 |
inline TString &TString::Remove(Ssiz_t pos, Ssiz_t n) |
19532 |
{ return Replace(pos, n, 0, 0); } |
19533 |
|
19534 |
inline TString &TString::Chop() |
19535 |
{ return Remove(TMath::Max(0, Length()-1)); } |
19536 |
|
19537 |
inline TString &TString::Replace(Ssiz_t pos, Ssiz_t n, const char *cs) |
19538 |
{ return Replace(pos, n, cs, cs ? strlen(cs) : 0); } |
19539 |
|
19540 |
inline TString &TString::Replace(Ssiz_t pos, Ssiz_t n, const TString& s) |
19541 |
{ return Replace(pos, n, s.Data(), s.Length()); } |
19542 |
|
19543 |
inline TString &TString::Replace(Ssiz_t pos, Ssiz_t n1, const TString &s, |
19544 |
Ssiz_t n2) |
19545 |
{ return Replace(pos, n1, s.Data(), TMath::Min(s.Length(), n2)); } |
19546 |
|
19547 |
inline TString &TString::ReplaceAll(const TString &s1, const TString &s2) |
19548 |
{ return ReplaceAll(s1.Data(), s1.Length(), s2.Data(), s2.Length()) ; } |
19549 |
|
19550 |
inline TString &TString::ReplaceAll(const TString &s1, const char *s2) |
19551 |
{ return ReplaceAll(s1.Data(), s1.Length(), s2, s2 ? strlen(s2) : 0); } |
19552 |
|
19553 |
inline TString &TString::ReplaceAll(const char *s1, const TString &s2) |
19554 |
{ return ReplaceAll(s1, s1 ? strlen(s1) : 0, s2.Data(), s2.Length()); } |
19555 |
|
19556 |
inline TString &TString::ReplaceAll(const char *s1,const char *s2) |
19557 |
{ return ReplaceAll(s1, s1 ? strlen(s1) : 0, s2, s2 ? strlen(s2) : 0); } |
19558 |
|
19559 |
inline char &TString::operator()(Ssiz_t i) |
19560 |
{ Cow(); return fData[i]; } |
19561 |
|
19562 |
inline char TString::operator[](Ssiz_t i) const |
19563 |
{ AssertElement(i); return fData[i]; } |
19564 |
|
19565 |
inline char TString::operator()(Ssiz_t i) const |
19566 |
{ return fData[i]; } |
19567 |
|
19568 |
inline const char *TSubString::Data() const |
19569 |
{ return fStr.Data() + fBegin; } |
19570 |
|
19571 |
|
19572 |
inline char TSubString::operator[](Ssiz_t i) const |
19573 |
{ AssertElement(i); return fStr.fData[fBegin+i]; } |
19574 |
|
19575 |
inline char TSubString::operator()(Ssiz_t i) const |
19576 |
{ return fStr.fData[fBegin+i]; } |
19577 |
|
19578 |
inline TSubString &TSubString::operator=(const TSubString &s) |
19579 |
{ fStr = s.fStr; fBegin = s.fBegin; fExtent = s.fExtent; return *this; } |
19580 |
|
19581 |
|
19582 |
|
19583 |
|
19584 |
inline Bool_t operator==(const TString &s1, const TString &s2) |
19585 |
{ |
19586 |
return ((s1.Length() == s2.Length()) && |
19587 |
!memcmp(s1.Data(), s2.Data(), s1.Length())); |
19588 |
} |
19589 |
|
19590 |
|
19591 |
inline Bool_t operator!=(const TString &s1, const TString &s2) |
19592 |
{ return !(s1 == s2); } |
19593 |
|
19594 |
inline Bool_t operator<(const TString &s1, const TString &s2) |
19595 |
{ return s1.CompareTo(s2) < 0; } |
19596 |
|
19597 |
inline Bool_t operator>(const TString &s1, const TString &s2) |
19598 |
{ return s1.CompareTo(s2) > 0; } |
19599 |
|
19600 |
inline Bool_t operator<=(const TString &s1, const TString &s2) |
19601 |
{ return s1.CompareTo(s2) <= 0; } |
19602 |
|
19603 |
inline Bool_t operator>=(const TString &s1, const TString &s2) |
19604 |
{ return s1.CompareTo(s2) >= 0; } |
19605 |
|
19606 |
|
19607 |
inline Bool_t operator!=(const TString &s1, const char *s2) |
19608 |
{ return !(s1 == s2); } |
19609 |
|
19610 |
inline Bool_t operator<(const TString &s1, const char *s2) |
19611 |
{ return s1.CompareTo(s2) < 0; } |
19612 |
|
19613 |
inline Bool_t operator>(const TString &s1, const char *s2) |
19614 |
{ return s1.CompareTo(s2) > 0; } |
19615 |
|
19616 |
inline Bool_t operator<=(const TString &s1, const char *s2) |
19617 |
{ return s1.CompareTo(s2) <= 0; } |
19618 |
|
19619 |
inline Bool_t operator>=(const TString &s1, const char *s2) |
19620 |
{ return s1.CompareTo(s2) >= 0; } |
19621 |
|
19622 |
inline Bool_t operator==(const char *s1, const TString &s2) |
19623 |
{ return (s2 == s1); } |
19624 |
|
19625 |
inline Bool_t operator!=(const char *s1, const TString &s2) |
19626 |
{ return !(s2 == s1); } |
19627 |
|
19628 |
inline Bool_t operator<(const char *s1, const TString &s2) |
19629 |
{ return s2.CompareTo(s1) > 0; } |
19630 |
|
19631 |
inline Bool_t operator>(const char *s1, const TString &s2) |
19632 |
{ return s2.CompareTo(s1) < 0; } |
19633 |
|
19634 |
inline Bool_t operator<=(const char *s1, const TString &s2) |
19635 |
{ return s2.CompareTo(s1) >= 0; } |
19636 |
|
19637 |
inline Bool_t operator>=(const char *s1, const TString &s2) |
19638 |
{ return s2.CompareTo(s1) <= 0; } |
19639 |
|
19640 |
|
19641 |
|
19642 |
|
19643 |
|
19644 |
inline Bool_t operator==(const TString &s1, const TSubString &s2) |
19645 |
{ return (s2 == s1); } |
19646 |
|
19647 |
inline Bool_t operator==(const char *s1, const TSubString &s2) |
19648 |
{ return (s2 == s1); } |
19649 |
|
19650 |
inline Bool_t operator!=(const TSubString &s1, const char *s2) |
19651 |
{ return !(s1 == s2); } |
19652 |
|
19653 |
inline Bool_t operator!=(const TSubString &s1, const TString &s2) |
19654 |
{ return !(s1 == s2); } |
19655 |
|
19656 |
inline Bool_t operator!=(const TSubString &s1, const TSubString &s2) |
19657 |
{ return !(s1 == s2); } |
19658 |
|
19659 |
inline Bool_t operator!=(const TString &s1, const TSubString &s2) |
19660 |
{ return !(s2 == s1); } |
19661 |
|
19662 |
inline Bool_t operator!=(const char *s1, const TSubString &s2) |
19663 |
{ return !(s2 == s1); } |
19664 |
# 4 "include/PamVMCGeoID.h" 2 |
19665 |
|
19666 |
struct pGeoID { |
19667 |
|
19668 |
}; |
19669 |
|
19670 |
class PamVMCGeoID { |
19671 |
|
19672 |
protected: |
19673 |
|
19674 |
TString fvolname; |
19675 |
Int_t fvoffset; |
19676 |
|
19677 |
public: |
19678 |
|
19679 |
PamVMCGeoID(): fvoffset(0), fvolname("none") {}; |
19680 |
PamVMCGeoID(const char *vname,Int_t voff): fvoffset(voff), fvolname(vname) {}; |
19681 |
virtual ~PamVMCGeoID(){}; |
19682 |
|
19683 |
virtual void FillVolID(pGeoID * gid) = 0; |
19684 |
void SetVolName(const char *vname) {fvolname=vname;} |
19685 |
void SetVolOffset(Int_t voff) {fvoffset=voff;} |
19686 |
|
19687 |
const char *GetVolName() { return fvolname.Data();} |
19688 |
|
19689 |
Int_t GetVolOffset() { return fvoffset;} |
19690 |
|
19691 |
void Print() const { |
19692 |
}; |
19693 |
|
19694 |
}; |
19695 |
# 5 "include/PamVMCCaloID.h" 2 |
19696 |
|
19697 |
|
19698 |
|
19699 |
|
19700 |
struct pCalID: public pGeoID { |
19701 |
Int_t casiNo; |
19702 |
Int_t caplNo; |
19703 |
Int_t castNo; |
19704 |
|
19705 |
pCalID(): casiNo(-1), caplNo(-1), castNo(-1) {}; |
19706 |
|
19707 |
}; |
19708 |
|
19709 |
class PamVMCCaloID : public PamVMCGeoID { |
19710 |
private: |
19711 |
|
19712 |
pCalID fcalid; |
19713 |
|
19714 |
public: |
19715 |
PamVMCCaloID() {}; |
19716 |
PamVMCCaloID( "CAST" ,3): PamVMCGeoID( "CAST" ,3) {}; |
19717 |
void FillVolID(pGeoID *gid){ }; |
19718 |
|
19719 |
|
19720 |
}; |
19721 |
# 2 "src/PamVMCCaloID.cxx" 2 |