]>
Commit | Line | Data |
---|---|---|
1 | # 1 "Command.cc" | |
2 | # 1 "<built-in>" | |
3 | #define __STDC__ 1 | |
4 | #define __cplusplus 1 | |
5 | #define __STDC_HOSTED__ 1 | |
6 | #define __GNUC__ 4 | |
7 | #define __GNUG__ 4 | |
8 | #define __GNUC_MINOR__ 2 | |
9 | #define __GNUC_PATCHLEVEL__ 3 | |
10 | #define __SIZE_TYPE__ long unsigned int | |
11 | #define __PTRDIFF_TYPE__ long int | |
12 | #define __WCHAR_TYPE__ int | |
13 | #define __WINT_TYPE__ unsigned int | |
14 | #define __INTMAX_TYPE__ long int | |
15 | #define __UINTMAX_TYPE__ long unsigned int | |
16 | #define __GXX_WEAK__ 1 | |
17 | #define __DEPRECATED 1 | |
18 | #define __EXCEPTIONS 1 | |
19 | #define __GXX_ABI_VERSION 1002 | |
20 | #define __SCHAR_MAX__ 127 | |
21 | #define __SHRT_MAX__ 32767 | |
22 | #define __INT_MAX__ 2147483647 | |
23 | #define __LONG_MAX__ 9223372036854775807L | |
24 | #define __LONG_LONG_MAX__ 9223372036854775807LL | |
25 | #define __WCHAR_MAX__ 2147483647 | |
26 | #define __CHAR_BIT__ 8 | |
27 | #define __INTMAX_MAX__ 9223372036854775807L | |
28 | #define __FLT_EVAL_METHOD__ 0 | |
29 | #define __DEC_EVAL_METHOD__ 2 | |
30 | #define __FLT_RADIX__ 2 | |
31 | #define __FLT_MANT_DIG__ 24 | |
32 | #define __FLT_DIG__ 6 | |
33 | #define __FLT_MIN_EXP__ (-125) | |
34 | #define __FLT_MIN_10_EXP__ (-37) | |
35 | #define __FLT_MAX_EXP__ 128 | |
36 | #define __FLT_MAX_10_EXP__ 38 | |
37 | #define __FLT_MAX__ 3.40282347e+38F | |
38 | #define __FLT_MIN__ 1.17549435e-38F | |
39 | #define __FLT_EPSILON__ 1.19209290e-7F | |
40 | #define __FLT_DENORM_MIN__ 1.40129846e-45F | |
41 | #define __FLT_HAS_DENORM__ 1 | |
42 | #define __FLT_HAS_INFINITY__ 1 | |
43 | #define __FLT_HAS_QUIET_NAN__ 1 | |
44 | #define __DBL_MANT_DIG__ 53 | |
45 | #define __DBL_DIG__ 15 | |
46 | #define __DBL_MIN_EXP__ (-1021) | |
47 | #define __DBL_MIN_10_EXP__ (-307) | |
48 | #define __DBL_MAX_EXP__ 1024 | |
49 | #define __DBL_MAX_10_EXP__ 308 | |
50 | #define __DBL_MAX__ 1.7976931348623157e+308 | |
51 | #define __DBL_MIN__ 2.2250738585072014e-308 | |
52 | #define __DBL_EPSILON__ 2.2204460492503131e-16 | |
53 | #define __DBL_DENORM_MIN__ 4.9406564584124654e-324 | |
54 | #define __DBL_HAS_DENORM__ 1 | |
55 | #define __DBL_HAS_INFINITY__ 1 | |
56 | #define __DBL_HAS_QUIET_NAN__ 1 | |
57 | #define __LDBL_MANT_DIG__ 64 | |
58 | #define __LDBL_DIG__ 18 | |
59 | #define __LDBL_MIN_EXP__ (-16381) | |
60 | #define __LDBL_MIN_10_EXP__ (-4931) | |
61 | #define __LDBL_MAX_EXP__ 16384 | |
62 | #define __LDBL_MAX_10_EXP__ 4932 | |
63 | #define __DECIMAL_DIG__ 21 | |
64 | #define __LDBL_MAX__ 1.18973149535723176502e+4932L | |
65 | #define __LDBL_MIN__ 3.36210314311209350626e-4932L | |
66 | #define __LDBL_EPSILON__ 1.08420217248550443401e-19L | |
67 | #define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L | |
68 | #define __LDBL_HAS_DENORM__ 1 | |
69 | #define __LDBL_HAS_INFINITY__ 1 | |
70 | #define __LDBL_HAS_QUIET_NAN__ 1 | |
71 | #define __DEC32_MANT_DIG__ 7 | |
72 | #define __DEC32_MIN_EXP__ (-95) | |
73 | #define __DEC32_MAX_EXP__ 96 | |
74 | #define __DEC32_MIN__ 1E-95DF | |
75 | #define __DEC32_MAX__ 9.999999E96DF | |
76 | #define __DEC32_EPSILON__ 1E-6DF | |
77 | #define __DEC32_DEN__ 0.000001E-95DF | |
78 | #define __DEC64_MANT_DIG__ 16 | |
79 | #define __DEC64_MIN_EXP__ (-383) | |
80 | #define __DEC64_MAX_EXP__ 384 | |
81 | #define __DEC64_MIN__ 1E-383DD | |
82 | #define __DEC64_MAX__ 9.999999999999999E384DD | |
83 | #define __DEC64_EPSILON__ 1E-15DD | |
84 | #define __DEC64_DEN__ 0.000000000000001E-383DD | |
85 | #define __DEC128_MANT_DIG__ 34 | |
86 | #define __DEC128_MIN_EXP__ (-6143) | |
87 | #define __DEC128_MAX_EXP__ 6144 | |
88 | #define __DEC128_MIN__ 1E-6143DL | |
89 | #define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL | |
90 | #define __DEC128_EPSILON__ 1E-33DL | |
91 | #define __DEC128_DEN__ 0.000000000000000000000000000000001E-6143DL | |
92 | #define __REGISTER_PREFIX__ | |
93 | #define __USER_LABEL_PREFIX__ | |
94 | #define __VERSION__ "4.2.3 (Gentoo 4.2.3 p1.0)" | |
95 | #define __GNUC_GNU_INLINE__ 1 | |
96 | #define _LP64 1 | |
97 | #define __LP64__ 1 | |
98 | #define __OPTIMIZE__ 1 | |
99 | #define __FINITE_MATH_ONLY__ 0 | |
100 | #define __amd64 1 | |
101 | #define __amd64__ 1 | |
102 | #define __x86_64 1 | |
103 | #define __x86_64__ 1 | |
104 | #define __tune_k8__ 1 | |
105 | #define __MMX__ 1 | |
106 | #define __3dNOW__ 1 | |
107 | #define __3dNOW_A__ 1 | |
108 | #define __SSE__ 1 | |
109 | #define __SSE2__ 1 | |
110 | #define __SSE3__ 1 | |
111 | #define __SSE_MATH__ 1 | |
112 | #define __SSE2_MATH__ 1 | |
113 | #define __k8 1 | |
114 | #define __k8__ 1 | |
115 | #define __gnu_linux__ 1 | |
116 | #define __linux 1 | |
117 | #define __linux__ 1 | |
118 | #define linux 1 | |
119 | #define __unix 1 | |
120 | #define __unix__ 1 | |
121 | #define unix 1 | |
122 | #define __ELF__ 1 | |
123 | # 1 "<command-line>" | |
124 | #define _GNU_SOURCE 1 | |
125 | #define HAVE_CONFIG_H 1 | |
126 | #define LOCALEDIR "/usr/share/locale" | |
127 | #define HAVE_CONFIG_H 1 | |
128 | # 1 "Command.cc" | |
129 | # 35 "Command.cc" | |
130 | # 1 "Command.h" 1 | |
131 | # 36 "Command.h" | |
132 | #define _D_COMMAND_H_ | |
133 | ||
134 | # 1 "common.h" 1 | |
135 | # 36 "common.h" | |
136 | #define _D_COMMON_H_ | |
137 | ||
138 | ||
139 | # 1 "../config.h" 1 | |
140 | # 19 "../config.h" | |
141 | #define ENABLE_MESSAGE_DIGEST 1 | |
142 | # 29 "../config.h" | |
143 | #define ENABLE_SSL 1 | |
144 | ||
145 | ||
146 | #define HAVE_ALLOCA 1 | |
147 | ||
148 | ||
149 | ||
150 | #define HAVE_ALLOCA_H 1 | |
151 | ||
152 | ||
153 | #define HAVE_ARGZ_COUNT 1 | |
154 | ||
155 | ||
156 | #define HAVE_ARGZ_H 1 | |
157 | ||
158 | ||
159 | #define HAVE_ARGZ_NEXT 1 | |
160 | ||
161 | ||
162 | #define HAVE_ARGZ_STRINGIFY 1 | |
163 | ||
164 | ||
165 | #define HAVE_ARPA_INET_H 1 | |
166 | ||
167 | ||
168 | #define HAVE_ASPRINTF 1 | |
169 | ||
170 | ||
171 | #define HAVE_BASENAME 1 | |
172 | ||
173 | ||
174 | #define HAVE_BUILTIN_EXPECT 1 | |
175 | # 71 "../config.h" | |
176 | #define HAVE_DAEMON 1 | |
177 | ||
178 | ||
179 | ||
180 | ||
181 | ||
182 | ||
183 | ||
184 | #define HAVE_DECL_FEOF_UNLOCKED 1 | |
185 | ||
186 | ||
187 | ||
188 | #define HAVE_DECL_FGETS_UNLOCKED 1 | |
189 | ||
190 | ||
191 | ||
192 | #define HAVE_DECL_GETC_UNLOCKED 1 | |
193 | ||
194 | ||
195 | ||
196 | #define HAVE_DECL__SNPRINTF 0 | |
197 | ||
198 | ||
199 | ||
200 | #define HAVE_DECL__SNWPRINTF 0 | |
201 | ||
202 | ||
203 | ||
204 | ||
205 | ||
206 | #define HAVE_EVP_DIGESTINIT_EX 1 | |
207 | ||
208 | ||
209 | #define HAVE_EVP_SHA256 1 | |
210 | ||
211 | ||
212 | #define HAVE_FCNTL_H 1 | |
213 | ||
214 | ||
215 | #define HAVE_FTRUNCATE 1 | |
216 | ||
217 | ||
218 | #define HAVE_FWPRINTF 1 | |
219 | ||
220 | ||
221 | #define HAVE_GAI_STRERROR 1 | |
222 | ||
223 | ||
224 | #define HAVE_GETADDRINFO 1 | |
225 | ||
226 | ||
227 | #define HAVE_GETCWD 1 | |
228 | ||
229 | ||
230 | #define HAVE_GETEGID 1 | |
231 | ||
232 | ||
233 | #define HAVE_GETEUID 1 | |
234 | ||
235 | ||
236 | #define HAVE_GETGID 1 | |
237 | ||
238 | ||
239 | #define HAVE_GETPAGESIZE 1 | |
240 | ||
241 | ||
242 | ||
243 | ||
244 | ||
245 | #define HAVE_GETTIMEOFDAY 1 | |
246 | ||
247 | ||
248 | #define HAVE_GETUID 1 | |
249 | ||
250 | ||
251 | #define HAVE_ICONV 1 | |
252 | ||
253 | ||
254 | #define HAVE_INET_ATON 1 | |
255 | ||
256 | ||
257 | #define HAVE_INET_NTOA 1 | |
258 | ||
259 | ||
260 | #define HAVE_INTMAX_T 1 | |
261 | ||
262 | ||
263 | #define HAVE_INTTYPES_H 1 | |
264 | ||
265 | ||
266 | ||
267 | #define HAVE_INTTYPES_H_WITH_UINTMAX 1 | |
268 | ||
269 | ||
270 | ||
271 | ||
272 | ||
273 | #define HAVE_LANGINFO_CODESET 1 | |
274 | ||
275 | ||
276 | #define HAVE_LANGINFO_H 1 | |
277 | ||
278 | ||
279 | #define HAVE_LC_MESSAGES 1 | |
280 | # 192 "../config.h" | |
281 | #define HAVE_LIBGEN_H 1 | |
282 | ||
283 | ||
284 | ||
285 | ||
286 | ||
287 | #define HAVE_LIBINTL_H 1 | |
288 | ||
289 | ||
290 | #define HAVE_LIBSSL 1 | |
291 | ||
292 | ||
293 | #define HAVE_LIBXML2 1 | |
294 | ||
295 | ||
296 | #define HAVE_LIMITS_H 1 | |
297 | ||
298 | ||
299 | #define HAVE_LOCALE_H 1 | |
300 | ||
301 | ||
302 | #define HAVE_LOCALTIME_R 1 | |
303 | ||
304 | ||
305 | #define HAVE_LONG_LONG_INT 1 | |
306 | ||
307 | ||
308 | ||
309 | #define HAVE_MALLOC 1 | |
310 | ||
311 | ||
312 | #define HAVE_MALLOC_H 1 | |
313 | ||
314 | ||
315 | #define HAVE_MEMCHR 1 | |
316 | ||
317 | ||
318 | #define HAVE_MEMORY_H 1 | |
319 | ||
320 | ||
321 | #define HAVE_MEMPCPY 1 | |
322 | ||
323 | ||
324 | #define HAVE_MEMSET 1 | |
325 | ||
326 | ||
327 | #define HAVE_MKDIR 1 | |
328 | ||
329 | ||
330 | #define HAVE_MMAP 1 | |
331 | ||
332 | ||
333 | #define HAVE_MUNMAP 1 | |
334 | ||
335 | ||
336 | #define HAVE_NETDB_H 1 | |
337 | ||
338 | ||
339 | #define HAVE_NETINET_IN_H 1 | |
340 | ||
341 | ||
342 | #define HAVE_NL_LANGINFO 1 | |
343 | ||
344 | ||
345 | ||
346 | #define HAVE_NL_LOCALE_NAME 1 | |
347 | ||
348 | ||
349 | ||
350 | ||
351 | ||
352 | #define HAVE_POSIX_MEMALIGN 1 | |
353 | ||
354 | ||
355 | #define HAVE_POSIX_PRINTF 1 | |
356 | ||
357 | ||
358 | #define HAVE_PTHREAD_MUTEX_RECURSIVE 1 | |
359 | ||
360 | ||
361 | #define HAVE_PTHREAD_RWLOCK 1 | |
362 | ||
363 | ||
364 | #define HAVE_PUTENV 1 | |
365 | ||
366 | ||
367 | #define HAVE_RANDOM 1 | |
368 | ||
369 | ||
370 | ||
371 | #define HAVE_REALLOC 1 | |
372 | ||
373 | ||
374 | #define HAVE_RMDIR 1 | |
375 | ||
376 | ||
377 | #define HAVE_SELECT 1 | |
378 | ||
379 | ||
380 | #define HAVE_SETENV 1 | |
381 | ||
382 | ||
383 | #define HAVE_SETLOCALE 1 | |
384 | ||
385 | ||
386 | #define HAVE_SIGACTION 1 | |
387 | ||
388 | ||
389 | #define HAVE_SLEEP 1 | |
390 | ||
391 | ||
392 | #define HAVE_SNPRINTF 1 | |
393 | ||
394 | ||
395 | #define HAVE_SOCKET 1 | |
396 | ||
397 | ||
398 | #define HAVE_SRANDOM 1 | |
399 | ||
400 | ||
401 | ||
402 | ||
403 | ||
404 | ||
405 | #define HAVE_STDBOOL_H 1 | |
406 | ||
407 | ||
408 | #define HAVE_STDDEF_H 1 | |
409 | ||
410 | ||
411 | #define HAVE_STDINT_H 1 | |
412 | ||
413 | ||
414 | ||
415 | #define HAVE_STDINT_H_WITH_UINTMAX 1 | |
416 | ||
417 | ||
418 | #define HAVE_STDIO_EXT_H 1 | |
419 | ||
420 | ||
421 | #define HAVE_STDLIB_H 1 | |
422 | ||
423 | ||
424 | #define HAVE_STPCPY 1 | |
425 | ||
426 | ||
427 | #define HAVE_STRCASECMP 1 | |
428 | ||
429 | ||
430 | #define HAVE_STRCHR 1 | |
431 | ||
432 | ||
433 | #define HAVE_STRCSPN 1 | |
434 | ||
435 | ||
436 | #define HAVE_STRDUP 1 | |
437 | ||
438 | ||
439 | #define HAVE_STRERROR 1 | |
440 | ||
441 | ||
442 | #define HAVE_STRINGS_H 1 | |
443 | ||
444 | ||
445 | #define HAVE_STRING_H 1 | |
446 | ||
447 | ||
448 | #define HAVE_STRPTIME 1 | |
449 | ||
450 | ||
451 | #define HAVE_STRSTR 1 | |
452 | ||
453 | ||
454 | #define HAVE_STRTOL 1 | |
455 | ||
456 | ||
457 | #define HAVE_STRTOUL 1 | |
458 | ||
459 | ||
460 | #define HAVE_SYS_PARAM_H 1 | |
461 | ||
462 | ||
463 | #define HAVE_SYS_SELECT_H 1 | |
464 | ||
465 | ||
466 | #define HAVE_SYS_SOCKET_H 1 | |
467 | ||
468 | ||
469 | #define HAVE_SYS_STAT_H 1 | |
470 | ||
471 | ||
472 | #define HAVE_SYS_TIME_H 1 | |
473 | ||
474 | ||
475 | #define HAVE_SYS_TYPES_H 1 | |
476 | ||
477 | ||
478 | #define HAVE_TIMEGM 1 | |
479 | ||
480 | ||
481 | #define HAVE_TSEARCH 1 | |
482 | ||
483 | ||
484 | #define HAVE_UINTMAX_T 1 | |
485 | ||
486 | ||
487 | #define HAVE_UNISTD_H 1 | |
488 | ||
489 | ||
490 | #define HAVE_UNSETENV 1 | |
491 | ||
492 | ||
493 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | |
494 | ||
495 | ||
496 | #define HAVE_USLEEP 1 | |
497 | ||
498 | ||
499 | ||
500 | #define HAVE_VISIBILITY 1 | |
501 | ||
502 | ||
503 | #define HAVE_VPRINTF 1 | |
504 | ||
505 | ||
506 | #define HAVE_WCHAR_T 1 | |
507 | ||
508 | ||
509 | #define HAVE_WCSLEN 1 | |
510 | ||
511 | ||
512 | ||
513 | ||
514 | ||
515 | #define HAVE_WINT_T 1 | |
516 | # 435 "../config.h" | |
517 | #define HAVE___ARGZ_COUNT 1 | |
518 | ||
519 | ||
520 | #define HAVE___ARGZ_NEXT 1 | |
521 | ||
522 | ||
523 | #define HAVE___ARGZ_STRINGIFY 1 | |
524 | ||
525 | ||
526 | #define HAVE___FSETLOCKING 1 | |
527 | ||
528 | ||
529 | #define ICONV_CONST | |
530 | ||
531 | ||
532 | #define INTDIV0_RAISES_SIGFPE 1 | |
533 | ||
534 | ||
535 | ||
536 | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 | |
537 | ||
538 | ||
539 | #define PACKAGE "aria2c" | |
540 | ||
541 | ||
542 | #define PACKAGE_BUGREPORT "t-tujikawa@users.sourceforge.net" | |
543 | ||
544 | ||
545 | #define PACKAGE_NAME "aria2c" | |
546 | ||
547 | ||
548 | #define PACKAGE_STRING "aria2c 0.13.0" | |
549 | ||
550 | ||
551 | #define PACKAGE_TARNAME "aria2c" | |
552 | ||
553 | ||
554 | #define PACKAGE_VERSION "0.13.0" | |
555 | # 481 "../config.h" | |
556 | #define SELECT_TYPE_ARG1 int | |
557 | ||
558 | ||
559 | #define SELECT_TYPE_ARG234 (fd_set *) | |
560 | ||
561 | ||
562 | #define SELECT_TYPE_ARG5 (struct timeval *) | |
563 | ||
564 | ||
565 | ||
566 | #define SIZE_MAX (((1UL << 63) - 1) * 2 + 1) | |
567 | # 502 "../config.h" | |
568 | #define STDC_HEADERS 1 | |
569 | ||
570 | ||
571 | #define TARGET "x86_64-pc-linux-gnu" | |
572 | ||
573 | ||
574 | #define TIME_WITH_SYS_TIME 1 | |
575 | ||
576 | ||
577 | ||
578 | ||
579 | ||
580 | #define USE_POSIX_THREADS 1 | |
581 | ||
582 | ||
583 | ||
584 | #define USE_POSIX_THREADS_WEAK 1 | |
585 | # 538 "../config.h" | |
586 | #define VERSION "0.13.0" | |
587 | # 570 "../config.h" | |
588 | #define __EXTENSIONS__ 1 | |
589 | ||
590 | ||
591 | #define _POSIX_PTHREAD_SEMANTICS 1 | |
592 | ||
593 | ||
594 | #define _TANDEM_SOURCE 1 | |
595 | # 610 "../config.h" | |
596 | #define __libc_lock_t gl_lock_t | |
597 | #define __libc_lock_define gl_lock_define | |
598 | #define __libc_lock_define_initialized gl_lock_define_initialized | |
599 | #define __libc_lock_init gl_lock_init | |
600 | #define __libc_lock_lock gl_lock_lock | |
601 | #define __libc_lock_unlock gl_lock_unlock | |
602 | #define __libc_lock_recursive_t gl_recursive_lock_t | |
603 | #define __libc_lock_define_recursive gl_recursive_lock_define | |
604 | #define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized | |
605 | #define __libc_lock_init_recursive gl_recursive_lock_init | |
606 | #define __libc_lock_lock_recursive gl_recursive_lock_lock | |
607 | #define __libc_lock_unlock_recursive gl_recursive_lock_unlock | |
608 | #define glthread_in_use libintl_thread_in_use | |
609 | #define glthread_lock_init libintl_lock_init | |
610 | #define glthread_lock_lock libintl_lock_lock | |
611 | #define glthread_lock_unlock libintl_lock_unlock | |
612 | #define glthread_lock_destroy libintl_lock_destroy | |
613 | #define glthread_rwlock_init libintl_rwlock_init | |
614 | #define glthread_rwlock_rdlock libintl_rwlock_rdlock | |
615 | #define glthread_rwlock_wrlock libintl_rwlock_wrlock | |
616 | #define glthread_rwlock_unlock libintl_rwlock_unlock | |
617 | #define glthread_rwlock_destroy libintl_rwlock_destroy | |
618 | #define glthread_recursive_lock_init libintl_recursive_lock_init | |
619 | #define glthread_recursive_lock_lock libintl_recursive_lock_lock | |
620 | #define glthread_recursive_lock_unlock libintl_recursive_lock_unlock | |
621 | #define glthread_recursive_lock_destroy libintl_recursive_lock_destroy | |
622 | #define glthread_once libintl_once | |
623 | #define glthread_once_call libintl_once_call | |
624 | #define glthread_once_singlethreaded libintl_once_singlethreaded | |
625 | # 40 "common.h" 2 | |
626 | # 51 "common.h" | |
627 | # 1 "../lib/gettext.h" 1 | |
628 | # 20 "../lib/gettext.h" | |
629 | #define _LIBGETTEXT_H 1 | |
630 | # 45 "../lib/gettext.h" | |
631 | #define gettext(Msgid) ((const char *) (Msgid)) | |
632 | #define dgettext(Domainname,Msgid) ((const char *) (Msgid)) | |
633 | #define dcgettext(Domainname,Msgid,Category) ((const char *) (Msgid)) | |
634 | #define ngettext(Msgid1,Msgid2,N) ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) | |
635 | ||
636 | #define dngettext(Domainname,Msgid1,Msgid2,N) ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) | |
637 | ||
638 | #define dcngettext(Domainname,Msgid1,Msgid2,N,Category) ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) | |
639 | ||
640 | #define textdomain(Domainname) ((const char *) (Domainname)) | |
641 | #define bindtextdomain(Domainname,Dirname) ((const char *) (Dirname)) | |
642 | #define bind_textdomain_codeset(Domainname,Codeset) ((const char *) (Codeset)) | |
643 | # 67 "../lib/gettext.h" | |
644 | #define gettext_noop(String) String | |
645 | # 52 "common.h" 2 | |
646 | #define _(String) gettext(String) | |
647 | ||
648 | ||
649 | #define __STDC_LIMIT_MACROS | |
650 | # 39 "Command.h" 2 | |
651 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/deque" 1 3 | |
652 | # 61 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/deque" 3 | |
653 | #define _GLIBCXX_DEQUE 1 | |
654 | ||
655 | ||
656 | # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/deque" 3 | |
657 | ||
658 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/functexcept.h" 1 3 | |
659 | # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/functexcept.h" 3 | |
660 | #define _FUNCTEXCEPT_H 1 | |
661 | ||
662 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 1 3 | |
663 | # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 3 | |
664 | #define _CXXCONFIG 1 | |
665 | ||
666 | ||
667 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/os_defines.h" 1 3 | |
668 | # 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/os_defines.h" 3 | |
669 | #define _GLIBCXX_OS_DEFINES 1 | |
670 | ||
671 | ||
672 | ||
673 | ||
674 | ||
675 | #define __NO_CTYPE 1 | |
676 | ||
677 | # 1 "/usr/include/features.h" 1 3 4 | |
678 | ||
679 | ||
680 | ||
681 | ||
682 | ||
683 | ||
684 | ||
685 | # 1 "/usr/include/gentoo-multilib/amd64/features.h" 1 3 4 | |
686 | # 20 "/usr/include/gentoo-multilib/amd64/features.h" 3 4 | |
687 | #define _FEATURES_H 1 | |
688 | # 93 "/usr/include/gentoo-multilib/amd64/features.h" 3 4 | |
689 | #undef __USE_ISOC99 | |
690 | #undef __USE_ISOC95 | |
691 | #undef __USE_POSIX | |
692 | #undef __USE_POSIX2 | |
693 | #undef __USE_POSIX199309 | |
694 | #undef __USE_POSIX199506 | |
695 | #undef __USE_XOPEN | |
696 | #undef __USE_XOPEN_EXTENDED | |
697 | #undef __USE_UNIX98 | |
698 | #undef __USE_XOPEN2K | |
699 | #undef __USE_LARGEFILE | |
700 | #undef __USE_LARGEFILE64 | |
701 | #undef __USE_FILE_OFFSET64 | |
702 | #undef __USE_BSD | |
703 | #undef __USE_SVID | |
704 | #undef __USE_MISC | |
705 | #undef __USE_ATFILE | |
706 | #undef __USE_GNU | |
707 | #undef __USE_REENTRANT | |
708 | #undef __USE_FORTIFY_LEVEL | |
709 | #undef __FAVOR_BSD | |
710 | #undef __KERNEL_STRICT_NAMES | |
711 | ||
712 | ||
713 | ||
714 | ||
715 | #define __KERNEL_STRICT_NAMES | |
716 | ||
717 | ||
718 | ||
719 | #define __USE_ANSI 1 | |
720 | # 133 "/usr/include/gentoo-multilib/amd64/features.h" 3 4 | |
721 | #define __GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) | |
722 | # 150 "/usr/include/gentoo-multilib/amd64/features.h" 3 4 | |
723 | #undef _ISOC99_SOURCE | |
724 | #define _ISOC99_SOURCE 1 | |
725 | #undef _POSIX_SOURCE | |
726 | #define _POSIX_SOURCE 1 | |
727 | #undef _POSIX_C_SOURCE | |
728 | #define _POSIX_C_SOURCE 200112L | |
729 | #undef _XOPEN_SOURCE | |
730 | #define _XOPEN_SOURCE 600 | |
731 | #undef _XOPEN_SOURCE_EXTENDED | |
732 | #define _XOPEN_SOURCE_EXTENDED 1 | |
733 | #undef _LARGEFILE64_SOURCE | |
734 | #define _LARGEFILE64_SOURCE 1 | |
735 | #undef _BSD_SOURCE | |
736 | #define _BSD_SOURCE 1 | |
737 | #undef _SVID_SOURCE | |
738 | #define _SVID_SOURCE 1 | |
739 | #undef _ATFILE_SOURCE | |
740 | #define _ATFILE_SOURCE 1 | |
741 | # 186 "/usr/include/gentoo-multilib/amd64/features.h" 3 4 | |
742 | #define __USE_ISOC99 1 | |
743 | ||
744 | ||
745 | ||
746 | ||
747 | ||
748 | #define __USE_ISOC95 1 | |
749 | # 210 "/usr/include/gentoo-multilib/amd64/features.h" 3 4 | |
750 | #define __USE_POSIX 1 | |
751 | ||
752 | ||
753 | ||
754 | #define __USE_POSIX2 1 | |
755 | ||
756 | ||
757 | ||
758 | #define __USE_POSIX199309 1 | |
759 | ||
760 | ||
761 | ||
762 | #define __USE_POSIX199506 1 | |
763 | ||
764 | ||
765 | ||
766 | #define __USE_XOPEN2K 1 | |
767 | ||
768 | ||
769 | ||
770 | #define __USE_XOPEN 1 | |
771 | ||
772 | #define __USE_XOPEN_EXTENDED 1 | |
773 | #define __USE_UNIX98 1 | |
774 | #undef _LARGEFILE_SOURCE | |
775 | #define _LARGEFILE_SOURCE 1 | |
776 | ||
777 | #define __USE_XOPEN2K 1 | |
778 | #undef __USE_ISOC99 | |
779 | #define __USE_ISOC99 1 | |
780 | # 249 "/usr/include/gentoo-multilib/amd64/features.h" 3 4 | |
781 | #define __USE_LARGEFILE 1 | |
782 | ||
783 | ||
784 | ||
785 | #define __USE_LARGEFILE64 1 | |
786 | ||
787 | ||
788 | ||
789 | ||
790 | ||
791 | ||
792 | ||
793 | #define __USE_MISC 1 | |
794 | ||
795 | ||
796 | ||
797 | #define __USE_BSD 1 | |
798 | ||
799 | ||
800 | ||
801 | #define __USE_SVID 1 | |
802 | ||
803 | ||
804 | ||
805 | #define __USE_ATFILE 1 | |
806 | ||
807 | ||
808 | ||
809 | #define __USE_GNU 1 | |
810 | # 292 "/usr/include/gentoo-multilib/amd64/features.h" 3 4 | |
811 | #define __USE_FORTIFY_LEVEL 0 | |
812 | ||
813 | ||
814 | ||
815 | #define __STDC_IEC_559__ 1 | |
816 | #define __STDC_IEC_559_COMPLEX__ 1 | |
817 | ||
818 | ||
819 | #define __STDC_ISO_10646__ 200009L | |
820 | ||
821 | ||
822 | ||
823 | ||
824 | ||
825 | ||
826 | ||
827 | #undef __GNU_LIBRARY__ | |
828 | #define __GNU_LIBRARY__ 6 | |
829 | ||
830 | ||
831 | ||
832 | #define __GLIBC__ 2 | |
833 | #define __GLIBC_MINOR__ 7 | |
834 | ||
835 | #define __GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) | |
836 | ||
837 | ||
838 | ||
839 | ||
840 | ||
841 | ||
842 | ||
843 | #define __GLIBC_HAVE_LONG_LONG 1 | |
844 | ||
845 | ||
846 | ||
847 | ||
848 | ||
849 | # 1 "/usr/include/sys/cdefs.h" 1 3 4 | |
850 | ||
851 | ||
852 | ||
853 | ||
854 | ||
855 | ||
856 | ||
857 | # 1 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 1 3 4 | |
858 | # 21 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4 | |
859 | #define _SYS_CDEFS_H 1 | |
860 | # 36 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4 | |
861 | #undef __P | |
862 | #undef __PMT | |
863 | # 51 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4 | |
864 | #define __THROW throw () | |
865 | #define __NTH(fct) fct throw () | |
866 | # 74 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4 | |
867 | #define __P(args) args | |
868 | #define __PMT(args) args | |
869 | ||
870 | ||
871 | ||
872 | ||
873 | #define __CONCAT(x,y) x ## y | |
874 | #define __STRING(x) #x | |
875 | ||
876 | ||
877 | #define __ptr_t void * | |
878 | #define __long_double_t long double | |
879 | ||
880 | ||
881 | ||
882 | ||
883 | #define __BEGIN_DECLS extern "C" { | |
884 | #define __END_DECLS } | |
885 | # 114 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4 | |
886 | #define __BEGIN_NAMESPACE_STD | |
887 | #define __END_NAMESPACE_STD | |
888 | #define __USING_NAMESPACE_STD(name) | |
889 | #define __BEGIN_NAMESPACE_C99 | |
890 | #define __END_NAMESPACE_C99 | |
891 | #define __USING_NAMESPACE_C99(name) | |
892 | ||
893 | ||
894 | ||
895 | ||
896 | ||
897 | #define __bounded | |
898 | #define __unbounded | |
899 | #define __ptrvalue | |
900 | ||
901 | ||
902 | ||
903 | ||
904 | #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) | |
905 | #define __bos0(ptr) __builtin_object_size (ptr, 0) | |
906 | # 142 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4 | |
907 | #define __warndecl(name,msg) extern void name (void) | |
908 | #define __warnattr(msg) | |
909 | #define __errordecl(name,msg) extern void name (void) | |
910 | ||
911 | ||
912 | ||
913 | ||
914 | ||
915 | #define __flexarr [] | |
916 | # 177 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4 | |
917 | #define __REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias)) | |
918 | ||
919 | #define __REDIRECT_NTH(name,proto,alias) name proto __THROW __asm__ (__ASMNAME (#alias)) | |
920 | ||
921 | ||
922 | ||
923 | ||
924 | ||
925 | #define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname) | |
926 | #define __ASMNAME2(prefix,cname) __STRING (prefix) cname | |
927 | # 207 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4 | |
928 | #define __attribute_malloc__ __attribute__ ((__malloc__)) | |
929 | # 216 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4 | |
930 | #define __attribute_pure__ __attribute__ ((__pure__)) | |
931 | # 225 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4 | |
932 | #define __attribute_used__ __attribute__ ((__used__)) | |
933 | #define __attribute_noinline__ __attribute__ ((__noinline__)) | |
934 | ||
935 | ||
936 | ||
937 | ||
938 | ||
939 | ||
940 | ||
941 | #define __attribute_deprecated__ __attribute__ ((__deprecated__)) | |
942 | # 246 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4 | |
943 | #define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x))) | |
944 | # 256 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4 | |
945 | #define __attribute_format_strfmon__(a,b) __attribute__ ((__format__ (__strfmon__, a, b))) | |
946 | # 265 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4 | |
947 | #define __nonnull(params) __attribute__ ((__nonnull__ params)) | |
948 | ||
949 | ||
950 | ||
951 | ||
952 | ||
953 | ||
954 | ||
955 | #define __attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__)) | |
956 | # 282 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4 | |
957 | #define __wur | |
958 | ||
959 | ||
960 | ||
961 | ||
962 | #define __always_inline __inline __attribute__ ((__always_inline__)) | |
963 | # 337 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4 | |
964 | #define __restrict_arr | |
965 | # 348 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4 | |
966 | # 1 "/usr/include/bits/wordsize.h" 1 3 4 | |
967 | ||
968 | ||
969 | ||
970 | ||
971 | ||
972 | ||
973 | ||
974 | # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4 | |
975 | ||
976 | ||
977 | ||
978 | #define __WORDSIZE 64 | |
979 | #define __WORDSIZE_COMPAT32 1 | |
980 | # 9 "/usr/include/bits/wordsize.h" 2 3 4 | |
981 | # 349 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 2 3 4 | |
982 | # 370 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4 | |
983 | #define __LDBL_REDIR1(name,proto,alias) name proto | |
984 | #define __LDBL_REDIR(name,proto) name proto | |
985 | #define __LDBL_REDIR1_NTH(name,proto,alias) name proto __THROW | |
986 | #define __LDBL_REDIR_NTH(name,proto) name proto __THROW | |
987 | #define __LDBL_REDIR_DECL(name) | |
988 | ||
989 | #define __REDIRECT_LDBL(name,proto,alias) __REDIRECT (name, proto, alias) | |
990 | #define __REDIRECT_NTH_LDBL(name,proto,alias) __REDIRECT_NTH (name, proto, alias) | |
991 | # 9 "/usr/include/sys/cdefs.h" 2 3 4 | |
992 | # 331 "/usr/include/gentoo-multilib/amd64/features.h" 2 3 4 | |
993 | # 354 "/usr/include/gentoo-multilib/amd64/features.h" 3 4 | |
994 | # 1 "/usr/include/gnu/stubs.h" 1 3 4 | |
995 | ||
996 | ||
997 | ||
998 | ||
999 | ||
1000 | ||
1001 | ||
1002 | # 1 "/usr/include/gentoo-multilib/amd64/gnu/stubs.h" 1 3 4 | |
1003 | ||
1004 | ||
1005 | ||
1006 | # 1 "/usr/include/bits/wordsize.h" 1 3 4 | |
1007 | ||
1008 | ||
1009 | ||
1010 | ||
1011 | ||
1012 | ||
1013 | ||
1014 | # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4 | |
1015 | ||
1016 | ||
1017 | ||
1018 | #define __WORDSIZE 64 | |
1019 | #define __WORDSIZE_COMPAT32 1 | |
1020 | # 9 "/usr/include/bits/wordsize.h" 2 3 4 | |
1021 | # 5 "/usr/include/gentoo-multilib/amd64/gnu/stubs.h" 2 3 4 | |
1022 | ||
1023 | ||
1024 | ||
1025 | ||
1026 | # 1 "/usr/include/gnu/stubs-64.h" 1 3 4 | |
1027 | ||
1028 | ||
1029 | ||
1030 | # 1 "/usr/include/gentoo-multilib/amd64/gnu/stubs-64.h" 1 3 4 | |
1031 | # 10 "/usr/include/gentoo-multilib/amd64/gnu/stubs-64.h" 3 4 | |
1032 | #define __stub_bdflush | |
1033 | #define __stub_chflags | |
1034 | #define __stub_fattach | |
1035 | #define __stub_fchflags | |
1036 | #define __stub_fdetach | |
1037 | #define __stub_getmsg | |
1038 | #define __stub_gtty | |
1039 | #define __stub_lchmod | |
1040 | #define __stub_putmsg | |
1041 | #define __stub_revoke | |
1042 | #define __stub_setlogin | |
1043 | #define __stub_sigreturn | |
1044 | #define __stub_sstk | |
1045 | #define __stub_stty | |
1046 | # 5 "/usr/include/gnu/stubs-64.h" 2 3 4 | |
1047 | # 10 "/usr/include/gentoo-multilib/amd64/gnu/stubs.h" 2 3 4 | |
1048 | # 9 "/usr/include/gnu/stubs.h" 2 3 4 | |
1049 | # 355 "/usr/include/gentoo-multilib/amd64/features.h" 2 3 4 | |
1050 | # 9 "/usr/include/features.h" 2 3 4 | |
1051 | # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/os_defines.h" 2 3 | |
1052 | ||
1053 | ||
1054 | ||
1055 | #define __NO_STRING_INLINES | |
1056 | # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 2 3 | |
1057 | ||
1058 | ||
1059 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/cpu_defines.h" 1 3 | |
1060 | # 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/cpu_defines.h" 3 | |
1061 | #define _GLIBCXX_CPU_DEFINES 1 | |
1062 | # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 2 3 | |
1063 | ||
1064 | ||
1065 | #define __GLIBCXX__ 20080201 | |
1066 | ||
1067 | ||
1068 | #define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 | |
1069 | ||
1070 | ||
1071 | #define _GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V))) | |
1072 | # 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 3 | |
1073 | #define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 0 | |
1074 | # 76 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 3 | |
1075 | #define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY(default) { | |
1076 | #define _GLIBCXX_END_NAMESPACE } | |
1077 | ||
1078 | ||
1079 | ||
1080 | ||
1081 | #define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X,Y) _GLIBCXX_BEGIN_NAMESPACE(X) | |
1082 | #define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE | |
1083 | # 139 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 3 | |
1084 | #define _GLIBCXX_STD std | |
1085 | #define _GLIBCXX_EXT __gnu_cxx | |
1086 | ||
1087 | ||
1088 | ||
1089 | ||
1090 | #undef _GLIBCXX_LONG_DOUBLE_COMPAT | |
1091 | ||
1092 | ||
1093 | ||
1094 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
1095 | ||
1096 | ||
1097 | ||
1098 | ||
1099 | ||
1100 | ||
1101 | ||
1102 | #define _GLIBCXX_LDBL_NAMESPACE | |
1103 | #define _GLIBCXX_BEGIN_LDBL_NAMESPACE | |
1104 | #define _GLIBCXX_END_LDBL_NAMESPACE | |
1105 | ||
1106 | } | |
1107 | # 175 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 3 | |
1108 | #define _GLIBCXX_EXTERN_TEMPLATE 1 | |
1109 | ||
1110 | ||
1111 | ||
1112 | ||
1113 | ||
1114 | ||
1115 | ||
1116 | #define _GLIBCXX_WEAK_DEFINITION | |
1117 | # 193 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 3 | |
1118 | #define _GLIBCXX_FAST_MATH 0 | |
1119 | ||
1120 | ||
1121 | ||
1122 | ||
1123 | ||
1124 | ||
1125 | #define __N(msgid) (msgid) | |
1126 | ||
1127 | ||
1128 | #undef min | |
1129 | #undef max | |
1130 | ||
1131 | ||
1132 | ||
1133 | ||
1134 | ||
1135 | ||
1136 | #define _GLIBCXX_HAVE_ACOSF 1 | |
1137 | ||
1138 | ||
1139 | #define _GLIBCXX_HAVE_ACOSL 1 | |
1140 | ||
1141 | ||
1142 | #define _GLIBCXX_HAVE_ASINF 1 | |
1143 | ||
1144 | ||
1145 | #define _GLIBCXX_HAVE_ASINL 1 | |
1146 | ||
1147 | ||
1148 | #define _GLIBCXX_HAVE_ATAN2F 1 | |
1149 | ||
1150 | ||
1151 | #define _GLIBCXX_HAVE_ATAN2L 1 | |
1152 | ||
1153 | ||
1154 | #define _GLIBCXX_HAVE_ATANF 1 | |
1155 | ||
1156 | ||
1157 | #define _GLIBCXX_HAVE_ATANL 1 | |
1158 | ||
1159 | ||
1160 | #define _GLIBCXX_HAVE_CEILF 1 | |
1161 | ||
1162 | ||
1163 | #define _GLIBCXX_HAVE_CEILL 1 | |
1164 | ||
1165 | ||
1166 | #define _GLIBCXX_HAVE_COMPLEX_H 1 | |
1167 | ||
1168 | ||
1169 | #define _GLIBCXX_HAVE_COPYSIGN 1 | |
1170 | ||
1171 | ||
1172 | #define _GLIBCXX_HAVE_COPYSIGNF 1 | |
1173 | ||
1174 | ||
1175 | #define _GLIBCXX_HAVE_COPYSIGNL 1 | |
1176 | ||
1177 | ||
1178 | #define _GLIBCXX_HAVE_COSF 1 | |
1179 | ||
1180 | ||
1181 | #define _GLIBCXX_HAVE_COSHF 1 | |
1182 | ||
1183 | ||
1184 | #define _GLIBCXX_HAVE_COSHL 1 | |
1185 | ||
1186 | ||
1187 | #define _GLIBCXX_HAVE_COSL 1 | |
1188 | ||
1189 | ||
1190 | #define _GLIBCXX_HAVE_ENDIAN_H 1 | |
1191 | ||
1192 | ||
1193 | #define _GLIBCXX_HAVE_EXPF 1 | |
1194 | ||
1195 | ||
1196 | #define _GLIBCXX_HAVE_EXPL 1 | |
1197 | ||
1198 | ||
1199 | #define _GLIBCXX_HAVE_FABSF 1 | |
1200 | ||
1201 | ||
1202 | #define _GLIBCXX_HAVE_FABSL 1 | |
1203 | ||
1204 | ||
1205 | #define _GLIBCXX_HAVE_FENV_H 1 | |
1206 | ||
1207 | ||
1208 | #define _GLIBCXX_HAVE_FINITE 1 | |
1209 | ||
1210 | ||
1211 | #define _GLIBCXX_HAVE_FINITEF 1 | |
1212 | ||
1213 | ||
1214 | #define _GLIBCXX_HAVE_FINITEL 1 | |
1215 | ||
1216 | ||
1217 | #define _GLIBCXX_HAVE_FLOAT_H 1 | |
1218 | ||
1219 | ||
1220 | #define _GLIBCXX_HAVE_FLOORF 1 | |
1221 | ||
1222 | ||
1223 | #define _GLIBCXX_HAVE_FLOORL 1 | |
1224 | ||
1225 | ||
1226 | #define _GLIBCXX_HAVE_FMODF 1 | |
1227 | ||
1228 | ||
1229 | #define _GLIBCXX_HAVE_FMODL 1 | |
1230 | # 313 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 3 | |
1231 | #define _GLIBCXX_HAVE_FREXPF 1 | |
1232 | ||
1233 | ||
1234 | #define _GLIBCXX_HAVE_FREXPL 1 | |
1235 | ||
1236 | ||
1237 | #define _GLIBCXX_HAVE_GCONV_H 1 | |
1238 | ||
1239 | ||
1240 | #define _GLIBCXX_HAVE_GETIPINFO 1 | |
1241 | ||
1242 | ||
1243 | #define _GLIBCXX_HAVE_GETPAGESIZE 1 | |
1244 | ||
1245 | ||
1246 | ||
1247 | #define _GLIBCXX_HAVE_GTHR_DEFAULT 1 | |
1248 | ||
1249 | ||
1250 | #define _GLIBCXX_HAVE_HYPOT 1 | |
1251 | ||
1252 | ||
1253 | #define _GLIBCXX_HAVE_HYPOTF 1 | |
1254 | ||
1255 | ||
1256 | #define _GLIBCXX_HAVE_HYPOTL 1 | |
1257 | ||
1258 | ||
1259 | #define _GLIBCXX_HAVE_ICONV 1 | |
1260 | ||
1261 | ||
1262 | #define _GLIBCXX_HAVE_ICONV_CLOSE 1 | |
1263 | ||
1264 | ||
1265 | #define _GLIBCXX_HAVE_ICONV_OPEN 1 | |
1266 | ||
1267 | ||
1268 | ||
1269 | ||
1270 | ||
1271 | #define _GLIBCXX_HAVE_INT64_T 1 | |
1272 | ||
1273 | ||
1274 | #define _GLIBCXX_HAVE_INTTYPES_H 1 | |
1275 | ||
1276 | ||
1277 | #define _GLIBCXX_HAVE_ISINF 1 | |
1278 | ||
1279 | ||
1280 | #define _GLIBCXX_HAVE_ISINFF 1 | |
1281 | ||
1282 | ||
1283 | #define _GLIBCXX_HAVE_ISINFL 1 | |
1284 | ||
1285 | ||
1286 | #define _GLIBCXX_HAVE_ISNAN 1 | |
1287 | ||
1288 | ||
1289 | #define _GLIBCXX_HAVE_ISNANF 1 | |
1290 | ||
1291 | ||
1292 | #define _GLIBCXX_HAVE_ISNANL 1 | |
1293 | ||
1294 | ||
1295 | #define _GLIBCXX_HAVE_ISWBLANK 1 | |
1296 | ||
1297 | ||
1298 | #define _GLIBCXX_HAVE_LC_MESSAGES 1 | |
1299 | ||
1300 | ||
1301 | #define _GLIBCXX_HAVE_LDEXPF 1 | |
1302 | ||
1303 | ||
1304 | #define _GLIBCXX_HAVE_LDEXPL 1 | |
1305 | ||
1306 | ||
1307 | ||
1308 | ||
1309 | ||
1310 | #define _GLIBCXX_HAVE_LIBM 1 | |
1311 | ||
1312 | ||
1313 | #define _GLIBCXX_HAVE_LIMIT_AS 1 | |
1314 | ||
1315 | ||
1316 | #define _GLIBCXX_HAVE_LIMIT_DATA 1 | |
1317 | ||
1318 | ||
1319 | #define _GLIBCXX_HAVE_LIMIT_FSIZE 1 | |
1320 | ||
1321 | ||
1322 | #define _GLIBCXX_HAVE_LIMIT_RSS 1 | |
1323 | ||
1324 | ||
1325 | #define _GLIBCXX_HAVE_LIMIT_VMEM 0 | |
1326 | ||
1327 | ||
1328 | #define _GLIBCXX_HAVE_LOCALE_H 1 | |
1329 | ||
1330 | ||
1331 | #define _GLIBCXX_HAVE_LOG10F 1 | |
1332 | ||
1333 | ||
1334 | #define _GLIBCXX_HAVE_LOG10L 1 | |
1335 | ||
1336 | ||
1337 | #define _GLIBCXX_HAVE_LOGF 1 | |
1338 | ||
1339 | ||
1340 | #define _GLIBCXX_HAVE_LOGL 1 | |
1341 | # 431 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 3 | |
1342 | #define _GLIBCXX_HAVE_MBSTATE_T 1 | |
1343 | ||
1344 | ||
1345 | #define _GLIBCXX_HAVE_MEMORY_H 1 | |
1346 | ||
1347 | ||
1348 | #define _GLIBCXX_HAVE_MMAP 1 | |
1349 | ||
1350 | ||
1351 | #define _GLIBCXX_HAVE_MODF 1 | |
1352 | ||
1353 | ||
1354 | #define _GLIBCXX_HAVE_MODFF 1 | |
1355 | ||
1356 | ||
1357 | #define _GLIBCXX_HAVE_MODFL 1 | |
1358 | ||
1359 | ||
1360 | ||
1361 | ||
1362 | ||
1363 | #define _GLIBCXX_HAVE_NL_LANGINFO 1 | |
1364 | ||
1365 | ||
1366 | #define _GLIBCXX_HAVE_POLL 1 | |
1367 | ||
1368 | ||
1369 | #define _GLIBCXX_HAVE_POWF 1 | |
1370 | ||
1371 | ||
1372 | #define _GLIBCXX_HAVE_POWL 1 | |
1373 | ||
1374 | ||
1375 | ||
1376 | ||
1377 | ||
1378 | #define _GLIBCXX_HAVE_SETENV 1 | |
1379 | ||
1380 | ||
1381 | #define _GLIBCXX_HAVE_SIGSETJMP 1 | |
1382 | ||
1383 | ||
1384 | #define _GLIBCXX_HAVE_SINCOS 1 | |
1385 | ||
1386 | ||
1387 | #define _GLIBCXX_HAVE_SINCOSF 1 | |
1388 | ||
1389 | ||
1390 | #define _GLIBCXX_HAVE_SINCOSL 1 | |
1391 | ||
1392 | ||
1393 | #define _GLIBCXX_HAVE_SINF 1 | |
1394 | ||
1395 | ||
1396 | #define _GLIBCXX_HAVE_SINHF 1 | |
1397 | ||
1398 | ||
1399 | #define _GLIBCXX_HAVE_SINHL 1 | |
1400 | ||
1401 | ||
1402 | #define _GLIBCXX_HAVE_SINL 1 | |
1403 | ||
1404 | ||
1405 | #define _GLIBCXX_HAVE_SQRTF 1 | |
1406 | ||
1407 | ||
1408 | #define _GLIBCXX_HAVE_SQRTL 1 | |
1409 | ||
1410 | ||
1411 | #define _GLIBCXX_HAVE_STDBOOL_H 1 | |
1412 | ||
1413 | ||
1414 | #define _GLIBCXX_HAVE_STDINT_H 1 | |
1415 | ||
1416 | ||
1417 | #define _GLIBCXX_HAVE_STDLIB_H 1 | |
1418 | ||
1419 | ||
1420 | #define _GLIBCXX_HAVE_STRERROR_L 1 | |
1421 | ||
1422 | ||
1423 | #define _GLIBCXX_HAVE_STRERROR_R 1 | |
1424 | ||
1425 | ||
1426 | #define _GLIBCXX_HAVE_STRINGS_H 1 | |
1427 | ||
1428 | ||
1429 | #define _GLIBCXX_HAVE_STRING_H 1 | |
1430 | ||
1431 | ||
1432 | #define _GLIBCXX_HAVE_STRTOF 1 | |
1433 | ||
1434 | ||
1435 | #define _GLIBCXX_HAVE_STRTOLD 1 | |
1436 | ||
1437 | ||
1438 | #define _GLIBCXX_HAVE_STRXFRM_L 1 | |
1439 | ||
1440 | ||
1441 | ||
1442 | ||
1443 | ||
1444 | #define _GLIBCXX_HAVE_SYS_IOCTL_H 1 | |
1445 | ||
1446 | ||
1447 | #define _GLIBCXX_HAVE_SYS_IPC_H 1 | |
1448 | # 548 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 3 | |
1449 | #define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 | |
1450 | ||
1451 | ||
1452 | #define _GLIBCXX_HAVE_SYS_SEM_H 1 | |
1453 | ||
1454 | ||
1455 | #define _GLIBCXX_HAVE_SYS_STAT_H 1 | |
1456 | ||
1457 | ||
1458 | #define _GLIBCXX_HAVE_SYS_TIME_H 1 | |
1459 | ||
1460 | ||
1461 | #define _GLIBCXX_HAVE_SYS_TYPES_H 1 | |
1462 | ||
1463 | ||
1464 | #define _GLIBCXX_HAVE_SYS_UIO_H 1 | |
1465 | ||
1466 | ||
1467 | ||
1468 | ||
1469 | ||
1470 | #define _GLIBCXX_HAVE_S_ISREG 1 | |
1471 | ||
1472 | ||
1473 | #define _GLIBCXX_HAVE_TANF 1 | |
1474 | ||
1475 | ||
1476 | #define _GLIBCXX_HAVE_TANHF 1 | |
1477 | ||
1478 | ||
1479 | #define _GLIBCXX_HAVE_TANHL 1 | |
1480 | ||
1481 | ||
1482 | #define _GLIBCXX_HAVE_TANL 1 | |
1483 | ||
1484 | ||
1485 | #define _GLIBCXX_HAVE_TLS 1 | |
1486 | ||
1487 | ||
1488 | #define _GLIBCXX_HAVE_UNISTD_H 1 | |
1489 | ||
1490 | ||
1491 | #define _GLIBCXX_HAVE_VFWSCANF 1 | |
1492 | ||
1493 | ||
1494 | #define _GLIBCXX_HAVE_VSWSCANF 1 | |
1495 | ||
1496 | ||
1497 | #define _GLIBCXX_HAVE_VWSCANF 1 | |
1498 | ||
1499 | ||
1500 | #define _GLIBCXX_HAVE_WCHAR_H 1 | |
1501 | ||
1502 | ||
1503 | #define _GLIBCXX_HAVE_WCSTOF 1 | |
1504 | ||
1505 | ||
1506 | #define _GLIBCXX_HAVE_WCTYPE_H 1 | |
1507 | ||
1508 | ||
1509 | #define _GLIBCXX_HAVE_WRITEV 1 | |
1510 | # 803 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 3 | |
1511 | #define _GLIBCXX_HAVE___BUILTIN_ABS 1 | |
1512 | ||
1513 | ||
1514 | #define _GLIBCXX_HAVE___BUILTIN_COS 1 | |
1515 | ||
1516 | ||
1517 | #define _GLIBCXX_HAVE___BUILTIN_COSF 1 | |
1518 | ||
1519 | ||
1520 | #define _GLIBCXX_HAVE___BUILTIN_COSL 1 | |
1521 | ||
1522 | ||
1523 | #define _GLIBCXX_HAVE___BUILTIN_FABS 1 | |
1524 | ||
1525 | ||
1526 | #define _GLIBCXX_HAVE___BUILTIN_FABSF 1 | |
1527 | ||
1528 | ||
1529 | #define _GLIBCXX_HAVE___BUILTIN_FABSL 1 | |
1530 | ||
1531 | ||
1532 | #define _GLIBCXX_HAVE___BUILTIN_LABS 1 | |
1533 | ||
1534 | ||
1535 | #define _GLIBCXX_HAVE___BUILTIN_SIN 1 | |
1536 | ||
1537 | ||
1538 | #define _GLIBCXX_HAVE___BUILTIN_SINF 1 | |
1539 | ||
1540 | ||
1541 | #define _GLIBCXX_HAVE___BUILTIN_SINL 1 | |
1542 | ||
1543 | ||
1544 | #define _GLIBCXX_HAVE___BUILTIN_SQRT 1 | |
1545 | ||
1546 | ||
1547 | #define _GLIBCXX_HAVE___BUILTIN_SQRTF 1 | |
1548 | ||
1549 | ||
1550 | #define _GLIBCXX_HAVE___BUILTIN_SQRTL 1 | |
1551 | ||
1552 | ||
1553 | #define _GLIBCXX_HAVE___SIGNBIT 1 | |
1554 | ||
1555 | ||
1556 | #define _GLIBCXX_HAVE___SIGNBITF 1 | |
1557 | ||
1558 | ||
1559 | #define _GLIBCXX_HAVE___SIGNBITL 1 | |
1560 | ||
1561 | ||
1562 | ||
1563 | ||
1564 | ||
1565 | #define _GLIBCXX_PACKAGE_BUGREPORT "" | |
1566 | ||
1567 | ||
1568 | #define _GLIBCXX_PACKAGE_NAME "package-unused" | |
1569 | ||
1570 | ||
1571 | #define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" | |
1572 | ||
1573 | ||
1574 | #define _GLIBCXX_PACKAGE_TARNAME "libstdc++" | |
1575 | ||
1576 | ||
1577 | #define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" | |
1578 | ||
1579 | ||
1580 | #define STDC_HEADERS 1 | |
1581 | ||
1582 | ||
1583 | ||
1584 | ||
1585 | ||
1586 | #define _GLIBCXX_ATOMIC_BUILTINS 1 | |
1587 | # 887 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 3 | |
1588 | #define _GLIBCXX_HOSTED 1 | |
1589 | ||
1590 | ||
1591 | ||
1592 | ||
1593 | ||
1594 | ||
1595 | ||
1596 | #define _GLIBCXX_RES_LIMITS 1 | |
1597 | # 904 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h" 3 | |
1598 | #define _GLIBCXX_SYMVER 1 | |
1599 | ||
1600 | ||
1601 | ||
1602 | ||
1603 | ||
1604 | #define _GLIBCXX_SYMVER_GNU 1 | |
1605 | ||
1606 | ||
1607 | ||
1608 | ||
1609 | ||
1610 | ||
1611 | #define _GLIBCXX_USE_C99 1 | |
1612 | ||
1613 | ||
1614 | ||
1615 | ||
1616 | #define _GLIBCXX_USE_C99_COMPLEX 1 | |
1617 | ||
1618 | ||
1619 | ||
1620 | ||
1621 | #define _GLIBCXX_USE_C99_COMPLEX_TR1 1 | |
1622 | ||
1623 | ||
1624 | ||
1625 | #define _GLIBCXX_USE_C99_CTYPE_TR1 1 | |
1626 | ||
1627 | ||
1628 | ||
1629 | #define _GLIBCXX_USE_C99_FENV_TR1 1 | |
1630 | ||
1631 | ||
1632 | ||
1633 | #define _GLIBCXX_USE_C99_INTTYPES_TR1 1 | |
1634 | ||
1635 | ||
1636 | ||
1637 | #define _GLIBCXX_USE_C99_MATH 1 | |
1638 | ||
1639 | ||
1640 | ||
1641 | #define _GLIBCXX_USE_C99_MATH_TR1 1 | |
1642 | ||
1643 | ||
1644 | ||
1645 | #define _GLIBCXX_USE_C99_STDINT_TR1 1 | |
1646 | ||
1647 | ||
1648 | #define _GLIBCXX_USE_ICONV 1 | |
1649 | ||
1650 | ||
1651 | #define _GLIBCXX_USE_LFS 1 | |
1652 | ||
1653 | ||
1654 | #define _GLIBCXX_USE_LONG_LONG 1 | |
1655 | ||
1656 | ||
1657 | ||
1658 | ||
1659 | ||
1660 | ||
1661 | #define _GLIBCXX_USE_RANDOM_TR1 1 | |
1662 | ||
1663 | ||
1664 | #define _GLIBCXX_USE_WCHAR_T 1 | |
1665 | # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/functexcept.h" 2 3 | |
1666 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/exception_defines.h" 1 3 | |
1667 | # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/exception_defines.h" 3 | |
1668 | #define _EXCEPTION_DEFINES_H 1 | |
1669 | # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/exception_defines.h" 3 | |
1670 | #define __throw_exception_again throw | |
1671 | # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/functexcept.h" 2 3 | |
1672 | ||
1673 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
1674 | ||
1675 | ||
1676 | void | |
1677 | __throw_bad_exception(void) __attribute__((__noreturn__)); | |
1678 | ||
1679 | ||
1680 | void | |
1681 | __throw_bad_alloc(void) __attribute__((__noreturn__)); | |
1682 | ||
1683 | ||
1684 | void | |
1685 | __throw_bad_cast(void) __attribute__((__noreturn__)); | |
1686 | ||
1687 | void | |
1688 | __throw_bad_typeid(void) __attribute__((__noreturn__)); | |
1689 | ||
1690 | ||
1691 | void | |
1692 | __throw_logic_error(const char*) __attribute__((__noreturn__)); | |
1693 | ||
1694 | void | |
1695 | __throw_domain_error(const char*) __attribute__((__noreturn__)); | |
1696 | ||
1697 | void | |
1698 | __throw_invalid_argument(const char*) __attribute__((__noreturn__)); | |
1699 | ||
1700 | void | |
1701 | __throw_length_error(const char*) __attribute__((__noreturn__)); | |
1702 | ||
1703 | void | |
1704 | __throw_out_of_range(const char*) __attribute__((__noreturn__)); | |
1705 | ||
1706 | void | |
1707 | __throw_runtime_error(const char*) __attribute__((__noreturn__)); | |
1708 | ||
1709 | void | |
1710 | __throw_range_error(const char*) __attribute__((__noreturn__)); | |
1711 | ||
1712 | void | |
1713 | __throw_overflow_error(const char*) __attribute__((__noreturn__)); | |
1714 | ||
1715 | void | |
1716 | __throw_underflow_error(const char*) __attribute__((__noreturn__)); | |
1717 | ||
1718 | ||
1719 | void | |
1720 | __throw_ios_failure(const char*) __attribute__((__noreturn__)); | |
1721 | ||
1722 | } | |
1723 | # 66 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/deque" 2 3 | |
1724 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 1 3 | |
1725 | # 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 3 | |
1726 | #define _ALGOBASE_H 1 | |
1727 | ||
1728 | ||
1729 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstring" 1 3 | |
1730 | # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstring" 3 | |
1731 | #define _GLIBCXX_CSTRING 1 | |
1732 | ||
1733 | ||
1734 | # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstring" 3 | |
1735 | ||
1736 | ||
1737 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstddef" 1 3 | |
1738 | # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstddef" 3 | |
1739 | #define _GLIBCXX_CSTDDEF 1 | |
1740 | ||
1741 | ||
1742 | # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstddef" 3 | |
1743 | ||
1744 | ||
1745 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 1 3 4 | |
1746 | # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
1747 | #define _STDDEF_H | |
1748 | #define _STDDEF_H_ | |
1749 | ||
1750 | #define _ANSI_STDDEF_H | |
1751 | ||
1752 | #define __STDDEF_H__ | |
1753 | # 141 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
1754 | #define _PTRDIFF_T | |
1755 | #define _T_PTRDIFF_ | |
1756 | #define _T_PTRDIFF | |
1757 | #define __PTRDIFF_T | |
1758 | #define _PTRDIFF_T_ | |
1759 | #define _BSD_PTRDIFF_T_ | |
1760 | #define ___int_ptrdiff_t_h | |
1761 | #define _GCC_PTRDIFF_T | |
1762 | ||
1763 | ||
1764 | ||
1765 | typedef long int ptrdiff_t; | |
1766 | # 163 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
1767 | #undef __need_ptrdiff_t | |
1768 | # 189 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
1769 | #define __size_t__ | |
1770 | #define __SIZE_T__ | |
1771 | #define _SIZE_T | |
1772 | #define _SYS_SIZE_T_H | |
1773 | #define _T_SIZE_ | |
1774 | #define _T_SIZE | |
1775 | #define __SIZE_T | |
1776 | #define _SIZE_T_ | |
1777 | #define _BSD_SIZE_T_ | |
1778 | #define _SIZE_T_DEFINED_ | |
1779 | #define _SIZE_T_DEFINED | |
1780 | #define _BSD_SIZE_T_DEFINED_ | |
1781 | #define _SIZE_T_DECLARED | |
1782 | #define ___int_size_t_h | |
1783 | #define _GCC_SIZE_T | |
1784 | #define _SIZET_ | |
1785 | ||
1786 | ||
1787 | ||
1788 | #define __size_t | |
1789 | ||
1790 | ||
1791 | ||
1792 | ||
1793 | ||
1794 | typedef long unsigned int size_t; | |
1795 | # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
1796 | #undef __need_size_t | |
1797 | # 265 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
1798 | #define __wchar_t__ | |
1799 | #define __WCHAR_T__ | |
1800 | #define _WCHAR_T | |
1801 | #define _T_WCHAR_ | |
1802 | #define _T_WCHAR | |
1803 | #define __WCHAR_T | |
1804 | #define _WCHAR_T_ | |
1805 | #define _BSD_WCHAR_T_ | |
1806 | #define _WCHAR_T_DEFINED_ | |
1807 | #define _WCHAR_T_DEFINED | |
1808 | #define _WCHAR_T_H | |
1809 | #define ___int_wchar_t_h | |
1810 | #define __INT_WCHAR_T_H | |
1811 | #define _GCC_WCHAR_T | |
1812 | #define _WCHAR_T_DECLARED | |
1813 | # 292 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
1814 | #undef _BSD_WCHAR_T_ | |
1815 | # 345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
1816 | #undef __need_wchar_t | |
1817 | # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
1818 | #undef NULL | |
1819 | ||
1820 | #define NULL __null | |
1821 | # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
1822 | #undef __need_NULL | |
1823 | ||
1824 | ||
1825 | ||
1826 | ||
1827 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
1828 | # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstddef" 2 3 | |
1829 | ||
1830 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
1831 | ||
1832 | using ::ptrdiff_t; | |
1833 | using ::size_t; | |
1834 | ||
1835 | } | |
1836 | # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstring" 2 3 | |
1837 | # 1 "/usr/include/string.h" 1 3 4 | |
1838 | ||
1839 | ||
1840 | ||
1841 | ||
1842 | ||
1843 | ||
1844 | ||
1845 | # 1 "/usr/include/gentoo-multilib/amd64/string.h" 1 3 4 | |
1846 | # 24 "/usr/include/gentoo-multilib/amd64/string.h" 3 4 | |
1847 | #define _STRING_H 1 | |
1848 | ||
1849 | # 1 "/usr/include/features.h" 1 3 4 | |
1850 | # 27 "/usr/include/gentoo-multilib/amd64/string.h" 2 3 4 | |
1851 | ||
1852 | extern "C" { | |
1853 | ||
1854 | ||
1855 | #define __need_size_t | |
1856 | #define __need_NULL | |
1857 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 1 3 4 | |
1858 | # 163 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
1859 | #undef __need_ptrdiff_t | |
1860 | # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
1861 | #undef __need_size_t | |
1862 | # 345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
1863 | #undef __need_wchar_t | |
1864 | # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
1865 | #undef NULL | |
1866 | ||
1867 | #define NULL __null | |
1868 | # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
1869 | #undef __need_NULL | |
1870 | ||
1871 | ||
1872 | ||
1873 | ||
1874 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
1875 | # 34 "/usr/include/gentoo-multilib/amd64/string.h" 2 3 4 | |
1876 | ||
1877 | ||
1878 | ||
1879 | ||
1880 | extern void *memcpy (void *__restrict __dest, | |
1881 | __const void *__restrict __src, size_t __n) | |
1882 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
1883 | ||
1884 | ||
1885 | extern void *memmove (void *__dest, __const void *__src, size_t __n) | |
1886 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
1887 | ||
1888 | ||
1889 | ||
1890 | ||
1891 | ||
1892 | ||
1893 | extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, | |
1894 | int __c, size_t __n) | |
1895 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
1896 | ||
1897 | ||
1898 | ||
1899 | ||
1900 | ||
1901 | extern void *memset (void *__s, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1))); | |
1902 | ||
1903 | ||
1904 | extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) | |
1905 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
1906 | ||
1907 | ||
1908 | extern void *memchr (__const void *__s, int __c, size_t __n) | |
1909 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
1910 | ||
1911 | ||
1912 | ||
1913 | ||
1914 | ||
1915 | extern void *rawmemchr (__const void *__s, int __c) | |
1916 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
1917 | ||
1918 | ||
1919 | extern void *memrchr (__const void *__s, int __c, size_t __n) | |
1920 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
1921 | ||
1922 | ||
1923 | ||
1924 | ||
1925 | ||
1926 | extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) | |
1927 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
1928 | ||
1929 | extern char *strncpy (char *__restrict __dest, | |
1930 | __const char *__restrict __src, size_t __n) | |
1931 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
1932 | ||
1933 | ||
1934 | extern char *strcat (char *__restrict __dest, __const char *__restrict __src) | |
1935 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
1936 | ||
1937 | extern char *strncat (char *__restrict __dest, __const char *__restrict __src, | |
1938 | size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); | |
1939 | ||
1940 | ||
1941 | extern int strcmp (__const char *__s1, __const char *__s2) | |
1942 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
1943 | ||
1944 | extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) | |
1945 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
1946 | ||
1947 | ||
1948 | extern int strcoll (__const char *__s1, __const char *__s2) | |
1949 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
1950 | ||
1951 | extern size_t strxfrm (char *__restrict __dest, | |
1952 | __const char *__restrict __src, size_t __n) | |
1953 | throw () __attribute__ ((__nonnull__ (2))); | |
1954 | ||
1955 | ||
1956 | ||
1957 | ||
1958 | ||
1959 | ||
1960 | # 1 "/usr/include/xlocale.h" 1 3 4 | |
1961 | ||
1962 | ||
1963 | ||
1964 | ||
1965 | ||
1966 | ||
1967 | ||
1968 | # 1 "/usr/include/gentoo-multilib/amd64/xlocale.h" 1 3 4 | |
1969 | # 22 "/usr/include/gentoo-multilib/amd64/xlocale.h" 3 4 | |
1970 | #define _XLOCALE_H 1 | |
1971 | ||
1972 | ||
1973 | ||
1974 | ||
1975 | ||
1976 | typedef struct __locale_struct | |
1977 | { | |
1978 | ||
1979 | struct locale_data *__locales[13]; | |
1980 | ||
1981 | ||
1982 | const unsigned short int *__ctype_b; | |
1983 | const int *__ctype_tolower; | |
1984 | const int *__ctype_toupper; | |
1985 | ||
1986 | ||
1987 | const char *__names[13]; | |
1988 | } *__locale_t; | |
1989 | # 9 "/usr/include/xlocale.h" 2 3 4 | |
1990 | # 119 "/usr/include/gentoo-multilib/amd64/string.h" 2 3 4 | |
1991 | ||
1992 | ||
1993 | extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l) | |
1994 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); | |
1995 | ||
1996 | extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n, | |
1997 | __locale_t __l) throw () __attribute__ ((__nonnull__ (2, 4))); | |
1998 | ||
1999 | ||
2000 | ||
2001 | ||
2002 | extern char *strdup (__const char *__s) | |
2003 | throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); | |
2004 | ||
2005 | ||
2006 | ||
2007 | ||
2008 | ||
2009 | ||
2010 | extern char *strndup (__const char *__string, size_t __n) | |
2011 | throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); | |
2012 | ||
2013 | ||
2014 | ||
2015 | ||
2016 | #define strdupa(s) (__extension__ ({ __const char *__old = (s); size_t __len = strlen (__old) + 1; char *__new = (char *) __builtin_alloca (__len); (char *) memcpy (__new, __old, __len); })) | |
2017 | # 154 "/usr/include/gentoo-multilib/amd64/string.h" 3 4 | |
2018 | #define strndupa(s,n) (__extension__ ({ __const char *__old = (s); size_t __len = strnlen (__old, (n)); char *__new = (char *) __builtin_alloca (__len + 1); __new[__len] = '\0'; (char *) memcpy (__new, __old, __len); })) | |
2019 | # 165 "/usr/include/gentoo-multilib/amd64/string.h" 3 4 | |
2020 | ||
2021 | ||
2022 | extern char *strchr (__const char *__s, int __c) | |
2023 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
2024 | ||
2025 | extern char *strrchr (__const char *__s, int __c) | |
2026 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
2027 | ||
2028 | ||
2029 | ||
2030 | ||
2031 | ||
2032 | extern char *strchrnul (__const char *__s, int __c) | |
2033 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
2034 | ||
2035 | ||
2036 | ||
2037 | ||
2038 | ||
2039 | extern size_t strcspn (__const char *__s, __const char *__reject) | |
2040 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
2041 | ||
2042 | ||
2043 | extern size_t strspn (__const char *__s, __const char *__accept) | |
2044 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
2045 | ||
2046 | extern char *strpbrk (__const char *__s, __const char *__accept) | |
2047 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
2048 | ||
2049 | extern char *strstr (__const char *__haystack, __const char *__needle) | |
2050 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
2051 | ||
2052 | ||
2053 | ||
2054 | extern char *strtok (char *__restrict __s, __const char *__restrict __delim) | |
2055 | throw () __attribute__ ((__nonnull__ (2))); | |
2056 | ||
2057 | ||
2058 | ||
2059 | ||
2060 | extern char *__strtok_r (char *__restrict __s, | |
2061 | __const char *__restrict __delim, | |
2062 | char **__restrict __save_ptr) | |
2063 | throw () __attribute__ ((__nonnull__ (2, 3))); | |
2064 | ||
2065 | extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, | |
2066 | char **__restrict __save_ptr) | |
2067 | throw () __attribute__ ((__nonnull__ (2, 3))); | |
2068 | ||
2069 | ||
2070 | ||
2071 | ||
2072 | extern char *strcasestr (__const char *__haystack, __const char *__needle) | |
2073 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
2074 | ||
2075 | ||
2076 | ||
2077 | ||
2078 | ||
2079 | ||
2080 | extern void *memmem (__const void *__haystack, size_t __haystacklen, | |
2081 | __const void *__needle, size_t __needlelen) | |
2082 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))); | |
2083 | ||
2084 | ||
2085 | ||
2086 | extern void *__mempcpy (void *__restrict __dest, | |
2087 | __const void *__restrict __src, size_t __n) | |
2088 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
2089 | extern void *mempcpy (void *__restrict __dest, | |
2090 | __const void *__restrict __src, size_t __n) | |
2091 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
2092 | ||
2093 | ||
2094 | ||
2095 | ||
2096 | ||
2097 | extern size_t strlen (__const char *__s) | |
2098 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
2099 | ||
2100 | ||
2101 | ||
2102 | ||
2103 | ||
2104 | extern size_t strnlen (__const char *__string, size_t __maxlen) | |
2105 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
2106 | ||
2107 | ||
2108 | ||
2109 | ||
2110 | ||
2111 | extern char *strerror (int __errnum) throw (); | |
2112 | ||
2113 | # 281 "/usr/include/gentoo-multilib/amd64/string.h" 3 4 | |
2114 | extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) | |
2115 | throw () __attribute__ ((__nonnull__ (2))); | |
2116 | ||
2117 | ||
2118 | ||
2119 | ||
2120 | ||
2121 | extern char *strerror_l (int __errnum, __locale_t __l) throw (); | |
2122 | ||
2123 | ||
2124 | ||
2125 | ||
2126 | ||
2127 | extern void __bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); | |
2128 | ||
2129 | ||
2130 | ||
2131 | extern void bcopy (__const void *__src, void *__dest, size_t __n) | |
2132 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
2133 | ||
2134 | ||
2135 | extern void bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); | |
2136 | ||
2137 | ||
2138 | extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) | |
2139 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
2140 | ||
2141 | ||
2142 | extern char *index (__const char *__s, int __c) | |
2143 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
2144 | ||
2145 | ||
2146 | extern char *rindex (__const char *__s, int __c) | |
2147 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); | |
2148 | ||
2149 | ||
2150 | ||
2151 | extern int ffs (int __i) throw () __attribute__ ((__const__)); | |
2152 | ||
2153 | ||
2154 | ||
2155 | ||
2156 | extern int ffsl (long int __l) throw () __attribute__ ((__const__)); | |
2157 | ||
2158 | __extension__ extern int ffsll (long long int __ll) | |
2159 | throw () __attribute__ ((__const__)); | |
2160 | ||
2161 | ||
2162 | ||
2163 | ||
2164 | extern int strcasecmp (__const char *__s1, __const char *__s2) | |
2165 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
2166 | ||
2167 | ||
2168 | extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) | |
2169 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
2170 | ||
2171 | ||
2172 | ||
2173 | ||
2174 | ||
2175 | extern int strcasecmp_l (__const char *__s1, __const char *__s2, | |
2176 | __locale_t __loc) | |
2177 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); | |
2178 | ||
2179 | extern int strncasecmp_l (__const char *__s1, __const char *__s2, | |
2180 | size_t __n, __locale_t __loc) | |
2181 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); | |
2182 | ||
2183 | ||
2184 | ||
2185 | ||
2186 | ||
2187 | extern char *strsep (char **__restrict __stringp, | |
2188 | __const char *__restrict __delim) | |
2189 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
2190 | ||
2191 | ||
2192 | ||
2193 | ||
2194 | extern int strverscmp (__const char *__s1, __const char *__s2) | |
2195 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); | |
2196 | ||
2197 | ||
2198 | extern char *strsignal (int __sig) throw (); | |
2199 | ||
2200 | ||
2201 | extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src) | |
2202 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
2203 | extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src) | |
2204 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
2205 | ||
2206 | ||
2207 | ||
2208 | extern char *__stpncpy (char *__restrict __dest, | |
2209 | __const char *__restrict __src, size_t __n) | |
2210 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
2211 | extern char *stpncpy (char *__restrict __dest, | |
2212 | __const char *__restrict __src, size_t __n) | |
2213 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
2214 | ||
2215 | ||
2216 | extern char *strfry (char *__string) throw () __attribute__ ((__nonnull__ (1))); | |
2217 | ||
2218 | ||
2219 | extern void *memfrob (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); | |
2220 | ||
2221 | ||
2222 | ||
2223 | ||
2224 | ||
2225 | ||
2226 | extern char *basename (__const char *__filename) throw () __attribute__ ((__nonnull__ (1))); | |
2227 | # 432 "/usr/include/gentoo-multilib/amd64/string.h" 3 4 | |
2228 | } | |
2229 | # 9 "/usr/include/string.h" 2 3 4 | |
2230 | # 53 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstring" 2 3 | |
2231 | ||
2232 | ||
2233 | #undef memcpy | |
2234 | #undef memmove | |
2235 | #undef strcpy | |
2236 | #undef strncpy | |
2237 | #undef strcat | |
2238 | #undef strncat | |
2239 | #undef memcmp | |
2240 | #undef strcmp | |
2241 | #undef strcoll | |
2242 | #undef strncmp | |
2243 | #undef strxfrm | |
2244 | #undef memchr | |
2245 | #undef strchr | |
2246 | #undef strcspn | |
2247 | #undef strpbrk | |
2248 | #undef strrchr | |
2249 | #undef strspn | |
2250 | #undef strstr | |
2251 | #undef strtok | |
2252 | #undef memset | |
2253 | #undef strerror | |
2254 | #undef strlen | |
2255 | ||
2256 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
2257 | ||
2258 | using ::memcpy; | |
2259 | using ::memmove; | |
2260 | using ::strcpy; | |
2261 | using ::strncpy; | |
2262 | using ::strcat; | |
2263 | using ::strncat; | |
2264 | using ::memcmp; | |
2265 | using ::strcmp; | |
2266 | using ::strcoll; | |
2267 | using ::strncmp; | |
2268 | using ::strxfrm; | |
2269 | using ::strcspn; | |
2270 | using ::strspn; | |
2271 | using ::strtok; | |
2272 | using ::memset; | |
2273 | using ::strerror; | |
2274 | using ::strlen; | |
2275 | ||
2276 | using ::memchr; | |
2277 | ||
2278 | inline void* | |
2279 | memchr(void* __p, int __c, size_t __n) | |
2280 | { return memchr(const_cast<const void*>(__p), __c, __n); } | |
2281 | ||
2282 | using ::strchr; | |
2283 | ||
2284 | inline char* | |
2285 | strchr(char* __s1, int __n) | |
2286 | { return __builtin_strchr(const_cast<const char*>(__s1), __n); } | |
2287 | ||
2288 | using ::strpbrk; | |
2289 | ||
2290 | inline char* | |
2291 | strpbrk(char* __s1, const char* __s2) | |
2292 | { return __builtin_strpbrk(const_cast<const char*>(__s1), __s2); } | |
2293 | ||
2294 | using ::strrchr; | |
2295 | ||
2296 | inline char* | |
2297 | strrchr(char* __s1, int __n) | |
2298 | { return __builtin_strrchr(const_cast<const char*>(__s1), __n); } | |
2299 | ||
2300 | using ::strstr; | |
2301 | ||
2302 | inline char* | |
2303 | strstr(char* __s1, const char* __s2) | |
2304 | { return __builtin_strstr(const_cast<const char*>(__s1), __s2); } | |
2305 | ||
2306 | } | |
2307 | # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 2 3 | |
2308 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/climits" 1 3 | |
2309 | # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/climits" 3 | |
2310 | #define _GLIBCXX_CLIMITS 1 | |
2311 | ||
2312 | ||
2313 | # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/climits" 3 | |
2314 | ||
2315 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/limits.h" 1 3 4 | |
2316 | ||
2317 | ||
2318 | ||
2319 | ||
2320 | ||
2321 | ||
2322 | #define _GCC_LIMITS_H_ | |
2323 | ||
2324 | ||
2325 | ||
2326 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/syslimits.h" 1 3 4 | |
2327 | ||
2328 | ||
2329 | ||
2330 | ||
2331 | ||
2332 | #define _GCC_NEXT_LIMITS_H | |
2333 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/limits.h" 1 3 4 | |
2334 | # 122 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/limits.h" 3 4 | |
2335 | # 1 "/usr/include/limits.h" 1 3 4 | |
2336 | ||
2337 | ||
2338 | ||
2339 | ||
2340 | ||
2341 | ||
2342 | ||
2343 | # 1 "/usr/include/gentoo-multilib/amd64/limits.h" 1 3 4 | |
2344 | # 25 "/usr/include/gentoo-multilib/amd64/limits.h" 3 4 | |
2345 | #define _LIBC_LIMITS_H_ 1 | |
2346 | ||
2347 | # 1 "/usr/include/features.h" 1 3 4 | |
2348 | # 28 "/usr/include/gentoo-multilib/amd64/limits.h" 2 3 4 | |
2349 | ||
2350 | ||
2351 | ||
2352 | ||
2353 | ||
2354 | #define MB_LEN_MAX 16 | |
2355 | # 133 "/usr/include/gentoo-multilib/amd64/limits.h" 3 4 | |
2356 | #define LLONG_MIN (-LLONG_MAX-1) | |
2357 | ||
2358 | ||
2359 | #define LLONG_MAX __LONG_LONG_MAX__ | |
2360 | ||
2361 | ||
2362 | #define ULLONG_MAX (LLONG_MAX * 2ULL + 1) | |
2363 | ||
2364 | ||
2365 | ||
2366 | ||
2367 | ||
2368 | # 1 "/usr/include/bits/posix1_lim.h" 1 3 4 | |
2369 | ||
2370 | ||
2371 | ||
2372 | ||
2373 | ||
2374 | ||
2375 | ||
2376 | # 1 "/usr/include/gentoo-multilib/amd64/bits/posix1_lim.h" 1 3 4 | |
2377 | # 26 "/usr/include/gentoo-multilib/amd64/bits/posix1_lim.h" 3 4 | |
2378 | #define _BITS_POSIX1_LIM_H 1 | |
2379 | ||
2380 | ||
2381 | ||
2382 | ||
2383 | ||
2384 | #define _POSIX_AIO_LISTIO_MAX 2 | |
2385 | ||
2386 | ||
2387 | #define _POSIX_AIO_MAX 1 | |
2388 | ||
2389 | ||
2390 | #define _POSIX_ARG_MAX 4096 | |
2391 | ||
2392 | ||
2393 | ||
2394 | #define _POSIX_CHILD_MAX 25 | |
2395 | ||
2396 | ||
2397 | ||
2398 | ||
2399 | ||
2400 | #define _POSIX_DELAYTIMER_MAX 32 | |
2401 | ||
2402 | ||
2403 | ||
2404 | #define _POSIX_HOST_NAME_MAX 255 | |
2405 | ||
2406 | ||
2407 | #define _POSIX_LINK_MAX 8 | |
2408 | ||
2409 | ||
2410 | #define _POSIX_LOGIN_NAME_MAX 9 | |
2411 | ||
2412 | ||
2413 | #define _POSIX_MAX_CANON 255 | |
2414 | ||
2415 | ||
2416 | ||
2417 | #define _POSIX_MAX_INPUT 255 | |
2418 | ||
2419 | ||
2420 | #define _POSIX_MQ_OPEN_MAX 8 | |
2421 | ||
2422 | ||
2423 | #define _POSIX_MQ_PRIO_MAX 32 | |
2424 | ||
2425 | ||
2426 | #define _POSIX_NAME_MAX 14 | |
2427 | ||
2428 | ||
2429 | ||
2430 | #define _POSIX_NGROUPS_MAX 8 | |
2431 | ||
2432 | ||
2433 | ||
2434 | ||
2435 | ||
2436 | ||
2437 | #define _POSIX_OPEN_MAX 20 | |
2438 | ||
2439 | ||
2440 | ||
2441 | ||
2442 | ||
2443 | ||
2444 | #define _POSIX_FD_SETSIZE _POSIX_OPEN_MAX | |
2445 | ||
2446 | ||
2447 | #define _POSIX_PATH_MAX 256 | |
2448 | ||
2449 | ||
2450 | #define _POSIX_PIPE_BUF 512 | |
2451 | ||
2452 | ||
2453 | ||
2454 | #define _POSIX_RE_DUP_MAX 255 | |
2455 | ||
2456 | ||
2457 | #define _POSIX_RTSIG_MAX 8 | |
2458 | ||
2459 | ||
2460 | #define _POSIX_SEM_NSEMS_MAX 256 | |
2461 | ||
2462 | ||
2463 | #define _POSIX_SEM_VALUE_MAX 32767 | |
2464 | ||
2465 | ||
2466 | #define _POSIX_SIGQUEUE_MAX 32 | |
2467 | ||
2468 | ||
2469 | #define _POSIX_SSIZE_MAX 32767 | |
2470 | ||
2471 | ||
2472 | #define _POSIX_STREAM_MAX 8 | |
2473 | ||
2474 | ||
2475 | #define _POSIX_SYMLINK_MAX 255 | |
2476 | ||
2477 | ||
2478 | ||
2479 | #define _POSIX_SYMLOOP_MAX 8 | |
2480 | ||
2481 | ||
2482 | #define _POSIX_TIMER_MAX 32 | |
2483 | ||
2484 | ||
2485 | #define _POSIX_TTY_NAME_MAX 9 | |
2486 | ||
2487 | ||
2488 | #define _POSIX_TZNAME_MAX 6 | |
2489 | ||
2490 | ||
2491 | #define _POSIX_QLIMIT 1 | |
2492 | ||
2493 | ||
2494 | ||
2495 | #define _POSIX_HIWAT _POSIX_PIPE_BUF | |
2496 | ||
2497 | ||
2498 | #define _POSIX_UIO_MAXIOV 16 | |
2499 | ||
2500 | ||
2501 | #define _POSIX_CLOCKRES_MIN 20000000 | |
2502 | ||
2503 | ||
2504 | ||
2505 | # 1 "/usr/include/bits/local_lim.h" 1 3 4 | |
2506 | ||
2507 | ||
2508 | ||
2509 | ||
2510 | ||
2511 | ||
2512 | ||
2513 | # 1 "/usr/include/gentoo-multilib/amd64/bits/local_lim.h" 1 3 4 | |
2514 | # 26 "/usr/include/gentoo-multilib/amd64/bits/local_lim.h" 3 4 | |
2515 | #define __undef_NR_OPEN | |
2516 | ||
2517 | ||
2518 | #define __undef_LINK_MAX | |
2519 | ||
2520 | ||
2521 | #define __undef_OPEN_MAX | |
2522 | ||
2523 | ||
2524 | ||
2525 | # 1 "/usr/include/linux/limits.h" 1 3 4 | |
2526 | ||
2527 | #define _LINUX_LIMITS_H | |
2528 | ||
2529 | #define NR_OPEN 1024 | |
2530 | ||
2531 | #define NGROUPS_MAX 65536 | |
2532 | #define ARG_MAX 131072 | |
2533 | #define LINK_MAX 127 | |
2534 | #define MAX_CANON 255 | |
2535 | #define MAX_INPUT 255 | |
2536 | #define NAME_MAX 255 | |
2537 | #define PATH_MAX 4096 | |
2538 | #define PIPE_BUF 4096 | |
2539 | #define XATTR_NAME_MAX 255 | |
2540 | #define XATTR_SIZE_MAX 65536 | |
2541 | #define XATTR_LIST_MAX 65536 | |
2542 | ||
2543 | #define RTSIG_MAX 32 | |
2544 | # 37 "/usr/include/gentoo-multilib/amd64/bits/local_lim.h" 2 3 4 | |
2545 | ||
2546 | ||
2547 | ||
2548 | #undef NR_OPEN | |
2549 | #undef __undef_NR_OPEN | |
2550 | ||
2551 | ||
2552 | ||
2553 | #undef LINK_MAX | |
2554 | #undef __undef_LINK_MAX | |
2555 | ||
2556 | ||
2557 | ||
2558 | #undef OPEN_MAX | |
2559 | #undef __undef_OPEN_MAX | |
2560 | ||
2561 | ||
2562 | ||
2563 | #define _POSIX_THREAD_KEYS_MAX 128 | |
2564 | ||
2565 | #define PTHREAD_KEYS_MAX 1024 | |
2566 | ||
2567 | ||
2568 | #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 | |
2569 | ||
2570 | #define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS | |
2571 | ||
2572 | ||
2573 | #define _POSIX_THREAD_THREADS_MAX 64 | |
2574 | ||
2575 | #undef PTHREAD_THREADS_MAX | |
2576 | ||
2577 | ||
2578 | ||
2579 | #define AIO_PRIO_DELTA_MAX 20 | |
2580 | ||
2581 | ||
2582 | #define PTHREAD_STACK_MIN 16384 | |
2583 | ||
2584 | ||
2585 | #define DELAYTIMER_MAX 2147483647 | |
2586 | ||
2587 | ||
2588 | #define TTY_NAME_MAX 32 | |
2589 | ||
2590 | ||
2591 | #define LOGIN_NAME_MAX 256 | |
2592 | ||
2593 | ||
2594 | #define HOST_NAME_MAX 64 | |
2595 | ||
2596 | ||
2597 | #define MQ_PRIO_MAX 32768 | |
2598 | ||
2599 | ||
2600 | #define SEM_VALUE_MAX (2147483647) | |
2601 | # 9 "/usr/include/bits/local_lim.h" 2 3 4 | |
2602 | # 154 "/usr/include/gentoo-multilib/amd64/bits/posix1_lim.h" 2 3 4 | |
2603 | ||
2604 | ||
2605 | ||
2606 | #define SSIZE_MAX LONG_MAX | |
2607 | # 9 "/usr/include/bits/posix1_lim.h" 2 3 4 | |
2608 | # 146 "/usr/include/gentoo-multilib/amd64/limits.h" 2 3 4 | |
2609 | ||
2610 | ||
2611 | ||
2612 | # 1 "/usr/include/bits/posix2_lim.h" 1 3 4 | |
2613 | ||
2614 | ||
2615 | ||
2616 | ||
2617 | ||
2618 | ||
2619 | ||
2620 | # 1 "/usr/include/gentoo-multilib/amd64/bits/posix2_lim.h" 1 3 4 | |
2621 | # 24 "/usr/include/gentoo-multilib/amd64/bits/posix2_lim.h" 3 4 | |
2622 | #define _BITS_POSIX2_LIM_H 1 | |
2623 | ||
2624 | ||
2625 | ||
2626 | #define _POSIX2_BC_BASE_MAX 99 | |
2627 | ||
2628 | ||
2629 | #define _POSIX2_BC_DIM_MAX 2048 | |
2630 | ||
2631 | ||
2632 | #define _POSIX2_BC_SCALE_MAX 99 | |
2633 | ||
2634 | ||
2635 | #define _POSIX2_BC_STRING_MAX 1000 | |
2636 | ||
2637 | ||
2638 | ||
2639 | #define _POSIX2_COLL_WEIGHTS_MAX 2 | |
2640 | ||
2641 | ||
2642 | ||
2643 | #define _POSIX2_EXPR_NEST_MAX 32 | |
2644 | ||
2645 | ||
2646 | #define _POSIX2_LINE_MAX 2048 | |
2647 | ||
2648 | ||
2649 | ||
2650 | #define _POSIX2_RE_DUP_MAX 255 | |
2651 | ||
2652 | ||
2653 | ||
2654 | #define _POSIX2_CHARCLASS_NAME_MAX 14 | |
2655 | ||
2656 | ||
2657 | ||
2658 | ||
2659 | ||
2660 | ||
2661 | ||
2662 | #define BC_BASE_MAX _POSIX2_BC_BASE_MAX | |
2663 | ||
2664 | ||
2665 | #define BC_DIM_MAX _POSIX2_BC_DIM_MAX | |
2666 | ||
2667 | ||
2668 | #define BC_SCALE_MAX _POSIX2_BC_SCALE_MAX | |
2669 | ||
2670 | ||
2671 | #define BC_STRING_MAX _POSIX2_BC_STRING_MAX | |
2672 | ||
2673 | ||
2674 | #define COLL_WEIGHTS_MAX 255 | |
2675 | ||
2676 | ||
2677 | #define EXPR_NEST_MAX _POSIX2_EXPR_NEST_MAX | |
2678 | ||
2679 | ||
2680 | #define LINE_MAX _POSIX2_LINE_MAX | |
2681 | ||
2682 | ||
2683 | #define CHARCLASS_NAME_MAX 2048 | |
2684 | ||
2685 | ||
2686 | ||
2687 | #define RE_DUP_MAX (0x7fff) | |
2688 | # 9 "/usr/include/bits/posix2_lim.h" 2 3 4 | |
2689 | # 150 "/usr/include/gentoo-multilib/amd64/limits.h" 2 3 4 | |
2690 | ||
2691 | ||
2692 | ||
2693 | # 1 "/usr/include/bits/xopen_lim.h" 1 3 4 | |
2694 | ||
2695 | ||
2696 | ||
2697 | ||
2698 | ||
2699 | ||
2700 | ||
2701 | # 1 "/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h" 1 3 4 | |
2702 | # 31 "/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h" 3 4 | |
2703 | #define _XOPEN_LIM_H 1 | |
2704 | ||
2705 | #define __need_IOV_MAX | |
2706 | # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 | |
2707 | ||
2708 | ||
2709 | ||
2710 | ||
2711 | ||
2712 | ||
2713 | ||
2714 | # 1 "/usr/include/gentoo-multilib/amd64/bits/stdio_lim.h" 1 3 4 | |
2715 | # 40 "/usr/include/gentoo-multilib/amd64/bits/stdio_lim.h" 3 4 | |
2716 | #define IOV_MAX 1024 | |
2717 | # 9 "/usr/include/bits/stdio_lim.h" 2 3 4 | |
2718 | # 35 "/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h" 2 3 4 | |
2719 | # 66 "/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h" 3 4 | |
2720 | #define _XOPEN_IOV_MAX _POSIX_UIO_MAXIOV | |
2721 | ||
2722 | ||
2723 | ||
2724 | ||
2725 | #define NL_ARGMAX _POSIX_ARG_MAX | |
2726 | ||
2727 | ||
2728 | #define NL_LANGMAX _POSIX2_LINE_MAX | |
2729 | ||
2730 | ||
2731 | #define NL_MSGMAX INT_MAX | |
2732 | ||
2733 | ||
2734 | ||
2735 | #define NL_NMAX INT_MAX | |
2736 | ||
2737 | ||
2738 | #define NL_SETMAX INT_MAX | |
2739 | ||
2740 | ||
2741 | #define NL_TEXTMAX INT_MAX | |
2742 | ||
2743 | ||
2744 | #define NZERO 20 | |
2745 | # 110 "/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h" 3 4 | |
2746 | #define WORD_BIT 32 | |
2747 | # 133 "/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h" 3 4 | |
2748 | #define LONG_BIT 64 | |
2749 | # 9 "/usr/include/bits/xopen_lim.h" 2 3 4 | |
2750 | # 154 "/usr/include/gentoo-multilib/amd64/limits.h" 2 3 4 | |
2751 | # 9 "/usr/include/limits.h" 2 3 4 | |
2752 | # 123 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/limits.h" 2 3 4 | |
2753 | # 8 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/syslimits.h" 2 3 4 | |
2754 | #undef _GCC_NEXT_LIMITS_H | |
2755 | # 12 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/limits.h" 2 3 4 | |
2756 | ||
2757 | ||
2758 | #define _LIMITS_H___ | |
2759 | ||
2760 | ||
2761 | #undef CHAR_BIT | |
2762 | #define CHAR_BIT __CHAR_BIT__ | |
2763 | ||
2764 | ||
2765 | ||
2766 | ||
2767 | ||
2768 | ||
2769 | ||
2770 | #undef SCHAR_MIN | |
2771 | #define SCHAR_MIN (-SCHAR_MAX - 1) | |
2772 | #undef SCHAR_MAX | |
2773 | #define SCHAR_MAX __SCHAR_MAX__ | |
2774 | ||
2775 | ||
2776 | #undef UCHAR_MAX | |
2777 | ||
2778 | ||
2779 | ||
2780 | #define UCHAR_MAX (SCHAR_MAX * 2 + 1) | |
2781 | # 50 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/limits.h" 3 4 | |
2782 | #undef CHAR_MIN | |
2783 | #define CHAR_MIN SCHAR_MIN | |
2784 | #undef CHAR_MAX | |
2785 | #define CHAR_MAX SCHAR_MAX | |
2786 | ||
2787 | ||
2788 | ||
2789 | #undef SHRT_MIN | |
2790 | #define SHRT_MIN (-SHRT_MAX - 1) | |
2791 | #undef SHRT_MAX | |
2792 | #define SHRT_MAX __SHRT_MAX__ | |
2793 | ||
2794 | ||
2795 | #undef USHRT_MAX | |
2796 | ||
2797 | ||
2798 | ||
2799 | #define USHRT_MAX (SHRT_MAX * 2 + 1) | |
2800 | ||
2801 | ||
2802 | ||
2803 | #undef INT_MIN | |
2804 | #define INT_MIN (-INT_MAX - 1) | |
2805 | #undef INT_MAX | |
2806 | #define INT_MAX __INT_MAX__ | |
2807 | ||
2808 | ||
2809 | #undef UINT_MAX | |
2810 | #define UINT_MAX (INT_MAX * 2U + 1U) | |
2811 | ||
2812 | ||
2813 | ||
2814 | #undef LONG_MIN | |
2815 | #define LONG_MIN (-LONG_MAX - 1L) | |
2816 | #undef LONG_MAX | |
2817 | #define LONG_MAX __LONG_MAX__ | |
2818 | ||
2819 | ||
2820 | #undef ULONG_MAX | |
2821 | #define ULONG_MAX (LONG_MAX * 2UL + 1UL) | |
2822 | # 105 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/limits.h" 3 4 | |
2823 | #undef LONG_LONG_MIN | |
2824 | #define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL) | |
2825 | #undef LONG_LONG_MAX | |
2826 | #define LONG_LONG_MAX __LONG_LONG_MAX__ | |
2827 | ||
2828 | ||
2829 | #undef ULONG_LONG_MAX | |
2830 | #define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1ULL) | |
2831 | # 51 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/climits" 2 3 | |
2832 | # 68 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 2 3 | |
2833 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdlib" 1 3 | |
2834 | # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdlib" 3 | |
2835 | #define _GLIBCXX_CSTDLIB 1 | |
2836 | ||
2837 | ||
2838 | # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdlib" 3 | |
2839 | # 72 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdlib" 3 | |
2840 | # 1 "/usr/include/stdlib.h" 1 3 4 | |
2841 | ||
2842 | ||
2843 | ||
2844 | ||
2845 | ||
2846 | ||
2847 | ||
2848 | # 1 "/usr/include/gentoo-multilib/amd64/stdlib.h" 1 3 4 | |
2849 | # 25 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 | |
2850 | # 1 "/usr/include/features.h" 1 3 4 | |
2851 | # 26 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4 | |
2852 | ||
2853 | ||
2854 | #define __need_size_t | |
2855 | ||
2856 | #define __need_wchar_t | |
2857 | #define __need_NULL | |
2858 | ||
2859 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 1 3 4 | |
2860 | # 163 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
2861 | #undef __need_ptrdiff_t | |
2862 | # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
2863 | #undef __need_size_t | |
2864 | # 345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
2865 | #undef __need_wchar_t | |
2866 | # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
2867 | #undef NULL | |
2868 | ||
2869 | #define NULL __null | |
2870 | # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
2871 | #undef __need_NULL | |
2872 | ||
2873 | ||
2874 | ||
2875 | ||
2876 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
2877 | # 34 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4 | |
2878 | ||
2879 | extern "C" { | |
2880 | ||
2881 | ||
2882 | #define _STDLIB_H 1 | |
2883 | ||
2884 | ||
2885 | ||
2886 | # 1 "/usr/include/bits/waitflags.h" 1 3 4 | |
2887 | ||
2888 | ||
2889 | ||
2890 | ||
2891 | ||
2892 | ||
2893 | ||
2894 | # 1 "/usr/include/gentoo-multilib/amd64/bits/waitflags.h" 1 3 4 | |
2895 | # 26 "/usr/include/gentoo-multilib/amd64/bits/waitflags.h" 3 4 | |
2896 | #define WNOHANG 1 | |
2897 | #define WUNTRACED 2 | |
2898 | ||
2899 | ||
2900 | #define WSTOPPED 2 | |
2901 | #define WEXITED 4 | |
2902 | #define WCONTINUED 8 | |
2903 | #define WNOWAIT 0x01000000 | |
2904 | ||
2905 | #define __WNOTHREAD 0x20000000 | |
2906 | ||
2907 | #define __WALL 0x40000000 | |
2908 | #define __WCLONE 0x80000000 | |
2909 | # 9 "/usr/include/bits/waitflags.h" 2 3 4 | |
2910 | # 43 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4 | |
2911 | # 1 "/usr/include/bits/waitstatus.h" 1 3 4 | |
2912 | ||
2913 | ||
2914 | ||
2915 | ||
2916 | ||
2917 | ||
2918 | ||
2919 | # 1 "/usr/include/gentoo-multilib/amd64/bits/waitstatus.h" 1 3 4 | |
2920 | # 29 "/usr/include/gentoo-multilib/amd64/bits/waitstatus.h" 3 4 | |
2921 | #define __WEXITSTATUS(status) (((status) & 0xff00) >> 8) | |
2922 | ||
2923 | ||
2924 | #define __WTERMSIG(status) ((status) & 0x7f) | |
2925 | ||
2926 | ||
2927 | #define __WSTOPSIG(status) __WEXITSTATUS(status) | |
2928 | ||
2929 | ||
2930 | #define __WIFEXITED(status) (__WTERMSIG(status) == 0) | |
2931 | ||
2932 | ||
2933 | #define __WIFSIGNALED(status) (((signed char) (((status) & 0x7f) + 1) >> 1) > 0) | |
2934 | ||
2935 | ||
2936 | ||
2937 | #define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f) | |
2938 | ||
2939 | ||
2940 | ||
2941 | ||
2942 | #define __WIFCONTINUED(status) ((status) == __W_CONTINUED) | |
2943 | ||
2944 | ||
2945 | ||
2946 | #define __WCOREDUMP(status) ((status) & __WCOREFLAG) | |
2947 | ||
2948 | ||
2949 | #define __W_EXITCODE(ret,sig) ((ret) << 8 | (sig)) | |
2950 | #define __W_STOPCODE(sig) ((sig) << 8 | 0x7f) | |
2951 | #define __W_CONTINUED 0xffff | |
2952 | #define __WCOREFLAG 0x80 | |
2953 | ||
2954 | ||
2955 | ||
2956 | ||
2957 | # 1 "/usr/include/endian.h" 1 3 4 | |
2958 | ||
2959 | ||
2960 | ||
2961 | ||
2962 | ||
2963 | ||
2964 | ||
2965 | # 1 "/usr/include/gentoo-multilib/amd64/endian.h" 1 3 4 | |
2966 | # 20 "/usr/include/gentoo-multilib/amd64/endian.h" 3 4 | |
2967 | #define _ENDIAN_H 1 | |
2968 | ||
2969 | # 1 "/usr/include/features.h" 1 3 4 | |
2970 | # 23 "/usr/include/gentoo-multilib/amd64/endian.h" 2 3 4 | |
2971 | # 32 "/usr/include/gentoo-multilib/amd64/endian.h" 3 4 | |
2972 | #define __LITTLE_ENDIAN 1234 | |
2973 | #define __BIG_ENDIAN 4321 | |
2974 | #define __PDP_ENDIAN 3412 | |
2975 | ||
2976 | ||
2977 | # 1 "/usr/include/bits/endian.h" 1 3 4 | |
2978 | ||
2979 | ||
2980 | ||
2981 | ||
2982 | ||
2983 | ||
2984 | ||
2985 | # 1 "/usr/include/gentoo-multilib/amd64/bits/endian.h" 1 3 4 | |
2986 | ||
2987 | ||
2988 | ||
2989 | ||
2990 | ||
2991 | ||
2992 | #define __BYTE_ORDER __LITTLE_ENDIAN | |
2993 | # 9 "/usr/include/bits/endian.h" 2 3 4 | |
2994 | # 38 "/usr/include/gentoo-multilib/amd64/endian.h" 2 3 4 | |
2995 | ||
2996 | ||
2997 | ||
2998 | ||
2999 | #define __FLOAT_WORD_ORDER __BYTE_ORDER | |
3000 | ||
3001 | ||
3002 | ||
3003 | #define LITTLE_ENDIAN __LITTLE_ENDIAN | |
3004 | #define BIG_ENDIAN __BIG_ENDIAN | |
3005 | #define PDP_ENDIAN __PDP_ENDIAN | |
3006 | #define BYTE_ORDER __BYTE_ORDER | |
3007 | ||
3008 | ||
3009 | ||
3010 | #define __LONG_LONG_PAIR(HI,LO) LO, HI | |
3011 | # 9 "/usr/include/endian.h" 2 3 4 | |
3012 | # 66 "/usr/include/gentoo-multilib/amd64/bits/waitstatus.h" 2 3 4 | |
3013 | ||
3014 | union wait | |
3015 | { | |
3016 | int w_status; | |
3017 | struct | |
3018 | { | |
3019 | ||
3020 | unsigned int __w_termsig:7; | |
3021 | unsigned int __w_coredump:1; | |
3022 | unsigned int __w_retcode:8; | |
3023 | unsigned int:16; | |
3024 | ||
3025 | ||
3026 | ||
3027 | ||
3028 | ||
3029 | ||
3030 | ||
3031 | } __wait_terminated; | |
3032 | struct | |
3033 | { | |
3034 | ||
3035 | unsigned int __w_stopval:8; | |
3036 | unsigned int __w_stopsig:8; | |
3037 | unsigned int:16; | |
3038 | ||
3039 | ||
3040 | ||
3041 | ||
3042 | ||
3043 | ||
3044 | } __wait_stopped; | |
3045 | }; | |
3046 | ||
3047 | #define w_termsig __wait_terminated.__w_termsig | |
3048 | #define w_coredump __wait_terminated.__w_coredump | |
3049 | #define w_retcode __wait_terminated.__w_retcode | |
3050 | #define w_stopsig __wait_stopped.__w_stopsig | |
3051 | #define w_stopval __wait_stopped.__w_stopval | |
3052 | # 9 "/usr/include/bits/waitstatus.h" 2 3 4 | |
3053 | # 44 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4 | |
3054 | # 55 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 | |
3055 | #define __WAIT_INT(status) (*(int *) &(status)) | |
3056 | # 64 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 | |
3057 | #define __WAIT_STATUS void * | |
3058 | #define __WAIT_STATUS_DEFN void * | |
3059 | # 85 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 | |
3060 | #define WEXITSTATUS(status) __WEXITSTATUS(__WAIT_INT(status)) | |
3061 | #define WTERMSIG(status) __WTERMSIG(__WAIT_INT(status)) | |
3062 | #define WSTOPSIG(status) __WSTOPSIG(__WAIT_INT(status)) | |
3063 | #define WIFEXITED(status) __WIFEXITED(__WAIT_INT(status)) | |
3064 | #define WIFSIGNALED(status) __WIFSIGNALED(__WAIT_INT(status)) | |
3065 | #define WIFSTOPPED(status) __WIFSTOPPED(__WAIT_INT(status)) | |
3066 | ||
3067 | #define WIFCONTINUED(status) __WIFCONTINUED(__WAIT_INT(status)) | |
3068 | ||
3069 | ||
3070 | ||
3071 | ||
3072 | ||
3073 | typedef struct | |
3074 | { | |
3075 | int quot; | |
3076 | int rem; | |
3077 | } div_t; | |
3078 | ||
3079 | ||
3080 | ||
3081 | typedef struct | |
3082 | { | |
3083 | long int quot; | |
3084 | long int rem; | |
3085 | } ldiv_t; | |
3086 | #define __ldiv_t_defined 1 | |
3087 | ||
3088 | ||
3089 | ||
3090 | ||
3091 | ||
3092 | ||
3093 | __extension__ typedef struct | |
3094 | { | |
3095 | long long int quot; | |
3096 | long long int rem; | |
3097 | } lldiv_t; | |
3098 | #define __lldiv_t_defined 1 | |
3099 | ||
3100 | ||
3101 | ||
3102 | ||
3103 | ||
3104 | #define RAND_MAX 2147483647 | |
3105 | ||
3106 | ||
3107 | ||
3108 | ||
3109 | #define EXIT_FAILURE 1 | |
3110 | #define EXIT_SUCCESS 0 | |
3111 | ||
3112 | ||
3113 | ||
3114 | #define MB_CUR_MAX (__ctype_get_mb_cur_max ()) | |
3115 | extern size_t __ctype_get_mb_cur_max (void) throw () ; | |
3116 | ||
3117 | ||
3118 | ||
3119 | ||
3120 | extern double atof (__const char *__nptr) | |
3121 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
3122 | ||
3123 | extern int atoi (__const char *__nptr) | |
3124 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
3125 | ||
3126 | extern long int atol (__const char *__nptr) | |
3127 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
3128 | ||
3129 | ||
3130 | ||
3131 | ||
3132 | ||
3133 | __extension__ extern long long int atoll (__const char *__nptr) | |
3134 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
3135 | ||
3136 | ||
3137 | ||
3138 | ||
3139 | ||
3140 | extern double strtod (__const char *__restrict __nptr, | |
3141 | char **__restrict __endptr) | |
3142 | throw () __attribute__ ((__nonnull__ (1))) ; | |
3143 | ||
3144 | ||
3145 | ||
3146 | ||
3147 | ||
3148 | extern float strtof (__const char *__restrict __nptr, | |
3149 | char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))) ; | |
3150 | ||
3151 | extern long double strtold (__const char *__restrict __nptr, | |
3152 | char **__restrict __endptr) | |
3153 | throw () __attribute__ ((__nonnull__ (1))) ; | |
3154 | ||
3155 | ||
3156 | ||
3157 | ||
3158 | ||
3159 | extern long int strtol (__const char *__restrict __nptr, | |
3160 | char **__restrict __endptr, int __base) | |
3161 | throw () __attribute__ ((__nonnull__ (1))) ; | |
3162 | ||
3163 | extern unsigned long int strtoul (__const char *__restrict __nptr, | |
3164 | char **__restrict __endptr, int __base) | |
3165 | throw () __attribute__ ((__nonnull__ (1))) ; | |
3166 | ||
3167 | ||
3168 | ||
3169 | ||
3170 | __extension__ | |
3171 | extern long long int strtoq (__const char *__restrict __nptr, | |
3172 | char **__restrict __endptr, int __base) | |
3173 | throw () __attribute__ ((__nonnull__ (1))) ; | |
3174 | ||
3175 | __extension__ | |
3176 | extern unsigned long long int strtouq (__const char *__restrict __nptr, | |
3177 | char **__restrict __endptr, int __base) | |
3178 | throw () __attribute__ ((__nonnull__ (1))) ; | |
3179 | ||
3180 | ||
3181 | ||
3182 | ||
3183 | ||
3184 | __extension__ | |
3185 | extern long long int strtoll (__const char *__restrict __nptr, | |
3186 | char **__restrict __endptr, int __base) | |
3187 | throw () __attribute__ ((__nonnull__ (1))) ; | |
3188 | ||
3189 | __extension__ | |
3190 | extern unsigned long long int strtoull (__const char *__restrict __nptr, | |
3191 | char **__restrict __endptr, int __base) | |
3192 | throw () __attribute__ ((__nonnull__ (1))) ; | |
3193 | ||
3194 | # 236 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 | |
3195 | # 1 "/usr/include/xlocale.h" 1 3 4 | |
3196 | # 237 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4 | |
3197 | ||
3198 | ||
3199 | ||
3200 | extern long int strtol_l (__const char *__restrict __nptr, | |
3201 | char **__restrict __endptr, int __base, | |
3202 | __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))) ; | |
3203 | ||
3204 | extern unsigned long int strtoul_l (__const char *__restrict __nptr, | |
3205 | char **__restrict __endptr, | |
3206 | int __base, __locale_t __loc) | |
3207 | throw () __attribute__ ((__nonnull__ (1, 4))) ; | |
3208 | ||
3209 | __extension__ | |
3210 | extern long long int strtoll_l (__const char *__restrict __nptr, | |
3211 | char **__restrict __endptr, int __base, | |
3212 | __locale_t __loc) | |
3213 | throw () __attribute__ ((__nonnull__ (1, 4))) ; | |
3214 | ||
3215 | __extension__ | |
3216 | extern unsigned long long int strtoull_l (__const char *__restrict __nptr, | |
3217 | char **__restrict __endptr, | |
3218 | int __base, __locale_t __loc) | |
3219 | throw () __attribute__ ((__nonnull__ (1, 4))) ; | |
3220 | ||
3221 | extern double strtod_l (__const char *__restrict __nptr, | |
3222 | char **__restrict __endptr, __locale_t __loc) | |
3223 | throw () __attribute__ ((__nonnull__ (1, 3))) ; | |
3224 | ||
3225 | extern float strtof_l (__const char *__restrict __nptr, | |
3226 | char **__restrict __endptr, __locale_t __loc) | |
3227 | throw () __attribute__ ((__nonnull__ (1, 3))) ; | |
3228 | ||
3229 | extern long double strtold_l (__const char *__restrict __nptr, | |
3230 | char **__restrict __endptr, | |
3231 | __locale_t __loc) | |
3232 | throw () __attribute__ ((__nonnull__ (1, 3))) ; | |
3233 | # 311 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 | |
3234 | extern char *l64a (long int __n) throw () ; | |
3235 | ||
3236 | ||
3237 | extern long int a64l (__const char *__s) | |
3238 | throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; | |
3239 | ||
3240 | ||
3241 | ||
3242 | ||
3243 | # 1 "/usr/include/sys/types.h" 1 3 4 | |
3244 | ||
3245 | ||
3246 | ||
3247 | ||
3248 | ||
3249 | ||
3250 | ||
3251 | # 1 "/usr/include/gentoo-multilib/amd64/sys/types.h" 1 3 4 | |
3252 | # 25 "/usr/include/gentoo-multilib/amd64/sys/types.h" 3 4 | |
3253 | #define _SYS_TYPES_H 1 | |
3254 | ||
3255 | # 1 "/usr/include/features.h" 1 3 4 | |
3256 | # 28 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4 | |
3257 | ||
3258 | extern "C" { | |
3259 | ||
3260 | # 1 "/usr/include/bits/types.h" 1 3 4 | |
3261 | ||
3262 | ||
3263 | ||
3264 | ||
3265 | ||
3266 | ||
3267 | ||
3268 | # 1 "/usr/include/gentoo-multilib/amd64/bits/types.h" 1 3 4 | |
3269 | # 25 "/usr/include/gentoo-multilib/amd64/bits/types.h" 3 4 | |
3270 | #define _BITS_TYPES_H 1 | |
3271 | ||
3272 | # 1 "/usr/include/features.h" 1 3 4 | |
3273 | # 28 "/usr/include/gentoo-multilib/amd64/bits/types.h" 2 3 4 | |
3274 | # 1 "/usr/include/bits/wordsize.h" 1 3 4 | |
3275 | ||
3276 | ||
3277 | ||
3278 | ||
3279 | ||
3280 | ||
3281 | ||
3282 | # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4 | |
3283 | ||
3284 | ||
3285 | ||
3286 | #define __WORDSIZE 64 | |
3287 | #define __WORDSIZE_COMPAT32 1 | |
3288 | # 9 "/usr/include/bits/wordsize.h" 2 3 4 | |
3289 | # 29 "/usr/include/gentoo-multilib/amd64/bits/types.h" 2 3 4 | |
3290 | ||
3291 | ||
3292 | typedef unsigned char __u_char; | |
3293 | typedef unsigned short int __u_short; | |
3294 | typedef unsigned int __u_int; | |
3295 | typedef unsigned long int __u_long; | |
3296 | ||
3297 | ||
3298 | typedef signed char __int8_t; | |
3299 | typedef unsigned char __uint8_t; | |
3300 | typedef signed short int __int16_t; | |
3301 | typedef unsigned short int __uint16_t; | |
3302 | typedef signed int __int32_t; | |
3303 | typedef unsigned int __uint32_t; | |
3304 | ||
3305 | typedef signed long int __int64_t; | |
3306 | typedef unsigned long int __uint64_t; | |
3307 | ||
3308 | ||
3309 | ||
3310 | ||
3311 | ||
3312 | ||
3313 | ||
3314 | typedef long int __quad_t; | |
3315 | typedef unsigned long int __u_quad_t; | |
3316 | # 99 "/usr/include/gentoo-multilib/amd64/bits/types.h" 3 4 | |
3317 | #define __S16_TYPE short int | |
3318 | #define __U16_TYPE unsigned short int | |
3319 | #define __S32_TYPE int | |
3320 | #define __U32_TYPE unsigned int | |
3321 | #define __SLONGWORD_TYPE long int | |
3322 | #define __ULONGWORD_TYPE unsigned long int | |
3323 | # 118 "/usr/include/gentoo-multilib/amd64/bits/types.h" 3 4 | |
3324 | #define __SQUAD_TYPE long int | |
3325 | #define __UQUAD_TYPE unsigned long int | |
3326 | #define __SWORD_TYPE long int | |
3327 | #define __UWORD_TYPE unsigned long int | |
3328 | #define __SLONG32_TYPE int | |
3329 | #define __ULONG32_TYPE unsigned int | |
3330 | #define __S64_TYPE long int | |
3331 | #define __U64_TYPE unsigned long int | |
3332 | ||
3333 | #define __STD_TYPE typedef | |
3334 | ||
3335 | ||
3336 | ||
3337 | # 1 "/usr/include/bits/typesizes.h" 1 3 4 | |
3338 | ||
3339 | ||
3340 | ||
3341 | ||
3342 | ||
3343 | ||
3344 | ||
3345 | # 1 "/usr/include/gentoo-multilib/amd64/bits/typesizes.h" 1 3 4 | |
3346 | # 25 "/usr/include/gentoo-multilib/amd64/bits/typesizes.h" 3 4 | |
3347 | #define _BITS_TYPESIZES_H 1 | |
3348 | ||
3349 | ||
3350 | ||
3351 | ||
3352 | #define __DEV_T_TYPE __UQUAD_TYPE | |
3353 | #define __UID_T_TYPE __U32_TYPE | |
3354 | #define __GID_T_TYPE __U32_TYPE | |
3355 | #define __INO_T_TYPE __ULONGWORD_TYPE | |
3356 | #define __INO64_T_TYPE __UQUAD_TYPE | |
3357 | #define __MODE_T_TYPE __U32_TYPE | |
3358 | #define __NLINK_T_TYPE __UWORD_TYPE | |
3359 | #define __OFF_T_TYPE __SLONGWORD_TYPE | |
3360 | #define __OFF64_T_TYPE __SQUAD_TYPE | |
3361 | #define __PID_T_TYPE __S32_TYPE | |
3362 | #define __RLIM_T_TYPE __ULONGWORD_TYPE | |
3363 | #define __RLIM64_T_TYPE __UQUAD_TYPE | |
3364 | #define __BLKCNT_T_TYPE __SLONGWORD_TYPE | |
3365 | #define __BLKCNT64_T_TYPE __SQUAD_TYPE | |
3366 | #define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE | |
3367 | #define __FSBLKCNT64_T_TYPE __UQUAD_TYPE | |
3368 | #define __FSFILCNT_T_TYPE __ULONGWORD_TYPE | |
3369 | #define __FSFILCNT64_T_TYPE __UQUAD_TYPE | |
3370 | #define __ID_T_TYPE __U32_TYPE | |
3371 | #define __CLOCK_T_TYPE __SLONGWORD_TYPE | |
3372 | #define __TIME_T_TYPE __SLONGWORD_TYPE | |
3373 | #define __USECONDS_T_TYPE __U32_TYPE | |
3374 | #define __SUSECONDS_T_TYPE __SLONGWORD_TYPE | |
3375 | #define __DADDR_T_TYPE __S32_TYPE | |
3376 | #define __SWBLK_T_TYPE __SLONGWORD_TYPE | |
3377 | #define __KEY_T_TYPE __S32_TYPE | |
3378 | #define __CLOCKID_T_TYPE __S32_TYPE | |
3379 | #define __TIMER_T_TYPE void * | |
3380 | #define __BLKSIZE_T_TYPE __SLONGWORD_TYPE | |
3381 | #define __FSID_T_TYPE struct { int __val[2]; } | |
3382 | #define __SSIZE_T_TYPE __SWORD_TYPE | |
3383 | ||
3384 | ||
3385 | #define __FD_SETSIZE 1024 | |
3386 | # 9 "/usr/include/bits/typesizes.h" 2 3 4 | |
3387 | # 132 "/usr/include/gentoo-multilib/amd64/bits/types.h" 2 3 4 | |
3388 | ||
3389 | ||
3390 | typedef unsigned long int __dev_t; | |
3391 | typedef unsigned int __uid_t; | |
3392 | typedef unsigned int __gid_t; | |
3393 | typedef unsigned long int __ino_t; | |
3394 | typedef unsigned long int __ino64_t; | |
3395 | typedef unsigned int __mode_t; | |
3396 | typedef unsigned long int __nlink_t; | |
3397 | typedef long int __off_t; | |
3398 | typedef long int __off64_t; | |
3399 | typedef int __pid_t; | |
3400 | typedef struct { int __val[2]; } __fsid_t; | |
3401 | typedef long int __clock_t; | |
3402 | typedef unsigned long int __rlim_t; | |
3403 | typedef unsigned long int __rlim64_t; | |
3404 | typedef unsigned int __id_t; | |
3405 | typedef long int __time_t; | |
3406 | typedef unsigned int __useconds_t; | |
3407 | typedef long int __suseconds_t; | |
3408 | ||
3409 | typedef int __daddr_t; | |
3410 | typedef long int __swblk_t; | |
3411 | typedef int __key_t; | |
3412 | ||
3413 | ||
3414 | typedef int __clockid_t; | |
3415 | ||
3416 | ||
3417 | typedef void * __timer_t; | |
3418 | ||
3419 | ||
3420 | typedef long int __blksize_t; | |
3421 | ||
3422 | ||
3423 | ||
3424 | ||
3425 | typedef long int __blkcnt_t; | |
3426 | typedef long int __blkcnt64_t; | |
3427 | ||
3428 | ||
3429 | typedef unsigned long int __fsblkcnt_t; | |
3430 | typedef unsigned long int __fsblkcnt64_t; | |
3431 | ||
3432 | ||
3433 | typedef unsigned long int __fsfilcnt_t; | |
3434 | typedef unsigned long int __fsfilcnt64_t; | |
3435 | ||
3436 | typedef long int __ssize_t; | |
3437 | ||
3438 | ||
3439 | ||
3440 | typedef __off64_t __loff_t; | |
3441 | typedef __quad_t *__qaddr_t; | |
3442 | typedef char *__caddr_t; | |
3443 | ||
3444 | ||
3445 | typedef long int __intptr_t; | |
3446 | ||
3447 | ||
3448 | typedef unsigned int __socklen_t; | |
3449 | ||
3450 | ||
3451 | #undef __STD_TYPE | |
3452 | # 9 "/usr/include/bits/types.h" 2 3 4 | |
3453 | # 32 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4 | |
3454 | ||
3455 | ||
3456 | ||
3457 | typedef __u_char u_char; | |
3458 | typedef __u_short u_short; | |
3459 | typedef __u_int u_int; | |
3460 | typedef __u_long u_long; | |
3461 | typedef __quad_t quad_t; | |
3462 | typedef __u_quad_t u_quad_t; | |
3463 | typedef __fsid_t fsid_t; | |
3464 | #define __u_char_defined | |
3465 | ||
3466 | ||
3467 | ||
3468 | typedef __loff_t loff_t; | |
3469 | ||
3470 | ||
3471 | ||
3472 | typedef __ino_t ino_t; | |
3473 | ||
3474 | ||
3475 | ||
3476 | #define __ino_t_defined | |
3477 | ||
3478 | ||
3479 | typedef __ino64_t ino64_t; | |
3480 | #define __ino64_t_defined | |
3481 | ||
3482 | ||
3483 | ||
3484 | typedef __dev_t dev_t; | |
3485 | #define __dev_t_defined | |
3486 | ||
3487 | ||
3488 | ||
3489 | typedef __gid_t gid_t; | |
3490 | #define __gid_t_defined | |
3491 | ||
3492 | ||
3493 | ||
3494 | typedef __mode_t mode_t; | |
3495 | #define __mode_t_defined | |
3496 | ||
3497 | ||
3498 | ||
3499 | typedef __nlink_t nlink_t; | |
3500 | #define __nlink_t_defined | |
3501 | ||
3502 | ||
3503 | ||
3504 | typedef __uid_t uid_t; | |
3505 | #define __uid_t_defined | |
3506 | ||
3507 | ||
3508 | ||
3509 | ||
3510 | typedef __off_t off_t; | |
3511 | ||
3512 | ||
3513 | ||
3514 | #define __off_t_defined | |
3515 | ||
3516 | ||
3517 | typedef __off64_t off64_t; | |
3518 | #define __off64_t_defined | |
3519 | ||
3520 | ||
3521 | ||
3522 | typedef __pid_t pid_t; | |
3523 | #define __pid_t_defined | |
3524 | ||
3525 | ||
3526 | ||
3527 | typedef __id_t id_t; | |
3528 | #define __id_t_defined | |
3529 | ||
3530 | ||
3531 | ||
3532 | typedef __ssize_t ssize_t; | |
3533 | #define __ssize_t_defined | |
3534 | ||
3535 | ||
3536 | ||
3537 | ||
3538 | typedef __daddr_t daddr_t; | |
3539 | typedef __caddr_t caddr_t; | |
3540 | #define __daddr_t_defined | |
3541 | ||
3542 | ||
3543 | ||
3544 | ||
3545 | typedef __key_t key_t; | |
3546 | #define __key_t_defined | |
3547 | ||
3548 | ||
3549 | ||
3550 | #define __need_clock_t | |
3551 | ||
3552 | #define __need_time_t | |
3553 | #define __need_timer_t | |
3554 | #define __need_clockid_t | |
3555 | # 1 "/usr/include/time.h" 1 3 4 | |
3556 | ||
3557 | ||
3558 | ||
3559 | ||
3560 | ||
3561 | ||
3562 | ||
3563 | # 1 "/usr/include/gentoo-multilib/amd64/time.h" 1 3 4 | |
3564 | # 55 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
3565 | #define __clock_t_defined 1 | |
3566 | ||
3567 | # 1 "/usr/include/bits/types.h" 1 3 4 | |
3568 | # 58 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4 | |
3569 | ||
3570 | ||
3571 | ||
3572 | typedef __clock_t clock_t; | |
3573 | ||
3574 | ||
3575 | ||
3576 | ||
3577 | ||
3578 | ||
3579 | #undef __need_clock_t | |
3580 | ||
3581 | ||
3582 | #define __time_t_defined 1 | |
3583 | ||
3584 | # 1 "/usr/include/bits/types.h" 1 3 4 | |
3585 | # 74 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4 | |
3586 | ||
3587 | ||
3588 | ||
3589 | typedef __time_t time_t; | |
3590 | ||
3591 | ||
3592 | ||
3593 | ||
3594 | ||
3595 | ||
3596 | #undef __need_time_t | |
3597 | ||
3598 | ||
3599 | ||
3600 | #define __clockid_t_defined 1 | |
3601 | ||
3602 | # 1 "/usr/include/bits/types.h" 1 3 4 | |
3603 | # 91 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4 | |
3604 | ||
3605 | ||
3606 | typedef __clockid_t clockid_t; | |
3607 | ||
3608 | ||
3609 | #undef __clockid_time_t | |
3610 | ||
3611 | ||
3612 | ||
3613 | #define __timer_t_defined 1 | |
3614 | ||
3615 | # 1 "/usr/include/bits/types.h" 1 3 4 | |
3616 | # 103 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4 | |
3617 | ||
3618 | ||
3619 | typedef __timer_t timer_t; | |
3620 | ||
3621 | ||
3622 | #undef __need_timer_t | |
3623 | # 128 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
3624 | #undef __need_timespec | |
3625 | # 9 "/usr/include/time.h" 2 3 4 | |
3626 | # 134 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4 | |
3627 | ||
3628 | ||
3629 | ||
3630 | typedef __useconds_t useconds_t; | |
3631 | #define __useconds_t_defined | |
3632 | ||
3633 | ||
3634 | typedef __suseconds_t suseconds_t; | |
3635 | #define __suseconds_t_defined | |
3636 | ||
3637 | ||
3638 | ||
3639 | #define __need_size_t | |
3640 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 1 3 4 | |
3641 | # 163 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
3642 | #undef __need_ptrdiff_t | |
3643 | # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
3644 | #undef __need_size_t | |
3645 | # 345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
3646 | #undef __need_wchar_t | |
3647 | # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
3648 | #undef NULL | |
3649 | ||
3650 | #define NULL __null | |
3651 | # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
3652 | #undef __need_NULL | |
3653 | ||
3654 | ||
3655 | ||
3656 | ||
3657 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
3658 | # 148 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4 | |
3659 | ||
3660 | ||
3661 | ||
3662 | typedef unsigned long int ulong; | |
3663 | typedef unsigned short int ushort; | |
3664 | typedef unsigned int uint; | |
3665 | # 188 "/usr/include/gentoo-multilib/amd64/sys/types.h" 3 4 | |
3666 | #define __intN_t(N,MODE) typedef int int ##N ##_t __attribute__ ((__mode__ (MODE))) | |
3667 | ||
3668 | #define __u_intN_t(N,MODE) typedef unsigned int u_int ##N ##_t __attribute__ ((__mode__ (MODE))) | |
3669 | ||
3670 | ||
3671 | ||
3672 | #define __int8_t_defined | |
3673 | typedef int int8_t __attribute__ ((__mode__ (__QI__))); | |
3674 | typedef int int16_t __attribute__ ((__mode__ (__HI__))); | |
3675 | typedef int int32_t __attribute__ ((__mode__ (__SI__))); | |
3676 | typedef int int64_t __attribute__ ((__mode__ (__DI__))); | |
3677 | ||
3678 | ||
3679 | typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); | |
3680 | typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); | |
3681 | typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); | |
3682 | typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); | |
3683 | ||
3684 | typedef int register_t __attribute__ ((__mode__ (__word__))); | |
3685 | ||
3686 | ||
3687 | ||
3688 | ||
3689 | ||
3690 | #define __BIT_TYPES_DEFINED__ 1 | |
3691 | ||
3692 | ||
3693 | ||
3694 | ||
3695 | # 1 "/usr/include/endian.h" 1 3 4 | |
3696 | # 218 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4 | |
3697 | ||
3698 | ||
3699 | # 1 "/usr/include/sys/select.h" 1 3 4 | |
3700 | ||
3701 | ||
3702 | ||
3703 | ||
3704 | ||
3705 | ||
3706 | ||
3707 | # 1 "/usr/include/gentoo-multilib/amd64/sys/select.h" 1 3 4 | |
3708 | # 23 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4 | |
3709 | #define _SYS_SELECT_H 1 | |
3710 | ||
3711 | # 1 "/usr/include/features.h" 1 3 4 | |
3712 | # 26 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4 | |
3713 | ||
3714 | ||
3715 | # 1 "/usr/include/bits/types.h" 1 3 4 | |
3716 | # 29 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4 | |
3717 | ||
3718 | ||
3719 | # 1 "/usr/include/bits/select.h" 1 3 4 | |
3720 | ||
3721 | ||
3722 | ||
3723 | ||
3724 | ||
3725 | ||
3726 | ||
3727 | # 1 "/usr/include/gentoo-multilib/amd64/bits/select.h" 1 3 4 | |
3728 | # 26 "/usr/include/gentoo-multilib/amd64/bits/select.h" 3 4 | |
3729 | #define __FD_ZERO(s) do { unsigned int __i; fd_set *__arr = (s); for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) __FDS_BITS (__arr)[__i] = 0; } while (0) | |
3730 | ||
3731 | ||
3732 | ||
3733 | ||
3734 | ||
3735 | ||
3736 | #define __FD_SET(d,s) (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d)) | |
3737 | #define __FD_CLR(d,s) (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d)) | |
3738 | #define __FD_ISSET(d,s) ((__FDS_BITS (s)[__FDELT(d)] & __FDMASK(d)) != 0) | |
3739 | # 9 "/usr/include/bits/select.h" 2 3 4 | |
3740 | # 32 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4 | |
3741 | ||
3742 | ||
3743 | # 1 "/usr/include/bits/sigset.h" 1 3 4 | |
3744 | ||
3745 | ||
3746 | ||
3747 | ||
3748 | ||
3749 | ||
3750 | ||
3751 | # 1 "/usr/include/gentoo-multilib/amd64/bits/sigset.h" 1 3 4 | |
3752 | # 22 "/usr/include/gentoo-multilib/amd64/bits/sigset.h" 3 4 | |
3753 | #define _SIGSET_H_types 1 | |
3754 | ||
3755 | typedef int __sig_atomic_t; | |
3756 | ||
3757 | ||
3758 | ||
3759 | #define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int))) | |
3760 | typedef struct | |
3761 | { | |
3762 | unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; | |
3763 | } __sigset_t; | |
3764 | # 9 "/usr/include/bits/sigset.h" 2 3 4 | |
3765 | # 35 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4 | |
3766 | ||
3767 | ||
3768 | #define __sigset_t_defined | |
3769 | typedef __sigset_t sigset_t; | |
3770 | ||
3771 | ||
3772 | ||
3773 | #define __need_time_t | |
3774 | #define __need_timespec | |
3775 | # 1 "/usr/include/time.h" 1 3 4 | |
3776 | ||
3777 | ||
3778 | ||
3779 | ||
3780 | ||
3781 | ||
3782 | ||
3783 | # 1 "/usr/include/gentoo-multilib/amd64/time.h" 1 3 4 | |
3784 | # 68 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
3785 | #undef __need_clock_t | |
3786 | # 84 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
3787 | #undef __need_time_t | |
3788 | # 96 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
3789 | #undef __clockid_time_t | |
3790 | # 108 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
3791 | #undef __need_timer_t | |
3792 | ||
3793 | ||
3794 | ||
3795 | ||
3796 | ||
3797 | ||
3798 | #define __timespec_defined 1 | |
3799 | ||
3800 | # 1 "/usr/include/bits/types.h" 1 3 4 | |
3801 | # 118 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4 | |
3802 | ||
3803 | ||
3804 | ||
3805 | struct timespec | |
3806 | { | |
3807 | __time_t tv_sec; | |
3808 | long int tv_nsec; | |
3809 | }; | |
3810 | ||
3811 | ||
3812 | #undef __need_timespec | |
3813 | # 9 "/usr/include/time.h" 2 3 4 | |
3814 | # 45 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4 | |
3815 | #define __need_timeval | |
3816 | # 1 "/usr/include/bits/time.h" 1 3 4 | |
3817 | ||
3818 | ||
3819 | ||
3820 | ||
3821 | ||
3822 | ||
3823 | ||
3824 | # 1 "/usr/include/gentoo-multilib/amd64/bits/time.h" 1 3 4 | |
3825 | # 62 "/usr/include/gentoo-multilib/amd64/bits/time.h" 3 4 | |
3826 | #undef __need_timeval | |
3827 | ||
3828 | #define _STRUCT_TIMEVAL 1 | |
3829 | # 1 "/usr/include/bits/types.h" 1 3 4 | |
3830 | # 66 "/usr/include/gentoo-multilib/amd64/bits/time.h" 2 3 4 | |
3831 | ||
3832 | ||
3833 | ||
3834 | struct timeval | |
3835 | { | |
3836 | __time_t tv_sec; | |
3837 | __suseconds_t tv_usec; | |
3838 | }; | |
3839 | # 9 "/usr/include/bits/time.h" 2 3 4 | |
3840 | # 47 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4 | |
3841 | # 55 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4 | |
3842 | typedef long int __fd_mask; | |
3843 | ||
3844 | ||
3845 | #undef __NFDBITS | |
3846 | #undef __FDELT | |
3847 | #undef __FDMASK | |
3848 | ||
3849 | #define __NFDBITS (8 * sizeof (__fd_mask)) | |
3850 | #define __FDELT(d) ((d) / __NFDBITS) | |
3851 | #define __FDMASK(d) ((__fd_mask) 1 << ((d) % __NFDBITS)) | |
3852 | ||
3853 | ||
3854 | typedef struct | |
3855 | { | |
3856 | ||
3857 | ||
3858 | ||
3859 | __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))]; | |
3860 | #define __FDS_BITS(set) ((set)->fds_bits) | |
3861 | ||
3862 | ||
3863 | ||
3864 | ||
3865 | } fd_set; | |
3866 | ||
3867 | ||
3868 | #define FD_SETSIZE __FD_SETSIZE | |
3869 | ||
3870 | ||
3871 | ||
3872 | typedef __fd_mask fd_mask; | |
3873 | ||
3874 | ||
3875 | #define NFDBITS __NFDBITS | |
3876 | ||
3877 | ||
3878 | ||
3879 | ||
3880 | #define FD_SET(fd,fdsetp) __FD_SET (fd, fdsetp) | |
3881 | #define FD_CLR(fd,fdsetp) __FD_CLR (fd, fdsetp) | |
3882 | #define FD_ISSET(fd,fdsetp) __FD_ISSET (fd, fdsetp) | |
3883 | #define FD_ZERO(fdsetp) __FD_ZERO (fdsetp) | |
3884 | ||
3885 | ||
3886 | extern "C" { | |
3887 | # 109 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4 | |
3888 | extern int select (int __nfds, fd_set *__restrict __readfds, | |
3889 | fd_set *__restrict __writefds, | |
3890 | fd_set *__restrict __exceptfds, | |
3891 | struct timeval *__restrict __timeout); | |
3892 | # 121 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4 | |
3893 | extern int pselect (int __nfds, fd_set *__restrict __readfds, | |
3894 | fd_set *__restrict __writefds, | |
3895 | fd_set *__restrict __exceptfds, | |
3896 | const struct timespec *__restrict __timeout, | |
3897 | const __sigset_t *__restrict __sigmask); | |
3898 | ||
3899 | ||
3900 | } | |
3901 | # 9 "/usr/include/sys/select.h" 2 3 4 | |
3902 | # 221 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4 | |
3903 | ||
3904 | ||
3905 | # 1 "/usr/include/sys/sysmacros.h" 1 3 4 | |
3906 | ||
3907 | ||
3908 | ||
3909 | ||
3910 | ||
3911 | ||
3912 | ||
3913 | # 1 "/usr/include/gentoo-multilib/amd64/sys/sysmacros.h" 1 3 4 | |
3914 | # 22 "/usr/include/gentoo-multilib/amd64/sys/sysmacros.h" 3 4 | |
3915 | #define _SYS_SYSMACROS_H 1 | |
3916 | ||
3917 | # 1 "/usr/include/features.h" 1 3 4 | |
3918 | # 25 "/usr/include/gentoo-multilib/amd64/sys/sysmacros.h" 2 3 4 | |
3919 | ||
3920 | ||
3921 | ||
3922 | ||
3923 | ||
3924 | __extension__ | |
3925 | extern unsigned int gnu_dev_major (unsigned long long int __dev) | |
3926 | throw (); | |
3927 | __extension__ | |
3928 | extern unsigned int gnu_dev_minor (unsigned long long int __dev) | |
3929 | throw (); | |
3930 | __extension__ | |
3931 | extern unsigned long long int gnu_dev_makedev (unsigned int __major, | |
3932 | unsigned int __minor) | |
3933 | throw (); | |
3934 | # 65 "/usr/include/gentoo-multilib/amd64/sys/sysmacros.h" 3 4 | |
3935 | #define major(dev) gnu_dev_major (dev) | |
3936 | #define minor(dev) gnu_dev_minor (dev) | |
3937 | #define makedev(maj,min) gnu_dev_makedev (maj, min) | |
3938 | # 9 "/usr/include/sys/sysmacros.h" 2 3 4 | |
3939 | # 224 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4 | |
3940 | ||
3941 | ||
3942 | ||
3943 | ||
3944 | typedef __blksize_t blksize_t; | |
3945 | #define __blksize_t_defined | |
3946 | ||
3947 | ||
3948 | ||
3949 | ||
3950 | ||
3951 | typedef __blkcnt_t blkcnt_t; | |
3952 | #define __blkcnt_t_defined | |
3953 | ||
3954 | ||
3955 | typedef __fsblkcnt_t fsblkcnt_t; | |
3956 | #define __fsblkcnt_t_defined | |
3957 | ||
3958 | ||
3959 | typedef __fsfilcnt_t fsfilcnt_t; | |
3960 | #define __fsfilcnt_t_defined | |
3961 | # 262 "/usr/include/gentoo-multilib/amd64/sys/types.h" 3 4 | |
3962 | typedef __blkcnt64_t blkcnt64_t; | |
3963 | typedef __fsblkcnt64_t fsblkcnt64_t; | |
3964 | typedef __fsfilcnt64_t fsfilcnt64_t; | |
3965 | ||
3966 | ||
3967 | ||
3968 | ||
3969 | ||
3970 | # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 | |
3971 | ||
3972 | ||
3973 | ||
3974 | ||
3975 | ||
3976 | ||
3977 | ||
3978 | # 1 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 1 3 4 | |
3979 | # 21 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4 | |
3980 | #define _BITS_PTHREADTYPES_H 1 | |
3981 | ||
3982 | # 1 "/usr/include/bits/wordsize.h" 1 3 4 | |
3983 | ||
3984 | ||
3985 | ||
3986 | ||
3987 | ||
3988 | ||
3989 | ||
3990 | # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4 | |
3991 | ||
3992 | ||
3993 | ||
3994 | #define __WORDSIZE 64 | |
3995 | #define __WORDSIZE_COMPAT32 1 | |
3996 | # 9 "/usr/include/bits/wordsize.h" 2 3 4 | |
3997 | # 24 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 2 3 4 | |
3998 | ||
3999 | ||
4000 | #define __SIZEOF_PTHREAD_ATTR_T 56 | |
4001 | #define __SIZEOF_PTHREAD_MUTEX_T 40 | |
4002 | #define __SIZEOF_PTHREAD_MUTEXATTR_T 4 | |
4003 | #define __SIZEOF_PTHREAD_COND_T 48 | |
4004 | #define __SIZEOF_PTHREAD_CONDATTR_T 4 | |
4005 | #define __SIZEOF_PTHREAD_RWLOCK_T 56 | |
4006 | #define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 | |
4007 | #define __SIZEOF_PTHREAD_BARRIER_T 32 | |
4008 | #define __SIZEOF_PTHREAD_BARRIERATTR_T 4 | |
4009 | # 50 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4 | |
4010 | typedef unsigned long int pthread_t; | |
4011 | ||
4012 | ||
4013 | typedef union | |
4014 | { | |
4015 | char __size[56]; | |
4016 | long int __align; | |
4017 | } pthread_attr_t; | |
4018 | ||
4019 | ||
4020 | ||
4021 | typedef struct __pthread_internal_list | |
4022 | { | |
4023 | struct __pthread_internal_list *__prev; | |
4024 | struct __pthread_internal_list *__next; | |
4025 | } __pthread_list_t; | |
4026 | # 76 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4 | |
4027 | typedef union | |
4028 | { | |
4029 | struct __pthread_mutex_s | |
4030 | { | |
4031 | int __lock; | |
4032 | unsigned int __count; | |
4033 | int __owner; | |
4034 | ||
4035 | unsigned int __nusers; | |
4036 | ||
4037 | ||
4038 | ||
4039 | int __kind; | |
4040 | ||
4041 | int __spins; | |
4042 | __pthread_list_t __list; | |
4043 | #define __PTHREAD_MUTEX_HAVE_PREV 1 | |
4044 | # 101 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4 | |
4045 | } __data; | |
4046 | char __size[40]; | |
4047 | long int __align; | |
4048 | } pthread_mutex_t; | |
4049 | ||
4050 | typedef union | |
4051 | { | |
4052 | char __size[4]; | |
4053 | int __align; | |
4054 | } pthread_mutexattr_t; | |
4055 | ||
4056 | ||
4057 | ||
4058 | ||
4059 | typedef union | |
4060 | { | |
4061 | struct | |
4062 | { | |
4063 | int __lock; | |
4064 | unsigned int __futex; | |
4065 | __extension__ unsigned long long int __total_seq; | |
4066 | __extension__ unsigned long long int __wakeup_seq; | |
4067 | __extension__ unsigned long long int __woken_seq; | |
4068 | void *__mutex; | |
4069 | unsigned int __nwaiters; | |
4070 | unsigned int __broadcast_seq; | |
4071 | } __data; | |
4072 | char __size[48]; | |
4073 | __extension__ long long int __align; | |
4074 | } pthread_cond_t; | |
4075 | ||
4076 | typedef union | |
4077 | { | |
4078 | char __size[4]; | |
4079 | int __align; | |
4080 | } pthread_condattr_t; | |
4081 | ||
4082 | ||
4083 | ||
4084 | typedef unsigned int pthread_key_t; | |
4085 | ||
4086 | ||
4087 | ||
4088 | typedef int pthread_once_t; | |
4089 | ||
4090 | ||
4091 | ||
4092 | ||
4093 | ||
4094 | typedef union | |
4095 | { | |
4096 | ||
4097 | struct | |
4098 | { | |
4099 | int __lock; | |
4100 | unsigned int __nr_readers; | |
4101 | unsigned int __readers_wakeup; | |
4102 | unsigned int __writer_wakeup; | |
4103 | unsigned int __nr_readers_queued; | |
4104 | unsigned int __nr_writers_queued; | |
4105 | int __writer; | |
4106 | int __shared; | |
4107 | unsigned long int __pad1; | |
4108 | unsigned long int __pad2; | |
4109 | ||
4110 | ||
4111 | unsigned int __flags; | |
4112 | } __data; | |
4113 | # 187 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4 | |
4114 | char __size[56]; | |
4115 | long int __align; | |
4116 | } pthread_rwlock_t; | |
4117 | ||
4118 | typedef union | |
4119 | { | |
4120 | char __size[8]; | |
4121 | long int __align; | |
4122 | } pthread_rwlockattr_t; | |
4123 | ||
4124 | ||
4125 | ||
4126 | ||
4127 | ||
4128 | typedef volatile int pthread_spinlock_t; | |
4129 | ||
4130 | ||
4131 | ||
4132 | ||
4133 | typedef union | |
4134 | { | |
4135 | char __size[32]; | |
4136 | long int __align; | |
4137 | } pthread_barrier_t; | |
4138 | ||
4139 | typedef union | |
4140 | { | |
4141 | char __size[4]; | |
4142 | int __align; | |
4143 | } pthread_barrierattr_t; | |
4144 | # 9 "/usr/include/bits/pthreadtypes.h" 2 3 4 | |
4145 | # 271 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4 | |
4146 | ||
4147 | ||
4148 | } | |
4149 | # 9 "/usr/include/sys/types.h" 2 3 4 | |
4150 | # 321 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4 | |
4151 | ||
4152 | ||
4153 | ||
4154 | ||
4155 | ||
4156 | ||
4157 | extern long int random (void) throw (); | |
4158 | ||
4159 | ||
4160 | extern void srandom (unsigned int __seed) throw (); | |
4161 | ||
4162 | ||
4163 | ||
4164 | ||
4165 | ||
4166 | extern char *initstate (unsigned int __seed, char *__statebuf, | |
4167 | size_t __statelen) throw () __attribute__ ((__nonnull__ (2))); | |
4168 | ||
4169 | ||
4170 | ||
4171 | extern char *setstate (char *__statebuf) throw () __attribute__ ((__nonnull__ (1))); | |
4172 | ||
4173 | ||
4174 | ||
4175 | ||
4176 | ||
4177 | ||
4178 | ||
4179 | struct random_data | |
4180 | { | |
4181 | int32_t *fptr; | |
4182 | int32_t *rptr; | |
4183 | int32_t *state; | |
4184 | int rand_type; | |
4185 | int rand_deg; | |
4186 | int rand_sep; | |
4187 | int32_t *end_ptr; | |
4188 | }; | |
4189 | ||
4190 | extern int random_r (struct random_data *__restrict __buf, | |
4191 | int32_t *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); | |
4192 | ||
4193 | extern int srandom_r (unsigned int __seed, struct random_data *__buf) | |
4194 | throw () __attribute__ ((__nonnull__ (2))); | |
4195 | ||
4196 | extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, | |
4197 | size_t __statelen, | |
4198 | struct random_data *__restrict __buf) | |
4199 | throw () __attribute__ ((__nonnull__ (2, 4))); | |
4200 | ||
4201 | extern int setstate_r (char *__restrict __statebuf, | |
4202 | struct random_data *__restrict __buf) | |
4203 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
4204 | ||
4205 | ||
4206 | ||
4207 | ||
4208 | ||
4209 | ||
4210 | extern int rand (void) throw (); | |
4211 | ||
4212 | extern void srand (unsigned int __seed) throw (); | |
4213 | ||
4214 | ||
4215 | ||
4216 | ||
4217 | extern int rand_r (unsigned int *__seed) throw (); | |
4218 | ||
4219 | ||
4220 | ||
4221 | ||
4222 | ||
4223 | ||
4224 | ||
4225 | extern double drand48 (void) throw (); | |
4226 | extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); | |
4227 | ||
4228 | ||
4229 | extern long int lrand48 (void) throw (); | |
4230 | extern long int nrand48 (unsigned short int __xsubi[3]) | |
4231 | throw () __attribute__ ((__nonnull__ (1))); | |
4232 | ||
4233 | ||
4234 | extern long int mrand48 (void) throw (); | |
4235 | extern long int jrand48 (unsigned short int __xsubi[3]) | |
4236 | throw () __attribute__ ((__nonnull__ (1))); | |
4237 | ||
4238 | ||
4239 | extern void srand48 (long int __seedval) throw (); | |
4240 | extern unsigned short int *seed48 (unsigned short int __seed16v[3]) | |
4241 | throw () __attribute__ ((__nonnull__ (1))); | |
4242 | extern void lcong48 (unsigned short int __param[7]) throw () __attribute__ ((__nonnull__ (1))); | |
4243 | ||
4244 | ||
4245 | ||
4246 | ||
4247 | ||
4248 | struct drand48_data | |
4249 | { | |
4250 | unsigned short int __x[3]; | |
4251 | unsigned short int __old_x[3]; | |
4252 | unsigned short int __c; | |
4253 | unsigned short int __init; | |
4254 | unsigned long long int __a; | |
4255 | }; | |
4256 | ||
4257 | ||
4258 | extern int drand48_r (struct drand48_data *__restrict __buffer, | |
4259 | double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); | |
4260 | extern int erand48_r (unsigned short int __xsubi[3], | |
4261 | struct drand48_data *__restrict __buffer, | |
4262 | double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); | |
4263 | ||
4264 | ||
4265 | extern int lrand48_r (struct drand48_data *__restrict __buffer, | |
4266 | long int *__restrict __result) | |
4267 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
4268 | extern int nrand48_r (unsigned short int __xsubi[3], | |
4269 | struct drand48_data *__restrict __buffer, | |
4270 | long int *__restrict __result) | |
4271 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
4272 | ||
4273 | ||
4274 | extern int mrand48_r (struct drand48_data *__restrict __buffer, | |
4275 | long int *__restrict __result) | |
4276 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
4277 | extern int jrand48_r (unsigned short int __xsubi[3], | |
4278 | struct drand48_data *__restrict __buffer, | |
4279 | long int *__restrict __result) | |
4280 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
4281 | ||
4282 | ||
4283 | extern int srand48_r (long int __seedval, struct drand48_data *__buffer) | |
4284 | throw () __attribute__ ((__nonnull__ (2))); | |
4285 | ||
4286 | extern int seed48_r (unsigned short int __seed16v[3], | |
4287 | struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2))); | |
4288 | ||
4289 | extern int lcong48_r (unsigned short int __param[7], | |
4290 | struct drand48_data *__buffer) | |
4291 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
4292 | ||
4293 | ||
4294 | ||
4295 | ||
4296 | ||
4297 | ||
4298 | #define __malloc_and_calloc_defined | |
4299 | ||
4300 | ||
4301 | extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)) ; | |
4302 | ||
4303 | extern void *calloc (size_t __nmemb, size_t __size) | |
4304 | throw () __attribute__ ((__malloc__)) ; | |
4305 | ||
4306 | ||
4307 | ||
4308 | ||
4309 | ||
4310 | ||
4311 | ||
4312 | ||
4313 | ||
4314 | ||
4315 | extern void *realloc (void *__ptr, size_t __size) | |
4316 | throw () __attribute__ ((__warn_unused_result__)); | |
4317 | ||
4318 | extern void free (void *__ptr) throw (); | |
4319 | ||
4320 | ||
4321 | ||
4322 | ||
4323 | extern void cfree (void *__ptr) throw (); | |
4324 | ||
4325 | ||
4326 | ||
4327 | # 1 "/usr/include/alloca.h" 1 3 4 | |
4328 | ||
4329 | ||
4330 | ||
4331 | ||
4332 | ||
4333 | ||
4334 | ||
4335 | # 1 "/usr/include/gentoo-multilib/amd64/alloca.h" 1 3 4 | |
4336 | # 20 "/usr/include/gentoo-multilib/amd64/alloca.h" 3 4 | |
4337 | #define _ALLOCA_H 1 | |
4338 | ||
4339 | # 1 "/usr/include/features.h" 1 3 4 | |
4340 | # 23 "/usr/include/gentoo-multilib/amd64/alloca.h" 2 3 4 | |
4341 | ||
4342 | #define __need_size_t | |
4343 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 1 3 4 | |
4344 | # 163 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
4345 | #undef __need_ptrdiff_t | |
4346 | # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
4347 | #undef __need_size_t | |
4348 | # 345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
4349 | #undef __need_wchar_t | |
4350 | # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
4351 | #undef NULL | |
4352 | ||
4353 | #define NULL __null | |
4354 | # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
4355 | #undef __need_NULL | |
4356 | ||
4357 | ||
4358 | ||
4359 | ||
4360 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
4361 | # 26 "/usr/include/gentoo-multilib/amd64/alloca.h" 2 3 4 | |
4362 | ||
4363 | extern "C" { | |
4364 | ||
4365 | ||
4366 | #undef alloca | |
4367 | ||
4368 | ||
4369 | extern void *alloca (size_t __size) throw (); | |
4370 | ||
4371 | ||
4372 | #define alloca(size) __builtin_alloca (size) | |
4373 | ||
4374 | ||
4375 | } | |
4376 | # 9 "/usr/include/alloca.h" 2 3 4 | |
4377 | # 498 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4 | |
4378 | ||
4379 | ||
4380 | ||
4381 | ||
4382 | extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) ; | |
4383 | ||
4384 | ||
4385 | ||
4386 | ||
4387 | extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) | |
4388 | throw () __attribute__ ((__nonnull__ (1))) ; | |
4389 | ||
4390 | ||
4391 | ||
4392 | ||
4393 | extern void abort (void) throw () __attribute__ ((__noreturn__)); | |
4394 | ||
4395 | ||
4396 | ||
4397 | extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1))); | |
4398 | ||
4399 | ||
4400 | ||
4401 | ||
4402 | ||
4403 | extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) | |
4404 | throw () __attribute__ ((__nonnull__ (1))); | |
4405 | ||
4406 | ||
4407 | ||
4408 | ||
4409 | ||
4410 | ||
4411 | extern void exit (int __status) throw () __attribute__ ((__noreturn__)); | |
4412 | ||
4413 | ||
4414 | ||
4415 | ||
4416 | ||
4417 | ||
4418 | extern void _Exit (int __status) throw () __attribute__ ((__noreturn__)); | |
4419 | ||
4420 | ||
4421 | ||
4422 | ||
4423 | ||
4424 | ||
4425 | extern char *getenv (__const char *__name) throw () __attribute__ ((__nonnull__ (1))) ; | |
4426 | ||
4427 | ||
4428 | ||
4429 | ||
4430 | extern char *__secure_getenv (__const char *__name) | |
4431 | throw () __attribute__ ((__nonnull__ (1))) ; | |
4432 | ||
4433 | ||
4434 | ||
4435 | ||
4436 | ||
4437 | extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1))); | |
4438 | ||
4439 | ||
4440 | ||
4441 | ||
4442 | ||
4443 | extern int setenv (__const char *__name, __const char *__value, int __replace) | |
4444 | throw () __attribute__ ((__nonnull__ (2))); | |
4445 | ||
4446 | ||
4447 | extern int unsetenv (__const char *__name) throw (); | |
4448 | ||
4449 | ||
4450 | ||
4451 | ||
4452 | ||
4453 | ||
4454 | extern int clearenv (void) throw (); | |
4455 | # 583 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 | |
4456 | extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ; | |
4457 | # 594 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 | |
4458 | extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; | |
4459 | # 604 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 | |
4460 | extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ; | |
4461 | # 614 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 | |
4462 | extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ; | |
4463 | # 625 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 | |
4464 | extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; | |
4465 | # 635 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 | |
4466 | extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; | |
4467 | ||
4468 | ||
4469 | ||
4470 | ||
4471 | ||
4472 | ||
4473 | ||
4474 | ||
4475 | ||
4476 | extern int system (__const char *__command) ; | |
4477 | ||
4478 | ||
4479 | ||
4480 | ||
4481 | ||
4482 | ||
4483 | extern char *canonicalize_file_name (__const char *__name) | |
4484 | throw () __attribute__ ((__nonnull__ (1))) ; | |
4485 | # 662 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 | |
4486 | extern char *realpath (__const char *__restrict __name, | |
4487 | char *__restrict __resolved) throw () ; | |
4488 | ||
4489 | ||
4490 | ||
4491 | ||
4492 | ||
4493 | #define __COMPAR_FN_T | |
4494 | typedef int (*__compar_fn_t) (__const void *, __const void *); | |
4495 | ||
4496 | ||
4497 | typedef __compar_fn_t comparison_fn_t; | |
4498 | ||
4499 | ||
4500 | ||
4501 | ||
4502 | ||
4503 | ||
4504 | extern void *bsearch (__const void *__key, __const void *__base, | |
4505 | size_t __nmemb, size_t __size, __compar_fn_t __compar) | |
4506 | __attribute__ ((__nonnull__ (1, 2, 5))) ; | |
4507 | ||
4508 | ||
4509 | ||
4510 | extern void qsort (void *__base, size_t __nmemb, size_t __size, | |
4511 | __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); | |
4512 | ||
4513 | ||
4514 | ||
4515 | extern int abs (int __x) throw () __attribute__ ((__const__)) ; | |
4516 | extern long int labs (long int __x) throw () __attribute__ ((__const__)) ; | |
4517 | ||
4518 | ||
4519 | ||
4520 | __extension__ extern long long int llabs (long long int __x) | |
4521 | throw () __attribute__ ((__const__)) ; | |
4522 | ||
4523 | ||
4524 | ||
4525 | ||
4526 | ||
4527 | ||
4528 | ||
4529 | extern div_t div (int __numer, int __denom) | |
4530 | throw () __attribute__ ((__const__)) ; | |
4531 | extern ldiv_t ldiv (long int __numer, long int __denom) | |
4532 | throw () __attribute__ ((__const__)) ; | |
4533 | ||
4534 | ||
4535 | ||
4536 | ||
4537 | __extension__ extern lldiv_t lldiv (long long int __numer, | |
4538 | long long int __denom) | |
4539 | throw () __attribute__ ((__const__)) ; | |
4540 | ||
4541 | # 727 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 | |
4542 | extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, | |
4543 | int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ; | |
4544 | ||
4545 | ||
4546 | ||
4547 | ||
4548 | extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, | |
4549 | int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ; | |
4550 | ||
4551 | ||
4552 | ||
4553 | ||
4554 | extern char *gcvt (double __value, int __ndigit, char *__buf) | |
4555 | throw () __attribute__ ((__nonnull__ (3))) ; | |
4556 | ||
4557 | ||
4558 | ||
4559 | ||
4560 | extern char *qecvt (long double __value, int __ndigit, | |
4561 | int *__restrict __decpt, int *__restrict __sign) | |
4562 | throw () __attribute__ ((__nonnull__ (3, 4))) ; | |
4563 | extern char *qfcvt (long double __value, int __ndigit, | |
4564 | int *__restrict __decpt, int *__restrict __sign) | |
4565 | throw () __attribute__ ((__nonnull__ (3, 4))) ; | |
4566 | extern char *qgcvt (long double __value, int __ndigit, char *__buf) | |
4567 | throw () __attribute__ ((__nonnull__ (3))) ; | |
4568 | ||
4569 | ||
4570 | ||
4571 | ||
4572 | extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, | |
4573 | int *__restrict __sign, char *__restrict __buf, | |
4574 | size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); | |
4575 | extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, | |
4576 | int *__restrict __sign, char *__restrict __buf, | |
4577 | size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); | |
4578 | ||
4579 | extern int qecvt_r (long double __value, int __ndigit, | |
4580 | int *__restrict __decpt, int *__restrict __sign, | |
4581 | char *__restrict __buf, size_t __len) | |
4582 | throw () __attribute__ ((__nonnull__ (3, 4, 5))); | |
4583 | extern int qfcvt_r (long double __value, int __ndigit, | |
4584 | int *__restrict __decpt, int *__restrict __sign, | |
4585 | char *__restrict __buf, size_t __len) | |
4586 | throw () __attribute__ ((__nonnull__ (3, 4, 5))); | |
4587 | ||
4588 | ||
4589 | ||
4590 | ||
4591 | ||
4592 | ||
4593 | ||
4594 | extern int mblen (__const char *__s, size_t __n) throw () ; | |
4595 | ||
4596 | ||
4597 | extern int mbtowc (wchar_t *__restrict __pwc, | |
4598 | __const char *__restrict __s, size_t __n) throw () ; | |
4599 | ||
4600 | ||
4601 | extern int wctomb (char *__s, wchar_t __wchar) throw () ; | |
4602 | ||
4603 | ||
4604 | ||
4605 | extern size_t mbstowcs (wchar_t *__restrict __pwcs, | |
4606 | __const char *__restrict __s, size_t __n) throw (); | |
4607 | ||
4608 | extern size_t wcstombs (char *__restrict __s, | |
4609 | __const wchar_t *__restrict __pwcs, size_t __n) | |
4610 | throw (); | |
4611 | ||
4612 | ||
4613 | ||
4614 | ||
4615 | ||
4616 | ||
4617 | ||
4618 | ||
4619 | extern int rpmatch (__const char *__response) throw () __attribute__ ((__nonnull__ (1))) ; | |
4620 | # 815 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 | |
4621 | extern int getsubopt (char **__restrict __optionp, | |
4622 | char *__const *__restrict __tokens, | |
4623 | char **__restrict __valuep) | |
4624 | throw () __attribute__ ((__nonnull__ (1, 2, 3))) ; | |
4625 | ||
4626 | ||
4627 | ||
4628 | ||
4629 | ||
4630 | extern void setkey (__const char *__key) throw () __attribute__ ((__nonnull__ (1))); | |
4631 | ||
4632 | ||
4633 | ||
4634 | ||
4635 | ||
4636 | ||
4637 | ||
4638 | extern int posix_openpt (int __oflag) ; | |
4639 | ||
4640 | ||
4641 | ||
4642 | ||
4643 | ||
4644 | ||
4645 | ||
4646 | extern int grantpt (int __fd) throw (); | |
4647 | ||
4648 | ||
4649 | ||
4650 | extern int unlockpt (int __fd) throw (); | |
4651 | ||
4652 | ||
4653 | ||
4654 | ||
4655 | extern char *ptsname (int __fd) throw () ; | |
4656 | ||
4657 | ||
4658 | ||
4659 | ||
4660 | ||
4661 | ||
4662 | extern int ptsname_r (int __fd, char *__buf, size_t __buflen) | |
4663 | throw () __attribute__ ((__nonnull__ (2))); | |
4664 | ||
4665 | ||
4666 | extern int getpt (void); | |
4667 | ||
4668 | ||
4669 | ||
4670 | ||
4671 | ||
4672 | ||
4673 | extern int getloadavg (double __loadavg[], int __nelem) | |
4674 | throw () __attribute__ ((__nonnull__ (1))); | |
4675 | # 881 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 | |
4676 | #undef __need_malloc_and_calloc | |
4677 | ||
4678 | } | |
4679 | # 9 "/usr/include/stdlib.h" 2 3 4 | |
4680 | # 73 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdlib" 2 3 | |
4681 | ||
4682 | ||
4683 | #undef abort | |
4684 | #undef abs | |
4685 | #undef atexit | |
4686 | #undef atof | |
4687 | #undef atoi | |
4688 | #undef atol | |
4689 | #undef bsearch | |
4690 | #undef calloc | |
4691 | #undef div | |
4692 | #undef exit | |
4693 | #undef free | |
4694 | #undef getenv | |
4695 | #undef labs | |
4696 | #undef ldiv | |
4697 | #undef malloc | |
4698 | #undef mblen | |
4699 | #undef mbstowcs | |
4700 | #undef mbtowc | |
4701 | #undef qsort | |
4702 | #undef rand | |
4703 | #undef realloc | |
4704 | #undef srand | |
4705 | #undef strtod | |
4706 | #undef strtol | |
4707 | #undef strtoul | |
4708 | #undef system | |
4709 | #undef wcstombs | |
4710 | #undef wctomb | |
4711 | ||
4712 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
4713 | ||
4714 | using ::div_t; | |
4715 | using ::ldiv_t; | |
4716 | ||
4717 | using ::abort; | |
4718 | using ::abs; | |
4719 | using ::atexit; | |
4720 | using ::atof; | |
4721 | using ::atoi; | |
4722 | using ::atol; | |
4723 | using ::bsearch; | |
4724 | using ::calloc; | |
4725 | using ::div; | |
4726 | using ::exit; | |
4727 | using ::free; | |
4728 | using ::getenv; | |
4729 | using ::labs; | |
4730 | using ::ldiv; | |
4731 | using ::malloc; | |
4732 | ||
4733 | using ::mblen; | |
4734 | using ::mbstowcs; | |
4735 | using ::mbtowc; | |
4736 | ||
4737 | using ::qsort; | |
4738 | using ::rand; | |
4739 | using ::realloc; | |
4740 | using ::srand; | |
4741 | using ::strtod; | |
4742 | using ::strtol; | |
4743 | using ::strtoul; | |
4744 | using ::system; | |
4745 | ||
4746 | using ::wcstombs; | |
4747 | using ::wctomb; | |
4748 | ||
4749 | ||
4750 | inline long | |
4751 | abs(long __i) { return labs(__i); } | |
4752 | ||
4753 | inline ldiv_t | |
4754 | div(long __i, long __j) { return ldiv(__i, __j); } | |
4755 | ||
4756 | } | |
4757 | ||
4758 | ||
4759 | ||
4760 | #undef _Exit | |
4761 | #undef llabs | |
4762 | #undef lldiv | |
4763 | #undef atoll | |
4764 | #undef strtoll | |
4765 | #undef strtoull | |
4766 | #undef strtof | |
4767 | #undef strtold | |
4768 | ||
4769 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
4770 | ||
4771 | ||
4772 | using ::lldiv_t; | |
4773 | ||
4774 | ||
4775 | ||
4776 | ||
4777 | ||
4778 | using ::_Exit; | |
4779 | ||
4780 | ||
4781 | inline long long | |
4782 | abs(long long __x) { return __x >= 0 ? __x : -__x; } | |
4783 | ||
4784 | ||
4785 | using ::llabs; | |
4786 | ||
4787 | inline lldiv_t | |
4788 | div(long long __n, long long __d) | |
4789 | { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } | |
4790 | ||
4791 | using ::lldiv; | |
4792 | # 194 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdlib" 3 | |
4793 | using ::atoll; | |
4794 | using ::strtoll; | |
4795 | using ::strtoull; | |
4796 | ||
4797 | using ::strtof; | |
4798 | using ::strtold; | |
4799 | ||
4800 | } | |
4801 | ||
4802 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
4803 | ||
4804 | ||
4805 | using ::__gnu_cxx::lldiv_t; | |
4806 | ||
4807 | using ::__gnu_cxx::_Exit; | |
4808 | using ::__gnu_cxx::abs; | |
4809 | ||
4810 | using ::__gnu_cxx::llabs; | |
4811 | using ::__gnu_cxx::div; | |
4812 | using ::__gnu_cxx::lldiv; | |
4813 | ||
4814 | using ::__gnu_cxx::atoll; | |
4815 | using ::__gnu_cxx::strtof; | |
4816 | using ::__gnu_cxx::strtoll; | |
4817 | using ::__gnu_cxx::strtoull; | |
4818 | using ::__gnu_cxx::strtold; | |
4819 | ||
4820 | } | |
4821 | # 69 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 2 3 | |
4822 | ||
4823 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/iosfwd" 1 3 | |
4824 | # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/iosfwd" 3 | |
4825 | #define _GLIBCXX_IOSFWD 1 | |
4826 | ||
4827 | ||
4828 | # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/iosfwd" 3 | |
4829 | ||
4830 | ||
4831 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 1 3 | |
4832 | # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 3 | |
4833 | #define _C_LOCALE_H 1 | |
4834 | ||
4835 | ||
4836 | # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 3 | |
4837 | ||
4838 | ||
4839 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdio" 1 3 | |
4840 | # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdio" 3 | |
4841 | #define _GLIBCXX_CSTDIO 1 | |
4842 | ||
4843 | ||
4844 | # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdio" 3 | |
4845 | ||
4846 | ||
4847 | ||
4848 | ||
4849 | # 1 "/usr/include/stdio.h" 1 3 4 | |
4850 | ||
4851 | ||
4852 | ||
4853 | ||
4854 | ||
4855 | ||
4856 | ||
4857 | # 1 "/usr/include/gentoo-multilib/amd64/stdio.h" 1 3 4 | |
4858 | # 27 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
4859 | #define _STDIO_H 1 | |
4860 | # 1 "/usr/include/features.h" 1 3 4 | |
4861 | # 29 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4 | |
4862 | ||
4863 | extern "C" { | |
4864 | ||
4865 | #define __need_size_t | |
4866 | #define __need_NULL | |
4867 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 1 3 4 | |
4868 | # 163 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
4869 | #undef __need_ptrdiff_t | |
4870 | # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
4871 | #undef __need_size_t | |
4872 | # 345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
4873 | #undef __need_wchar_t | |
4874 | # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
4875 | #undef NULL | |
4876 | ||
4877 | #define NULL __null | |
4878 | # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
4879 | #undef __need_NULL | |
4880 | ||
4881 | ||
4882 | ||
4883 | ||
4884 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
4885 | # 35 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4 | |
4886 | ||
4887 | # 1 "/usr/include/bits/types.h" 1 3 4 | |
4888 | # 37 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4 | |
4889 | #define __need_FILE | |
4890 | #define __need___FILE | |
4891 | ||
4892 | ||
4893 | ||
4894 | ||
4895 | ||
4896 | ||
4897 | struct _IO_FILE; | |
4898 | ||
4899 | ||
4900 | ||
4901 | typedef struct _IO_FILE FILE; | |
4902 | ||
4903 | ||
4904 | ||
4905 | ||
4906 | ||
4907 | ||
4908 | ||
4909 | #define __FILE_defined 1 | |
4910 | ||
4911 | #undef __need_FILE | |
4912 | ||
4913 | ||
4914 | ||
4915 | ||
4916 | ||
4917 | typedef struct _IO_FILE __FILE; | |
4918 | ||
4919 | #define ____FILE_defined 1 | |
4920 | ||
4921 | #undef __need___FILE | |
4922 | ||
4923 | ||
4924 | ||
4925 | #define _STDIO_USES_IOSTREAM | |
4926 | ||
4927 | # 1 "/usr/include/libio.h" 1 3 4 | |
4928 | ||
4929 | ||
4930 | ||
4931 | ||
4932 | ||
4933 | ||
4934 | ||
4935 | # 1 "/usr/include/gentoo-multilib/amd64/libio.h" 1 3 4 | |
4936 | # 30 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 | |
4937 | #define _IO_STDIO_H | |
4938 | ||
4939 | # 1 "/usr/include/_G_config.h" 1 3 4 | |
4940 | ||
4941 | ||
4942 | ||
4943 | ||
4944 | ||
4945 | ||
4946 | ||
4947 | # 1 "/usr/include/gentoo-multilib/amd64/_G_config.h" 1 3 4 | |
4948 | ||
4949 | ||
4950 | ||
4951 | ||
4952 | #define _G_config_h 1 | |
4953 | ||
4954 | ||
4955 | ||
4956 | # 1 "/usr/include/bits/types.h" 1 3 4 | |
4957 | # 10 "/usr/include/gentoo-multilib/amd64/_G_config.h" 2 3 4 | |
4958 | #define __need_size_t | |
4959 | ||
4960 | ||
4961 | ||
4962 | #define __need_NULL | |
4963 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 1 3 4 | |
4964 | # 163 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
4965 | #undef __need_ptrdiff_t | |
4966 | # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
4967 | #undef __need_size_t | |
4968 | # 345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
4969 | #undef __need_wchar_t | |
4970 | # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
4971 | #undef NULL | |
4972 | ||
4973 | #define NULL __null | |
4974 | # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
4975 | #undef __need_NULL | |
4976 | ||
4977 | ||
4978 | ||
4979 | ||
4980 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
4981 | # 16 "/usr/include/gentoo-multilib/amd64/_G_config.h" 2 3 4 | |
4982 | #define __need_mbstate_t | |
4983 | ||
4984 | ||
4985 | ||
4986 | # 1 "/usr/include/wchar.h" 1 3 4 | |
4987 | ||
4988 | ||
4989 | ||
4990 | ||
4991 | ||
4992 | ||
4993 | ||
4994 | # 1 "/usr/include/gentoo-multilib/amd64/wchar.h" 1 3 4 | |
4995 | # 76 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4 | |
4996 | #define __mbstate_t_defined 1 | |
4997 | ||
4998 | typedef struct | |
4999 | { | |
5000 | int __count; | |
5001 | union | |
5002 | { | |
5003 | ||
5004 | unsigned int __wch; | |
5005 | ||
5006 | ||
5007 | ||
5008 | char __wchb[4]; | |
5009 | } __value; | |
5010 | } __mbstate_t; | |
5011 | ||
5012 | #undef __need_mbstate_t | |
5013 | # 9 "/usr/include/wchar.h" 2 3 4 | |
5014 | # 21 "/usr/include/gentoo-multilib/amd64/_G_config.h" 2 3 4 | |
5015 | #define _G_size_t size_t | |
5016 | typedef struct | |
5017 | { | |
5018 | __off_t __pos; | |
5019 | __mbstate_t __state; | |
5020 | } _G_fpos_t; | |
5021 | typedef struct | |
5022 | { | |
5023 | __off64_t __pos; | |
5024 | __mbstate_t __state; | |
5025 | } _G_fpos64_t; | |
5026 | #define _G_ssize_t __ssize_t | |
5027 | #define _G_off_t __off_t | |
5028 | #define _G_off64_t __off64_t | |
5029 | #define _G_pid_t __pid_t | |
5030 | #define _G_uid_t __uid_t | |
5031 | #define _G_wchar_t wchar_t | |
5032 | #define _G_wint_t wint_t | |
5033 | #define _G_stat64 stat64 | |
5034 | # 53 "/usr/include/gentoo-multilib/amd64/_G_config.h" 3 4 | |
5035 | typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); | |
5036 | typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); | |
5037 | typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); | |
5038 | typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); | |
5039 | ||
5040 | #define _G_HAVE_BOOL 1 | |
5041 | ||
5042 | ||
5043 | ||
5044 | #define _G_HAVE_ATEXIT 1 | |
5045 | #define _G_HAVE_SYS_CDEFS 1 | |
5046 | #define _G_HAVE_SYS_WAIT 1 | |
5047 | #define _G_NEED_STDARG_H 1 | |
5048 | #define _G_va_list __gnuc_va_list | |
5049 | ||
5050 | #define _G_HAVE_PRINTF_FP 1 | |
5051 | #define _G_HAVE_MMAP 1 | |
5052 | #define _G_HAVE_MREMAP 1 | |
5053 | #define _G_HAVE_LONG_DOUBLE_IO 1 | |
5054 | #define _G_HAVE_IO_FILE_OPEN 1 | |
5055 | #define _G_HAVE_IO_GETLINE_INFO 1 | |
5056 | ||
5057 | #define _G_IO_IO_FILE_VERSION 0x20001 | |
5058 | ||
5059 | #define _G_OPEN64 __open64 | |
5060 | #define _G_LSEEK64 __lseek64 | |
5061 | #define _G_MMAP64 __mmap64 | |
5062 | #define _G_FSTAT64(fd,buf) __fxstat64 (_STAT_VER, fd, buf) | |
5063 | ||
5064 | ||
5065 | #define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE) | |
5066 | ||
5067 | #define _G_BUFSIZ 8192 | |
5068 | ||
5069 | ||
5070 | #define _G_NAMES_HAVE_UNDERSCORE 0 | |
5071 | #define _G_VTABLE_LABEL_HAS_LENGTH 1 | |
5072 | #define _G_USING_THUNKS 1 | |
5073 | #define _G_VTABLE_LABEL_PREFIX "__vt_" | |
5074 | #define _G_VTABLE_LABEL_PREFIX_ID __vt_ | |
5075 | ||
5076 | ||
5077 | ||
5078 | #define _G_ARGS(ARGLIST) ARGLIST | |
5079 | # 9 "/usr/include/_G_config.h" 2 3 4 | |
5080 | # 33 "/usr/include/gentoo-multilib/amd64/libio.h" 2 3 4 | |
5081 | ||
5082 | #define _IO_pos_t _G_fpos_t | |
5083 | #define _IO_fpos_t _G_fpos_t | |
5084 | #define _IO_fpos64_t _G_fpos64_t | |
5085 | #define _IO_size_t _G_size_t | |
5086 | #define _IO_ssize_t _G_ssize_t | |
5087 | #define _IO_off_t _G_off_t | |
5088 | #define _IO_off64_t _G_off64_t | |
5089 | #define _IO_pid_t _G_pid_t | |
5090 | #define _IO_uid_t _G_uid_t | |
5091 | #define _IO_iconv_t _G_iconv_t | |
5092 | #define _IO_HAVE_SYS_WAIT _G_HAVE_SYS_WAIT | |
5093 | #define _IO_HAVE_ST_BLKSIZE _G_HAVE_ST_BLKSIZE | |
5094 | #define _IO_BUFSIZ _G_BUFSIZ | |
5095 | #define _IO_va_list _G_va_list | |
5096 | #define _IO_wint_t _G_wint_t | |
5097 | ||
5098 | ||
5099 | ||
5100 | #define __need___va_list | |
5101 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stdarg.h" 1 3 4 | |
5102 | # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stdarg.h" 3 4 | |
5103 | #undef __need___va_list | |
5104 | ||
5105 | ||
5106 | ||
5107 | ||
5108 | #define __GNUC_VA_LIST | |
5109 | typedef __builtin_va_list __gnuc_va_list; | |
5110 | # 54 "/usr/include/gentoo-multilib/amd64/libio.h" 2 3 4 | |
5111 | ||
5112 | #undef _IO_va_list | |
5113 | #define _IO_va_list __gnuc_va_list | |
5114 | # 76 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 | |
5115 | #define _PARAMS(protos) __P(protos) | |
5116 | ||
5117 | ||
5118 | ||
5119 | ||
5120 | ||
5121 | ||
5122 | ||
5123 | #define _IO_UNIFIED_JUMPTABLES 1 | |
5124 | ||
5125 | ||
5126 | ||
5127 | ||
5128 | ||
5129 | #define EOF (-1) | |
5130 | # 105 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 | |
5131 | #define _IOS_INPUT 1 | |
5132 | #define _IOS_OUTPUT 2 | |
5133 | #define _IOS_ATEND 4 | |
5134 | #define _IOS_APPEND 8 | |
5135 | #define _IOS_TRUNC 16 | |
5136 | #define _IOS_NOCREATE 32 | |
5137 | #define _IOS_NOREPLACE 64 | |
5138 | #define _IOS_BIN 128 | |
5139 | ||
5140 | ||
5141 | ||
5142 | ||
5143 | ||
5144 | ||
5145 | ||
5146 | #define _IO_MAGIC 0xFBAD0000 | |
5147 | #define _OLD_STDIO_MAGIC 0xFABC0000 | |
5148 | #define _IO_MAGIC_MASK 0xFFFF0000 | |
5149 | #define _IO_USER_BUF 1 | |
5150 | #define _IO_UNBUFFERED 2 | |
5151 | #define _IO_NO_READS 4 | |
5152 | #define _IO_NO_WRITES 8 | |
5153 | #define _IO_EOF_SEEN 0x10 | |
5154 | #define _IO_ERR_SEEN 0x20 | |
5155 | #define _IO_DELETE_DONT_CLOSE 0x40 | |
5156 | #define _IO_LINKED 0x80 | |
5157 | #define _IO_IN_BACKUP 0x100 | |
5158 | #define _IO_LINE_BUF 0x200 | |
5159 | #define _IO_TIED_PUT_GET 0x400 | |
5160 | #define _IO_CURRENTLY_PUTTING 0x800 | |
5161 | #define _IO_IS_APPENDING 0x1000 | |
5162 | #define _IO_IS_FILEBUF 0x2000 | |
5163 | #define _IO_BAD_SEEN 0x4000 | |
5164 | #define _IO_USER_LOCK 0x8000 | |
5165 | ||
5166 | #define _IO_FLAGS2_MMAP 1 | |
5167 | #define _IO_FLAGS2_NOTCANCEL 2 | |
5168 | ||
5169 | ||
5170 | ||
5171 | #define _IO_FLAGS2_USER_WBUF 8 | |
5172 | ||
5173 | ||
5174 | ||
5175 | ||
5176 | ||
5177 | #define _IO_SKIPWS 01 | |
5178 | #define _IO_LEFT 02 | |
5179 | #define _IO_RIGHT 04 | |
5180 | #define _IO_INTERNAL 010 | |
5181 | #define _IO_DEC 020 | |
5182 | #define _IO_OCT 040 | |
5183 | #define _IO_HEX 0100 | |
5184 | #define _IO_SHOWBASE 0200 | |
5185 | #define _IO_SHOWPOINT 0400 | |
5186 | #define _IO_UPPERCASE 01000 | |
5187 | #define _IO_SHOWPOS 02000 | |
5188 | #define _IO_SCIENTIFIC 04000 | |
5189 | #define _IO_FIXED 010000 | |
5190 | #define _IO_UNITBUF 020000 | |
5191 | #define _IO_STDIO 040000 | |
5192 | #define _IO_DONT_CLOSE 0100000 | |
5193 | #define _IO_BOOLALPHA 0200000 | |
5194 | ||
5195 | ||
5196 | struct _IO_jump_t; struct _IO_FILE; | |
5197 | # 180 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 | |
5198 | typedef void _IO_lock_t; | |
5199 | ||
5200 | ||
5201 | ||
5202 | ||
5203 | ||
5204 | struct _IO_marker { | |
5205 | struct _IO_marker *_next; | |
5206 | struct _IO_FILE *_sbuf; | |
5207 | ||
5208 | ||
5209 | ||
5210 | int _pos; | |
5211 | # 203 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 | |
5212 | }; | |
5213 | ||
5214 | ||
5215 | enum __codecvt_result | |
5216 | { | |
5217 | __codecvt_ok, | |
5218 | __codecvt_partial, | |
5219 | __codecvt_error, | |
5220 | __codecvt_noconv | |
5221 | }; | |
5222 | # 271 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 | |
5223 | struct _IO_FILE { | |
5224 | int _flags; | |
5225 | #define _IO_file_flags _flags | |
5226 | ||
5227 | ||
5228 | ||
5229 | char* _IO_read_ptr; | |
5230 | char* _IO_read_end; | |
5231 | char* _IO_read_base; | |
5232 | char* _IO_write_base; | |
5233 | char* _IO_write_ptr; | |
5234 | char* _IO_write_end; | |
5235 | char* _IO_buf_base; | |
5236 | char* _IO_buf_end; | |
5237 | ||
5238 | char *_IO_save_base; | |
5239 | char *_IO_backup_base; | |
5240 | char *_IO_save_end; | |
5241 | ||
5242 | struct _IO_marker *_markers; | |
5243 | ||
5244 | struct _IO_FILE *_chain; | |
5245 | ||
5246 | int _fileno; | |
5247 | ||
5248 | ||
5249 | ||
5250 | int _flags2; | |
5251 | ||
5252 | __off_t _old_offset; | |
5253 | ||
5254 | #define __HAVE_COLUMN | |
5255 | ||
5256 | unsigned short _cur_column; | |
5257 | signed char _vtable_offset; | |
5258 | char _shortbuf[1]; | |
5259 | ||
5260 | ||
5261 | ||
5262 | _IO_lock_t *_lock; | |
5263 | # 319 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 | |
5264 | __off64_t _offset; | |
5265 | # 328 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 | |
5266 | void *__pad1; | |
5267 | void *__pad2; | |
5268 | void *__pad3; | |
5269 | void *__pad4; | |
5270 | size_t __pad5; | |
5271 | ||
5272 | int _mode; | |
5273 | ||
5274 | char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; | |
5275 | ||
5276 | }; | |
5277 | ||
5278 | ||
5279 | ||
5280 | ||
5281 | ||
5282 | struct _IO_FILE_plus; | |
5283 | ||
5284 | extern struct _IO_FILE_plus _IO_2_1_stdin_; | |
5285 | extern struct _IO_FILE_plus _IO_2_1_stdout_; | |
5286 | extern struct _IO_FILE_plus _IO_2_1_stderr_; | |
5287 | ||
5288 | #define _IO_stdin ((_IO_FILE*)(&_IO_2_1_stdin_)) | |
5289 | #define _IO_stdout ((_IO_FILE*)(&_IO_2_1_stdout_)) | |
5290 | #define _IO_stderr ((_IO_FILE*)(&_IO_2_1_stderr_)) | |
5291 | # 364 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 | |
5292 | typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); | |
5293 | ||
5294 | ||
5295 | ||
5296 | ||
5297 | ||
5298 | ||
5299 | ||
5300 | typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, | |
5301 | size_t __n); | |
5302 | ||
5303 | ||
5304 | ||
5305 | ||
5306 | ||
5307 | ||
5308 | ||
5309 | typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); | |
5310 | ||
5311 | ||
5312 | typedef int __io_close_fn (void *__cookie); | |
5313 | ||
5314 | ||
5315 | ||
5316 | ||
5317 | typedef __io_read_fn cookie_read_function_t; | |
5318 | typedef __io_write_fn cookie_write_function_t; | |
5319 | typedef __io_seek_fn cookie_seek_function_t; | |
5320 | typedef __io_close_fn cookie_close_function_t; | |
5321 | ||
5322 | ||
5323 | typedef struct | |
5324 | { | |
5325 | __io_read_fn *read; | |
5326 | __io_write_fn *write; | |
5327 | __io_seek_fn *seek; | |
5328 | __io_close_fn *close; | |
5329 | } _IO_cookie_io_functions_t; | |
5330 | typedef _IO_cookie_io_functions_t cookie_io_functions_t; | |
5331 | ||
5332 | struct _IO_cookie_file; | |
5333 | ||
5334 | ||
5335 | extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write, | |
5336 | void *__cookie, _IO_cookie_io_functions_t __fns); | |
5337 | ||
5338 | ||
5339 | ||
5340 | ||
5341 | extern "C" { | |
5342 | ||
5343 | ||
5344 | extern int __underflow (_IO_FILE *); | |
5345 | extern int __uflow (_IO_FILE *); | |
5346 | extern int __overflow (_IO_FILE *, int); | |
5347 | ||
5348 | ||
5349 | ||
5350 | ||
5351 | ||
5352 | ||
5353 | ||
5354 | #define _IO_BE(expr,res) __builtin_expect ((expr), res) | |
5355 | ||
5356 | ||
5357 | ||
5358 | ||
5359 | #define _IO_getc_unlocked(_fp) (_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++) | |
5360 | ||
5361 | ||
5362 | #define _IO_peekc_unlocked(_fp) (_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) && __underflow (_fp) == EOF ? EOF : *(unsigned char *) (_fp)->_IO_read_ptr) | |
5363 | ||
5364 | ||
5365 | ||
5366 | #define _IO_putc_unlocked(_ch,_fp) (_IO_BE ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end, 0) ? __overflow (_fp, (unsigned char) (_ch)) : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch))) | |
5367 | # 455 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 | |
5368 | #define _IO_feof_unlocked(__fp) (((__fp)->_flags & _IO_EOF_SEEN) != 0) | |
5369 | #define _IO_ferror_unlocked(__fp) (((__fp)->_flags & _IO_ERR_SEEN) != 0) | |
5370 | ||
5371 | extern int _IO_getc (_IO_FILE *__fp); | |
5372 | extern int _IO_putc (int __c, _IO_FILE *__fp); | |
5373 | extern int _IO_feof (_IO_FILE *__fp) throw (); | |
5374 | extern int _IO_ferror (_IO_FILE *__fp) throw (); | |
5375 | ||
5376 | extern int _IO_peekc_locked (_IO_FILE *__fp); | |
5377 | ||
5378 | ||
5379 | #define _IO_PENDING_OUTPUT_COUNT(_fp) ((_fp)->_IO_write_ptr - (_fp)->_IO_write_base) | |
5380 | ||
5381 | ||
5382 | extern void _IO_flockfile (_IO_FILE *) throw (); | |
5383 | extern void _IO_funlockfile (_IO_FILE *) throw (); | |
5384 | extern int _IO_ftrylockfile (_IO_FILE *) throw (); | |
5385 | # 480 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 | |
5386 | #define _IO_peekc(_fp) _IO_peekc_unlocked (_fp) | |
5387 | #define _IO_flockfile(_fp) | |
5388 | #define _IO_funlockfile(_fp) | |
5389 | #define _IO_ftrylockfile(_fp) | |
5390 | #define _IO_cleanup_region_start(_fct,_fp) | |
5391 | #define _IO_cleanup_region_end(_Doit) | |
5392 | ||
5393 | ||
5394 | extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, | |
5395 | __gnuc_va_list, int *__restrict); | |
5396 | extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, | |
5397 | __gnuc_va_list); | |
5398 | extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); | |
5399 | extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); | |
5400 | ||
5401 | extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); | |
5402 | extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); | |
5403 | ||
5404 | extern void _IO_free_backup_area (_IO_FILE *) throw (); | |
5405 | # 550 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 | |
5406 | } | |
5407 | # 9 "/usr/include/libio.h" 2 3 4 | |
5408 | # 76 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4 | |
5409 | ||
5410 | ||
5411 | ||
5412 | ||
5413 | typedef __gnuc_va_list va_list; | |
5414 | #define _VA_LIST_DEFINED | |
5415 | ||
5416 | ||
5417 | ||
5418 | ||
5419 | ||
5420 | ||
5421 | ||
5422 | ||
5423 | ||
5424 | typedef _G_fpos_t fpos_t; | |
5425 | ||
5426 | ||
5427 | ||
5428 | ||
5429 | ||
5430 | typedef _G_fpos64_t fpos64_t; | |
5431 | ||
5432 | ||
5433 | ||
5434 | #define _IOFBF 0 | |
5435 | #define _IOLBF 1 | |
5436 | #define _IONBF 2 | |
5437 | ||
5438 | ||
5439 | ||
5440 | ||
5441 | #define BUFSIZ _IO_BUFSIZ | |
5442 | # 121 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5443 | #define SEEK_SET 0 | |
5444 | #define SEEK_CUR 1 | |
5445 | #define SEEK_END 2 | |
5446 | ||
5447 | ||
5448 | ||
5449 | ||
5450 | #define P_tmpdir "/tmp" | |
5451 | # 141 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5452 | # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 | |
5453 | ||
5454 | ||
5455 | ||
5456 | ||
5457 | ||
5458 | ||
5459 | ||
5460 | # 1 "/usr/include/gentoo-multilib/amd64/bits/stdio_lim.h" 1 3 4 | |
5461 | # 24 "/usr/include/gentoo-multilib/amd64/bits/stdio_lim.h" 3 4 | |
5462 | #define L_tmpnam 20 | |
5463 | #define TMP_MAX 238328 | |
5464 | #define FILENAME_MAX 4096 | |
5465 | ||
5466 | ||
5467 | #define L_ctermid 9 | |
5468 | #define L_cuserid 9 | |
5469 | ||
5470 | ||
5471 | ||
5472 | ||
5473 | #undef FOPEN_MAX | |
5474 | #define FOPEN_MAX 16 | |
5475 | # 9 "/usr/include/bits/stdio_lim.h" 2 3 4 | |
5476 | # 142 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4 | |
5477 | ||
5478 | ||
5479 | ||
5480 | extern struct _IO_FILE *stdin; | |
5481 | extern struct _IO_FILE *stdout; | |
5482 | extern struct _IO_FILE *stderr; | |
5483 | ||
5484 | #define stdin stdin | |
5485 | #define stdout stdout | |
5486 | #define stderr stderr | |
5487 | ||
5488 | ||
5489 | ||
5490 | extern int remove (__const char *__filename) throw (); | |
5491 | ||
5492 | extern int rename (__const char *__old, __const char *__new) throw (); | |
5493 | ||
5494 | ||
5495 | ||
5496 | ||
5497 | extern int renameat (int __oldfd, __const char *__old, int __newfd, | |
5498 | __const char *__new) throw (); | |
5499 | ||
5500 | ||
5501 | ||
5502 | ||
5503 | ||
5504 | ||
5505 | ||
5506 | ||
5507 | extern FILE *tmpfile (void) ; | |
5508 | # 182 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5509 | extern FILE *tmpfile64 (void) ; | |
5510 | ||
5511 | ||
5512 | ||
5513 | extern char *tmpnam (char *__s) throw () ; | |
5514 | ||
5515 | ||
5516 | ||
5517 | ||
5518 | ||
5519 | extern char *tmpnam_r (char *__s) throw () ; | |
5520 | # 204 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5521 | extern char *tempnam (__const char *__dir, __const char *__pfx) | |
5522 | throw () __attribute__ ((__malloc__)) ; | |
5523 | ||
5524 | ||
5525 | ||
5526 | ||
5527 | ||
5528 | ||
5529 | ||
5530 | ||
5531 | extern int fclose (FILE *__stream); | |
5532 | ||
5533 | ||
5534 | ||
5535 | ||
5536 | extern int fflush (FILE *__stream); | |
5537 | ||
5538 | # 229 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5539 | extern int fflush_unlocked (FILE *__stream); | |
5540 | # 239 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5541 | extern int fcloseall (void); | |
5542 | ||
5543 | ||
5544 | ||
5545 | ||
5546 | ||
5547 | ||
5548 | ||
5549 | ||
5550 | ||
5551 | extern FILE *fopen (__const char *__restrict __filename, | |
5552 | __const char *__restrict __modes) ; | |
5553 | ||
5554 | ||
5555 | ||
5556 | ||
5557 | extern FILE *freopen (__const char *__restrict __filename, | |
5558 | __const char *__restrict __modes, | |
5559 | FILE *__restrict __stream) ; | |
5560 | # 272 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5561 | ||
5562 | ||
5563 | extern FILE *fopen64 (__const char *__restrict __filename, | |
5564 | __const char *__restrict __modes) ; | |
5565 | extern FILE *freopen64 (__const char *__restrict __filename, | |
5566 | __const char *__restrict __modes, | |
5567 | FILE *__restrict __stream) ; | |
5568 | ||
5569 | ||
5570 | ||
5571 | ||
5572 | extern FILE *fdopen (int __fd, __const char *__modes) throw () ; | |
5573 | ||
5574 | ||
5575 | ||
5576 | ||
5577 | ||
5578 | extern FILE *fopencookie (void *__restrict __magic_cookie, | |
5579 | __const char *__restrict __modes, | |
5580 | _IO_cookie_io_functions_t __io_funcs) throw () ; | |
5581 | ||
5582 | ||
5583 | extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) | |
5584 | throw () ; | |
5585 | ||
5586 | ||
5587 | ||
5588 | ||
5589 | extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) throw () ; | |
5590 | ||
5591 | ||
5592 | ||
5593 | ||
5594 | ||
5595 | ||
5596 | extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw (); | |
5597 | ||
5598 | ||
5599 | ||
5600 | extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, | |
5601 | int __modes, size_t __n) throw (); | |
5602 | ||
5603 | ||
5604 | ||
5605 | ||
5606 | ||
5607 | extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, | |
5608 | size_t __size) throw (); | |
5609 | ||
5610 | ||
5611 | extern void setlinebuf (FILE *__stream) throw (); | |
5612 | ||
5613 | ||
5614 | ||
5615 | ||
5616 | ||
5617 | ||
5618 | ||
5619 | ||
5620 | extern int fprintf (FILE *__restrict __stream, | |
5621 | __const char *__restrict __format, ...); | |
5622 | ||
5623 | ||
5624 | ||
5625 | ||
5626 | extern int printf (__const char *__restrict __format, ...); | |
5627 | ||
5628 | extern int sprintf (char *__restrict __s, | |
5629 | __const char *__restrict __format, ...) throw (); | |
5630 | ||
5631 | ||
5632 | ||
5633 | ||
5634 | ||
5635 | extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, | |
5636 | __gnuc_va_list __arg); | |
5637 | ||
5638 | ||
5639 | ||
5640 | ||
5641 | extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); | |
5642 | ||
5643 | extern int vsprintf (char *__restrict __s, __const char *__restrict __format, | |
5644 | __gnuc_va_list __arg) throw (); | |
5645 | ||
5646 | ||
5647 | ||
5648 | ||
5649 | ||
5650 | extern int snprintf (char *__restrict __s, size_t __maxlen, | |
5651 | __const char *__restrict __format, ...) | |
5652 | throw () __attribute__ ((__format__ (__printf__, 3, 4))); | |
5653 | ||
5654 | extern int vsnprintf (char *__restrict __s, size_t __maxlen, | |
5655 | __const char *__restrict __format, __gnuc_va_list __arg) | |
5656 | throw () __attribute__ ((__format__ (__printf__, 3, 0))); | |
5657 | ||
5658 | ||
5659 | ||
5660 | ||
5661 | ||
5662 | ||
5663 | extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f, | |
5664 | __gnuc_va_list __arg) | |
5665 | throw () __attribute__ ((__format__ (__printf__, 2, 0))) ; | |
5666 | extern int __asprintf (char **__restrict __ptr, | |
5667 | __const char *__restrict __fmt, ...) | |
5668 | throw () __attribute__ ((__format__ (__printf__, 2, 3))) ; | |
5669 | extern int asprintf (char **__restrict __ptr, | |
5670 | __const char *__restrict __fmt, ...) | |
5671 | throw () __attribute__ ((__format__ (__printf__, 2, 3))) ; | |
5672 | ||
5673 | ||
5674 | ||
5675 | ||
5676 | ||
5677 | ||
5678 | ||
5679 | extern int vdprintf (int __fd, __const char *__restrict __fmt, | |
5680 | __gnuc_va_list __arg) | |
5681 | __attribute__ ((__format__ (__printf__, 2, 0))); | |
5682 | extern int dprintf (int __fd, __const char *__restrict __fmt, ...) | |
5683 | __attribute__ ((__format__ (__printf__, 2, 3))); | |
5684 | ||
5685 | ||
5686 | ||
5687 | ||
5688 | ||
5689 | ||
5690 | ||
5691 | ||
5692 | extern int fscanf (FILE *__restrict __stream, | |
5693 | __const char *__restrict __format, ...) ; | |
5694 | ||
5695 | ||
5696 | ||
5697 | ||
5698 | extern int scanf (__const char *__restrict __format, ...) ; | |
5699 | ||
5700 | extern int sscanf (__const char *__restrict __s, | |
5701 | __const char *__restrict __format, ...) throw (); | |
5702 | # 441 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5703 | ||
5704 | ||
5705 | ||
5706 | ||
5707 | ||
5708 | ||
5709 | ||
5710 | ||
5711 | extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, | |
5712 | __gnuc_va_list __arg) | |
5713 | __attribute__ ((__format__ (__scanf__, 2, 0))) ; | |
5714 | ||
5715 | ||
5716 | ||
5717 | ||
5718 | ||
5719 | extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) | |
5720 | __attribute__ ((__format__ (__scanf__, 1, 0))) ; | |
5721 | ||
5722 | ||
5723 | extern int vsscanf (__const char *__restrict __s, | |
5724 | __const char *__restrict __format, __gnuc_va_list __arg) | |
5725 | throw () __attribute__ ((__format__ (__scanf__, 2, 0))); | |
5726 | # 500 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5727 | ||
5728 | ||
5729 | ||
5730 | ||
5731 | ||
5732 | ||
5733 | ||
5734 | ||
5735 | ||
5736 | extern int fgetc (FILE *__stream); | |
5737 | extern int getc (FILE *__stream); | |
5738 | ||
5739 | ||
5740 | ||
5741 | ||
5742 | ||
5743 | extern int getchar (void); | |
5744 | ||
5745 | ||
5746 | ||
5747 | ||
5748 | #define getc(_fp) _IO_getc (_fp) | |
5749 | ||
5750 | ||
5751 | ||
5752 | ||
5753 | ||
5754 | ||
5755 | extern int getc_unlocked (FILE *__stream); | |
5756 | extern int getchar_unlocked (void); | |
5757 | # 539 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5758 | extern int fgetc_unlocked (FILE *__stream); | |
5759 | ||
5760 | ||
5761 | ||
5762 | ||
5763 | ||
5764 | ||
5765 | ||
5766 | ||
5767 | ||
5768 | ||
5769 | ||
5770 | extern int fputc (int __c, FILE *__stream); | |
5771 | extern int putc (int __c, FILE *__stream); | |
5772 | ||
5773 | ||
5774 | ||
5775 | ||
5776 | ||
5777 | extern int putchar (int __c); | |
5778 | ||
5779 | ||
5780 | ||
5781 | ||
5782 | #define putc(_ch,_fp) _IO_putc (_ch, _fp) | |
5783 | # 572 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5784 | extern int fputc_unlocked (int __c, FILE *__stream); | |
5785 | ||
5786 | ||
5787 | ||
5788 | ||
5789 | ||
5790 | ||
5791 | ||
5792 | extern int putc_unlocked (int __c, FILE *__stream); | |
5793 | extern int putchar_unlocked (int __c); | |
5794 | ||
5795 | ||
5796 | ||
5797 | ||
5798 | ||
5799 | ||
5800 | extern int getw (FILE *__stream); | |
5801 | ||
5802 | ||
5803 | extern int putw (int __w, FILE *__stream); | |
5804 | ||
5805 | ||
5806 | ||
5807 | ||
5808 | ||
5809 | ||
5810 | ||
5811 | ||
5812 | extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) | |
5813 | ; | |
5814 | ||
5815 | ||
5816 | ||
5817 | ||
5818 | ||
5819 | ||
5820 | extern char *gets (char *__s) ; | |
5821 | ||
5822 | # 618 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5823 | extern char *fgets_unlocked (char *__restrict __s, int __n, | |
5824 | FILE *__restrict __stream) ; | |
5825 | # 634 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5826 | extern __ssize_t __getdelim (char **__restrict __lineptr, | |
5827 | size_t *__restrict __n, int __delimiter, | |
5828 | FILE *__restrict __stream) ; | |
5829 | extern __ssize_t getdelim (char **__restrict __lineptr, | |
5830 | size_t *__restrict __n, int __delimiter, | |
5831 | FILE *__restrict __stream) ; | |
5832 | ||
5833 | ||
5834 | ||
5835 | ||
5836 | ||
5837 | ||
5838 | ||
5839 | extern __ssize_t getline (char **__restrict __lineptr, | |
5840 | size_t *__restrict __n, | |
5841 | FILE *__restrict __stream) ; | |
5842 | ||
5843 | ||
5844 | ||
5845 | ||
5846 | ||
5847 | ||
5848 | ||
5849 | ||
5850 | extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); | |
5851 | ||
5852 | ||
5853 | ||
5854 | ||
5855 | ||
5856 | extern int puts (__const char *__s); | |
5857 | ||
5858 | ||
5859 | ||
5860 | ||
5861 | ||
5862 | ||
5863 | extern int ungetc (int __c, FILE *__stream); | |
5864 | ||
5865 | ||
5866 | ||
5867 | ||
5868 | ||
5869 | ||
5870 | extern size_t fread (void *__restrict __ptr, size_t __size, | |
5871 | size_t __n, FILE *__restrict __stream) ; | |
5872 | ||
5873 | ||
5874 | ||
5875 | ||
5876 | extern size_t fwrite (__const void *__restrict __ptr, size_t __size, | |
5877 | size_t __n, FILE *__restrict __s) ; | |
5878 | ||
5879 | # 695 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5880 | extern int fputs_unlocked (__const char *__restrict __s, | |
5881 | FILE *__restrict __stream); | |
5882 | # 706 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5883 | extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, | |
5884 | size_t __n, FILE *__restrict __stream) ; | |
5885 | extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, | |
5886 | size_t __n, FILE *__restrict __stream) ; | |
5887 | ||
5888 | ||
5889 | ||
5890 | ||
5891 | ||
5892 | ||
5893 | ||
5894 | ||
5895 | extern int fseek (FILE *__stream, long int __off, int __whence); | |
5896 | ||
5897 | ||
5898 | ||
5899 | ||
5900 | extern long int ftell (FILE *__stream) ; | |
5901 | ||
5902 | ||
5903 | ||
5904 | ||
5905 | extern void rewind (FILE *__stream); | |
5906 | ||
5907 | # 742 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5908 | extern int fseeko (FILE *__stream, __off_t __off, int __whence); | |
5909 | ||
5910 | ||
5911 | ||
5912 | ||
5913 | extern __off_t ftello (FILE *__stream) ; | |
5914 | # 761 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5915 | ||
5916 | ||
5917 | ||
5918 | ||
5919 | ||
5920 | ||
5921 | extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); | |
5922 | ||
5923 | ||
5924 | ||
5925 | ||
5926 | extern int fsetpos (FILE *__stream, __const fpos_t *__pos); | |
5927 | # 784 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5928 | ||
5929 | ||
5930 | ||
5931 | extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); | |
5932 | extern __off64_t ftello64 (FILE *__stream) ; | |
5933 | extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); | |
5934 | extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos); | |
5935 | ||
5936 | ||
5937 | ||
5938 | ||
5939 | extern void clearerr (FILE *__stream) throw (); | |
5940 | ||
5941 | extern int feof (FILE *__stream) throw () ; | |
5942 | ||
5943 | extern int ferror (FILE *__stream) throw () ; | |
5944 | ||
5945 | ||
5946 | ||
5947 | ||
5948 | extern void clearerr_unlocked (FILE *__stream) throw (); | |
5949 | extern int feof_unlocked (FILE *__stream) throw () ; | |
5950 | extern int ferror_unlocked (FILE *__stream) throw () ; | |
5951 | ||
5952 | ||
5953 | ||
5954 | ||
5955 | ||
5956 | ||
5957 | ||
5958 | ||
5959 | extern void perror (__const char *__s); | |
5960 | ||
5961 | ||
5962 | ||
5963 | ||
5964 | ||
5965 | ||
5966 | # 1 "/usr/include/bits/sys_errlist.h" 1 3 4 | |
5967 | ||
5968 | ||
5969 | ||
5970 | ||
5971 | ||
5972 | ||
5973 | ||
5974 | # 1 "/usr/include/gentoo-multilib/amd64/bits/sys_errlist.h" 1 3 4 | |
5975 | # 27 "/usr/include/gentoo-multilib/amd64/bits/sys_errlist.h" 3 4 | |
5976 | extern int sys_nerr; | |
5977 | extern __const char *__const sys_errlist[]; | |
5978 | ||
5979 | ||
5980 | extern int _sys_nerr; | |
5981 | extern __const char *__const _sys_errlist[]; | |
5982 | # 9 "/usr/include/bits/sys_errlist.h" 2 3 4 | |
5983 | # 823 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4 | |
5984 | ||
5985 | ||
5986 | ||
5987 | ||
5988 | extern int fileno (FILE *__stream) throw () ; | |
5989 | ||
5990 | ||
5991 | ||
5992 | ||
5993 | extern int fileno_unlocked (FILE *__stream) throw () ; | |
5994 | # 842 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
5995 | extern FILE *popen (__const char *__command, __const char *__modes) ; | |
5996 | ||
5997 | ||
5998 | ||
5999 | ||
6000 | ||
6001 | extern int pclose (FILE *__stream); | |
6002 | ||
6003 | ||
6004 | ||
6005 | ||
6006 | ||
6007 | extern char *ctermid (char *__s) throw (); | |
6008 | ||
6009 | ||
6010 | ||
6011 | ||
6012 | ||
6013 | extern char *cuserid (char *__s); | |
6014 | ||
6015 | ||
6016 | ||
6017 | ||
6018 | struct obstack; | |
6019 | ||
6020 | ||
6021 | extern int obstack_printf (struct obstack *__restrict __obstack, | |
6022 | __const char *__restrict __format, ...) | |
6023 | throw () __attribute__ ((__format__ (__printf__, 2, 3))); | |
6024 | extern int obstack_vprintf (struct obstack *__restrict __obstack, | |
6025 | __const char *__restrict __format, | |
6026 | __gnuc_va_list __args) | |
6027 | throw () __attribute__ ((__format__ (__printf__, 2, 0))); | |
6028 | ||
6029 | ||
6030 | ||
6031 | ||
6032 | ||
6033 | ||
6034 | ||
6035 | extern void flockfile (FILE *__stream) throw (); | |
6036 | ||
6037 | ||
6038 | ||
6039 | extern int ftrylockfile (FILE *__stream) throw () ; | |
6040 | ||
6041 | ||
6042 | extern void funlockfile (FILE *__stream) throw (); | |
6043 | # 912 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 | |
6044 | } | |
6045 | # 9 "/usr/include/stdio.h" 2 3 4 | |
6046 | # 54 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdio" 2 3 | |
6047 | ||
6048 | ||
6049 | #undef clearerr | |
6050 | #undef fclose | |
6051 | #undef feof | |
6052 | #undef ferror | |
6053 | #undef fflush | |
6054 | #undef fgetc | |
6055 | #undef fgetpos | |
6056 | #undef fgets | |
6057 | #undef fopen | |
6058 | #undef fprintf | |
6059 | #undef fputc | |
6060 | #undef fputs | |
6061 | #undef fread | |
6062 | #undef freopen | |
6063 | #undef fscanf | |
6064 | #undef fseek | |
6065 | #undef fsetpos | |
6066 | #undef ftell | |
6067 | #undef fwrite | |
6068 | #undef getc | |
6069 | #undef getchar | |
6070 | #undef gets | |
6071 | #undef perror | |
6072 | #undef printf | |
6073 | #undef putc | |
6074 | #undef putchar | |
6075 | #undef puts | |
6076 | #undef remove | |
6077 | #undef rename | |
6078 | #undef rewind | |
6079 | #undef scanf | |
6080 | #undef setbuf | |
6081 | #undef setvbuf | |
6082 | #undef sprintf | |
6083 | #undef sscanf | |
6084 | #undef tmpfile | |
6085 | #undef tmpnam | |
6086 | #undef ungetc | |
6087 | #undef vfprintf | |
6088 | #undef vprintf | |
6089 | #undef vsprintf | |
6090 | ||
6091 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
6092 | ||
6093 | using ::FILE; | |
6094 | using ::fpos_t; | |
6095 | ||
6096 | using ::clearerr; | |
6097 | using ::fclose; | |
6098 | using ::feof; | |
6099 | using ::ferror; | |
6100 | using ::fflush; | |
6101 | using ::fgetc; | |
6102 | using ::fgetpos; | |
6103 | using ::fgets; | |
6104 | using ::fopen; | |
6105 | using ::fprintf; | |
6106 | using ::fputc; | |
6107 | using ::fputs; | |
6108 | using ::fread; | |
6109 | using ::freopen; | |
6110 | using ::fscanf; | |
6111 | using ::fseek; | |
6112 | using ::fsetpos; | |
6113 | using ::ftell; | |
6114 | using ::fwrite; | |
6115 | using ::getc; | |
6116 | using ::getchar; | |
6117 | using ::gets; | |
6118 | using ::perror; | |
6119 | using ::printf; | |
6120 | using ::putc; | |
6121 | using ::putchar; | |
6122 | using ::puts; | |
6123 | using ::remove; | |
6124 | using ::rename; | |
6125 | using ::rewind; | |
6126 | using ::scanf; | |
6127 | using ::setbuf; | |
6128 | using ::setvbuf; | |
6129 | using ::sprintf; | |
6130 | using ::sscanf; | |
6131 | using ::tmpfile; | |
6132 | using ::tmpnam; | |
6133 | using ::ungetc; | |
6134 | using ::vfprintf; | |
6135 | using ::vprintf; | |
6136 | using ::vsprintf; | |
6137 | ||
6138 | } | |
6139 | ||
6140 | ||
6141 | ||
6142 | #undef snprintf | |
6143 | #undef vfscanf | |
6144 | #undef vscanf | |
6145 | #undef vsnprintf | |
6146 | #undef vsscanf | |
6147 | ||
6148 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
6149 | # 170 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdio" 3 | |
6150 | using ::snprintf; | |
6151 | using ::vfscanf; | |
6152 | using ::vscanf; | |
6153 | using ::vsnprintf; | |
6154 | using ::vsscanf; | |
6155 | ||
6156 | ||
6157 | } | |
6158 | ||
6159 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
6160 | ||
6161 | using ::__gnu_cxx::snprintf; | |
6162 | using ::__gnu_cxx::vfscanf; | |
6163 | using ::__gnu_cxx::vscanf; | |
6164 | using ::__gnu_cxx::vsnprintf; | |
6165 | using ::__gnu_cxx::vsscanf; | |
6166 | ||
6167 | } | |
6168 | # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 2 3 | |
6169 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/clocale" 1 3 | |
6170 | # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/clocale" 3 | |
6171 | #define _GLIBCXX_CLOCALE 1 | |
6172 | ||
6173 | ||
6174 | # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/clocale" 3 | |
6175 | ||
6176 | ||
6177 | # 1 "/usr/include/locale.h" 1 3 4 | |
6178 | ||
6179 | ||
6180 | ||
6181 | ||
6182 | ||
6183 | ||
6184 | ||
6185 | # 1 "/usr/include/gentoo-multilib/amd64/locale.h" 1 3 4 | |
6186 | # 24 "/usr/include/gentoo-multilib/amd64/locale.h" 3 4 | |
6187 | #define _LOCALE_H 1 | |
6188 | ||
6189 | # 1 "/usr/include/features.h" 1 3 4 | |
6190 | # 27 "/usr/include/gentoo-multilib/amd64/locale.h" 2 3 4 | |
6191 | ||
6192 | #define __need_NULL | |
6193 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 1 3 4 | |
6194 | # 163 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
6195 | #undef __need_ptrdiff_t | |
6196 | # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
6197 | #undef __need_size_t | |
6198 | # 345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
6199 | #undef __need_wchar_t | |
6200 | # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
6201 | #undef NULL | |
6202 | ||
6203 | #define NULL __null | |
6204 | # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
6205 | #undef __need_NULL | |
6206 | ||
6207 | ||
6208 | ||
6209 | ||
6210 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
6211 | # 30 "/usr/include/gentoo-multilib/amd64/locale.h" 2 3 4 | |
6212 | # 1 "/usr/include/bits/locale.h" 1 3 4 | |
6213 | ||
6214 | ||
6215 | ||
6216 | ||
6217 | ||
6218 | ||
6219 | ||
6220 | # 1 "/usr/include/gentoo-multilib/amd64/bits/locale.h" 1 3 4 | |
6221 | # 25 "/usr/include/gentoo-multilib/amd64/bits/locale.h" 3 4 | |
6222 | #define _BITS_LOCALE_H 1 | |
6223 | ||
6224 | enum | |
6225 | { | |
6226 | __LC_CTYPE = 0, | |
6227 | __LC_NUMERIC = 1, | |
6228 | __LC_TIME = 2, | |
6229 | __LC_COLLATE = 3, | |
6230 | __LC_MONETARY = 4, | |
6231 | __LC_MESSAGES = 5, | |
6232 | __LC_ALL = 6, | |
6233 | __LC_PAPER = 7, | |
6234 | __LC_NAME = 8, | |
6235 | __LC_ADDRESS = 9, | |
6236 | __LC_TELEPHONE = 10, | |
6237 | __LC_MEASUREMENT = 11, | |
6238 | __LC_IDENTIFICATION = 12 | |
6239 | }; | |
6240 | # 9 "/usr/include/bits/locale.h" 2 3 4 | |
6241 | # 31 "/usr/include/gentoo-multilib/amd64/locale.h" 2 3 4 | |
6242 | ||
6243 | extern "C" { | |
6244 | ||
6245 | ||
6246 | ||
6247 | #define LC_CTYPE __LC_CTYPE | |
6248 | #define LC_NUMERIC __LC_NUMERIC | |
6249 | #define LC_TIME __LC_TIME | |
6250 | #define LC_COLLATE __LC_COLLATE | |
6251 | #define LC_MONETARY __LC_MONETARY | |
6252 | #define LC_MESSAGES __LC_MESSAGES | |
6253 | #define LC_ALL __LC_ALL | |
6254 | #define LC_PAPER __LC_PAPER | |
6255 | #define LC_NAME __LC_NAME | |
6256 | #define LC_ADDRESS __LC_ADDRESS | |
6257 | #define LC_TELEPHONE __LC_TELEPHONE | |
6258 | #define LC_MEASUREMENT __LC_MEASUREMENT | |
6259 | #define LC_IDENTIFICATION __LC_IDENTIFICATION | |
6260 | ||
6261 | ||
6262 | ||
6263 | ||
6264 | ||
6265 | struct lconv | |
6266 | { | |
6267 | ||
6268 | ||
6269 | char *decimal_point; | |
6270 | char *thousands_sep; | |
6271 | ||
6272 | ||
6273 | ||
6274 | ||
6275 | ||
6276 | char *grouping; | |
6277 | ||
6278 | ||
6279 | ||
6280 | ||
6281 | ||
6282 | char *int_curr_symbol; | |
6283 | char *currency_symbol; | |
6284 | char *mon_decimal_point; | |
6285 | char *mon_thousands_sep; | |
6286 | char *mon_grouping; | |
6287 | char *positive_sign; | |
6288 | char *negative_sign; | |
6289 | char int_frac_digits; | |
6290 | char frac_digits; | |
6291 | ||
6292 | char p_cs_precedes; | |
6293 | ||
6294 | char p_sep_by_space; | |
6295 | ||
6296 | char n_cs_precedes; | |
6297 | ||
6298 | char n_sep_by_space; | |
6299 | ||
6300 | ||
6301 | ||
6302 | ||
6303 | ||
6304 | ||
6305 | char p_sign_posn; | |
6306 | char n_sign_posn; | |
6307 | ||
6308 | ||
6309 | char int_p_cs_precedes; | |
6310 | ||
6311 | char int_p_sep_by_space; | |
6312 | ||
6313 | char int_n_cs_precedes; | |
6314 | ||
6315 | char int_n_sep_by_space; | |
6316 | ||
6317 | ||
6318 | ||
6319 | ||
6320 | ||
6321 | ||
6322 | char int_p_sign_posn; | |
6323 | char int_n_sign_posn; | |
6324 | # 121 "/usr/include/gentoo-multilib/amd64/locale.h" 3 4 | |
6325 | }; | |
6326 | ||
6327 | ||
6328 | ||
6329 | extern char *setlocale (int __category, __const char *__locale) throw (); | |
6330 | ||
6331 | ||
6332 | extern struct lconv *localeconv (void) throw (); | |
6333 | ||
6334 | ||
6335 | # 146 "/usr/include/gentoo-multilib/amd64/locale.h" 3 4 | |
6336 | # 1 "/usr/include/xlocale.h" 1 3 4 | |
6337 | # 147 "/usr/include/gentoo-multilib/amd64/locale.h" 2 3 4 | |
6338 | ||
6339 | typedef __locale_t locale_t; | |
6340 | ||
6341 | ||
6342 | ||
6343 | ||
6344 | ||
6345 | extern __locale_t newlocale (int __category_mask, __const char *__locale, | |
6346 | __locale_t __base) throw (); | |
6347 | ||
6348 | ||
6349 | ||
6350 | ||
6351 | ||
6352 | #define LC_CTYPE_MASK (1 << __LC_CTYPE) | |
6353 | #define LC_NUMERIC_MASK (1 << __LC_NUMERIC) | |
6354 | #define LC_TIME_MASK (1 << __LC_TIME) | |
6355 | #define LC_COLLATE_MASK (1 << __LC_COLLATE) | |
6356 | #define LC_MONETARY_MASK (1 << __LC_MONETARY) | |
6357 | #define LC_MESSAGES_MASK (1 << __LC_MESSAGES) | |
6358 | #define LC_PAPER_MASK (1 << __LC_PAPER) | |
6359 | #define LC_NAME_MASK (1 << __LC_NAME) | |
6360 | #define LC_ADDRESS_MASK (1 << __LC_ADDRESS) | |
6361 | #define LC_TELEPHONE_MASK (1 << __LC_TELEPHONE) | |
6362 | #define LC_MEASUREMENT_MASK (1 << __LC_MEASUREMENT) | |
6363 | #define LC_IDENTIFICATION_MASK (1 << __LC_IDENTIFICATION) | |
6364 | #define LC_ALL_MASK (LC_CTYPE_MASK | LC_NUMERIC_MASK | LC_TIME_MASK | LC_COLLATE_MASK | LC_MONETARY_MASK | LC_MESSAGES_MASK | LC_PAPER_MASK | LC_NAME_MASK | LC_ADDRESS_MASK | LC_TELEPHONE_MASK | LC_MEASUREMENT_MASK | LC_IDENTIFICATION_MASK ) | |
6365 | # 189 "/usr/include/gentoo-multilib/amd64/locale.h" 3 4 | |
6366 | extern __locale_t duplocale (__locale_t __dataset) throw (); | |
6367 | ||
6368 | ||
6369 | ||
6370 | extern void freelocale (__locale_t __dataset) throw (); | |
6371 | ||
6372 | ||
6373 | ||
6374 | ||
6375 | ||
6376 | ||
6377 | extern __locale_t uselocale (__locale_t __dataset) throw (); | |
6378 | ||
6379 | ||
6380 | ||
6381 | #define LC_GLOBAL_LOCALE ((__locale_t) -1L) | |
6382 | ||
6383 | ||
6384 | ||
6385 | } | |
6386 | # 9 "/usr/include/locale.h" 2 3 4 | |
6387 | # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/clocale" 2 3 | |
6388 | ||
6389 | ||
6390 | #undef setlocale | |
6391 | #undef localeconv | |
6392 | ||
6393 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
6394 | ||
6395 | using ::lconv; | |
6396 | using ::setlocale; | |
6397 | using ::localeconv; | |
6398 | ||
6399 | } | |
6400 | # 50 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 2 3 | |
6401 | # 1 "/usr/include/langinfo.h" 1 3 4 | |
6402 | ||
6403 | ||
6404 | ||
6405 | ||
6406 | ||
6407 | ||
6408 | ||
6409 | # 1 "/usr/include/gentoo-multilib/amd64/langinfo.h" 1 3 4 | |
6410 | # 21 "/usr/include/gentoo-multilib/amd64/langinfo.h" 3 4 | |
6411 | #define _LANGINFO_H 1 | |
6412 | ||
6413 | ||
6414 | # 1 "/usr/include/nl_types.h" 1 3 4 | |
6415 | ||
6416 | ||
6417 | ||
6418 | ||
6419 | ||
6420 | ||
6421 | ||
6422 | # 1 "/usr/include/gentoo-multilib/amd64/nl_types.h" 1 3 4 | |
6423 | # 20 "/usr/include/gentoo-multilib/amd64/nl_types.h" 3 4 | |
6424 | #define _NL_TYPES_H 1 | |
6425 | ||
6426 | # 1 "/usr/include/features.h" 1 3 4 | |
6427 | # 23 "/usr/include/gentoo-multilib/amd64/nl_types.h" 2 3 4 | |
6428 | ||
6429 | ||
6430 | #define NL_SETD 1 | |
6431 | ||
6432 | ||
6433 | #define NL_CAT_LOCALE 1 | |
6434 | ||
6435 | ||
6436 | extern "C" { | |
6437 | ||
6438 | ||
6439 | typedef void *nl_catd; | |
6440 | ||
6441 | ||
6442 | typedef int nl_item; | |
6443 | ||
6444 | ||
6445 | ||
6446 | ||
6447 | ||
6448 | extern nl_catd catopen (__const char *__cat_name, int __flag) __attribute__ ((__nonnull__ (1))); | |
6449 | ||
6450 | ||
6451 | ||
6452 | extern char *catgets (nl_catd __catalog, int __set, int __number, | |
6453 | __const char *__string) throw () __attribute__ ((__nonnull__ (1))); | |
6454 | ||
6455 | ||
6456 | extern int catclose (nl_catd __catalog) throw () __attribute__ ((__nonnull__ (1))); | |
6457 | ||
6458 | } | |
6459 | # 9 "/usr/include/nl_types.h" 2 3 4 | |
6460 | # 25 "/usr/include/gentoo-multilib/amd64/langinfo.h" 2 3 4 | |
6461 | ||
6462 | # 1 "/usr/include/bits/locale.h" 1 3 4 | |
6463 | ||
6464 | ||
6465 | ||
6466 | ||
6467 | ||
6468 | ||
6469 | ||
6470 | # 1 "/usr/include/gentoo-multilib/amd64/bits/locale.h" 1 3 4 | |
6471 | # 9 "/usr/include/bits/locale.h" 2 3 4 | |
6472 | # 27 "/usr/include/gentoo-multilib/amd64/langinfo.h" 2 3 4 | |
6473 | ||
6474 | ||
6475 | extern "C" { | |
6476 | ||
6477 | ||
6478 | ||
6479 | ||
6480 | ||
6481 | #define _NL_ITEM(category,index) (((category) << 16) | (index)) | |
6482 | ||
6483 | ||
6484 | #define _NL_ITEM_CATEGORY(item) ((int) (item) >> 16) | |
6485 | #define _NL_ITEM_INDEX(item) ((int) (item) & 0xffff) | |
6486 | ||
6487 | ||
6488 | enum | |
6489 | { | |
6490 | ||
6491 | ||
6492 | ||
6493 | ABDAY_1 = (((__LC_TIME) << 16) | (0)), | |
6494 | #define ABDAY_1 ABDAY_1 | |
6495 | ABDAY_2, | |
6496 | #define ABDAY_2 ABDAY_2 | |
6497 | ABDAY_3, | |
6498 | #define ABDAY_3 ABDAY_3 | |
6499 | ABDAY_4, | |
6500 | #define ABDAY_4 ABDAY_4 | |
6501 | ABDAY_5, | |
6502 | #define ABDAY_5 ABDAY_5 | |
6503 | ABDAY_6, | |
6504 | #define ABDAY_6 ABDAY_6 | |
6505 | ABDAY_7, | |
6506 | #define ABDAY_7 ABDAY_7 | |
6507 | ||
6508 | ||
6509 | DAY_1, | |
6510 | #define DAY_1 DAY_1 | |
6511 | DAY_2, | |
6512 | #define DAY_2 DAY_2 | |
6513 | DAY_3, | |
6514 | #define DAY_3 DAY_3 | |
6515 | DAY_4, | |
6516 | #define DAY_4 DAY_4 | |
6517 | DAY_5, | |
6518 | #define DAY_5 DAY_5 | |
6519 | DAY_6, | |
6520 | #define DAY_6 DAY_6 | |
6521 | DAY_7, | |
6522 | #define DAY_7 DAY_7 | |
6523 | ||
6524 | ||
6525 | ABMON_1, | |
6526 | #define ABMON_1 ABMON_1 | |
6527 | ABMON_2, | |
6528 | #define ABMON_2 ABMON_2 | |
6529 | ABMON_3, | |
6530 | #define ABMON_3 ABMON_3 | |
6531 | ABMON_4, | |
6532 | #define ABMON_4 ABMON_4 | |
6533 | ABMON_5, | |
6534 | #define ABMON_5 ABMON_5 | |
6535 | ABMON_6, | |
6536 | #define ABMON_6 ABMON_6 | |
6537 | ABMON_7, | |
6538 | #define ABMON_7 ABMON_7 | |
6539 | ABMON_8, | |
6540 | #define ABMON_8 ABMON_8 | |
6541 | ABMON_9, | |
6542 | #define ABMON_9 ABMON_9 | |
6543 | ABMON_10, | |
6544 | #define ABMON_10 ABMON_10 | |
6545 | ABMON_11, | |
6546 | #define ABMON_11 ABMON_11 | |
6547 | ABMON_12, | |
6548 | #define ABMON_12 ABMON_12 | |
6549 | ||
6550 | ||
6551 | MON_1, | |
6552 | #define MON_1 MON_1 | |
6553 | MON_2, | |
6554 | #define MON_2 MON_2 | |
6555 | MON_3, | |
6556 | #define MON_3 MON_3 | |
6557 | MON_4, | |
6558 | #define MON_4 MON_4 | |
6559 | MON_5, | |
6560 | #define MON_5 MON_5 | |
6561 | MON_6, | |
6562 | #define MON_6 MON_6 | |
6563 | MON_7, | |
6564 | #define MON_7 MON_7 | |
6565 | MON_8, | |
6566 | #define MON_8 MON_8 | |
6567 | MON_9, | |
6568 | #define MON_9 MON_9 | |
6569 | MON_10, | |
6570 | #define MON_10 MON_10 | |
6571 | MON_11, | |
6572 | #define MON_11 MON_11 | |
6573 | MON_12, | |
6574 | #define MON_12 MON_12 | |
6575 | ||
6576 | AM_STR, | |
6577 | #define AM_STR AM_STR | |
6578 | PM_STR, | |
6579 | #define PM_STR PM_STR | |
6580 | ||
6581 | D_T_FMT, | |
6582 | #define D_T_FMT D_T_FMT | |
6583 | D_FMT, | |
6584 | #define D_FMT D_FMT | |
6585 | T_FMT, | |
6586 | #define T_FMT T_FMT | |
6587 | T_FMT_AMPM, | |
6588 | #define T_FMT_AMPM T_FMT_AMPM | |
6589 | ||
6590 | ERA, | |
6591 | #define ERA ERA | |
6592 | __ERA_YEAR, | |
6593 | ||
6594 | #define ERA_YEAR __ERA_YEAR | |
6595 | ||
6596 | ERA_D_FMT, | |
6597 | #define ERA_D_FMT ERA_D_FMT | |
6598 | ALT_DIGITS, | |
6599 | #define ALT_DIGITS ALT_DIGITS | |
6600 | ERA_D_T_FMT, | |
6601 | #define ERA_D_T_FMT ERA_D_T_FMT | |
6602 | ERA_T_FMT, | |
6603 | #define ERA_T_FMT ERA_T_FMT | |
6604 | ||
6605 | _NL_TIME_ERA_NUM_ENTRIES, | |
6606 | _NL_TIME_ERA_ENTRIES, | |
6607 | ||
6608 | _NL_WABDAY_1, | |
6609 | _NL_WABDAY_2, | |
6610 | _NL_WABDAY_3, | |
6611 | _NL_WABDAY_4, | |
6612 | _NL_WABDAY_5, | |
6613 | _NL_WABDAY_6, | |
6614 | _NL_WABDAY_7, | |
6615 | ||
6616 | ||
6617 | _NL_WDAY_1, | |
6618 | _NL_WDAY_2, | |
6619 | _NL_WDAY_3, | |
6620 | _NL_WDAY_4, | |
6621 | _NL_WDAY_5, | |
6622 | _NL_WDAY_6, | |
6623 | _NL_WDAY_7, | |
6624 | ||
6625 | ||
6626 | _NL_WABMON_1, | |
6627 | _NL_WABMON_2, | |
6628 | _NL_WABMON_3, | |
6629 | _NL_WABMON_4, | |
6630 | _NL_WABMON_5, | |
6631 | _NL_WABMON_6, | |
6632 | _NL_WABMON_7, | |
6633 | _NL_WABMON_8, | |
6634 | _NL_WABMON_9, | |
6635 | _NL_WABMON_10, | |
6636 | _NL_WABMON_11, | |
6637 | _NL_WABMON_12, | |
6638 | ||
6639 | ||
6640 | _NL_WMON_1, | |
6641 | _NL_WMON_2, | |
6642 | _NL_WMON_3, | |
6643 | _NL_WMON_4, | |
6644 | _NL_WMON_5, | |
6645 | _NL_WMON_6, | |
6646 | _NL_WMON_7, | |
6647 | _NL_WMON_8, | |
6648 | _NL_WMON_9, | |
6649 | _NL_WMON_10, | |
6650 | _NL_WMON_11, | |
6651 | _NL_WMON_12, | |
6652 | ||
6653 | _NL_WAM_STR, | |
6654 | _NL_WPM_STR, | |
6655 | ||
6656 | _NL_WD_T_FMT, | |
6657 | _NL_WD_FMT, | |
6658 | _NL_WT_FMT, | |
6659 | _NL_WT_FMT_AMPM, | |
6660 | ||
6661 | _NL_WERA_YEAR, | |
6662 | _NL_WERA_D_FMT, | |
6663 | _NL_WALT_DIGITS, | |
6664 | _NL_WERA_D_T_FMT, | |
6665 | _NL_WERA_T_FMT, | |
6666 | ||
6667 | _NL_TIME_WEEK_NDAYS, | |
6668 | _NL_TIME_WEEK_1STDAY, | |
6669 | _NL_TIME_WEEK_1STWEEK, | |
6670 | _NL_TIME_FIRST_WEEKDAY, | |
6671 | _NL_TIME_FIRST_WORKDAY, | |
6672 | _NL_TIME_CAL_DIRECTION, | |
6673 | _NL_TIME_TIMEZONE, | |
6674 | ||
6675 | _DATE_FMT, | |
6676 | #define _DATE_FMT _DATE_FMT | |
6677 | _NL_W_DATE_FMT, | |
6678 | ||
6679 | _NL_TIME_CODESET, | |
6680 | ||
6681 | _NL_NUM_LC_TIME, | |
6682 | ||
6683 | ||
6684 | ||
6685 | ||
6686 | _NL_COLLATE_NRULES = (((__LC_COLLATE) << 16) | (0)), | |
6687 | _NL_COLLATE_RULESETS, | |
6688 | _NL_COLLATE_TABLEMB, | |
6689 | _NL_COLLATE_WEIGHTMB, | |
6690 | _NL_COLLATE_EXTRAMB, | |
6691 | _NL_COLLATE_INDIRECTMB, | |
6692 | _NL_COLLATE_GAP1, | |
6693 | _NL_COLLATE_GAP2, | |
6694 | _NL_COLLATE_GAP3, | |
6695 | _NL_COLLATE_TABLEWC, | |
6696 | _NL_COLLATE_WEIGHTWC, | |
6697 | _NL_COLLATE_EXTRAWC, | |
6698 | _NL_COLLATE_INDIRECTWC, | |
6699 | _NL_COLLATE_SYMB_HASH_SIZEMB, | |
6700 | _NL_COLLATE_SYMB_TABLEMB, | |
6701 | _NL_COLLATE_SYMB_EXTRAMB, | |
6702 | _NL_COLLATE_COLLSEQMB, | |
6703 | _NL_COLLATE_COLLSEQWC, | |
6704 | _NL_COLLATE_CODESET, | |
6705 | _NL_NUM_LC_COLLATE, | |
6706 | ||
6707 | ||
6708 | ||
6709 | ||
6710 | _NL_CTYPE_CLASS = (((__LC_CTYPE) << 16) | (0)), | |
6711 | _NL_CTYPE_TOUPPER, | |
6712 | _NL_CTYPE_GAP1, | |
6713 | _NL_CTYPE_TOLOWER, | |
6714 | _NL_CTYPE_GAP2, | |
6715 | _NL_CTYPE_CLASS32, | |
6716 | _NL_CTYPE_GAP3, | |
6717 | _NL_CTYPE_GAP4, | |
6718 | _NL_CTYPE_GAP5, | |
6719 | _NL_CTYPE_GAP6, | |
6720 | _NL_CTYPE_CLASS_NAMES, | |
6721 | _NL_CTYPE_MAP_NAMES, | |
6722 | _NL_CTYPE_WIDTH, | |
6723 | _NL_CTYPE_MB_CUR_MAX, | |
6724 | _NL_CTYPE_CODESET_NAME, | |
6725 | CODESET = _NL_CTYPE_CODESET_NAME, | |
6726 | #define CODESET CODESET | |
6727 | _NL_CTYPE_TOUPPER32, | |
6728 | _NL_CTYPE_TOLOWER32, | |
6729 | _NL_CTYPE_CLASS_OFFSET, | |
6730 | _NL_CTYPE_MAP_OFFSET, | |
6731 | _NL_CTYPE_INDIGITS_MB_LEN, | |
6732 | _NL_CTYPE_INDIGITS0_MB, | |
6733 | _NL_CTYPE_INDIGITS1_MB, | |
6734 | _NL_CTYPE_INDIGITS2_MB, | |
6735 | _NL_CTYPE_INDIGITS3_MB, | |
6736 | _NL_CTYPE_INDIGITS4_MB, | |
6737 | _NL_CTYPE_INDIGITS5_MB, | |
6738 | _NL_CTYPE_INDIGITS6_MB, | |
6739 | _NL_CTYPE_INDIGITS7_MB, | |
6740 | _NL_CTYPE_INDIGITS8_MB, | |
6741 | _NL_CTYPE_INDIGITS9_MB, | |
6742 | _NL_CTYPE_INDIGITS_WC_LEN, | |
6743 | _NL_CTYPE_INDIGITS0_WC, | |
6744 | _NL_CTYPE_INDIGITS1_WC, | |
6745 | _NL_CTYPE_INDIGITS2_WC, | |
6746 | _NL_CTYPE_INDIGITS3_WC, | |
6747 | _NL_CTYPE_INDIGITS4_WC, | |
6748 | _NL_CTYPE_INDIGITS5_WC, | |
6749 | _NL_CTYPE_INDIGITS6_WC, | |
6750 | _NL_CTYPE_INDIGITS7_WC, | |
6751 | _NL_CTYPE_INDIGITS8_WC, | |
6752 | _NL_CTYPE_INDIGITS9_WC, | |
6753 | _NL_CTYPE_OUTDIGIT0_MB, | |
6754 | _NL_CTYPE_OUTDIGIT1_MB, | |
6755 | _NL_CTYPE_OUTDIGIT2_MB, | |
6756 | _NL_CTYPE_OUTDIGIT3_MB, | |
6757 | _NL_CTYPE_OUTDIGIT4_MB, | |
6758 | _NL_CTYPE_OUTDIGIT5_MB, | |
6759 | _NL_CTYPE_OUTDIGIT6_MB, | |
6760 | _NL_CTYPE_OUTDIGIT7_MB, | |
6761 | _NL_CTYPE_OUTDIGIT8_MB, | |
6762 | _NL_CTYPE_OUTDIGIT9_MB, | |
6763 | _NL_CTYPE_OUTDIGIT0_WC, | |
6764 | _NL_CTYPE_OUTDIGIT1_WC, | |
6765 | _NL_CTYPE_OUTDIGIT2_WC, | |
6766 | _NL_CTYPE_OUTDIGIT3_WC, | |
6767 | _NL_CTYPE_OUTDIGIT4_WC, | |
6768 | _NL_CTYPE_OUTDIGIT5_WC, | |
6769 | _NL_CTYPE_OUTDIGIT6_WC, | |
6770 | _NL_CTYPE_OUTDIGIT7_WC, | |
6771 | _NL_CTYPE_OUTDIGIT8_WC, | |
6772 | _NL_CTYPE_OUTDIGIT9_WC, | |
6773 | _NL_CTYPE_TRANSLIT_TAB_SIZE, | |
6774 | _NL_CTYPE_TRANSLIT_FROM_IDX, | |
6775 | _NL_CTYPE_TRANSLIT_FROM_TBL, | |
6776 | _NL_CTYPE_TRANSLIT_TO_IDX, | |
6777 | _NL_CTYPE_TRANSLIT_TO_TBL, | |
6778 | _NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN, | |
6779 | _NL_CTYPE_TRANSLIT_DEFAULT_MISSING, | |
6780 | _NL_CTYPE_TRANSLIT_IGNORE_LEN, | |
6781 | _NL_CTYPE_TRANSLIT_IGNORE, | |
6782 | _NL_CTYPE_MAP_TO_NONASCII, | |
6783 | _NL_CTYPE_EXTRA_MAP_1, | |
6784 | _NL_CTYPE_EXTRA_MAP_2, | |
6785 | _NL_CTYPE_EXTRA_MAP_3, | |
6786 | _NL_CTYPE_EXTRA_MAP_4, | |
6787 | _NL_CTYPE_EXTRA_MAP_5, | |
6788 | _NL_CTYPE_EXTRA_MAP_6, | |
6789 | _NL_CTYPE_EXTRA_MAP_7, | |
6790 | _NL_CTYPE_EXTRA_MAP_8, | |
6791 | _NL_CTYPE_EXTRA_MAP_9, | |
6792 | _NL_CTYPE_EXTRA_MAP_10, | |
6793 | _NL_CTYPE_EXTRA_MAP_11, | |
6794 | _NL_CTYPE_EXTRA_MAP_12, | |
6795 | _NL_CTYPE_EXTRA_MAP_13, | |
6796 | _NL_CTYPE_EXTRA_MAP_14, | |
6797 | _NL_NUM_LC_CTYPE, | |
6798 | ||
6799 | ||
6800 | ||
6801 | ||
6802 | __INT_CURR_SYMBOL = (((__LC_MONETARY) << 16) | (0)), | |
6803 | ||
6804 | #define INT_CURR_SYMBOL __INT_CURR_SYMBOL | |
6805 | ||
6806 | __CURRENCY_SYMBOL, | |
6807 | ||
6808 | #define CURRENCY_SYMBOL __CURRENCY_SYMBOL | |
6809 | ||
6810 | __MON_DECIMAL_POINT, | |
6811 | ||
6812 | #define MON_DECIMAL_POINT __MON_DECIMAL_POINT | |
6813 | ||
6814 | __MON_THOUSANDS_SEP, | |
6815 | ||
6816 | #define MON_THOUSANDS_SEP __MON_THOUSANDS_SEP | |
6817 | ||
6818 | __MON_GROUPING, | |
6819 | ||
6820 | #define MON_GROUPING __MON_GROUPING | |
6821 | ||
6822 | __POSITIVE_SIGN, | |
6823 | ||
6824 | #define POSITIVE_SIGN __POSITIVE_SIGN | |
6825 | ||
6826 | __NEGATIVE_SIGN, | |
6827 | ||
6828 | #define NEGATIVE_SIGN __NEGATIVE_SIGN | |
6829 | ||
6830 | __INT_FRAC_DIGITS, | |
6831 | ||
6832 | #define INT_FRAC_DIGITS __INT_FRAC_DIGITS | |
6833 | ||
6834 | __FRAC_DIGITS, | |
6835 | ||
6836 | #define FRAC_DIGITS __FRAC_DIGITS | |
6837 | ||
6838 | __P_CS_PRECEDES, | |
6839 | ||
6840 | #define P_CS_PRECEDES __P_CS_PRECEDES | |
6841 | ||
6842 | __P_SEP_BY_SPACE, | |
6843 | ||
6844 | #define P_SEP_BY_SPACE __P_SEP_BY_SPACE | |
6845 | ||
6846 | __N_CS_PRECEDES, | |
6847 | ||
6848 | #define N_CS_PRECEDES __N_CS_PRECEDES | |
6849 | ||
6850 | __N_SEP_BY_SPACE, | |
6851 | ||
6852 | #define N_SEP_BY_SPACE __N_SEP_BY_SPACE | |
6853 | ||
6854 | __P_SIGN_POSN, | |
6855 | ||
6856 | #define P_SIGN_POSN __P_SIGN_POSN | |
6857 | ||
6858 | __N_SIGN_POSN, | |
6859 | ||
6860 | #define N_SIGN_POSN __N_SIGN_POSN | |
6861 | ||
6862 | _NL_MONETARY_CRNCYSTR, | |
6863 | #define CRNCYSTR _NL_MONETARY_CRNCYSTR | |
6864 | __INT_P_CS_PRECEDES, | |
6865 | ||
6866 | #define INT_P_CS_PRECEDES __INT_P_CS_PRECEDES | |
6867 | ||
6868 | __INT_P_SEP_BY_SPACE, | |
6869 | ||
6870 | #define INT_P_SEP_BY_SPACE __INT_P_SEP_BY_SPACE | |
6871 | ||
6872 | __INT_N_CS_PRECEDES, | |
6873 | ||
6874 | #define INT_N_CS_PRECEDES __INT_N_CS_PRECEDES | |
6875 | ||
6876 | __INT_N_SEP_BY_SPACE, | |
6877 | ||
6878 | #define INT_N_SEP_BY_SPACE __INT_N_SEP_BY_SPACE | |
6879 | ||
6880 | __INT_P_SIGN_POSN, | |
6881 | ||
6882 | #define INT_P_SIGN_POSN __INT_P_SIGN_POSN | |
6883 | ||
6884 | __INT_N_SIGN_POSN, | |
6885 | ||
6886 | #define INT_N_SIGN_POSN __INT_N_SIGN_POSN | |
6887 | ||
6888 | _NL_MONETARY_DUO_INT_CURR_SYMBOL, | |
6889 | _NL_MONETARY_DUO_CURRENCY_SYMBOL, | |
6890 | _NL_MONETARY_DUO_INT_FRAC_DIGITS, | |
6891 | _NL_MONETARY_DUO_FRAC_DIGITS, | |
6892 | _NL_MONETARY_DUO_P_CS_PRECEDES, | |
6893 | _NL_MONETARY_DUO_P_SEP_BY_SPACE, | |
6894 | _NL_MONETARY_DUO_N_CS_PRECEDES, | |
6895 | _NL_MONETARY_DUO_N_SEP_BY_SPACE, | |
6896 | _NL_MONETARY_DUO_INT_P_CS_PRECEDES, | |
6897 | _NL_MONETARY_DUO_INT_P_SEP_BY_SPACE, | |
6898 | _NL_MONETARY_DUO_INT_N_CS_PRECEDES, | |
6899 | _NL_MONETARY_DUO_INT_N_SEP_BY_SPACE, | |
6900 | _NL_MONETARY_DUO_P_SIGN_POSN, | |
6901 | _NL_MONETARY_DUO_N_SIGN_POSN, | |
6902 | _NL_MONETARY_DUO_INT_P_SIGN_POSN, | |
6903 | _NL_MONETARY_DUO_INT_N_SIGN_POSN, | |
6904 | _NL_MONETARY_UNO_VALID_FROM, | |
6905 | _NL_MONETARY_UNO_VALID_TO, | |
6906 | _NL_MONETARY_DUO_VALID_FROM, | |
6907 | _NL_MONETARY_DUO_VALID_TO, | |
6908 | _NL_MONETARY_CONVERSION_RATE, | |
6909 | _NL_MONETARY_DECIMAL_POINT_WC, | |
6910 | _NL_MONETARY_THOUSANDS_SEP_WC, | |
6911 | _NL_MONETARY_CODESET, | |
6912 | _NL_NUM_LC_MONETARY, | |
6913 | ||
6914 | ||
6915 | ||
6916 | __DECIMAL_POINT = (((__LC_NUMERIC) << 16) | (0)), | |
6917 | ||
6918 | #define DECIMAL_POINT __DECIMAL_POINT | |
6919 | ||
6920 | RADIXCHAR = __DECIMAL_POINT, | |
6921 | #define RADIXCHAR RADIXCHAR | |
6922 | __THOUSANDS_SEP, | |
6923 | ||
6924 | #define THOUSANDS_SEP __THOUSANDS_SEP | |
6925 | ||
6926 | THOUSEP = __THOUSANDS_SEP, | |
6927 | #define THOUSEP THOUSEP | |
6928 | __GROUPING, | |
6929 | ||
6930 | #define GROUPING __GROUPING | |
6931 | ||
6932 | _NL_NUMERIC_DECIMAL_POINT_WC, | |
6933 | _NL_NUMERIC_THOUSANDS_SEP_WC, | |
6934 | _NL_NUMERIC_CODESET, | |
6935 | _NL_NUM_LC_NUMERIC, | |
6936 | ||
6937 | __YESEXPR = (((__LC_MESSAGES) << 16) | (0)), | |
6938 | #define YESEXPR __YESEXPR | |
6939 | __NOEXPR, | |
6940 | #define NOEXPR __NOEXPR | |
6941 | __YESSTR, | |
6942 | ||
6943 | #define YESSTR __YESSTR | |
6944 | ||
6945 | __NOSTR, | |
6946 | ||
6947 | #define NOSTR __NOSTR | |
6948 | ||
6949 | _NL_MESSAGES_CODESET, | |
6950 | _NL_NUM_LC_MESSAGES, | |
6951 | ||
6952 | _NL_PAPER_HEIGHT = (((__LC_PAPER) << 16) | (0)), | |
6953 | _NL_PAPER_WIDTH, | |
6954 | _NL_PAPER_CODESET, | |
6955 | _NL_NUM_LC_PAPER, | |
6956 | ||
6957 | _NL_NAME_NAME_FMT = (((__LC_NAME) << 16) | (0)), | |
6958 | _NL_NAME_NAME_GEN, | |
6959 | _NL_NAME_NAME_MR, | |
6960 | _NL_NAME_NAME_MRS, | |
6961 | _NL_NAME_NAME_MISS, | |
6962 | _NL_NAME_NAME_MS, | |
6963 | _NL_NAME_CODESET, | |
6964 | _NL_NUM_LC_NAME, | |
6965 | ||
6966 | _NL_ADDRESS_POSTAL_FMT = (((__LC_ADDRESS) << 16) | (0)), | |
6967 | _NL_ADDRESS_COUNTRY_NAME, | |
6968 | _NL_ADDRESS_COUNTRY_POST, | |
6969 | _NL_ADDRESS_COUNTRY_AB2, | |
6970 | _NL_ADDRESS_COUNTRY_AB3, | |
6971 | _NL_ADDRESS_COUNTRY_CAR, | |
6972 | _NL_ADDRESS_COUNTRY_NUM, | |
6973 | _NL_ADDRESS_COUNTRY_ISBN, | |
6974 | _NL_ADDRESS_LANG_NAME, | |
6975 | _NL_ADDRESS_LANG_AB, | |
6976 | _NL_ADDRESS_LANG_TERM, | |
6977 | _NL_ADDRESS_LANG_LIB, | |
6978 | _NL_ADDRESS_CODESET, | |
6979 | _NL_NUM_LC_ADDRESS, | |
6980 | ||
6981 | _NL_TELEPHONE_TEL_INT_FMT = (((__LC_TELEPHONE) << 16) | (0)), | |
6982 | _NL_TELEPHONE_TEL_DOM_FMT, | |
6983 | _NL_TELEPHONE_INT_SELECT, | |
6984 | _NL_TELEPHONE_INT_PREFIX, | |
6985 | _NL_TELEPHONE_CODESET, | |
6986 | _NL_NUM_LC_TELEPHONE, | |
6987 | ||
6988 | _NL_MEASUREMENT_MEASUREMENT = (((__LC_MEASUREMENT) << 16) | (0)), | |
6989 | _NL_MEASUREMENT_CODESET, | |
6990 | _NL_NUM_LC_MEASUREMENT, | |
6991 | ||
6992 | _NL_IDENTIFICATION_TITLE = (((__LC_IDENTIFICATION) << 16) | (0)), | |
6993 | _NL_IDENTIFICATION_SOURCE, | |
6994 | _NL_IDENTIFICATION_ADDRESS, | |
6995 | _NL_IDENTIFICATION_CONTACT, | |
6996 | _NL_IDENTIFICATION_EMAIL, | |
6997 | _NL_IDENTIFICATION_TEL, | |
6998 | _NL_IDENTIFICATION_FAX, | |
6999 | _NL_IDENTIFICATION_LANGUAGE, | |
7000 | _NL_IDENTIFICATION_TERRITORY, | |
7001 | _NL_IDENTIFICATION_AUDIENCE, | |
7002 | _NL_IDENTIFICATION_APPLICATION, | |
7003 | _NL_IDENTIFICATION_ABBREVIATION, | |
7004 | _NL_IDENTIFICATION_REVISION, | |
7005 | _NL_IDENTIFICATION_DATE, | |
7006 | _NL_IDENTIFICATION_CATEGORY, | |
7007 | _NL_IDENTIFICATION_CODESET, | |
7008 | _NL_NUM_LC_IDENTIFICATION, | |
7009 | ||
7010 | ||
7011 | _NL_NUM | |
7012 | }; | |
7013 | ||
7014 | ||
7015 | ||
7016 | #define _NL_LOCALE_NAME(category) _NL_ITEM ((category), -1) | |
7017 | ||
7018 | #define NL_LOCALE_NAME(category) _NL_LOCALE_NAME (category) | |
7019 | # 582 "/usr/include/gentoo-multilib/amd64/langinfo.h" 3 4 | |
7020 | extern char *nl_langinfo (nl_item __item) throw (); | |
7021 | ||
7022 | ||
7023 | ||
7024 | ||
7025 | ||
7026 | ||
7027 | ||
7028 | # 1 "/usr/include/xlocale.h" 1 3 4 | |
7029 | # 591 "/usr/include/gentoo-multilib/amd64/langinfo.h" 2 3 4 | |
7030 | ||
7031 | ||
7032 | extern char *nl_langinfo_l (nl_item __item, __locale_t l); | |
7033 | ||
7034 | ||
7035 | } | |
7036 | # 9 "/usr/include/langinfo.h" 2 3 4 | |
7037 | # 51 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 2 3 | |
7038 | # 1 "/usr/include/iconv.h" 1 3 4 | |
7039 | ||
7040 | ||
7041 | ||
7042 | ||
7043 | ||
7044 | ||
7045 | ||
7046 | # 1 "/usr/include/gentoo-multilib/amd64/iconv.h" 1 3 4 | |
7047 | # 20 "/usr/include/gentoo-multilib/amd64/iconv.h" 3 4 | |
7048 | #define _ICONV_H 1 | |
7049 | ||
7050 | # 1 "/usr/include/features.h" 1 3 4 | |
7051 | # 23 "/usr/include/gentoo-multilib/amd64/iconv.h" 2 3 4 | |
7052 | #define __need_size_t | |
7053 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 1 3 4 | |
7054 | # 163 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
7055 | #undef __need_ptrdiff_t | |
7056 | # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
7057 | #undef __need_size_t | |
7058 | # 345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
7059 | #undef __need_wchar_t | |
7060 | # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
7061 | #undef NULL | |
7062 | ||
7063 | #define NULL __null | |
7064 | # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
7065 | #undef __need_NULL | |
7066 | ||
7067 | ||
7068 | ||
7069 | ||
7070 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
7071 | # 25 "/usr/include/gentoo-multilib/amd64/iconv.h" 2 3 4 | |
7072 | ||
7073 | ||
7074 | extern "C" { | |
7075 | ||
7076 | ||
7077 | typedef void *iconv_t; | |
7078 | ||
7079 | ||
7080 | ||
7081 | ||
7082 | ||
7083 | ||
7084 | ||
7085 | extern iconv_t iconv_open (__const char *__tocode, __const char *__fromcode); | |
7086 | ||
7087 | ||
7088 | ||
7089 | ||
7090 | extern size_t iconv (iconv_t __cd, char **__restrict __inbuf, | |
7091 | size_t *__restrict __inbytesleft, | |
7092 | char **__restrict __outbuf, | |
7093 | size_t *__restrict __outbytesleft); | |
7094 | ||
7095 | ||
7096 | ||
7097 | ||
7098 | ||
7099 | extern int iconv_close (iconv_t __cd); | |
7100 | ||
7101 | } | |
7102 | # 9 "/usr/include/iconv.h" 2 3 4 | |
7103 | # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 2 3 | |
7104 | # 1 "/usr/include/libintl.h" 1 3 4 | |
7105 | ||
7106 | ||
7107 | ||
7108 | ||
7109 | ||
7110 | ||
7111 | ||
7112 | # 1 "/usr/include/gentoo-multilib/amd64/libintl.h" 1 3 4 | |
7113 | # 22 "/usr/include/gentoo-multilib/amd64/libintl.h" 3 4 | |
7114 | #define _LIBINTL_H 1 | |
7115 | ||
7116 | # 1 "/usr/include/features.h" 1 3 4 | |
7117 | # 25 "/usr/include/gentoo-multilib/amd64/libintl.h" 2 3 4 | |
7118 | ||
7119 | ||
7120 | ||
7121 | #define __USE_GNU_GETTEXT 1 | |
7122 | ||
7123 | ||
7124 | ||
7125 | #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 1 : -1) | |
7126 | ||
7127 | ||
7128 | extern "C" { | |
7129 | ||
7130 | ||
7131 | ||
7132 | ||
7133 | extern char *((const char *) (__const char *__msgid)) | |
7134 | throw () __attribute__ ((__format_arg__ (1))); | |
7135 | ||
7136 | ||
7137 | ||
7138 | extern char *((const char *) (__const char *__msgid)) | |
7139 | throw () __attribute__ ((__format_arg__ (2))); | |
7140 | extern char *__dgettext (__const char *__domainname, __const char *__msgid) | |
7141 | throw () __attribute__ ((__format_arg__ (2))); | |
7142 | ||
7143 | ||
7144 | ||
7145 | extern char *((const char *) (__const char *__msgid)) | |
7146 | ||
7147 | throw () __attribute__ ((__format_arg__ (2))); | |
7148 | extern char *__dcgettext (__const char *__domainname, | |
7149 | __const char *__msgid, int __category) | |
7150 | throw () __attribute__ ((__format_arg__ (2))); | |
7151 | ||
7152 | ||
7153 | ||
7154 | ||
7155 | extern char *((unsigned long int __n) == 1 ? (const char *) (__const char *__msgid1) : (const char *) (__const char *__msgid2)) | |
7156 | ||
7157 | throw () __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2))); | |
7158 | ||
7159 | ||
7160 | ||
7161 | extern char *((unsigned long int __n) == 1 ? (const char *) (__const char *__msgid1) : (const char *) (__const char *__msgid2)) | |
7162 | ||
7163 | throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3))); | |
7164 | ||
7165 | ||
7166 | ||
7167 | extern char *((unsigned long int __n) == 1 ? (const char *) (__const char *__msgid1) : (const char *) (__const char *__msgid2)) | |
7168 | ||
7169 | ||
7170 | throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3))); | |
7171 | ||
7172 | ||
7173 | ||
7174 | ||
7175 | ||
7176 | extern char *((const char *) (__const char *__domainname)) throw (); | |
7177 | ||
7178 | ||
7179 | ||
7180 | extern char *((const char *) (__const char *__dirname)) throw (); | |
7181 | ||
7182 | ||
7183 | ||
7184 | ||
7185 | extern char *((const char *) (__const char *__codeset)) throw (); | |
7186 | # 122 "/usr/include/gentoo-multilib/amd64/libintl.h" 3 4 | |
7187 | } | |
7188 | # 9 "/usr/include/libintl.h" 2 3 4 | |
7189 | # 53 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 2 3 | |
7190 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdarg" 1 3 | |
7191 | # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdarg" 3 | |
7192 | #define _GLIBCXX_CSTDARG 1 | |
7193 | ||
7194 | ||
7195 | # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdarg" 3 | |
7196 | ||
7197 | ||
7198 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stdarg.h" 1 3 4 | |
7199 | # 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stdarg.h" 3 4 | |
7200 | #define _STDARG_H | |
7201 | #define _ANSI_STDARG_H_ | |
7202 | ||
7203 | #undef __need___va_list | |
7204 | # 50 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stdarg.h" 3 4 | |
7205 | #define va_start(v,l) __builtin_va_start(v,l) | |
7206 | #define va_end(v) __builtin_va_end(v) | |
7207 | #define va_arg(v,l) __builtin_va_arg(v,l) | |
7208 | ||
7209 | #define va_copy(d,s) __builtin_va_copy(d,s) | |
7210 | ||
7211 | #define __va_copy(d,s) __builtin_va_copy(d,s) | |
7212 | # 111 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stdarg.h" 3 4 | |
7213 | #define _VA_LIST_ | |
7214 | ||
7215 | ||
7216 | #define _VA_LIST | |
7217 | ||
7218 | ||
7219 | ||
7220 | ||
7221 | ||
7222 | #define _VA_LIST_T_H | |
7223 | ||
7224 | ||
7225 | #define __va_list__ | |
7226 | # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdarg" 2 3 | |
7227 | ||
7228 | ||
7229 | ||
7230 | ||
7231 | ||
7232 | ||
7233 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
7234 | ||
7235 | using ::va_list; | |
7236 | ||
7237 | } | |
7238 | # 54 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h" 2 3 | |
7239 | ||
7240 | #define _GLIBCXX_C_LOCALE_GNU 1 | |
7241 | ||
7242 | #define _GLIBCXX_NUM_CATEGORIES 6 | |
7243 | ||
7244 | ||
7245 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
7246 | ||
7247 | extern "C" __typeof(uselocale) __uselocale; | |
7248 | ||
7249 | } | |
7250 | ||
7251 | ||
7252 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
7253 | ||
7254 | typedef __locale_t __c_locale; | |
7255 | ||
7256 | ||
7257 | ||
7258 | ||
7259 | ||
7260 | inline int | |
7261 | __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)), | |
7262 | char* __out, | |
7263 | const int __size __attribute__ ((__unused__)), | |
7264 | const char* __fmt, ...) | |
7265 | { | |
7266 | ||
7267 | __c_locale __old = __gnu_cxx::__uselocale(__cloc); | |
7268 | ||
7269 | ||
7270 | ||
7271 | ||
7272 | ||
7273 | ||
7274 | ||
7275 | va_list __args; | |
7276 | __builtin_va_start(__args,__fmt); | |
7277 | ||
7278 | ||
7279 | const int __ret = std::vsnprintf(__out, __size, __fmt, __args); | |
7280 | ||
7281 | ||
7282 | ||
7283 | ||
7284 | __builtin_va_end(__args); | |
7285 | ||
7286 | ||
7287 | __gnu_cxx::__uselocale(__old); | |
7288 | ||
7289 | ||
7290 | ||
7291 | ||
7292 | return __ret; | |
7293 | } | |
7294 | ||
7295 | } | |
7296 | # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/iosfwd" 2 3 | |
7297 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++io.h" 1 3 | |
7298 | # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++io.h" 3 | |
7299 | #define _C_IO_STDIO_H 1 | |
7300 | ||
7301 | ||
7302 | ||
7303 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h" 1 3 | |
7304 | # 30 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h" 3 | |
7305 | #define _GLIBCXX_GCC_GTHR_H | |
7306 | ||
7307 | ||
7308 | #pragma GCC visibility push(default) | |
7309 | # 111 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h" 3 | |
7310 | #define _GLIBCXX_GTHREAD_USE_WEAK 1 | |
7311 | ||
7312 | ||
7313 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 1 3 | |
7314 | # 31 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 | |
7315 | #define _GLIBCXX_GCC_GTHR_POSIX_H | |
7316 | ||
7317 | ||
7318 | ||
7319 | ||
7320 | #define __GTHREADS 1 | |
7321 | ||
7322 | ||
7323 | ||
7324 | ||
7325 | ||
7326 | ||
7327 | # 1 "/usr/include/pthread.h" 1 3 4 | |
7328 | ||
7329 | ||
7330 | ||
7331 | ||
7332 | ||
7333 | ||
7334 | ||
7335 | # 1 "/usr/include/gentoo-multilib/amd64/pthread.h" 1 3 4 | |
7336 | # 21 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4 | |
7337 | #define _PTHREAD_H 1 | |
7338 | ||
7339 | # 1 "/usr/include/features.h" 1 3 4 | |
7340 | # 24 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4 | |
7341 | # 1 "/usr/include/endian.h" 1 3 4 | |
7342 | # 25 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4 | |
7343 | # 1 "/usr/include/sched.h" 1 3 4 | |
7344 | ||
7345 | ||
7346 | ||
7347 | ||
7348 | ||
7349 | ||
7350 | ||
7351 | # 1 "/usr/include/gentoo-multilib/amd64/sched.h" 1 3 4 | |
7352 | # 21 "/usr/include/gentoo-multilib/amd64/sched.h" 3 4 | |
7353 | #define _SCHED_H 1 | |
7354 | ||
7355 | # 1 "/usr/include/features.h" 1 3 4 | |
7356 | # 24 "/usr/include/gentoo-multilib/amd64/sched.h" 2 3 4 | |
7357 | ||
7358 | ||
7359 | # 1 "/usr/include/bits/types.h" 1 3 4 | |
7360 | # 27 "/usr/include/gentoo-multilib/amd64/sched.h" 2 3 4 | |
7361 | ||
7362 | #define __need_size_t | |
7363 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 1 3 4 | |
7364 | # 163 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
7365 | #undef __need_ptrdiff_t | |
7366 | # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
7367 | #undef __need_size_t | |
7368 | # 345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
7369 | #undef __need_wchar_t | |
7370 | # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
7371 | #undef NULL | |
7372 | ||
7373 | #define NULL __null | |
7374 | # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
7375 | #undef __need_NULL | |
7376 | ||
7377 | ||
7378 | ||
7379 | ||
7380 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
7381 | # 30 "/usr/include/gentoo-multilib/amd64/sched.h" 2 3 4 | |
7382 | ||
7383 | #define __need_timespec | |
7384 | # 1 "/usr/include/time.h" 1 3 4 | |
7385 | ||
7386 | ||
7387 | ||
7388 | ||
7389 | ||
7390 | ||
7391 | ||
7392 | # 1 "/usr/include/gentoo-multilib/amd64/time.h" 1 3 4 | |
7393 | # 68 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
7394 | #undef __need_clock_t | |
7395 | # 84 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
7396 | #undef __need_time_t | |
7397 | # 96 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
7398 | #undef __clockid_time_t | |
7399 | # 108 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
7400 | #undef __need_timer_t | |
7401 | # 128 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
7402 | #undef __need_timespec | |
7403 | # 9 "/usr/include/time.h" 2 3 4 | |
7404 | # 33 "/usr/include/gentoo-multilib/amd64/sched.h" 2 3 4 | |
7405 | ||
7406 | ||
7407 | # 1 "/usr/include/bits/sched.h" 1 3 4 | |
7408 | ||
7409 | ||
7410 | ||
7411 | ||
7412 | ||
7413 | ||
7414 | ||
7415 | # 1 "/usr/include/gentoo-multilib/amd64/bits/sched.h" 1 3 4 | |
7416 | # 30 "/usr/include/gentoo-multilib/amd64/bits/sched.h" 3 4 | |
7417 | #define SCHED_OTHER 0 | |
7418 | #define SCHED_FIFO 1 | |
7419 | #define SCHED_RR 2 | |
7420 | ||
7421 | #define SCHED_BATCH 3 | |
7422 | ||
7423 | ||
7424 | ||
7425 | ||
7426 | #define CSIGNAL 0x000000ff | |
7427 | #define CLONE_VM 0x00000100 | |
7428 | #define CLONE_FS 0x00000200 | |
7429 | #define CLONE_FILES 0x00000400 | |
7430 | #define CLONE_SIGHAND 0x00000800 | |
7431 | #define CLONE_PTRACE 0x00002000 | |
7432 | #define CLONE_VFORK 0x00004000 | |
7433 | ||
7434 | #define CLONE_PARENT 0x00008000 | |
7435 | ||
7436 | #define CLONE_THREAD 0x00010000 | |
7437 | #define CLONE_NEWNS 0x00020000 | |
7438 | #define CLONE_SYSVSEM 0x00040000 | |
7439 | #define CLONE_SETTLS 0x00080000 | |
7440 | #define CLONE_PARENT_SETTID 0x00100000 | |
7441 | ||
7442 | #define CLONE_CHILD_CLEARTID 0x00200000 | |
7443 | ||
7444 | #define CLONE_DETACHED 0x00400000 | |
7445 | #define CLONE_UNTRACED 0x00800000 | |
7446 | ||
7447 | #define CLONE_CHILD_SETTID 0x01000000 | |
7448 | ||
7449 | #define CLONE_STOPPED 0x02000000 | |
7450 | ||
7451 | ||
7452 | ||
7453 | struct sched_param | |
7454 | { | |
7455 | int __sched_priority; | |
7456 | }; | |
7457 | ||
7458 | extern "C" { | |
7459 | ||
7460 | ||
7461 | ||
7462 | extern int clone (int (*__fn) (void *__arg), void *__child_stack, | |
7463 | int __flags, void *__arg, ...) throw (); | |
7464 | ||
7465 | ||
7466 | extern int unshare (int __flags) throw (); | |
7467 | ||
7468 | ||
7469 | extern int sched_getcpu (void) throw (); | |
7470 | ||
7471 | ||
7472 | } | |
7473 | ||
7474 | ||
7475 | ||
7476 | ||
7477 | ||
7478 | #define __defined_schedparam 1 | |
7479 | ||
7480 | struct __sched_param | |
7481 | { | |
7482 | int __sched_priority; | |
7483 | }; | |
7484 | #undef __need_schedparam | |
7485 | ||
7486 | ||
7487 | ||
7488 | ||
7489 | #define __cpu_set_t_defined | |
7490 | ||
7491 | #define __CPU_SETSIZE 1024 | |
7492 | #define __NCPUBITS (8 * sizeof (__cpu_mask)) | |
7493 | ||
7494 | ||
7495 | typedef unsigned long int __cpu_mask; | |
7496 | ||
7497 | ||
7498 | #define __CPUELT(cpu) ((cpu) / __NCPUBITS) | |
7499 | #define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS)) | |
7500 | ||
7501 | ||
7502 | typedef struct | |
7503 | { | |
7504 | __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; | |
7505 | } cpu_set_t; | |
7506 | ||
7507 | ||
7508 | ||
7509 | #define __CPU_ZERO_S(setsize,cpusetp) do __builtin_memset (cpusetp, '\0', setsize); while (0) | |
7510 | # 134 "/usr/include/gentoo-multilib/amd64/bits/sched.h" 3 4 | |
7511 | #define __CPU_SET_S(cpu,setsize,cpusetp) ({ size_t __cpu = (cpu); __cpu < 8 * (setsize) ? ((cpusetp)->__bits[__CPUELT (__cpu)] |= __CPUMASK (__cpu)) : 0; }) | |
7512 | ||
7513 | ||
7514 | ||
7515 | #define __CPU_CLR_S(cpu,setsize,cpusetp) ({ size_t __cpu = (cpu); __cpu < 8 * (setsize) ? ((cpusetp)->__bits[__CPUELT (__cpu)] &= ~__CPUMASK (__cpu)) : 0; }) | |
7516 | ||
7517 | ||
7518 | ||
7519 | #define __CPU_ISSET_S(cpu,setsize,cpusetp) ({ size_t __cpu = (cpu); __cpu < 8 * (setsize) ? (((cpusetp)->__bits[__CPUELT (__cpu)] & __CPUMASK (__cpu))) != 0 : 0; }) | |
7520 | ||
7521 | ||
7522 | ||
7523 | ||
7524 | #define __CPU_COUNT_S(setsize,cpusetp) __sched_cpucount (setsize, cpusetp) | |
7525 | ||
7526 | ||
7527 | ||
7528 | #define __CPU_EQUAL_S(setsize,cpusetp1,cpusetp2) (__builtin_memcmp (cpusetp1, cpusetp2, setsize) == 0) | |
7529 | # 165 "/usr/include/gentoo-multilib/amd64/bits/sched.h" 3 4 | |
7530 | #define __CPU_OP_S(setsize,destset,srcset1,srcset2,op) ({ cpu_set_t *__dest = (destset); cpu_set_t *__arr1 = (srcset1); cpu_set_t *__arr2 = (srcset2); size_t __imax = (setsize) / sizeof (__cpu_mask); size_t __i; for (__i = 0; __i < __imax; ++__i) __dest->__bits[__i] = __arr1->__bits[__i] op __arr2->__bits[__i]; __dest; }) | |
7531 | # 175 "/usr/include/gentoo-multilib/amd64/bits/sched.h" 3 4 | |
7532 | #define __CPU_ALLOC_SIZE(count) ((((count) + __NCPUBITS - 1) / __NCPUBITS) * 8) | |
7533 | ||
7534 | #define __CPU_ALLOC(count) __sched_cpualloc (count) | |
7535 | #define __CPU_FREE(cpuset) __sched_cpufree (cpuset) | |
7536 | ||
7537 | extern "C" { | |
7538 | ||
7539 | extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp) | |
7540 | throw (); | |
7541 | extern cpu_set_t *__sched_cpualloc (size_t __count) throw () ; | |
7542 | extern void __sched_cpufree (cpu_set_t *__set) throw (); | |
7543 | ||
7544 | } | |
7545 | # 9 "/usr/include/bits/sched.h" 2 3 4 | |
7546 | # 36 "/usr/include/gentoo-multilib/amd64/sched.h" 2 3 4 | |
7547 | ||
7548 | #define sched_priority __sched_priority | |
7549 | ||
7550 | ||
7551 | extern "C" { | |
7552 | ||
7553 | ||
7554 | extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param) | |
7555 | throw (); | |
7556 | ||
7557 | ||
7558 | extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw (); | |
7559 | ||
7560 | ||
7561 | extern int sched_setscheduler (__pid_t __pid, int __policy, | |
7562 | __const struct sched_param *__param) throw (); | |
7563 | ||
7564 | ||
7565 | extern int sched_getscheduler (__pid_t __pid) throw (); | |
7566 | ||
7567 | ||
7568 | extern int sched_yield (void) throw (); | |
7569 | ||
7570 | ||
7571 | extern int sched_get_priority_max (int __algorithm) throw (); | |
7572 | ||
7573 | ||
7574 | extern int sched_get_priority_min (int __algorithm) throw (); | |
7575 | ||
7576 | ||
7577 | extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw (); | |
7578 | ||
7579 | ||
7580 | ||
7581 | ||
7582 | #define CPU_SETSIZE __CPU_SETSIZE | |
7583 | #define CPU_SET(cpu,cpusetp) __CPU_SET_S (cpu, sizeof (cpu_set_t), cpusetp) | |
7584 | #define CPU_CLR(cpu,cpusetp) __CPU_CLR_S (cpu, sizeof (cpu_set_t), cpusetp) | |
7585 | #define CPU_ISSET(cpu,cpusetp) __CPU_ISSET_S (cpu, sizeof (cpu_set_t), cpusetp) | |
7586 | ||
7587 | #define CPU_ZERO(cpusetp) __CPU_ZERO_S (sizeof (cpu_set_t), cpusetp) | |
7588 | #define CPU_COUNT(cpusetp) __CPU_COUNT_S (sizeof (cpu_set_t), cpusetp) | |
7589 | ||
7590 | #define CPU_SET_S(cpu,setsize,cpusetp) __CPU_SET_S (cpu, setsize, cpusetp) | |
7591 | #define CPU_CLR_S(cpu,setsize,cpusetp) __CPU_CLR_S (cpu, setsize, cpusetp) | |
7592 | #define CPU_ISSET_S(cpu,setsize,cpusetp) __CPU_ISSET_S (cpu, setsize, cpusetp) | |
7593 | ||
7594 | #define CPU_ZERO_S(setsize,cpusetp) __CPU_ZERO_S (setsize, cpusetp) | |
7595 | #define CPU_COUNT_S(setsize,cpusetp) __CPU_COUNT_S (setsize, cpusetp) | |
7596 | ||
7597 | #define CPU_EQUAL(cpusetp1,cpusetp2) __CPU_EQUAL_S (sizeof (cpu_set_t), cpusetp1, cpusetp2) | |
7598 | ||
7599 | #define CPU_EQUAL_S(setsize,cpusetp1,cpusetp2) __CPU_EQUAL_S (setsize, cpusetp1, cpusetp2) | |
7600 | ||
7601 | ||
7602 | #define CPU_AND(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, &) | |
7603 | ||
7604 | #define CPU_OR(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, |) | |
7605 | ||
7606 | #define CPU_XOR(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, ^) | |
7607 | ||
7608 | #define CPU_AND_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, &) | |
7609 | ||
7610 | #define CPU_OR_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, |) | |
7611 | ||
7612 | #define CPU_XOR_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, ^) | |
7613 | ||
7614 | ||
7615 | #define CPU_ALLOC_SIZE(count) __CPU_ALLOC_SIZE (count) | |
7616 | #define CPU_ALLOC(count) __CPU_ALLOC (count) | |
7617 | #define CPU_FREE(cpuset) __CPU_FREE (cpuset) | |
7618 | ||
7619 | ||
7620 | ||
7621 | extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize, | |
7622 | __const cpu_set_t *__cpuset) throw (); | |
7623 | ||
7624 | ||
7625 | extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize, | |
7626 | cpu_set_t *__cpuset) throw (); | |
7627 | ||
7628 | ||
7629 | } | |
7630 | # 9 "/usr/include/sched.h" 2 3 4 | |
7631 | # 26 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4 | |
7632 | # 1 "/usr/include/time.h" 1 3 4 | |
7633 | ||
7634 | ||
7635 | ||
7636 | ||
7637 | ||
7638 | ||
7639 | ||
7640 | # 1 "/usr/include/gentoo-multilib/amd64/time.h" 1 3 4 | |
7641 | # 28 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
7642 | #define _TIME_H 1 | |
7643 | # 1 "/usr/include/features.h" 1 3 4 | |
7644 | # 30 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4 | |
7645 | ||
7646 | extern "C" { | |
7647 | ||
7648 | ||
7649 | ||
7650 | ||
7651 | ||
7652 | #define __need_size_t | |
7653 | #define __need_NULL | |
7654 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 1 3 4 | |
7655 | # 163 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
7656 | #undef __need_ptrdiff_t | |
7657 | # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
7658 | #undef __need_size_t | |
7659 | # 345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
7660 | #undef __need_wchar_t | |
7661 | # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
7662 | #undef NULL | |
7663 | ||
7664 | #define NULL __null | |
7665 | # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
7666 | #undef __need_NULL | |
7667 | ||
7668 | ||
7669 | ||
7670 | ||
7671 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
7672 | # 40 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4 | |
7673 | ||
7674 | ||
7675 | ||
7676 | # 1 "/usr/include/bits/time.h" 1 3 4 | |
7677 | ||
7678 | ||
7679 | ||
7680 | ||
7681 | ||
7682 | ||
7683 | ||
7684 | # 1 "/usr/include/gentoo-multilib/amd64/bits/time.h" 1 3 4 | |
7685 | # 26 "/usr/include/gentoo-multilib/amd64/bits/time.h" 3 4 | |
7686 | #define _BITS_TIME_H 1 | |
7687 | ||
7688 | ||
7689 | ||
7690 | ||
7691 | ||
7692 | ||
7693 | ||
7694 | #define CLOCKS_PER_SEC 1000000l | |
7695 | # 46 "/usr/include/gentoo-multilib/amd64/bits/time.h" 3 4 | |
7696 | #define CLOCK_REALTIME 0 | |
7697 | ||
7698 | #define CLOCK_MONOTONIC 1 | |
7699 | ||
7700 | #define CLOCK_PROCESS_CPUTIME_ID 2 | |
7701 | ||
7702 | #define CLOCK_THREAD_CPUTIME_ID 3 | |
7703 | ||
7704 | ||
7705 | #define TIMER_ABSTIME 1 | |
7706 | # 9 "/usr/include/bits/time.h" 2 3 4 | |
7707 | # 44 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4 | |
7708 | # 68 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
7709 | #undef __need_clock_t | |
7710 | # 84 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
7711 | #undef __need_time_t | |
7712 | # 96 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
7713 | #undef __clockid_time_t | |
7714 | # 108 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
7715 | #undef __need_timer_t | |
7716 | # 128 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
7717 | #undef __need_timespec | |
7718 | ||
7719 | ||
7720 | ||
7721 | ||
7722 | ||
7723 | struct tm | |
7724 | { | |
7725 | int tm_sec; | |
7726 | int tm_min; | |
7727 | int tm_hour; | |
7728 | int tm_mday; | |
7729 | int tm_mon; | |
7730 | int tm_year; | |
7731 | int tm_wday; | |
7732 | int tm_yday; | |
7733 | int tm_isdst; | |
7734 | ||
7735 | ||
7736 | long int tm_gmtoff; | |
7737 | __const char *tm_zone; | |
7738 | ||
7739 | ||
7740 | ||
7741 | ||
7742 | }; | |
7743 | ||
7744 | ||
7745 | ||
7746 | ||
7747 | ||
7748 | ||
7749 | ||
7750 | ||
7751 | struct itimerspec | |
7752 | { | |
7753 | struct timespec it_interval; | |
7754 | struct timespec it_value; | |
7755 | }; | |
7756 | ||
7757 | ||
7758 | struct sigevent; | |
7759 | # 181 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
7760 | ||
7761 | ||
7762 | ||
7763 | extern clock_t clock (void) throw (); | |
7764 | ||
7765 | ||
7766 | extern time_t time (time_t *__timer) throw (); | |
7767 | ||
7768 | ||
7769 | extern double difftime (time_t __time1, time_t __time0) | |
7770 | throw () __attribute__ ((__const__)); | |
7771 | ||
7772 | ||
7773 | extern time_t mktime (struct tm *__tp) throw (); | |
7774 | ||
7775 | ||
7776 | ||
7777 | ||
7778 | ||
7779 | extern size_t strftime (char *__restrict __s, size_t __maxsize, | |
7780 | __const char *__restrict __format, | |
7781 | __const struct tm *__restrict __tp) throw (); | |
7782 | ||
7783 | ||
7784 | ||
7785 | ||
7786 | ||
7787 | extern char *strptime (__const char *__restrict __s, | |
7788 | __const char *__restrict __fmt, struct tm *__tp) | |
7789 | throw (); | |
7790 | ||
7791 | ||
7792 | ||
7793 | ||
7794 | ||
7795 | # 1 "/usr/include/xlocale.h" 1 3 4 | |
7796 | # 217 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4 | |
7797 | ||
7798 | extern size_t strftime_l (char *__restrict __s, size_t __maxsize, | |
7799 | __const char *__restrict __format, | |
7800 | __const struct tm *__restrict __tp, | |
7801 | __locale_t __loc) throw (); | |
7802 | ||
7803 | extern char *strptime_l (__const char *__restrict __s, | |
7804 | __const char *__restrict __fmt, struct tm *__tp, | |
7805 | __locale_t __loc) throw (); | |
7806 | ||
7807 | ||
7808 | ||
7809 | ||
7810 | ||
7811 | ||
7812 | extern struct tm *gmtime (__const time_t *__timer) throw (); | |
7813 | ||
7814 | ||
7815 | ||
7816 | extern struct tm *localtime (__const time_t *__timer) throw (); | |
7817 | ||
7818 | ||
7819 | ||
7820 | ||
7821 | ||
7822 | extern struct tm *gmtime_r (__const time_t *__restrict __timer, | |
7823 | struct tm *__restrict __tp) throw (); | |
7824 | ||
7825 | ||
7826 | ||
7827 | extern struct tm *localtime_r (__const time_t *__restrict __timer, | |
7828 | struct tm *__restrict __tp) throw (); | |
7829 | ||
7830 | ||
7831 | ||
7832 | ||
7833 | ||
7834 | extern char *asctime (__const struct tm *__tp) throw (); | |
7835 | ||
7836 | ||
7837 | extern char *ctime (__const time_t *__timer) throw (); | |
7838 | ||
7839 | ||
7840 | ||
7841 | ||
7842 | ||
7843 | ||
7844 | ||
7845 | extern char *asctime_r (__const struct tm *__restrict __tp, | |
7846 | char *__restrict __buf) throw (); | |
7847 | ||
7848 | ||
7849 | extern char *ctime_r (__const time_t *__restrict __timer, | |
7850 | char *__restrict __buf) throw (); | |
7851 | ||
7852 | ||
7853 | ||
7854 | ||
7855 | extern char *__tzname[2]; | |
7856 | extern int __daylight; | |
7857 | extern long int __timezone; | |
7858 | ||
7859 | ||
7860 | ||
7861 | ||
7862 | extern char *tzname[2]; | |
7863 | ||
7864 | ||
7865 | ||
7866 | extern void tzset (void) throw (); | |
7867 | ||
7868 | ||
7869 | ||
7870 | extern int daylight; | |
7871 | extern long int timezone; | |
7872 | ||
7873 | ||
7874 | ||
7875 | ||
7876 | ||
7877 | extern int stime (__const time_t *__when) throw (); | |
7878 | ||
7879 | ||
7880 | ||
7881 | ||
7882 | ||
7883 | #define __isleap(year) ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0)) | |
7884 | # 312 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
7885 | extern time_t timegm (struct tm *__tp) throw (); | |
7886 | ||
7887 | ||
7888 | extern time_t timelocal (struct tm *__tp) throw (); | |
7889 | ||
7890 | ||
7891 | extern int dysize (int __year) throw () __attribute__ ((__const__)); | |
7892 | # 327 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
7893 | extern int nanosleep (__const struct timespec *__requested_time, | |
7894 | struct timespec *__remaining); | |
7895 | ||
7896 | ||
7897 | ||
7898 | extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw (); | |
7899 | ||
7900 | ||
7901 | extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw (); | |
7902 | ||
7903 | ||
7904 | extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp) | |
7905 | throw (); | |
7906 | ||
7907 | ||
7908 | ||
7909 | ||
7910 | ||
7911 | ||
7912 | extern int clock_nanosleep (clockid_t __clock_id, int __flags, | |
7913 | __const struct timespec *__req, | |
7914 | struct timespec *__rem); | |
7915 | ||
7916 | ||
7917 | extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) throw (); | |
7918 | ||
7919 | ||
7920 | ||
7921 | ||
7922 | extern int timer_create (clockid_t __clock_id, | |
7923 | struct sigevent *__restrict __evp, | |
7924 | timer_t *__restrict __timerid) throw (); | |
7925 | ||
7926 | ||
7927 | extern int timer_delete (timer_t __timerid) throw (); | |
7928 | ||
7929 | ||
7930 | extern int timer_settime (timer_t __timerid, int __flags, | |
7931 | __const struct itimerspec *__restrict __value, | |
7932 | struct itimerspec *__restrict __ovalue) throw (); | |
7933 | ||
7934 | ||
7935 | extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) | |
7936 | throw (); | |
7937 | ||
7938 | ||
7939 | extern int timer_getoverrun (timer_t __timerid) throw (); | |
7940 | # 389 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
7941 | extern int getdate_err; | |
7942 | # 398 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
7943 | extern struct tm *getdate (__const char *__string); | |
7944 | # 412 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 | |
7945 | extern int getdate_r (__const char *__restrict __string, | |
7946 | struct tm *__restrict __resbufp); | |
7947 | ||
7948 | ||
7949 | } | |
7950 | # 9 "/usr/include/time.h" 2 3 4 | |
7951 | # 27 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4 | |
7952 | ||
7953 | #define __need_sigset_t | |
7954 | # 1 "/usr/include/signal.h" 1 3 4 | |
7955 | ||
7956 | ||
7957 | ||
7958 | ||
7959 | ||
7960 | ||
7961 | ||
7962 | # 1 "/usr/include/gentoo-multilib/amd64/signal.h" 1 3 4 | |
7963 | # 29 "/usr/include/gentoo-multilib/amd64/signal.h" 3 4 | |
7964 | # 1 "/usr/include/features.h" 1 3 4 | |
7965 | # 30 "/usr/include/gentoo-multilib/amd64/signal.h" 2 3 4 | |
7966 | ||
7967 | extern "C" { | |
7968 | ||
7969 | # 1 "/usr/include/bits/sigset.h" 1 3 4 | |
7970 | ||
7971 | ||
7972 | ||
7973 | ||
7974 | ||
7975 | ||
7976 | ||
7977 | # 1 "/usr/include/gentoo-multilib/amd64/bits/sigset.h" 1 3 4 | |
7978 | # 9 "/usr/include/bits/sigset.h" 2 3 4 | |
7979 | # 34 "/usr/include/gentoo-multilib/amd64/signal.h" 2 3 4 | |
7980 | # 52 "/usr/include/gentoo-multilib/amd64/signal.h" 3 4 | |
7981 | #undef __need_sigset_t | |
7982 | # 402 "/usr/include/gentoo-multilib/amd64/signal.h" 3 4 | |
7983 | } | |
7984 | # 9 "/usr/include/signal.h" 2 3 4 | |
7985 | # 30 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4 | |
7986 | # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 | |
7987 | # 31 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4 | |
7988 | # 1 "/usr/include/bits/setjmp.h" 1 3 4 | |
7989 | ||
7990 | ||
7991 | ||
7992 | ||
7993 | ||
7994 | ||
7995 | ||
7996 | # 1 "/usr/include/gentoo-multilib/amd64/bits/setjmp.h" 1 3 4 | |
7997 | # 21 "/usr/include/gentoo-multilib/amd64/bits/setjmp.h" 3 4 | |
7998 | #define _BITS_SETJMP_H 1 | |
7999 | ||
8000 | ||
8001 | ||
8002 | ||
8003 | ||
8004 | # 1 "/usr/include/bits/wordsize.h" 1 3 4 | |
8005 | ||
8006 | ||
8007 | ||
8008 | ||
8009 | ||
8010 | ||
8011 | ||
8012 | # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4 | |
8013 | ||
8014 | ||
8015 | ||
8016 | #define __WORDSIZE 64 | |
8017 | #define __WORDSIZE_COMPAT32 1 | |
8018 | # 9 "/usr/include/bits/wordsize.h" 2 3 4 | |
8019 | # 28 "/usr/include/gentoo-multilib/amd64/bits/setjmp.h" 2 3 4 | |
8020 | ||
8021 | ||
8022 | ||
8023 | ||
8024 | typedef long int __jmp_buf[8]; | |
8025 | # 9 "/usr/include/bits/setjmp.h" 2 3 4 | |
8026 | # 32 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4 | |
8027 | # 1 "/usr/include/bits/wordsize.h" 1 3 4 | |
8028 | ||
8029 | ||
8030 | ||
8031 | ||
8032 | ||
8033 | ||
8034 | ||
8035 | # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4 | |
8036 | ||
8037 | ||
8038 | ||
8039 | #define __WORDSIZE 64 | |
8040 | #define __WORDSIZE_COMPAT32 1 | |
8041 | # 9 "/usr/include/bits/wordsize.h" 2 3 4 | |
8042 | # 33 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4 | |
8043 | ||
8044 | ||
8045 | ||
8046 | enum | |
8047 | { | |
8048 | PTHREAD_CREATE_JOINABLE, | |
8049 | #define PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE | |
8050 | PTHREAD_CREATE_DETACHED | |
8051 | #define PTHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED | |
8052 | }; | |
8053 | ||
8054 | ||
8055 | ||
8056 | enum | |
8057 | { | |
8058 | PTHREAD_MUTEX_TIMED_NP, | |
8059 | PTHREAD_MUTEX_RECURSIVE_NP, | |
8060 | PTHREAD_MUTEX_ERRORCHECK_NP, | |
8061 | PTHREAD_MUTEX_ADAPTIVE_NP | |
8062 | ||
8063 | , | |
8064 | PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP, | |
8065 | PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, | |
8066 | PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, | |
8067 | PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL | |
8068 | ||
8069 | ||
8070 | ||
8071 | , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP | |
8072 | ||
8073 | }; | |
8074 | ||
8075 | ||
8076 | ||
8077 | ||
8078 | enum | |
8079 | { | |
8080 | PTHREAD_MUTEX_STALLED_NP, | |
8081 | PTHREAD_MUTEX_ROBUST_NP | |
8082 | }; | |
8083 | ||
8084 | ||
8085 | ||
8086 | ||
8087 | ||
8088 | enum | |
8089 | { | |
8090 | PTHREAD_PRIO_NONE, | |
8091 | PTHREAD_PRIO_INHERIT, | |
8092 | PTHREAD_PRIO_PROTECT | |
8093 | }; | |
8094 | ||
8095 | ||
8096 | ||
8097 | ||
8098 | ||
8099 | #define PTHREAD_MUTEX_INITIALIZER { { 0, 0, 0, 0, 0, 0, { 0, 0 } } } | |
8100 | ||
8101 | ||
8102 | #define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP { { 0, 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0, 0 } } } | |
8103 | ||
8104 | #define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP { { 0, 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, 0, { 0, 0 } } } | |
8105 | ||
8106 | #define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP { { 0, 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, 0, { 0, 0 } } } | |
8107 | # 115 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4 | |
8108 | enum | |
8109 | { | |
8110 | PTHREAD_RWLOCK_PREFER_READER_NP, | |
8111 | PTHREAD_RWLOCK_PREFER_WRITER_NP, | |
8112 | PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, | |
8113 | PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP | |
8114 | }; | |
8115 | ||
8116 | ||
8117 | #define PTHREAD_RWLOCK_INITIALIZER { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } | |
8118 | ||
8119 | ||
8120 | ||
8121 | #define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } } | |
8122 | # 147 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4 | |
8123 | enum | |
8124 | { | |
8125 | PTHREAD_INHERIT_SCHED, | |
8126 | #define PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED | |
8127 | PTHREAD_EXPLICIT_SCHED | |
8128 | #define PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED | |
8129 | }; | |
8130 | ||
8131 | ||
8132 | ||
8133 | enum | |
8134 | { | |
8135 | PTHREAD_SCOPE_SYSTEM, | |
8136 | #define PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM | |
8137 | PTHREAD_SCOPE_PROCESS | |
8138 | #define PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS | |
8139 | }; | |
8140 | ||
8141 | ||
8142 | ||
8143 | enum | |
8144 | { | |
8145 | PTHREAD_PROCESS_PRIVATE, | |
8146 | #define PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE | |
8147 | PTHREAD_PROCESS_SHARED | |
8148 | #define PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED | |
8149 | }; | |
8150 | ||
8151 | ||
8152 | ||
8153 | ||
8154 | #define PTHREAD_COND_INITIALIZER { { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } } | |
8155 | ||
8156 | ||
8157 | ||
8158 | struct _pthread_cleanup_buffer | |
8159 | { | |
8160 | void (*__routine) (void *); | |
8161 | void *__arg; | |
8162 | int __canceltype; | |
8163 | struct _pthread_cleanup_buffer *__prev; | |
8164 | }; | |
8165 | ||
8166 | ||
8167 | enum | |
8168 | { | |
8169 | PTHREAD_CANCEL_ENABLE, | |
8170 | #define PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE | |
8171 | PTHREAD_CANCEL_DISABLE | |
8172 | #define PTHREAD_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE | |
8173 | }; | |
8174 | enum | |
8175 | { | |
8176 | PTHREAD_CANCEL_DEFERRED, | |
8177 | #define PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED | |
8178 | PTHREAD_CANCEL_ASYNCHRONOUS | |
8179 | #define PTHREAD_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS | |
8180 | }; | |
8181 | #define PTHREAD_CANCELED ((void *) -1) | |
8182 | ||
8183 | ||
8184 | ||
8185 | #define PTHREAD_ONCE_INIT 0 | |
8186 | ||
8187 | ||
8188 | ||
8189 | ||
8190 | ||
8191 | ||
8192 | #define PTHREAD_BARRIER_SERIAL_THREAD -1 | |
8193 | ||
8194 | ||
8195 | ||
8196 | extern "C" { | |
8197 | ||
8198 | ||
8199 | ||
8200 | ||
8201 | extern int pthread_create (pthread_t *__restrict __newthread, | |
8202 | __const pthread_attr_t *__restrict __attr, | |
8203 | void *(*__start_routine) (void *), | |
8204 | void *__restrict __arg) throw () __attribute__ ((__nonnull__ (1, 3))); | |
8205 | ||
8206 | ||
8207 | ||
8208 | ||
8209 | ||
8210 | extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); | |
8211 | ||
8212 | ||
8213 | ||
8214 | ||
8215 | ||
8216 | ||
8217 | ||
8218 | extern int pthread_join (pthread_t __th, void **__thread_return); | |
8219 | ||
8220 | ||
8221 | ||
8222 | ||
8223 | extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) throw (); | |
8224 | ||
8225 | ||
8226 | ||
8227 | ||
8228 | ||
8229 | ||
8230 | ||
8231 | extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return, | |
8232 | __const struct timespec *__abstime); | |
8233 | ||
8234 | ||
8235 | ||
8236 | ||
8237 | ||
8238 | ||
8239 | extern int pthread_detach (pthread_t __th) throw (); | |
8240 | ||
8241 | ||
8242 | ||
8243 | extern pthread_t pthread_self (void) throw () __attribute__ ((__const__)); | |
8244 | ||
8245 | ||
8246 | extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) throw (); | |
8247 | ||
8248 | ||
8249 | ||
8250 | ||
8251 | ||
8252 | ||
8253 | ||
8254 | extern int pthread_attr_init (pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); | |
8255 | ||
8256 | ||
8257 | extern int pthread_attr_destroy (pthread_attr_t *__attr) | |
8258 | throw () __attribute__ ((__nonnull__ (1))); | |
8259 | ||
8260 | ||
8261 | extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr, | |
8262 | int *__detachstate) | |
8263 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
8264 | ||
8265 | ||
8266 | extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, | |
8267 | int __detachstate) | |
8268 | throw () __attribute__ ((__nonnull__ (1))); | |
8269 | ||
8270 | ||
8271 | ||
8272 | extern int pthread_attr_getguardsize (__const pthread_attr_t *__attr, | |
8273 | size_t *__guardsize) | |
8274 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
8275 | ||
8276 | ||
8277 | extern int pthread_attr_setguardsize (pthread_attr_t *__attr, | |
8278 | size_t __guardsize) | |
8279 | throw () __attribute__ ((__nonnull__ (1))); | |
8280 | ||
8281 | ||
8282 | ||
8283 | extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict | |
8284 | __attr, | |
8285 | struct sched_param *__restrict __param) | |
8286 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
8287 | ||
8288 | ||
8289 | extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr, | |
8290 | __const struct sched_param *__restrict | |
8291 | __param) throw () __attribute__ ((__nonnull__ (1, 2))); | |
8292 | ||
8293 | ||
8294 | extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict | |
8295 | __attr, int *__restrict __policy) | |
8296 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
8297 | ||
8298 | ||
8299 | extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) | |
8300 | throw () __attribute__ ((__nonnull__ (1))); | |
8301 | ||
8302 | ||
8303 | extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict | |
8304 | __attr, int *__restrict __inherit) | |
8305 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
8306 | ||
8307 | ||
8308 | extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, | |
8309 | int __inherit) | |
8310 | throw () __attribute__ ((__nonnull__ (1))); | |
8311 | ||
8312 | ||
8313 | ||
8314 | extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr, | |
8315 | int *__restrict __scope) | |
8316 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
8317 | ||
8318 | ||
8319 | extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) | |
8320 | throw () __attribute__ ((__nonnull__ (1))); | |
8321 | ||
8322 | ||
8323 | extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict | |
8324 | __attr, void **__restrict __stackaddr) | |
8325 | throw () __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__)); | |
8326 | ||
8327 | ||
8328 | ||
8329 | ||
8330 | ||
8331 | extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, | |
8332 | void *__stackaddr) | |
8333 | throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)); | |
8334 | ||
8335 | ||
8336 | extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict | |
8337 | __attr, size_t *__restrict __stacksize) | |
8338 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
8339 | ||
8340 | ||
8341 | ||
8342 | ||
8343 | extern int pthread_attr_setstacksize (pthread_attr_t *__attr, | |
8344 | size_t __stacksize) | |
8345 | throw () __attribute__ ((__nonnull__ (1))); | |
8346 | ||
8347 | ||
8348 | ||
8349 | extern int pthread_attr_getstack (__const pthread_attr_t *__restrict __attr, | |
8350 | void **__restrict __stackaddr, | |
8351 | size_t *__restrict __stacksize) | |
8352 | throw () __attribute__ ((__nonnull__ (1, 2, 3))); | |
8353 | ||
8354 | ||
8355 | ||
8356 | ||
8357 | extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, | |
8358 | size_t __stacksize) throw () __attribute__ ((__nonnull__ (1))); | |
8359 | ||
8360 | ||
8361 | ||
8362 | ||
8363 | ||
8364 | extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, | |
8365 | size_t __cpusetsize, | |
8366 | __const cpu_set_t *__cpuset) | |
8367 | throw () __attribute__ ((__nonnull__ (1, 3))); | |
8368 | ||
8369 | ||
8370 | ||
8371 | extern int pthread_attr_getaffinity_np (__const pthread_attr_t *__attr, | |
8372 | size_t __cpusetsize, | |
8373 | cpu_set_t *__cpuset) | |
8374 | throw () __attribute__ ((__nonnull__ (1, 3))); | |
8375 | ||
8376 | ||
8377 | ||
8378 | ||
8379 | ||
8380 | extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) | |
8381 | throw () __attribute__ ((__nonnull__ (2))); | |
8382 | ||
8383 | ||
8384 | ||
8385 | ||
8386 | ||
8387 | ||
8388 | ||
8389 | extern int pthread_setschedparam (pthread_t __target_thread, int __policy, | |
8390 | __const struct sched_param *__param) | |
8391 | throw () __attribute__ ((__nonnull__ (3))); | |
8392 | ||
8393 | ||
8394 | extern int pthread_getschedparam (pthread_t __target_thread, | |
8395 | int *__restrict __policy, | |
8396 | struct sched_param *__restrict __param) | |
8397 | throw () __attribute__ ((__nonnull__ (2, 3))); | |
8398 | ||
8399 | ||
8400 | extern int pthread_setschedprio (pthread_t __target_thread, int __prio) | |
8401 | throw (); | |
8402 | ||
8403 | ||
8404 | ||
8405 | ||
8406 | extern int pthread_getconcurrency (void) throw (); | |
8407 | ||
8408 | ||
8409 | extern int pthread_setconcurrency (int __level) throw (); | |
8410 | ||
8411 | ||
8412 | ||
8413 | ||
8414 | ||
8415 | ||
8416 | ||
8417 | extern int pthread_yield (void) throw (); | |
8418 | ||
8419 | ||
8420 | ||
8421 | ||
8422 | extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize, | |
8423 | __const cpu_set_t *__cpuset) | |
8424 | throw () __attribute__ ((__nonnull__ (3))); | |
8425 | ||
8426 | ||
8427 | extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize, | |
8428 | cpu_set_t *__cpuset) | |
8429 | throw () __attribute__ ((__nonnull__ (3))); | |
8430 | # 466 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4 | |
8431 | extern int pthread_once (pthread_once_t *__once_control, | |
8432 | void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2))); | |
8433 | # 478 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4 | |
8434 | extern int pthread_setcancelstate (int __state, int *__oldstate); | |
8435 | ||
8436 | ||
8437 | ||
8438 | extern int pthread_setcanceltype (int __type, int *__oldtype); | |
8439 | ||
8440 | ||
8441 | extern int pthread_cancel (pthread_t __th); | |
8442 | ||
8443 | ||
8444 | ||
8445 | ||
8446 | extern void pthread_testcancel (void); | |
8447 | ||
8448 | ||
8449 | ||
8450 | ||
8451 | typedef struct | |
8452 | { | |
8453 | struct | |
8454 | { | |
8455 | __jmp_buf __cancel_jmp_buf; | |
8456 | int __mask_was_saved; | |
8457 | } __cancel_jmp_buf[1]; | |
8458 | void *__pad[4]; | |
8459 | } __pthread_unwind_buf_t __attribute__ ((__aligned__)); | |
8460 | ||
8461 | ||
8462 | ||
8463 | #define __cleanup_fct_attribute | |
8464 | ||
8465 | ||
8466 | ||
8467 | ||
8468 | struct __pthread_cleanup_frame | |
8469 | { | |
8470 | void (*__cancel_routine) (void *); | |
8471 | void *__cancel_arg; | |
8472 | int __do_it; | |
8473 | int __cancel_type; | |
8474 | }; | |
8475 | ||
8476 | ||
8477 | ||
8478 | ||
8479 | class __pthread_cleanup_class | |
8480 | { | |
8481 | void (*__cancel_routine) (void *); | |
8482 | void *__cancel_arg; | |
8483 | int __do_it; | |
8484 | int __cancel_type; | |
8485 | ||
8486 | public: | |
8487 | __pthread_cleanup_class (void (*__fct) (void *), void *__arg) | |
8488 | : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { } | |
8489 | ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); } | |
8490 | void __setdoit (int __newval) { __do_it = __newval; } | |
8491 | void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED, | |
8492 | &__cancel_type); } | |
8493 | void __restore () const { pthread_setcanceltype (__cancel_type, 0); } | |
8494 | }; | |
8495 | # 547 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4 | |
8496 | #define pthread_cleanup_push(routine,arg) do { __pthread_cleanup_class __clframe (routine, arg) | |
8497 | ||
8498 | ||
8499 | ||
8500 | ||
8501 | ||
8502 | #define pthread_cleanup_pop(execute) __clframe.__setdoit (execute); } while (0) | |
8503 | ||
8504 | ||
8505 | ||
8506 | ||
8507 | ||
8508 | ||
8509 | ||
8510 | #define pthread_cleanup_push_defer_np(routine,arg) do { __pthread_cleanup_class __clframe (routine, arg); __clframe.__defer () | |
8511 | ||
8512 | ||
8513 | ||
8514 | ||
8515 | ||
8516 | ||
8517 | ||
8518 | #define pthread_cleanup_pop_restore_np(execute) __clframe.__restore (); __clframe.__setdoit (execute); } while (0) | |
8519 | # 712 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4 | |
8520 | struct __jmp_buf_tag; | |
8521 | extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) throw (); | |
8522 | ||
8523 | ||
8524 | ||
8525 | ||
8526 | ||
8527 | extern int pthread_mutex_init (pthread_mutex_t *__mutex, | |
8528 | __const pthread_mutexattr_t *__mutexattr) | |
8529 | throw () __attribute__ ((__nonnull__ (1))); | |
8530 | ||
8531 | ||
8532 | extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) | |
8533 | throw () __attribute__ ((__nonnull__ (1))); | |
8534 | ||
8535 | ||
8536 | extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) | |
8537 | throw () __attribute__ ((__nonnull__ (1))); | |
8538 | ||
8539 | ||
8540 | extern int pthread_mutex_lock (pthread_mutex_t *__mutex) | |
8541 | throw () __attribute__ ((__nonnull__ (1))); | |
8542 | ||
8543 | ||
8544 | ||
8545 | extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, | |
8546 | __const struct timespec *__restrict | |
8547 | __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); | |
8548 | ||
8549 | ||
8550 | ||
8551 | extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) | |
8552 | throw () __attribute__ ((__nonnull__ (1))); | |
8553 | ||
8554 | ||
8555 | ||
8556 | ||
8557 | extern int pthread_mutex_getprioceiling (__const pthread_mutex_t * | |
8558 | __restrict __mutex, | |
8559 | int *__restrict __prioceiling) | |
8560 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
8561 | ||
8562 | ||
8563 | ||
8564 | extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex, | |
8565 | int __prioceiling, | |
8566 | int *__restrict __old_ceiling) | |
8567 | throw () __attribute__ ((__nonnull__ (1, 3))); | |
8568 | ||
8569 | ||
8570 | ||
8571 | ||
8572 | ||
8573 | extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex) | |
8574 | throw () __attribute__ ((__nonnull__ (1))); | |
8575 | ||
8576 | ||
8577 | ||
8578 | ||
8579 | ||
8580 | ||
8581 | ||
8582 | extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) | |
8583 | throw () __attribute__ ((__nonnull__ (1))); | |
8584 | ||
8585 | ||
8586 | extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) | |
8587 | throw () __attribute__ ((__nonnull__ (1))); | |
8588 | ||
8589 | ||
8590 | extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t * | |
8591 | __restrict __attr, | |
8592 | int *__restrict __pshared) | |
8593 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
8594 | ||
8595 | ||
8596 | extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, | |
8597 | int __pshared) | |
8598 | throw () __attribute__ ((__nonnull__ (1))); | |
8599 | ||
8600 | ||
8601 | ||
8602 | extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__restrict | |
8603 | __attr, int *__restrict __kind) | |
8604 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
8605 | ||
8606 | ||
8607 | ||
8608 | ||
8609 | extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) | |
8610 | throw () __attribute__ ((__nonnull__ (1))); | |
8611 | ||
8612 | ||
8613 | extern int pthread_mutexattr_getprotocol (__const pthread_mutexattr_t * | |
8614 | __restrict __attr, | |
8615 | int *__restrict __protocol) | |
8616 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
8617 | ||
8618 | ||
8619 | ||
8620 | extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr, | |
8621 | int __protocol) | |
8622 | throw () __attribute__ ((__nonnull__ (1))); | |
8623 | ||
8624 | ||
8625 | extern int pthread_mutexattr_getprioceiling (__const pthread_mutexattr_t * | |
8626 | __restrict __attr, | |
8627 | int *__restrict __prioceiling) | |
8628 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
8629 | ||
8630 | ||
8631 | extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr, | |
8632 | int __prioceiling) | |
8633 | throw () __attribute__ ((__nonnull__ (1))); | |
8634 | ||
8635 | ||
8636 | ||
8637 | ||
8638 | extern int pthread_mutexattr_getrobust_np (__const pthread_mutexattr_t *__attr, | |
8639 | int *__robustness) | |
8640 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
8641 | ||
8642 | ||
8643 | extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr, | |
8644 | int __robustness) | |
8645 | throw () __attribute__ ((__nonnull__ (1))); | |
8646 | # 846 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4 | |
8647 | extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, | |
8648 | __const pthread_rwlockattr_t *__restrict | |
8649 | __attr) throw () __attribute__ ((__nonnull__ (1))); | |
8650 | ||
8651 | ||
8652 | extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) | |
8653 | throw () __attribute__ ((__nonnull__ (1))); | |
8654 | ||
8655 | ||
8656 | extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) | |
8657 | throw () __attribute__ ((__nonnull__ (1))); | |
8658 | ||
8659 | ||
8660 | extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) | |
8661 | throw () __attribute__ ((__nonnull__ (1))); | |
8662 | ||
8663 | ||
8664 | ||
8665 | extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, | |
8666 | __const struct timespec *__restrict | |
8667 | __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); | |
8668 | ||
8669 | ||
8670 | ||
8671 | extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) | |
8672 | throw () __attribute__ ((__nonnull__ (1))); | |
8673 | ||
8674 | ||
8675 | extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) | |
8676 | throw () __attribute__ ((__nonnull__ (1))); | |
8677 | ||
8678 | ||
8679 | ||
8680 | extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, | |
8681 | __const struct timespec *__restrict | |
8682 | __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); | |
8683 | ||
8684 | ||
8685 | ||
8686 | extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) | |
8687 | throw () __attribute__ ((__nonnull__ (1))); | |
8688 | ||
8689 | ||
8690 | ||
8691 | ||
8692 | ||
8693 | extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) | |
8694 | throw () __attribute__ ((__nonnull__ (1))); | |
8695 | ||
8696 | ||
8697 | extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) | |
8698 | throw () __attribute__ ((__nonnull__ (1))); | |
8699 | ||
8700 | ||
8701 | extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t * | |
8702 | __restrict __attr, | |
8703 | int *__restrict __pshared) | |
8704 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
8705 | ||
8706 | ||
8707 | extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, | |
8708 | int __pshared) | |
8709 | throw () __attribute__ ((__nonnull__ (1))); | |
8710 | ||
8711 | ||
8712 | extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t * | |
8713 | __restrict __attr, | |
8714 | int *__restrict __pref) | |
8715 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
8716 | ||
8717 | ||
8718 | extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, | |
8719 | int __pref) throw () __attribute__ ((__nonnull__ (1))); | |
8720 | ||
8721 | ||
8722 | ||
8723 | ||
8724 | ||
8725 | ||
8726 | ||
8727 | extern int pthread_cond_init (pthread_cond_t *__restrict __cond, | |
8728 | __const pthread_condattr_t *__restrict | |
8729 | __cond_attr) throw () __attribute__ ((__nonnull__ (1))); | |
8730 | ||
8731 | ||
8732 | extern int pthread_cond_destroy (pthread_cond_t *__cond) | |
8733 | throw () __attribute__ ((__nonnull__ (1))); | |
8734 | ||
8735 | ||
8736 | extern int pthread_cond_signal (pthread_cond_t *__cond) | |
8737 | throw () __attribute__ ((__nonnull__ (1))); | |
8738 | ||
8739 | ||
8740 | extern int pthread_cond_broadcast (pthread_cond_t *__cond) | |
8741 | throw () __attribute__ ((__nonnull__ (1))); | |
8742 | ||
8743 | ||
8744 | ||
8745 | ||
8746 | ||
8747 | ||
8748 | extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, | |
8749 | pthread_mutex_t *__restrict __mutex) | |
8750 | __attribute__ ((__nonnull__ (1, 2))); | |
8751 | # 958 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4 | |
8752 | extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, | |
8753 | pthread_mutex_t *__restrict __mutex, | |
8754 | __const struct timespec *__restrict | |
8755 | __abstime) __attribute__ ((__nonnull__ (1, 2, 3))); | |
8756 | ||
8757 | ||
8758 | ||
8759 | ||
8760 | extern int pthread_condattr_init (pthread_condattr_t *__attr) | |
8761 | throw () __attribute__ ((__nonnull__ (1))); | |
8762 | ||
8763 | ||
8764 | extern int pthread_condattr_destroy (pthread_condattr_t *__attr) | |
8765 | throw () __attribute__ ((__nonnull__ (1))); | |
8766 | ||
8767 | ||
8768 | extern int pthread_condattr_getpshared (__const pthread_condattr_t * | |
8769 | __restrict __attr, | |
8770 | int *__restrict __pshared) | |
8771 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
8772 | ||
8773 | ||
8774 | extern int pthread_condattr_setpshared (pthread_condattr_t *__attr, | |
8775 | int __pshared) throw () __attribute__ ((__nonnull__ (1))); | |
8776 | ||
8777 | ||
8778 | ||
8779 | extern int pthread_condattr_getclock (__const pthread_condattr_t * | |
8780 | __restrict __attr, | |
8781 | __clockid_t *__restrict __clock_id) | |
8782 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
8783 | ||
8784 | ||
8785 | extern int pthread_condattr_setclock (pthread_condattr_t *__attr, | |
8786 | __clockid_t __clock_id) | |
8787 | throw () __attribute__ ((__nonnull__ (1))); | |
8788 | # 1002 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4 | |
8789 | extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared) | |
8790 | throw () __attribute__ ((__nonnull__ (1))); | |
8791 | ||
8792 | ||
8793 | extern int pthread_spin_destroy (pthread_spinlock_t *__lock) | |
8794 | throw () __attribute__ ((__nonnull__ (1))); | |
8795 | ||
8796 | ||
8797 | extern int pthread_spin_lock (pthread_spinlock_t *__lock) | |
8798 | throw () __attribute__ ((__nonnull__ (1))); | |
8799 | ||
8800 | ||
8801 | extern int pthread_spin_trylock (pthread_spinlock_t *__lock) | |
8802 | throw () __attribute__ ((__nonnull__ (1))); | |
8803 | ||
8804 | ||
8805 | extern int pthread_spin_unlock (pthread_spinlock_t *__lock) | |
8806 | throw () __attribute__ ((__nonnull__ (1))); | |
8807 | ||
8808 | ||
8809 | ||
8810 | ||
8811 | ||
8812 | ||
8813 | extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier, | |
8814 | __const pthread_barrierattr_t *__restrict | |
8815 | __attr, unsigned int __count) | |
8816 | throw () __attribute__ ((__nonnull__ (1))); | |
8817 | ||
8818 | ||
8819 | extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) | |
8820 | throw () __attribute__ ((__nonnull__ (1))); | |
8821 | ||
8822 | ||
8823 | extern int pthread_barrier_wait (pthread_barrier_t *__barrier) | |
8824 | throw () __attribute__ ((__nonnull__ (1))); | |
8825 | ||
8826 | ||
8827 | ||
8828 | extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) | |
8829 | throw () __attribute__ ((__nonnull__ (1))); | |
8830 | ||
8831 | ||
8832 | extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) | |
8833 | throw () __attribute__ ((__nonnull__ (1))); | |
8834 | ||
8835 | ||
8836 | extern int pthread_barrierattr_getpshared (__const pthread_barrierattr_t * | |
8837 | __restrict __attr, | |
8838 | int *__restrict __pshared) | |
8839 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
8840 | ||
8841 | ||
8842 | extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, | |
8843 | int __pshared) | |
8844 | throw () __attribute__ ((__nonnull__ (1))); | |
8845 | # 1069 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4 | |
8846 | extern int pthread_key_create (pthread_key_t *__key, | |
8847 | void (*__destr_function) (void *)) | |
8848 | throw () __attribute__ ((__nonnull__ (1))); | |
8849 | ||
8850 | ||
8851 | extern int pthread_key_delete (pthread_key_t __key) throw (); | |
8852 | ||
8853 | ||
8854 | extern void *pthread_getspecific (pthread_key_t __key) throw (); | |
8855 | ||
8856 | ||
8857 | extern int pthread_setspecific (pthread_key_t __key, | |
8858 | __const void *__pointer) throw () ; | |
8859 | ||
8860 | ||
8861 | ||
8862 | ||
8863 | extern int pthread_getcpuclockid (pthread_t __thread_id, | |
8864 | __clockid_t *__clock_id) | |
8865 | throw () __attribute__ ((__nonnull__ (2))); | |
8866 | # 1103 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4 | |
8867 | extern int pthread_atfork (void (*__prepare) (void), | |
8868 | void (*__parent) (void), | |
8869 | void (*__child) (void)) throw (); | |
8870 | # 1117 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4 | |
8871 | } | |
8872 | # 9 "/usr/include/pthread.h" 2 3 4 | |
8873 | # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 2 3 | |
8874 | # 1 "/usr/include/unistd.h" 1 3 4 | |
8875 | ||
8876 | ||
8877 | ||
8878 | ||
8879 | ||
8880 | ||
8881 | ||
8882 | # 1 "/usr/include/gentoo-multilib/amd64/unistd.h" 1 3 4 | |
8883 | # 24 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
8884 | #define _UNISTD_H 1 | |
8885 | ||
8886 | # 1 "/usr/include/features.h" 1 3 4 | |
8887 | # 27 "/usr/include/gentoo-multilib/amd64/unistd.h" 2 3 4 | |
8888 | ||
8889 | extern "C" { | |
8890 | ||
8891 | ||
8892 | ||
8893 | ||
8894 | ||
8895 | #define _POSIX_VERSION 200112L | |
8896 | ||
8897 | ||
8898 | ||
8899 | ||
8900 | ||
8901 | #define _POSIX2_VERSION 200112L | |
8902 | ||
8903 | ||
8904 | ||
8905 | #define _POSIX2_C_BIND 200112L | |
8906 | ||
8907 | ||
8908 | ||
8909 | #define _POSIX2_C_DEV 200112L | |
8910 | ||
8911 | ||
8912 | ||
8913 | #define _POSIX2_SW_DEV 200112L | |
8914 | ||
8915 | ||
8916 | ||
8917 | #define _POSIX2_LOCALEDEF 200112L | |
8918 | ||
8919 | ||
8920 | ||
8921 | #define _XOPEN_VERSION 600 | |
8922 | ||
8923 | ||
8924 | ||
8925 | ||
8926 | ||
8927 | ||
8928 | ||
8929 | #define _XOPEN_XCU_VERSION 4 | |
8930 | ||
8931 | ||
8932 | #define _XOPEN_XPG2 1 | |
8933 | #define _XOPEN_XPG3 1 | |
8934 | #define _XOPEN_XPG4 1 | |
8935 | ||
8936 | ||
8937 | #define _XOPEN_UNIX 1 | |
8938 | ||
8939 | ||
8940 | #define _XOPEN_CRYPT 1 | |
8941 | ||
8942 | ||
8943 | ||
8944 | #define _XOPEN_ENH_I18N 1 | |
8945 | ||
8946 | ||
8947 | #define _XOPEN_LEGACY 1 | |
8948 | # 173 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
8949 | # 1 "/usr/include/bits/posix_opt.h" 1 3 4 | |
8950 | ||
8951 | ||
8952 | ||
8953 | ||
8954 | ||
8955 | ||
8956 | ||
8957 | # 1 "/usr/include/gentoo-multilib/amd64/bits/posix_opt.h" 1 3 4 | |
8958 | # 21 "/usr/include/gentoo-multilib/amd64/bits/posix_opt.h" 3 4 | |
8959 | #define _POSIX_OPT_H 1 | |
8960 | ||
8961 | ||
8962 | #define _POSIX_JOB_CONTROL 1 | |
8963 | ||
8964 | ||
8965 | #define _POSIX_SAVED_IDS 1 | |
8966 | ||
8967 | ||
8968 | #define _POSIX_PRIORITY_SCHEDULING 200112L | |
8969 | ||
8970 | ||
8971 | #define _POSIX_SYNCHRONIZED_IO 200112L | |
8972 | ||
8973 | ||
8974 | #define _POSIX_FSYNC 200112L | |
8975 | ||
8976 | ||
8977 | #define _POSIX_MAPPED_FILES 200112L | |
8978 | ||
8979 | ||
8980 | #define _POSIX_MEMLOCK 200112L | |
8981 | ||
8982 | ||
8983 | #define _POSIX_MEMLOCK_RANGE 200112L | |
8984 | ||
8985 | ||
8986 | #define _POSIX_MEMORY_PROTECTION 200112L | |
8987 | ||
8988 | ||
8989 | #define _POSIX_CHOWN_RESTRICTED 1 | |
8990 | ||
8991 | ||
8992 | ||
8993 | #define _POSIX_VDISABLE '\0' | |
8994 | ||
8995 | ||
8996 | #define _POSIX_NO_TRUNC 1 | |
8997 | ||
8998 | ||
8999 | #define _XOPEN_REALTIME 1 | |
9000 | ||
9001 | ||
9002 | #define _XOPEN_REALTIME_THREADS 1 | |
9003 | ||
9004 | ||
9005 | #define _XOPEN_SHM 1 | |
9006 | ||
9007 | ||
9008 | #define _POSIX_THREADS 200112L | |
9009 | ||
9010 | ||
9011 | #define _POSIX_REENTRANT_FUNCTIONS 1 | |
9012 | #define _POSIX_THREAD_SAFE_FUNCTIONS 200112L | |
9013 | ||
9014 | ||
9015 | #define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L | |
9016 | ||
9017 | ||
9018 | #define _POSIX_THREAD_ATTR_STACKSIZE 200112L | |
9019 | ||
9020 | ||
9021 | #define _POSIX_THREAD_ATTR_STACKADDR 200112L | |
9022 | ||
9023 | ||
9024 | #define _POSIX_THREAD_PRIO_INHERIT 200112L | |
9025 | ||
9026 | ||
9027 | ||
9028 | #define _POSIX_THREAD_PRIO_PROTECT 200112L | |
9029 | ||
9030 | ||
9031 | #define _POSIX_SEMAPHORES 200112L | |
9032 | ||
9033 | ||
9034 | #define _POSIX_REALTIME_SIGNALS 200112L | |
9035 | ||
9036 | ||
9037 | #define _POSIX_ASYNCHRONOUS_IO 200112L | |
9038 | #define _POSIX_ASYNC_IO 1 | |
9039 | ||
9040 | #define _LFS_ASYNCHRONOUS_IO 1 | |
9041 | ||
9042 | #define _POSIX_PRIORITIZED_IO 200112L | |
9043 | ||
9044 | ||
9045 | #define _LFS64_ASYNCHRONOUS_IO 1 | |
9046 | ||
9047 | ||
9048 | #define _LFS_LARGEFILE 1 | |
9049 | #define _LFS64_LARGEFILE 1 | |
9050 | #define _LFS64_STDIO 1 | |
9051 | ||
9052 | ||
9053 | #define _POSIX_SHARED_MEMORY_OBJECTS 200112L | |
9054 | ||
9055 | ||
9056 | #define _POSIX_CPUTIME 0 | |
9057 | ||
9058 | ||
9059 | #define _POSIX_THREAD_CPUTIME 0 | |
9060 | ||
9061 | ||
9062 | #define _POSIX_REGEXP 1 | |
9063 | ||
9064 | ||
9065 | #define _POSIX_READER_WRITER_LOCKS 200112L | |
9066 | ||
9067 | ||
9068 | #define _POSIX_SHELL 1 | |
9069 | ||
9070 | ||
9071 | #define _POSIX_TIMEOUTS 200112L | |
9072 | ||
9073 | ||
9074 | #define _POSIX_SPIN_LOCKS 200112L | |
9075 | ||
9076 | ||
9077 | #define _POSIX_SPAWN 200112L | |
9078 | ||
9079 | ||
9080 | #define _POSIX_TIMERS 200112L | |
9081 | ||
9082 | ||
9083 | #define _POSIX_BARRIERS 200112L | |
9084 | ||
9085 | ||
9086 | #define _POSIX_MESSAGE_PASSING 200112L | |
9087 | ||
9088 | ||
9089 | #define _POSIX_THREAD_PROCESS_SHARED 200112L | |
9090 | ||
9091 | ||
9092 | #define _POSIX_MONOTONIC_CLOCK 0 | |
9093 | ||
9094 | ||
9095 | #define _POSIX_CLOCK_SELECTION 200112L | |
9096 | ||
9097 | ||
9098 | #define _POSIX_ADVISORY_INFO 200112L | |
9099 | ||
9100 | ||
9101 | #define _POSIX_IPV6 200112L | |
9102 | ||
9103 | ||
9104 | #define _POSIX_RAW_SOCKETS 200112L | |
9105 | ||
9106 | ||
9107 | #define _POSIX2_CHAR_TERM 200112L | |
9108 | ||
9109 | ||
9110 | #define _POSIX_SPORADIC_SERVER -1 | |
9111 | #define _POSIX_THREAD_SPORADIC_SERVER -1 | |
9112 | ||
9113 | ||
9114 | #define _POSIX_TRACE -1 | |
9115 | #define _POSIX_TRACE_EVENT_FILTER -1 | |
9116 | #define _POSIX_TRACE_INHERIT -1 | |
9117 | #define _POSIX_TRACE_LOG -1 | |
9118 | ||
9119 | ||
9120 | #define _POSIX_TYPED_MEMORY_OBJECTS -1 | |
9121 | # 9 "/usr/include/bits/posix_opt.h" 2 3 4 | |
9122 | # 174 "/usr/include/gentoo-multilib/amd64/unistd.h" 2 3 4 | |
9123 | ||
9124 | ||
9125 | ||
9126 | # 1 "/usr/include/bits/environments.h" 1 3 4 | |
9127 | ||
9128 | ||
9129 | ||
9130 | ||
9131 | ||
9132 | ||
9133 | ||
9134 | # 1 "/usr/include/gentoo-multilib/amd64/bits/environments.h" 1 3 4 | |
9135 | # 23 "/usr/include/gentoo-multilib/amd64/bits/environments.h" 3 4 | |
9136 | # 1 "/usr/include/bits/wordsize.h" 1 3 4 | |
9137 | ||
9138 | ||
9139 | ||
9140 | ||
9141 | ||
9142 | ||
9143 | ||
9144 | # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4 | |
9145 | ||
9146 | ||
9147 | ||
9148 | #define __WORDSIZE 64 | |
9149 | #define __WORDSIZE_COMPAT32 1 | |
9150 | # 9 "/usr/include/bits/wordsize.h" 2 3 4 | |
9151 | # 24 "/usr/include/gentoo-multilib/amd64/bits/environments.h" 2 3 4 | |
9152 | # 53 "/usr/include/gentoo-multilib/amd64/bits/environments.h" 3 4 | |
9153 | #define _POSIX_V6_LPBIG_OFFBIG -1 | |
9154 | #define _XBS5_LPBIG_OFFBIG -1 | |
9155 | ||
9156 | ||
9157 | #define _POSIX_V6_LP64_OFF64 1 | |
9158 | #define _XBS5_LP64_OFF64 1 | |
9159 | # 82 "/usr/include/gentoo-multilib/amd64/bits/environments.h" 3 4 | |
9160 | #define __ILP32_OFF32_CFLAGS "-m32" | |
9161 | #define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" | |
9162 | #define __ILP32_OFF32_LDFLAGS "-m32" | |
9163 | #define __ILP32_OFFBIG_LDFLAGS "-m32" | |
9164 | #define __LP64_OFF64_CFLAGS "-m64" | |
9165 | #define __LP64_OFF64_LDFLAGS "-m64" | |
9166 | # 9 "/usr/include/bits/environments.h" 2 3 4 | |
9167 | # 178 "/usr/include/gentoo-multilib/amd64/unistd.h" 2 3 4 | |
9168 | ||
9169 | ||
9170 | ||
9171 | #define STDIN_FILENO 0 | |
9172 | #define STDOUT_FILENO 1 | |
9173 | #define STDERR_FILENO 2 | |
9174 | ||
9175 | ||
9176 | ||
9177 | ||
9178 | # 1 "/usr/include/bits/types.h" 1 3 4 | |
9179 | # 189 "/usr/include/gentoo-multilib/amd64/unistd.h" 2 3 4 | |
9180 | ||
9181 | ||
9182 | ||
9183 | ||
9184 | ||
9185 | ||
9186 | #define __need_size_t | |
9187 | #define __need_NULL | |
9188 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 1 3 4 | |
9189 | # 163 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
9190 | #undef __need_ptrdiff_t | |
9191 | # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
9192 | #undef __need_size_t | |
9193 | # 345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
9194 | #undef __need_wchar_t | |
9195 | # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
9196 | #undef NULL | |
9197 | ||
9198 | #define NULL __null | |
9199 | # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
9200 | #undef __need_NULL | |
9201 | ||
9202 | ||
9203 | ||
9204 | ||
9205 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
9206 | # 198 "/usr/include/gentoo-multilib/amd64/unistd.h" 2 3 4 | |
9207 | # 238 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
9208 | typedef __intptr_t intptr_t; | |
9209 | #define __intptr_t_defined | |
9210 | ||
9211 | ||
9212 | ||
9213 | ||
9214 | ||
9215 | typedef __socklen_t socklen_t; | |
9216 | #define __socklen_t_defined | |
9217 | ||
9218 | ||
9219 | ||
9220 | ||
9221 | ||
9222 | #define R_OK 4 | |
9223 | #define W_OK 2 | |
9224 | #define X_OK 1 | |
9225 | #define F_OK 0 | |
9226 | ||
9227 | ||
9228 | extern int access (__const char *__name, int __type) throw () __attribute__ ((__nonnull__ (1))); | |
9229 | ||
9230 | ||
9231 | ||
9232 | ||
9233 | extern int euidaccess (__const char *__name, int __type) | |
9234 | throw () __attribute__ ((__nonnull__ (1))); | |
9235 | ||
9236 | ||
9237 | extern int eaccess (__const char *__name, int __type) | |
9238 | throw () __attribute__ ((__nonnull__ (1))); | |
9239 | ||
9240 | ||
9241 | ||
9242 | ||
9243 | ||
9244 | ||
9245 | extern int faccessat (int __fd, __const char *__file, int __type, int __flag) | |
9246 | throw () __attribute__ ((__nonnull__ (2))) ; | |
9247 | # 289 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
9248 | #define L_SET SEEK_SET | |
9249 | #define L_INCR SEEK_CUR | |
9250 | #define L_XTND SEEK_END | |
9251 | # 301 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
9252 | extern __off_t lseek (int __fd, __off_t __offset, int __whence) throw (); | |
9253 | # 312 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
9254 | extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) | |
9255 | throw (); | |
9256 | ||
9257 | ||
9258 | ||
9259 | ||
9260 | ||
9261 | ||
9262 | extern int close (int __fd); | |
9263 | ||
9264 | ||
9265 | ||
9266 | ||
9267 | ||
9268 | ||
9269 | extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ; | |
9270 | ||
9271 | ||
9272 | ||
9273 | ||
9274 | ||
9275 | extern ssize_t write (int __fd, __const void *__buf, size_t __n) ; | |
9276 | # 343 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
9277 | extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, | |
9278 | __off_t __offset) ; | |
9279 | ||
9280 | ||
9281 | ||
9282 | ||
9283 | ||
9284 | ||
9285 | extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, | |
9286 | __off_t __offset) ; | |
9287 | # 371 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
9288 | extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, | |
9289 | __off64_t __offset) ; | |
9290 | ||
9291 | ||
9292 | extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n, | |
9293 | __off64_t __offset) ; | |
9294 | ||
9295 | ||
9296 | ||
9297 | ||
9298 | ||
9299 | ||
9300 | ||
9301 | extern int pipe (int __pipedes[2]) throw () ; | |
9302 | # 393 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
9303 | extern unsigned int alarm (unsigned int __seconds) throw (); | |
9304 | # 405 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
9305 | extern unsigned int sleep (unsigned int __seconds); | |
9306 | ||
9307 | ||
9308 | ||
9309 | ||
9310 | ||
9311 | ||
9312 | extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) | |
9313 | throw (); | |
9314 | ||
9315 | ||
9316 | ||
9317 | ||
9318 | ||
9319 | ||
9320 | extern int usleep (__useconds_t __useconds); | |
9321 | # 429 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
9322 | extern int pause (void); | |
9323 | ||
9324 | ||
9325 | ||
9326 | extern int chown (__const char *__file, __uid_t __owner, __gid_t __group) | |
9327 | throw () __attribute__ ((__nonnull__ (1))) ; | |
9328 | ||
9329 | ||
9330 | ||
9331 | extern int fchown (int __fd, __uid_t __owner, __gid_t __group) throw () ; | |
9332 | ||
9333 | ||
9334 | ||
9335 | ||
9336 | extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) | |
9337 | throw () __attribute__ ((__nonnull__ (1))) ; | |
9338 | ||
9339 | ||
9340 | ||
9341 | ||
9342 | ||
9343 | ||
9344 | extern int fchownat (int __fd, __const char *__file, __uid_t __owner, | |
9345 | __gid_t __group, int __flag) | |
9346 | throw () __attribute__ ((__nonnull__ (2))) ; | |
9347 | ||
9348 | ||
9349 | ||
9350 | extern int chdir (__const char *__path) throw () __attribute__ ((__nonnull__ (1))) ; | |
9351 | ||
9352 | ||
9353 | ||
9354 | extern int fchdir (int __fd) throw () ; | |
9355 | # 471 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
9356 | extern char *getcwd (char *__buf, size_t __size) throw () ; | |
9357 | ||
9358 | ||
9359 | ||
9360 | ||
9361 | ||
9362 | extern char *get_current_dir_name (void) throw (); | |
9363 | ||
9364 | ||
9365 | ||
9366 | ||
9367 | ||
9368 | ||
9369 | extern char *getwd (char *__buf) | |
9370 | throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) ; | |
9371 | ||
9372 | ||
9373 | ||
9374 | ||
9375 | extern int dup (int __fd) throw () ; | |
9376 | ||
9377 | ||
9378 | extern int dup2 (int __fd, int __fd2) throw (); | |
9379 | ||
9380 | ||
9381 | extern char **__environ; | |
9382 | ||
9383 | extern char **environ; | |
9384 | ||
9385 | ||
9386 | ||
9387 | ||
9388 | ||
9389 | extern int execve (__const char *__path, char *__const __argv[], | |
9390 | char *__const __envp[]) throw () __attribute__ ((__nonnull__ (1))); | |
9391 | ||
9392 | ||
9393 | ||
9394 | ||
9395 | extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[]) | |
9396 | throw (); | |
9397 | ||
9398 | ||
9399 | ||
9400 | ||
9401 | extern int execv (__const char *__path, char *__const __argv[]) | |
9402 | throw () __attribute__ ((__nonnull__ (1))); | |
9403 | ||
9404 | ||
9405 | ||
9406 | extern int execle (__const char *__path, __const char *__arg, ...) | |
9407 | throw () __attribute__ ((__nonnull__ (1))); | |
9408 | ||
9409 | ||
9410 | ||
9411 | extern int execl (__const char *__path, __const char *__arg, ...) | |
9412 | throw () __attribute__ ((__nonnull__ (1))); | |
9413 | ||
9414 | ||
9415 | ||
9416 | extern int execvp (__const char *__file, char *__const __argv[]) | |
9417 | throw () __attribute__ ((__nonnull__ (1))); | |
9418 | ||
9419 | ||
9420 | ||
9421 | ||
9422 | extern int execlp (__const char *__file, __const char *__arg, ...) | |
9423 | throw () __attribute__ ((__nonnull__ (1))); | |
9424 | ||
9425 | ||
9426 | ||
9427 | ||
9428 | extern int nice (int __inc) throw () ; | |
9429 | ||
9430 | ||
9431 | ||
9432 | ||
9433 | extern void _exit (int __status) __attribute__ ((__noreturn__)); | |
9434 | ||
9435 | ||
9436 | ||
9437 | ||
9438 | ||
9439 | # 1 "/usr/include/bits/confname.h" 1 3 4 | |
9440 | ||
9441 | ||
9442 | ||
9443 | ||
9444 | ||
9445 | ||
9446 | ||
9447 | # 1 "/usr/include/gentoo-multilib/amd64/bits/confname.h" 1 3 4 | |
9448 | # 26 "/usr/include/gentoo-multilib/amd64/bits/confname.h" 3 4 | |
9449 | enum | |
9450 | { | |
9451 | _PC_LINK_MAX, | |
9452 | #define _PC_LINK_MAX _PC_LINK_MAX | |
9453 | _PC_MAX_CANON, | |
9454 | #define _PC_MAX_CANON _PC_MAX_CANON | |
9455 | _PC_MAX_INPUT, | |
9456 | #define _PC_MAX_INPUT _PC_MAX_INPUT | |
9457 | _PC_NAME_MAX, | |
9458 | #define _PC_NAME_MAX _PC_NAME_MAX | |
9459 | _PC_PATH_MAX, | |
9460 | #define _PC_PATH_MAX _PC_PATH_MAX | |
9461 | _PC_PIPE_BUF, | |
9462 | #define _PC_PIPE_BUF _PC_PIPE_BUF | |
9463 | _PC_CHOWN_RESTRICTED, | |
9464 | #define _PC_CHOWN_RESTRICTED _PC_CHOWN_RESTRICTED | |
9465 | _PC_NO_TRUNC, | |
9466 | #define _PC_NO_TRUNC _PC_NO_TRUNC | |
9467 | _PC_VDISABLE, | |
9468 | #define _PC_VDISABLE _PC_VDISABLE | |
9469 | _PC_SYNC_IO, | |
9470 | #define _PC_SYNC_IO _PC_SYNC_IO | |
9471 | _PC_ASYNC_IO, | |
9472 | #define _PC_ASYNC_IO _PC_ASYNC_IO | |
9473 | _PC_PRIO_IO, | |
9474 | #define _PC_PRIO_IO _PC_PRIO_IO | |
9475 | _PC_SOCK_MAXBUF, | |
9476 | #define _PC_SOCK_MAXBUF _PC_SOCK_MAXBUF | |
9477 | _PC_FILESIZEBITS, | |
9478 | #define _PC_FILESIZEBITS _PC_FILESIZEBITS | |
9479 | _PC_REC_INCR_XFER_SIZE, | |
9480 | #define _PC_REC_INCR_XFER_SIZE _PC_REC_INCR_XFER_SIZE | |
9481 | _PC_REC_MAX_XFER_SIZE, | |
9482 | #define _PC_REC_MAX_XFER_SIZE _PC_REC_MAX_XFER_SIZE | |
9483 | _PC_REC_MIN_XFER_SIZE, | |
9484 | #define _PC_REC_MIN_XFER_SIZE _PC_REC_MIN_XFER_SIZE | |
9485 | _PC_REC_XFER_ALIGN, | |
9486 | #define _PC_REC_XFER_ALIGN _PC_REC_XFER_ALIGN | |
9487 | _PC_ALLOC_SIZE_MIN, | |
9488 | #define _PC_ALLOC_SIZE_MIN _PC_ALLOC_SIZE_MIN | |
9489 | _PC_SYMLINK_MAX, | |
9490 | #define _PC_SYMLINK_MAX _PC_SYMLINK_MAX | |
9491 | _PC_2_SYMLINKS | |
9492 | #define _PC_2_SYMLINKS _PC_2_SYMLINKS | |
9493 | }; | |
9494 | ||
9495 | ||
9496 | enum | |
9497 | { | |
9498 | _SC_ARG_MAX, | |
9499 | #define _SC_ARG_MAX _SC_ARG_MAX | |
9500 | _SC_CHILD_MAX, | |
9501 | #define _SC_CHILD_MAX _SC_CHILD_MAX | |
9502 | _SC_CLK_TCK, | |
9503 | #define _SC_CLK_TCK _SC_CLK_TCK | |
9504 | _SC_NGROUPS_MAX, | |
9505 | #define _SC_NGROUPS_MAX _SC_NGROUPS_MAX | |
9506 | _SC_OPEN_MAX, | |
9507 | #define _SC_OPEN_MAX _SC_OPEN_MAX | |
9508 | _SC_STREAM_MAX, | |
9509 | #define _SC_STREAM_MAX _SC_STREAM_MAX | |
9510 | _SC_TZNAME_MAX, | |
9511 | #define _SC_TZNAME_MAX _SC_TZNAME_MAX | |
9512 | _SC_JOB_CONTROL, | |
9513 | #define _SC_JOB_CONTROL _SC_JOB_CONTROL | |
9514 | _SC_SAVED_IDS, | |
9515 | #define _SC_SAVED_IDS _SC_SAVED_IDS | |
9516 | _SC_REALTIME_SIGNALS, | |
9517 | #define _SC_REALTIME_SIGNALS _SC_REALTIME_SIGNALS | |
9518 | _SC_PRIORITY_SCHEDULING, | |
9519 | #define _SC_PRIORITY_SCHEDULING _SC_PRIORITY_SCHEDULING | |
9520 | _SC_TIMERS, | |
9521 | #define _SC_TIMERS _SC_TIMERS | |
9522 | _SC_ASYNCHRONOUS_IO, | |
9523 | #define _SC_ASYNCHRONOUS_IO _SC_ASYNCHRONOUS_IO | |
9524 | _SC_PRIORITIZED_IO, | |
9525 | #define _SC_PRIORITIZED_IO _SC_PRIORITIZED_IO | |
9526 | _SC_SYNCHRONIZED_IO, | |
9527 | #define _SC_SYNCHRONIZED_IO _SC_SYNCHRONIZED_IO | |
9528 | _SC_FSYNC, | |
9529 | #define _SC_FSYNC _SC_FSYNC | |
9530 | _SC_MAPPED_FILES, | |
9531 | #define _SC_MAPPED_FILES _SC_MAPPED_FILES | |
9532 | _SC_MEMLOCK, | |
9533 | #define _SC_MEMLOCK _SC_MEMLOCK | |
9534 | _SC_MEMLOCK_RANGE, | |
9535 | #define _SC_MEMLOCK_RANGE _SC_MEMLOCK_RANGE | |
9536 | _SC_MEMORY_PROTECTION, | |
9537 | #define _SC_MEMORY_PROTECTION _SC_MEMORY_PROTECTION | |
9538 | _SC_MESSAGE_PASSING, | |
9539 | #define _SC_MESSAGE_PASSING _SC_MESSAGE_PASSING | |
9540 | _SC_SEMAPHORES, | |
9541 | #define _SC_SEMAPHORES _SC_SEMAPHORES | |
9542 | _SC_SHARED_MEMORY_OBJECTS, | |
9543 | #define _SC_SHARED_MEMORY_OBJECTS _SC_SHARED_MEMORY_OBJECTS | |
9544 | _SC_AIO_LISTIO_MAX, | |
9545 | #define _SC_AIO_LISTIO_MAX _SC_AIO_LISTIO_MAX | |
9546 | _SC_AIO_MAX, | |
9547 | #define _SC_AIO_MAX _SC_AIO_MAX | |
9548 | _SC_AIO_PRIO_DELTA_MAX, | |
9549 | #define _SC_AIO_PRIO_DELTA_MAX _SC_AIO_PRIO_DELTA_MAX | |
9550 | _SC_DELAYTIMER_MAX, | |
9551 | #define _SC_DELAYTIMER_MAX _SC_DELAYTIMER_MAX | |
9552 | _SC_MQ_OPEN_MAX, | |
9553 | #define _SC_MQ_OPEN_MAX _SC_MQ_OPEN_MAX | |
9554 | _SC_MQ_PRIO_MAX, | |
9555 | #define _SC_MQ_PRIO_MAX _SC_MQ_PRIO_MAX | |
9556 | _SC_VERSION, | |
9557 | #define _SC_VERSION _SC_VERSION | |
9558 | _SC_PAGESIZE, | |
9559 | #define _SC_PAGESIZE _SC_PAGESIZE | |
9560 | #define _SC_PAGE_SIZE _SC_PAGESIZE | |
9561 | _SC_RTSIG_MAX, | |
9562 | #define _SC_RTSIG_MAX _SC_RTSIG_MAX | |
9563 | _SC_SEM_NSEMS_MAX, | |
9564 | #define _SC_SEM_NSEMS_MAX _SC_SEM_NSEMS_MAX | |
9565 | _SC_SEM_VALUE_MAX, | |
9566 | #define _SC_SEM_VALUE_MAX _SC_SEM_VALUE_MAX | |
9567 | _SC_SIGQUEUE_MAX, | |
9568 | #define _SC_SIGQUEUE_MAX _SC_SIGQUEUE_MAX | |
9569 | _SC_TIMER_MAX, | |
9570 | #define _SC_TIMER_MAX _SC_TIMER_MAX | |
9571 | ||
9572 | ||
9573 | ||
9574 | _SC_BC_BASE_MAX, | |
9575 | #define _SC_BC_BASE_MAX _SC_BC_BASE_MAX | |
9576 | _SC_BC_DIM_MAX, | |
9577 | #define _SC_BC_DIM_MAX _SC_BC_DIM_MAX | |
9578 | _SC_BC_SCALE_MAX, | |
9579 | #define _SC_BC_SCALE_MAX _SC_BC_SCALE_MAX | |
9580 | _SC_BC_STRING_MAX, | |
9581 | #define _SC_BC_STRING_MAX _SC_BC_STRING_MAX | |
9582 | _SC_COLL_WEIGHTS_MAX, | |
9583 | #define _SC_COLL_WEIGHTS_MAX _SC_COLL_WEIGHTS_MAX | |
9584 | _SC_EQUIV_CLASS_MAX, | |
9585 | #define _SC_EQUIV_CLASS_MAX _SC_EQUIV_CLASS_MAX | |
9586 | _SC_EXPR_NEST_MAX, | |
9587 | #define _SC_EXPR_NEST_MAX _SC_EXPR_NEST_MAX | |
9588 | _SC_LINE_MAX, | |
9589 | #define _SC_LINE_MAX _SC_LINE_MAX | |
9590 | _SC_RE_DUP_MAX, | |
9591 | #define _SC_RE_DUP_MAX _SC_RE_DUP_MAX | |
9592 | _SC_CHARCLASS_NAME_MAX, | |
9593 | #define _SC_CHARCLASS_NAME_MAX _SC_CHARCLASS_NAME_MAX | |
9594 | ||
9595 | _SC_2_VERSION, | |
9596 | #define _SC_2_VERSION _SC_2_VERSION | |
9597 | _SC_2_C_BIND, | |
9598 | #define _SC_2_C_BIND _SC_2_C_BIND | |
9599 | _SC_2_C_DEV, | |
9600 | #define _SC_2_C_DEV _SC_2_C_DEV | |
9601 | _SC_2_FORT_DEV, | |
9602 | #define _SC_2_FORT_DEV _SC_2_FORT_DEV | |
9603 | _SC_2_FORT_RUN, | |
9604 | #define _SC_2_FORT_RUN _SC_2_FORT_RUN | |
9605 | _SC_2_SW_DEV, | |
9606 | #define _SC_2_SW_DEV _SC_2_SW_DEV | |
9607 | _SC_2_LOCALEDEF, | |
9608 | #define _SC_2_LOCALEDEF _SC_2_LOCALEDEF | |
9609 | ||
9610 | _SC_PII, | |
9611 | #define _SC_PII _SC_PII | |
9612 | _SC_PII_XTI, | |
9613 | #define _SC_PII_XTI _SC_PII_XTI | |
9614 | _SC_PII_SOCKET, | |
9615 | #define _SC_PII_SOCKET _SC_PII_SOCKET | |
9616 | _SC_PII_INTERNET, | |
9617 | #define _SC_PII_INTERNET _SC_PII_INTERNET | |
9618 | _SC_PII_OSI, | |
9619 | #define _SC_PII_OSI _SC_PII_OSI | |
9620 | _SC_POLL, | |
9621 | #define _SC_POLL _SC_POLL | |
9622 | _SC_SELECT, | |
9623 | #define _SC_SELECT _SC_SELECT | |
9624 | _SC_UIO_MAXIOV, | |
9625 | #define _SC_UIO_MAXIOV _SC_UIO_MAXIOV | |
9626 | _SC_IOV_MAX = _SC_UIO_MAXIOV, | |
9627 | #define _SC_IOV_MAX _SC_IOV_MAX | |
9628 | _SC_PII_INTERNET_STREAM, | |
9629 | #define _SC_PII_INTERNET_STREAM _SC_PII_INTERNET_STREAM | |
9630 | _SC_PII_INTERNET_DGRAM, | |
9631 | #define _SC_PII_INTERNET_DGRAM _SC_PII_INTERNET_DGRAM | |
9632 | _SC_PII_OSI_COTS, | |
9633 | #define _SC_PII_OSI_COTS _SC_PII_OSI_COTS | |
9634 | _SC_PII_OSI_CLTS, | |
9635 | #define _SC_PII_OSI_CLTS _SC_PII_OSI_CLTS | |
9636 | _SC_PII_OSI_M, | |
9637 | #define _SC_PII_OSI_M _SC_PII_OSI_M | |
9638 | _SC_T_IOV_MAX, | |
9639 | #define _SC_T_IOV_MAX _SC_T_IOV_MAX | |
9640 | ||
9641 | ||
9642 | _SC_THREADS, | |
9643 | #define _SC_THREADS _SC_THREADS | |
9644 | _SC_THREAD_SAFE_FUNCTIONS, | |
9645 | #define _SC_THREAD_SAFE_FUNCTIONS _SC_THREAD_SAFE_FUNCTIONS | |
9646 | _SC_GETGR_R_SIZE_MAX, | |
9647 | #define _SC_GETGR_R_SIZE_MAX _SC_GETGR_R_SIZE_MAX | |
9648 | _SC_GETPW_R_SIZE_MAX, | |
9649 | #define _SC_GETPW_R_SIZE_MAX _SC_GETPW_R_SIZE_MAX | |
9650 | _SC_LOGIN_NAME_MAX, | |
9651 | #define _SC_LOGIN_NAME_MAX _SC_LOGIN_NAME_MAX | |
9652 | _SC_TTY_NAME_MAX, | |
9653 | #define _SC_TTY_NAME_MAX _SC_TTY_NAME_MAX | |
9654 | _SC_THREAD_DESTRUCTOR_ITERATIONS, | |
9655 | #define _SC_THREAD_DESTRUCTOR_ITERATIONS _SC_THREAD_DESTRUCTOR_ITERATIONS | |
9656 | _SC_THREAD_KEYS_MAX, | |
9657 | #define _SC_THREAD_KEYS_MAX _SC_THREAD_KEYS_MAX | |
9658 | _SC_THREAD_STACK_MIN, | |
9659 | #define _SC_THREAD_STACK_MIN _SC_THREAD_STACK_MIN | |
9660 | _SC_THREAD_THREADS_MAX, | |
9661 | #define _SC_THREAD_THREADS_MAX _SC_THREAD_THREADS_MAX | |
9662 | _SC_THREAD_ATTR_STACKADDR, | |
9663 | #define _SC_THREAD_ATTR_STACKADDR _SC_THREAD_ATTR_STACKADDR | |
9664 | _SC_THREAD_ATTR_STACKSIZE, | |
9665 | #define _SC_THREAD_ATTR_STACKSIZE _SC_THREAD_ATTR_STACKSIZE | |
9666 | _SC_THREAD_PRIORITY_SCHEDULING, | |
9667 | #define _SC_THREAD_PRIORITY_SCHEDULING _SC_THREAD_PRIORITY_SCHEDULING | |
9668 | _SC_THREAD_PRIO_INHERIT, | |
9669 | #define _SC_THREAD_PRIO_INHERIT _SC_THREAD_PRIO_INHERIT | |
9670 | _SC_THREAD_PRIO_PROTECT, | |
9671 | #define _SC_THREAD_PRIO_PROTECT _SC_THREAD_PRIO_PROTECT | |
9672 | _SC_THREAD_PROCESS_SHARED, | |
9673 | #define _SC_THREAD_PROCESS_SHARED _SC_THREAD_PROCESS_SHARED | |
9674 | ||
9675 | _SC_NPROCESSORS_CONF, | |
9676 | #define _SC_NPROCESSORS_CONF _SC_NPROCESSORS_CONF | |
9677 | _SC_NPROCESSORS_ONLN, | |
9678 | #define _SC_NPROCESSORS_ONLN _SC_NPROCESSORS_ONLN | |
9679 | _SC_PHYS_PAGES, | |
9680 | #define _SC_PHYS_PAGES _SC_PHYS_PAGES | |
9681 | _SC_AVPHYS_PAGES, | |
9682 | #define _SC_AVPHYS_PAGES _SC_AVPHYS_PAGES | |
9683 | _SC_ATEXIT_MAX, | |
9684 | #define _SC_ATEXIT_MAX _SC_ATEXIT_MAX | |
9685 | _SC_PASS_MAX, | |
9686 | #define _SC_PASS_MAX _SC_PASS_MAX | |
9687 | ||
9688 | _SC_XOPEN_VERSION, | |
9689 | #define _SC_XOPEN_VERSION _SC_XOPEN_VERSION | |
9690 | _SC_XOPEN_XCU_VERSION, | |
9691 | #define _SC_XOPEN_XCU_VERSION _SC_XOPEN_XCU_VERSION | |
9692 | _SC_XOPEN_UNIX, | |
9693 | #define _SC_XOPEN_UNIX _SC_XOPEN_UNIX | |
9694 | _SC_XOPEN_CRYPT, | |
9695 | #define _SC_XOPEN_CRYPT _SC_XOPEN_CRYPT | |
9696 | _SC_XOPEN_ENH_I18N, | |
9697 | #define _SC_XOPEN_ENH_I18N _SC_XOPEN_ENH_I18N | |
9698 | _SC_XOPEN_SHM, | |
9699 | #define _SC_XOPEN_SHM _SC_XOPEN_SHM | |
9700 | ||
9701 | _SC_2_CHAR_TERM, | |
9702 | #define _SC_2_CHAR_TERM _SC_2_CHAR_TERM | |
9703 | _SC_2_C_VERSION, | |
9704 | #define _SC_2_C_VERSION _SC_2_C_VERSION | |
9705 | _SC_2_UPE, | |
9706 | #define _SC_2_UPE _SC_2_UPE | |
9707 | ||
9708 | _SC_XOPEN_XPG2, | |
9709 | #define _SC_XOPEN_XPG2 _SC_XOPEN_XPG2 | |
9710 | _SC_XOPEN_XPG3, | |
9711 | #define _SC_XOPEN_XPG3 _SC_XOPEN_XPG3 | |
9712 | _SC_XOPEN_XPG4, | |
9713 | #define _SC_XOPEN_XPG4 _SC_XOPEN_XPG4 | |
9714 | ||
9715 | _SC_CHAR_BIT, | |
9716 | #define _SC_CHAR_BIT _SC_CHAR_BIT | |
9717 | _SC_CHAR_MAX, | |
9718 | #define _SC_CHAR_MAX _SC_CHAR_MAX | |
9719 | _SC_CHAR_MIN, | |
9720 | #define _SC_CHAR_MIN _SC_CHAR_MIN | |
9721 | _SC_INT_MAX, | |
9722 | #define _SC_INT_MAX _SC_INT_MAX | |
9723 | _SC_INT_MIN, | |
9724 | #define _SC_INT_MIN _SC_INT_MIN | |
9725 | _SC_LONG_BIT, | |
9726 | #define _SC_LONG_BIT _SC_LONG_BIT | |
9727 | _SC_WORD_BIT, | |
9728 | #define _SC_WORD_BIT _SC_WORD_BIT | |
9729 | _SC_MB_LEN_MAX, | |
9730 | #define _SC_MB_LEN_MAX _SC_MB_LEN_MAX | |
9731 | _SC_NZERO, | |
9732 | #define _SC_NZERO _SC_NZERO | |
9733 | _SC_SSIZE_MAX, | |
9734 | #define _SC_SSIZE_MAX _SC_SSIZE_MAX | |
9735 | _SC_SCHAR_MAX, | |
9736 | #define _SC_SCHAR_MAX _SC_SCHAR_MAX | |
9737 | _SC_SCHAR_MIN, | |
9738 | #define _SC_SCHAR_MIN _SC_SCHAR_MIN | |
9739 | _SC_SHRT_MAX, | |
9740 | #define _SC_SHRT_MAX _SC_SHRT_MAX | |
9741 | _SC_SHRT_MIN, | |
9742 | #define _SC_SHRT_MIN _SC_SHRT_MIN | |
9743 | _SC_UCHAR_MAX, | |
9744 | #define _SC_UCHAR_MAX _SC_UCHAR_MAX | |
9745 | _SC_UINT_MAX, | |
9746 | #define _SC_UINT_MAX _SC_UINT_MAX | |
9747 | _SC_ULONG_MAX, | |
9748 | #define _SC_ULONG_MAX _SC_ULONG_MAX | |
9749 | _SC_USHRT_MAX, | |
9750 | #define _SC_USHRT_MAX _SC_USHRT_MAX | |
9751 | ||
9752 | _SC_NL_ARGMAX, | |
9753 | #define _SC_NL_ARGMAX _SC_NL_ARGMAX | |
9754 | _SC_NL_LANGMAX, | |
9755 | #define _SC_NL_LANGMAX _SC_NL_LANGMAX | |
9756 | _SC_NL_MSGMAX, | |
9757 | #define _SC_NL_MSGMAX _SC_NL_MSGMAX | |
9758 | _SC_NL_NMAX, | |
9759 | #define _SC_NL_NMAX _SC_NL_NMAX | |
9760 | _SC_NL_SETMAX, | |
9761 | #define _SC_NL_SETMAX _SC_NL_SETMAX | |
9762 | _SC_NL_TEXTMAX, | |
9763 | #define _SC_NL_TEXTMAX _SC_NL_TEXTMAX | |
9764 | ||
9765 | _SC_XBS5_ILP32_OFF32, | |
9766 | #define _SC_XBS5_ILP32_OFF32 _SC_XBS5_ILP32_OFF32 | |
9767 | _SC_XBS5_ILP32_OFFBIG, | |
9768 | #define _SC_XBS5_ILP32_OFFBIG _SC_XBS5_ILP32_OFFBIG | |
9769 | _SC_XBS5_LP64_OFF64, | |
9770 | #define _SC_XBS5_LP64_OFF64 _SC_XBS5_LP64_OFF64 | |
9771 | _SC_XBS5_LPBIG_OFFBIG, | |
9772 | #define _SC_XBS5_LPBIG_OFFBIG _SC_XBS5_LPBIG_OFFBIG | |
9773 | ||
9774 | _SC_XOPEN_LEGACY, | |
9775 | #define _SC_XOPEN_LEGACY _SC_XOPEN_LEGACY | |
9776 | _SC_XOPEN_REALTIME, | |
9777 | #define _SC_XOPEN_REALTIME _SC_XOPEN_REALTIME | |
9778 | _SC_XOPEN_REALTIME_THREADS, | |
9779 | #define _SC_XOPEN_REALTIME_THREADS _SC_XOPEN_REALTIME_THREADS | |
9780 | ||
9781 | _SC_ADVISORY_INFO, | |
9782 | #define _SC_ADVISORY_INFO _SC_ADVISORY_INFO | |
9783 | _SC_BARRIERS, | |
9784 | #define _SC_BARRIERS _SC_BARRIERS | |
9785 | _SC_BASE, | |
9786 | #define _SC_BASE _SC_BASE | |
9787 | _SC_C_LANG_SUPPORT, | |
9788 | #define _SC_C_LANG_SUPPORT _SC_C_LANG_SUPPORT | |
9789 | _SC_C_LANG_SUPPORT_R, | |
9790 | #define _SC_C_LANG_SUPPORT_R _SC_C_LANG_SUPPORT_R | |
9791 | _SC_CLOCK_SELECTION, | |
9792 | #define _SC_CLOCK_SELECTION _SC_CLOCK_SELECTION | |
9793 | _SC_CPUTIME, | |
9794 | #define _SC_CPUTIME _SC_CPUTIME | |
9795 | _SC_THREAD_CPUTIME, | |
9796 | #define _SC_THREAD_CPUTIME _SC_THREAD_CPUTIME | |
9797 | _SC_DEVICE_IO, | |
9798 | #define _SC_DEVICE_IO _SC_DEVICE_IO | |
9799 | _SC_DEVICE_SPECIFIC, | |
9800 | #define _SC_DEVICE_SPECIFIC _SC_DEVICE_SPECIFIC | |
9801 | _SC_DEVICE_SPECIFIC_R, | |
9802 | #define _SC_DEVICE_SPECIFIC_R _SC_DEVICE_SPECIFIC_R | |
9803 | _SC_FD_MGMT, | |
9804 | #define _SC_FD_MGMT _SC_FD_MGMT | |
9805 | _SC_FIFO, | |
9806 | #define _SC_FIFO _SC_FIFO | |
9807 | _SC_PIPE, | |
9808 | #define _SC_PIPE _SC_PIPE | |
9809 | _SC_FILE_ATTRIBUTES, | |
9810 | #define _SC_FILE_ATTRIBUTES _SC_FILE_ATTRIBUTES | |
9811 | _SC_FILE_LOCKING, | |
9812 | #define _SC_FILE_LOCKING _SC_FILE_LOCKING | |
9813 | _SC_FILE_SYSTEM, | |
9814 | #define _SC_FILE_SYSTEM _SC_FILE_SYSTEM | |
9815 | _SC_MONOTONIC_CLOCK, | |
9816 | #define _SC_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCK | |
9817 | _SC_MULTI_PROCESS, | |
9818 | #define _SC_MULTI_PROCESS _SC_MULTI_PROCESS | |
9819 | _SC_SINGLE_PROCESS, | |
9820 | #define _SC_SINGLE_PROCESS _SC_SINGLE_PROCESS | |
9821 | _SC_NETWORKING, | |
9822 | #define _SC_NETWORKING _SC_NETWORKING | |
9823 | _SC_READER_WRITER_LOCKS, | |
9824 | #define _SC_READER_WRITER_LOCKS _SC_READER_WRITER_LOCKS | |
9825 | _SC_SPIN_LOCKS, | |
9826 | #define _SC_SPIN_LOCKS _SC_SPIN_LOCKS | |
9827 | _SC_REGEXP, | |
9828 | #define _SC_REGEXP _SC_REGEXP | |
9829 | _SC_REGEX_VERSION, | |
9830 | #define _SC_REGEX_VERSION _SC_REGEX_VERSION | |
9831 | _SC_SHELL, | |
9832 | #define _SC_SHELL _SC_SHELL | |
9833 | _SC_SIGNALS, | |
9834 | #define _SC_SIGNALS _SC_SIGNALS | |
9835 | _SC_SPAWN, | |
9836 | #define _SC_SPAWN _SC_SPAWN | |
9837 | _SC_SPORADIC_SERVER, | |
9838 | #define _SC_SPORADIC_SERVER _SC_SPORADIC_SERVER | |
9839 | _SC_THREAD_SPORADIC_SERVER, | |
9840 | #define _SC_THREAD_SPORADIC_SERVER _SC_THREAD_SPORADIC_SERVER | |
9841 | _SC_SYSTEM_DATABASE, | |
9842 | #define _SC_SYSTEM_DATABASE _SC_SYSTEM_DATABASE | |
9843 | _SC_SYSTEM_DATABASE_R, | |
9844 | #define _SC_SYSTEM_DATABASE_R _SC_SYSTEM_DATABASE_R | |
9845 | _SC_TIMEOUTS, | |
9846 | #define _SC_TIMEOUTS _SC_TIMEOUTS | |
9847 | _SC_TYPED_MEMORY_OBJECTS, | |
9848 | #define _SC_TYPED_MEMORY_OBJECTS _SC_TYPED_MEMORY_OBJECTS | |
9849 | _SC_USER_GROUPS, | |
9850 | #define _SC_USER_GROUPS _SC_USER_GROUPS | |
9851 | _SC_USER_GROUPS_R, | |
9852 | #define _SC_USER_GROUPS_R _SC_USER_GROUPS_R | |
9853 | _SC_2_PBS, | |
9854 | #define _SC_2_PBS _SC_2_PBS | |
9855 | _SC_2_PBS_ACCOUNTING, | |
9856 | #define _SC_2_PBS_ACCOUNTING _SC_2_PBS_ACCOUNTING | |
9857 | _SC_2_PBS_LOCATE, | |
9858 | #define _SC_2_PBS_LOCATE _SC_2_PBS_LOCATE | |
9859 | _SC_2_PBS_MESSAGE, | |
9860 | #define _SC_2_PBS_MESSAGE _SC_2_PBS_MESSAGE | |
9861 | _SC_2_PBS_TRACK, | |
9862 | #define _SC_2_PBS_TRACK _SC_2_PBS_TRACK | |
9863 | _SC_SYMLOOP_MAX, | |
9864 | #define _SC_SYMLOOP_MAX _SC_SYMLOOP_MAX | |
9865 | _SC_STREAMS, | |
9866 | #define _SC_STREAMS _SC_STREAMS | |
9867 | _SC_2_PBS_CHECKPOINT, | |
9868 | #define _SC_2_PBS_CHECKPOINT _SC_2_PBS_CHECKPOINT | |
9869 | ||
9870 | _SC_V6_ILP32_OFF32, | |
9871 | #define _SC_V6_ILP32_OFF32 _SC_V6_ILP32_OFF32 | |
9872 | _SC_V6_ILP32_OFFBIG, | |
9873 | #define _SC_V6_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG | |
9874 | _SC_V6_LP64_OFF64, | |
9875 | #define _SC_V6_LP64_OFF64 _SC_V6_LP64_OFF64 | |
9876 | _SC_V6_LPBIG_OFFBIG, | |
9877 | #define _SC_V6_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG | |
9878 | ||
9879 | _SC_HOST_NAME_MAX, | |
9880 | #define _SC_HOST_NAME_MAX _SC_HOST_NAME_MAX | |
9881 | _SC_TRACE, | |
9882 | #define _SC_TRACE _SC_TRACE | |
9883 | _SC_TRACE_EVENT_FILTER, | |
9884 | #define _SC_TRACE_EVENT_FILTER _SC_TRACE_EVENT_FILTER | |
9885 | _SC_TRACE_INHERIT, | |
9886 | #define _SC_TRACE_INHERIT _SC_TRACE_INHERIT | |
9887 | _SC_TRACE_LOG, | |
9888 | #define _SC_TRACE_LOG _SC_TRACE_LOG | |
9889 | ||
9890 | _SC_LEVEL1_ICACHE_SIZE, | |
9891 | #define _SC_LEVEL1_ICACHE_SIZE _SC_LEVEL1_ICACHE_SIZE | |
9892 | _SC_LEVEL1_ICACHE_ASSOC, | |
9893 | #define _SC_LEVEL1_ICACHE_ASSOC _SC_LEVEL1_ICACHE_ASSOC | |
9894 | _SC_LEVEL1_ICACHE_LINESIZE, | |
9895 | #define _SC_LEVEL1_ICACHE_LINESIZE _SC_LEVEL1_ICACHE_LINESIZE | |
9896 | _SC_LEVEL1_DCACHE_SIZE, | |
9897 | #define _SC_LEVEL1_DCACHE_SIZE _SC_LEVEL1_DCACHE_SIZE | |
9898 | _SC_LEVEL1_DCACHE_ASSOC, | |
9899 | #define _SC_LEVEL1_DCACHE_ASSOC _SC_LEVEL1_DCACHE_ASSOC | |
9900 | _SC_LEVEL1_DCACHE_LINESIZE, | |
9901 | #define _SC_LEVEL1_DCACHE_LINESIZE _SC_LEVEL1_DCACHE_LINESIZE | |
9902 | _SC_LEVEL2_CACHE_SIZE, | |
9903 | #define _SC_LEVEL2_CACHE_SIZE _SC_LEVEL2_CACHE_SIZE | |
9904 | _SC_LEVEL2_CACHE_ASSOC, | |
9905 | #define _SC_LEVEL2_CACHE_ASSOC _SC_LEVEL2_CACHE_ASSOC | |
9906 | _SC_LEVEL2_CACHE_LINESIZE, | |
9907 | #define _SC_LEVEL2_CACHE_LINESIZE _SC_LEVEL2_CACHE_LINESIZE | |
9908 | _SC_LEVEL3_CACHE_SIZE, | |
9909 | #define _SC_LEVEL3_CACHE_SIZE _SC_LEVEL3_CACHE_SIZE | |
9910 | _SC_LEVEL3_CACHE_ASSOC, | |
9911 | #define _SC_LEVEL3_CACHE_ASSOC _SC_LEVEL3_CACHE_ASSOC | |
9912 | _SC_LEVEL3_CACHE_LINESIZE, | |
9913 | #define _SC_LEVEL3_CACHE_LINESIZE _SC_LEVEL3_CACHE_LINESIZE | |
9914 | _SC_LEVEL4_CACHE_SIZE, | |
9915 | #define _SC_LEVEL4_CACHE_SIZE _SC_LEVEL4_CACHE_SIZE | |
9916 | _SC_LEVEL4_CACHE_ASSOC, | |
9917 | #define _SC_LEVEL4_CACHE_ASSOC _SC_LEVEL4_CACHE_ASSOC | |
9918 | _SC_LEVEL4_CACHE_LINESIZE, | |
9919 | #define _SC_LEVEL4_CACHE_LINESIZE _SC_LEVEL4_CACHE_LINESIZE | |
9920 | ||
9921 | ||
9922 | _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, | |
9923 | #define _SC_IPV6 _SC_IPV6 | |
9924 | _SC_RAW_SOCKETS | |
9925 | #define _SC_RAW_SOCKETS _SC_RAW_SOCKETS | |
9926 | }; | |
9927 | ||
9928 | ||
9929 | enum | |
9930 | { | |
9931 | _CS_PATH, | |
9932 | #define _CS_PATH _CS_PATH | |
9933 | ||
9934 | _CS_V6_WIDTH_RESTRICTED_ENVS, | |
9935 | #define _CS_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS | |
9936 | #define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS | |
9937 | ||
9938 | _CS_GNU_LIBC_VERSION, | |
9939 | #define _CS_GNU_LIBC_VERSION _CS_GNU_LIBC_VERSION | |
9940 | _CS_GNU_LIBPTHREAD_VERSION, | |
9941 | #define _CS_GNU_LIBPTHREAD_VERSION _CS_GNU_LIBPTHREAD_VERSION | |
9942 | ||
9943 | _CS_LFS_CFLAGS = 1000, | |
9944 | #define _CS_LFS_CFLAGS _CS_LFS_CFLAGS | |
9945 | _CS_LFS_LDFLAGS, | |
9946 | #define _CS_LFS_LDFLAGS _CS_LFS_LDFLAGS | |
9947 | _CS_LFS_LIBS, | |
9948 | #define _CS_LFS_LIBS _CS_LFS_LIBS | |
9949 | _CS_LFS_LINTFLAGS, | |
9950 | #define _CS_LFS_LINTFLAGS _CS_LFS_LINTFLAGS | |
9951 | _CS_LFS64_CFLAGS, | |
9952 | #define _CS_LFS64_CFLAGS _CS_LFS64_CFLAGS | |
9953 | _CS_LFS64_LDFLAGS, | |
9954 | #define _CS_LFS64_LDFLAGS _CS_LFS64_LDFLAGS | |
9955 | _CS_LFS64_LIBS, | |
9956 | #define _CS_LFS64_LIBS _CS_LFS64_LIBS | |
9957 | _CS_LFS64_LINTFLAGS, | |
9958 | #define _CS_LFS64_LINTFLAGS _CS_LFS64_LINTFLAGS | |
9959 | ||
9960 | _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, | |
9961 | #define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS | |
9962 | _CS_XBS5_ILP32_OFF32_LDFLAGS, | |
9963 | #define _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS | |
9964 | _CS_XBS5_ILP32_OFF32_LIBS, | |
9965 | #define _CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS | |
9966 | _CS_XBS5_ILP32_OFF32_LINTFLAGS, | |
9967 | #define _CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS | |
9968 | _CS_XBS5_ILP32_OFFBIG_CFLAGS, | |
9969 | #define _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS | |
9970 | _CS_XBS5_ILP32_OFFBIG_LDFLAGS, | |
9971 | #define _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS | |
9972 | _CS_XBS5_ILP32_OFFBIG_LIBS, | |
9973 | #define _CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBS | |
9974 | _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, | |
9975 | #define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_LINTFLAGS | |
9976 | _CS_XBS5_LP64_OFF64_CFLAGS, | |
9977 | #define _CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS | |
9978 | _CS_XBS5_LP64_OFF64_LDFLAGS, | |
9979 | #define _CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS | |
9980 | _CS_XBS5_LP64_OFF64_LIBS, | |
9981 | #define _CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS | |
9982 | _CS_XBS5_LP64_OFF64_LINTFLAGS, | |
9983 | #define _CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS | |
9984 | _CS_XBS5_LPBIG_OFFBIG_CFLAGS, | |
9985 | #define _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS | |
9986 | _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, | |
9987 | #define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS | |
9988 | _CS_XBS5_LPBIG_OFFBIG_LIBS, | |
9989 | #define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS | |
9990 | _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, | |
9991 | #define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS | |
9992 | ||
9993 | _CS_POSIX_V6_ILP32_OFF32_CFLAGS, | |
9994 | #define _CS_POSIX_V6_ILP32_OFF32_CFLAGS _CS_POSIX_V6_ILP32_OFF32_CFLAGS | |
9995 | _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, | |
9996 | #define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS _CS_POSIX_V6_ILP32_OFF32_LDFLAGS | |
9997 | _CS_POSIX_V6_ILP32_OFF32_LIBS, | |
9998 | #define _CS_POSIX_V6_ILP32_OFF32_LIBS _CS_POSIX_V6_ILP32_OFF32_LIBS | |
9999 | _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, | |
10000 | #define _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS | |
10001 | _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, | |
10002 | #define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS | |
10003 | _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, | |
10004 | #define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS | |
10005 | _CS_POSIX_V6_ILP32_OFFBIG_LIBS, | |
10006 | #define _CS_POSIX_V6_ILP32_OFFBIG_LIBS _CS_POSIX_V6_ILP32_OFFBIG_LIBS | |
10007 | _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, | |
10008 | #define _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS | |
10009 | _CS_POSIX_V6_LP64_OFF64_CFLAGS, | |
10010 | #define _CS_POSIX_V6_LP64_OFF64_CFLAGS _CS_POSIX_V6_LP64_OFF64_CFLAGS | |
10011 | _CS_POSIX_V6_LP64_OFF64_LDFLAGS, | |
10012 | #define _CS_POSIX_V6_LP64_OFF64_LDFLAGS _CS_POSIX_V6_LP64_OFF64_LDFLAGS | |
10013 | _CS_POSIX_V6_LP64_OFF64_LIBS, | |
10014 | #define _CS_POSIX_V6_LP64_OFF64_LIBS _CS_POSIX_V6_LP64_OFF64_LIBS | |
10015 | _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, | |
10016 | #define _CS_POSIX_V6_LP64_OFF64_LINTFLAGS _CS_POSIX_V6_LP64_OFF64_LINTFLAGS | |
10017 | _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, | |
10018 | #define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS | |
10019 | _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, | |
10020 | #define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS | |
10021 | _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, | |
10022 | #define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS | |
10023 | _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS | |
10024 | #define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS | |
10025 | }; | |
10026 | # 9 "/usr/include/bits/confname.h" 2 3 4 | |
10027 | # 555 "/usr/include/gentoo-multilib/amd64/unistd.h" 2 3 4 | |
10028 | ||
10029 | ||
10030 | extern long int pathconf (__const char *__path, int __name) | |
10031 | throw () __attribute__ ((__nonnull__ (1))); | |
10032 | ||
10033 | ||
10034 | extern long int fpathconf (int __fd, int __name) throw (); | |
10035 | ||
10036 | ||
10037 | extern long int sysconf (int __name) throw (); | |
10038 | ||
10039 | ||
10040 | ||
10041 | extern size_t confstr (int __name, char *__buf, size_t __len) throw (); | |
10042 | ||
10043 | ||
10044 | ||
10045 | ||
10046 | extern __pid_t getpid (void) throw (); | |
10047 | ||
10048 | ||
10049 | extern __pid_t getppid (void) throw (); | |
10050 | ||
10051 | ||
10052 | ||
10053 | ||
10054 | extern __pid_t getpgrp (void) throw (); | |
10055 | # 591 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
10056 | extern __pid_t __getpgid (__pid_t __pid) throw (); | |
10057 | ||
10058 | extern __pid_t getpgid (__pid_t __pid) throw (); | |
10059 | ||
10060 | ||
10061 | ||
10062 | ||
10063 | ||
10064 | ||
10065 | extern int setpgid (__pid_t __pid, __pid_t __pgid) throw (); | |
10066 | # 617 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
10067 | extern int setpgrp (void) throw (); | |
10068 | # 634 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
10069 | extern __pid_t setsid (void) throw (); | |
10070 | ||
10071 | ||
10072 | ||
10073 | extern __pid_t getsid (__pid_t __pid) throw (); | |
10074 | ||
10075 | ||
10076 | ||
10077 | extern __uid_t getuid (void) throw (); | |
10078 | ||
10079 | ||
10080 | extern __uid_t geteuid (void) throw (); | |
10081 | ||
10082 | ||
10083 | extern __gid_t getgid (void) throw (); | |
10084 | ||
10085 | ||
10086 | extern __gid_t getegid (void) throw (); | |
10087 | ||
10088 | ||
10089 | ||
10090 | ||
10091 | extern int getgroups (int __size, __gid_t __list[]) throw () ; | |
10092 | ||
10093 | ||
10094 | ||
10095 | extern int group_member (__gid_t __gid) throw (); | |
10096 | ||
10097 | ||
10098 | ||
10099 | ||
10100 | ||
10101 | ||
10102 | extern int setuid (__uid_t __uid) throw (); | |
10103 | ||
10104 | ||
10105 | ||
10106 | ||
10107 | extern int setreuid (__uid_t __ruid, __uid_t __euid) throw (); | |
10108 | ||
10109 | ||
10110 | ||
10111 | ||
10112 | extern int seteuid (__uid_t __uid) throw (); | |
10113 | ||
10114 | ||
10115 | ||
10116 | ||
10117 | ||
10118 | ||
10119 | extern int setgid (__gid_t __gid) throw (); | |
10120 | ||
10121 | ||
10122 | ||
10123 | ||
10124 | extern int setregid (__gid_t __rgid, __gid_t __egid) throw (); | |
10125 | ||
10126 | ||
10127 | ||
10128 | ||
10129 | extern int setegid (__gid_t __gid) throw (); | |
10130 | ||
10131 | ||
10132 | ||
10133 | ||
10134 | ||
10135 | extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid) | |
10136 | throw (); | |
10137 | ||
10138 | ||
10139 | ||
10140 | extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid) | |
10141 | throw (); | |
10142 | ||
10143 | ||
10144 | ||
10145 | extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid) | |
10146 | throw (); | |
10147 | ||
10148 | ||
10149 | ||
10150 | extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid) | |
10151 | throw (); | |
10152 | ||
10153 | ||
10154 | ||
10155 | ||
10156 | ||
10157 | ||
10158 | extern __pid_t fork (void) throw (); | |
10159 | ||
10160 | ||
10161 | ||
10162 | ||
10163 | ||
10164 | ||
10165 | extern __pid_t vfork (void) throw (); | |
10166 | ||
10167 | ||
10168 | ||
10169 | ||
10170 | ||
10171 | extern char *ttyname (int __fd) throw (); | |
10172 | ||
10173 | ||
10174 | ||
10175 | extern int ttyname_r (int __fd, char *__buf, size_t __buflen) | |
10176 | throw () __attribute__ ((__nonnull__ (2))) ; | |
10177 | ||
10178 | ||
10179 | ||
10180 | extern int isatty (int __fd) throw (); | |
10181 | ||
10182 | ||
10183 | ||
10184 | ||
10185 | ||
10186 | extern int ttyslot (void) throw (); | |
10187 | ||
10188 | ||
10189 | ||
10190 | ||
10191 | extern int link (__const char *__from, __const char *__to) | |
10192 | throw () __attribute__ ((__nonnull__ (1, 2))) ; | |
10193 | ||
10194 | ||
10195 | ||
10196 | ||
10197 | extern int linkat (int __fromfd, __const char *__from, int __tofd, | |
10198 | __const char *__to, int __flags) | |
10199 | throw () __attribute__ ((__nonnull__ (2, 4))) ; | |
10200 | ||
10201 | ||
10202 | ||
10203 | ||
10204 | extern int symlink (__const char *__from, __const char *__to) | |
10205 | throw () __attribute__ ((__nonnull__ (1, 2))) ; | |
10206 | ||
10207 | ||
10208 | ||
10209 | ||
10210 | extern ssize_t readlink (__const char *__restrict __path, | |
10211 | char *__restrict __buf, size_t __len) | |
10212 | throw () __attribute__ ((__nonnull__ (1, 2))) ; | |
10213 | ||
10214 | ||
10215 | ||
10216 | ||
10217 | extern int symlinkat (__const char *__from, int __tofd, | |
10218 | __const char *__to) throw () __attribute__ ((__nonnull__ (1, 3))) ; | |
10219 | ||
10220 | ||
10221 | extern ssize_t readlinkat (int __fd, __const char *__restrict __path, | |
10222 | char *__restrict __buf, size_t __len) | |
10223 | throw () __attribute__ ((__nonnull__ (2, 3))) ; | |
10224 | ||
10225 | ||
10226 | ||
10227 | extern int unlink (__const char *__name) throw () __attribute__ ((__nonnull__ (1))); | |
10228 | ||
10229 | ||
10230 | ||
10231 | extern int unlinkat (int __fd, __const char *__name, int __flag) | |
10232 | throw () __attribute__ ((__nonnull__ (2))); | |
10233 | ||
10234 | ||
10235 | ||
10236 | extern int rmdir (__const char *__path) throw () __attribute__ ((__nonnull__ (1))); | |
10237 | ||
10238 | ||
10239 | ||
10240 | extern __pid_t tcgetpgrp (int __fd) throw (); | |
10241 | ||
10242 | ||
10243 | extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) throw (); | |
10244 | ||
10245 | ||
10246 | ||
10247 | ||
10248 | ||
10249 | ||
10250 | extern char *getlogin (void); | |
10251 | ||
10252 | ||
10253 | ||
10254 | ||
10255 | ||
10256 | ||
10257 | ||
10258 | extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1))); | |
10259 | ||
10260 | ||
10261 | ||
10262 | ||
10263 | extern int setlogin (__const char *__name) throw () __attribute__ ((__nonnull__ (1))); | |
10264 | ||
10265 | ||
10266 | ||
10267 | ||
10268 | ||
10269 | ||
10270 | ||
10271 | #define __need_getopt | |
10272 | # 1 "/usr/include/getopt.h" 1 3 4 | |
10273 | ||
10274 | ||
10275 | ||
10276 | ||
10277 | ||
10278 | ||
10279 | ||
10280 | # 1 "/usr/include/gentoo-multilib/amd64/getopt.h" 1 3 4 | |
10281 | # 50 "/usr/include/gentoo-multilib/amd64/getopt.h" 3 4 | |
10282 | extern "C" { | |
10283 | # 59 "/usr/include/gentoo-multilib/amd64/getopt.h" 3 4 | |
10284 | extern char *optarg; | |
10285 | # 73 "/usr/include/gentoo-multilib/amd64/getopt.h" 3 4 | |
10286 | extern int optind; | |
10287 | ||
10288 | ||
10289 | ||
10290 | ||
10291 | extern int opterr; | |
10292 | ||
10293 | ||
10294 | ||
10295 | extern int optopt; | |
10296 | # 152 "/usr/include/gentoo-multilib/amd64/getopt.h" 3 4 | |
10297 | extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) | |
10298 | throw (); | |
10299 | # 171 "/usr/include/gentoo-multilib/amd64/getopt.h" 3 4 | |
10300 | } | |
10301 | ||
10302 | ||
10303 | ||
10304 | #undef __need_getopt | |
10305 | # 9 "/usr/include/getopt.h" 2 3 4 | |
10306 | # 838 "/usr/include/gentoo-multilib/amd64/unistd.h" 2 3 4 | |
10307 | ||
10308 | ||
10309 | ||
10310 | ||
10311 | ||
10312 | ||
10313 | ||
10314 | extern int gethostname (char *__name, size_t __len) throw () __attribute__ ((__nonnull__ (1))); | |
10315 | ||
10316 | ||
10317 | ||
10318 | ||
10319 | ||
10320 | ||
10321 | extern int sethostname (__const char *__name, size_t __len) | |
10322 | throw () __attribute__ ((__nonnull__ (1))) ; | |
10323 | ||
10324 | ||
10325 | ||
10326 | extern int sethostid (long int __id) throw () ; | |
10327 | ||
10328 | ||
10329 | ||
10330 | ||
10331 | ||
10332 | extern int getdomainname (char *__name, size_t __len) | |
10333 | throw () __attribute__ ((__nonnull__ (1))) ; | |
10334 | extern int setdomainname (__const char *__name, size_t __len) | |
10335 | throw () __attribute__ ((__nonnull__ (1))) ; | |
10336 | ||
10337 | ||
10338 | ||
10339 | ||
10340 | ||
10341 | extern int vhangup (void) throw (); | |
10342 | ||
10343 | ||
10344 | extern int revoke (__const char *__file) throw () __attribute__ ((__nonnull__ (1))) ; | |
10345 | ||
10346 | ||
10347 | ||
10348 | ||
10349 | ||
10350 | ||
10351 | ||
10352 | extern int profil (unsigned short int *__sample_buffer, size_t __size, | |
10353 | size_t __offset, unsigned int __scale) | |
10354 | throw () __attribute__ ((__nonnull__ (1))); | |
10355 | ||
10356 | ||
10357 | ||
10358 | ||
10359 | ||
10360 | extern int acct (__const char *__name) throw (); | |
10361 | ||
10362 | ||
10363 | ||
10364 | extern char *getusershell (void) throw (); | |
10365 | extern void endusershell (void) throw (); | |
10366 | extern void setusershell (void) throw (); | |
10367 | ||
10368 | ||
10369 | ||
10370 | ||
10371 | ||
10372 | extern int daemon (int __nochdir, int __noclose) throw () ; | |
10373 | ||
10374 | ||
10375 | ||
10376 | ||
10377 | ||
10378 | ||
10379 | extern int chroot (__const char *__path) throw () __attribute__ ((__nonnull__ (1))) ; | |
10380 | ||
10381 | ||
10382 | ||
10383 | extern char *getpass (__const char *__prompt) __attribute__ ((__nonnull__ (1))); | |
10384 | # 923 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
10385 | extern int fsync (int __fd); | |
10386 | ||
10387 | ||
10388 | ||
10389 | ||
10390 | ||
10391 | ||
10392 | extern long int gethostid (void); | |
10393 | ||
10394 | ||
10395 | extern void sync (void) throw (); | |
10396 | ||
10397 | ||
10398 | ||
10399 | ||
10400 | extern int getpagesize (void) throw () __attribute__ ((__const__)); | |
10401 | ||
10402 | ||
10403 | ||
10404 | ||
10405 | extern int getdtablesize (void) throw (); | |
10406 | ||
10407 | ||
10408 | ||
10409 | ||
10410 | extern int truncate (__const char *__file, __off_t __length) | |
10411 | throw () __attribute__ ((__nonnull__ (1))) ; | |
10412 | # 960 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
10413 | extern int truncate64 (__const char *__file, __off64_t __length) | |
10414 | throw () __attribute__ ((__nonnull__ (1))) ; | |
10415 | # 970 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
10416 | extern int ftruncate (int __fd, __off_t __length) throw () ; | |
10417 | # 980 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
10418 | extern int ftruncate64 (int __fd, __off64_t __length) throw () ; | |
10419 | # 990 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
10420 | extern int brk (void *__addr) throw () ; | |
10421 | ||
10422 | ||
10423 | ||
10424 | ||
10425 | ||
10426 | extern void *sbrk (intptr_t __delta) throw (); | |
10427 | # 1011 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
10428 | extern long int syscall (long int __sysno, ...) throw (); | |
10429 | # 1028 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
10430 | #define F_ULOCK 0 | |
10431 | #define F_LOCK 1 | |
10432 | #define F_TLOCK 2 | |
10433 | #define F_TEST 3 | |
10434 | ||
10435 | ||
10436 | extern int lockf (int __fd, int __cmd, __off_t __len) ; | |
10437 | # 1044 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
10438 | extern int lockf64 (int __fd, int __cmd, __off64_t __len) ; | |
10439 | # 1054 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
10440 | #define TEMP_FAILURE_RETRY(expression) (__extension__ ({ long int __result; do __result = (long int) (expression); while (__result == -1L && errno == EINTR); __result; })) | |
10441 | # 1065 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
10442 | extern int fdatasync (int __fildes); | |
10443 | ||
10444 | ||
10445 | ||
10446 | ||
10447 | ||
10448 | ||
10449 | ||
10450 | extern char *crypt (__const char *__key, __const char *__salt) | |
10451 | throw () __attribute__ ((__nonnull__ (1, 2))); | |
10452 | ||
10453 | ||
10454 | ||
10455 | extern void encrypt (char *__block, int __edflag) throw () __attribute__ ((__nonnull__ (1))); | |
10456 | ||
10457 | ||
10458 | ||
10459 | ||
10460 | ||
10461 | ||
10462 | extern void swab (__const void *__restrict __from, void *__restrict __to, | |
10463 | ssize_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); | |
10464 | ||
10465 | ||
10466 | ||
10467 | ||
10468 | ||
10469 | ||
10470 | ||
10471 | extern char *ctermid (char *__s) throw (); | |
10472 | # 1103 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4 | |
10473 | } | |
10474 | # 9 "/usr/include/unistd.h" 2 3 4 | |
10475 | # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 2 3 | |
10476 | ||
10477 | typedef pthread_key_t __gthread_key_t; | |
10478 | typedef pthread_once_t __gthread_once_t; | |
10479 | typedef pthread_mutex_t __gthread_mutex_t; | |
10480 | typedef pthread_mutex_t __gthread_recursive_mutex_t; | |
10481 | ||
10482 | #define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER | |
10483 | #define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT | |
10484 | ||
10485 | ||
10486 | ||
10487 | #define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP | |
10488 | ||
10489 | ||
10490 | ||
10491 | ||
10492 | ||
10493 | ||
10494 | #define __gthrw_pragma(pragma) | |
10495 | ||
10496 | #define __gthrw2(name,name2,type) static __typeof(type) name __attribute__ ((__weakref__(#name2))); __gthrw_pragma(weak type) | |
10497 | ||
10498 | ||
10499 | #define __gthrw_(name) __gthrw_ ## name | |
10500 | ||
10501 | ||
10502 | ||
10503 | ||
10504 | ||
10505 | ||
10506 | #define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) | |
10507 | # 92 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 | |
10508 | static __typeof(pthread_once) __gthrw_pthread_once __attribute__ ((__weakref__("pthread_once"))); | |
10509 | static __typeof(pthread_getspecific) __gthrw_pthread_getspecific __attribute__ ((__weakref__("pthread_getspecific"))); | |
10510 | static __typeof(pthread_setspecific) __gthrw_pthread_setspecific __attribute__ ((__weakref__("pthread_setspecific"))); | |
10511 | static __typeof(pthread_create) __gthrw_pthread_create __attribute__ ((__weakref__("pthread_create"))); | |
10512 | static __typeof(pthread_cancel) __gthrw_pthread_cancel __attribute__ ((__weakref__("pthread_cancel"))); | |
10513 | static __typeof(pthread_mutex_lock) __gthrw_pthread_mutex_lock __attribute__ ((__weakref__("pthread_mutex_lock"))); | |
10514 | static __typeof(pthread_mutex_trylock) __gthrw_pthread_mutex_trylock __attribute__ ((__weakref__("pthread_mutex_trylock"))); | |
10515 | static __typeof(pthread_mutex_unlock) __gthrw_pthread_mutex_unlock __attribute__ ((__weakref__("pthread_mutex_unlock"))); | |
10516 | static __typeof(pthread_mutex_init) __gthrw_pthread_mutex_init __attribute__ ((__weakref__("pthread_mutex_init"))); | |
10517 | ||
10518 | ||
10519 | static __typeof(pthread_key_create) __gthrw_pthread_key_create __attribute__ ((__weakref__("pthread_key_create"))); | |
10520 | static __typeof(pthread_key_delete) __gthrw_pthread_key_delete __attribute__ ((__weakref__("pthread_key_delete"))); | |
10521 | static __typeof(pthread_mutexattr_init) __gthrw_pthread_mutexattr_init __attribute__ ((__weakref__("pthread_mutexattr_init"))); | |
10522 | static __typeof(pthread_mutexattr_settype) __gthrw_pthread_mutexattr_settype __attribute__ ((__weakref__("pthread_mutexattr_settype"))); | |
10523 | static __typeof(pthread_mutexattr_destroy) __gthrw_pthread_mutexattr_destroy __attribute__ ((__weakref__("pthread_mutexattr_destroy"))); | |
10524 | # 202 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 | |
10525 | static inline int | |
10526 | __gthread_active_p (void) | |
10527 | { | |
10528 | static void *const __gthread_active_ptr | |
10529 | = __extension__ (void *) &__gthrw_pthread_cancel; | |
10530 | return __gthread_active_ptr != 0; | |
10531 | } | |
10532 | # 571 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 | |
10533 | static inline int | |
10534 | __gthread_once (__gthread_once_t *once, void (*func) (void)) | |
10535 | { | |
10536 | if (__gthread_active_p ()) | |
10537 | return __gthrw_pthread_once (once, func); | |
10538 | else | |
10539 | return -1; | |
10540 | } | |
10541 | ||
10542 | static inline int | |
10543 | __gthread_key_create (__gthread_key_t *key, void (*dtor) (void *)) | |
10544 | { | |
10545 | return __gthrw_pthread_key_create (key, dtor); | |
10546 | } | |
10547 | ||
10548 | static inline int | |
10549 | __gthread_key_delete (__gthread_key_t key) | |
10550 | { | |
10551 | return __gthrw_pthread_key_delete (key); | |
10552 | } | |
10553 | ||
10554 | static inline void * | |
10555 | __gthread_getspecific (__gthread_key_t key) | |
10556 | { | |
10557 | return __gthrw_pthread_getspecific (key); | |
10558 | } | |
10559 | ||
10560 | static inline int | |
10561 | __gthread_setspecific (__gthread_key_t key, const void *ptr) | |
10562 | { | |
10563 | return __gthrw_pthread_setspecific (key, ptr); | |
10564 | } | |
10565 | ||
10566 | static inline int | |
10567 | __gthread_mutex_lock (__gthread_mutex_t *mutex) | |
10568 | { | |
10569 | if (__gthread_active_p ()) | |
10570 | return __gthrw_pthread_mutex_lock (mutex); | |
10571 | else | |
10572 | return 0; | |
10573 | } | |
10574 | ||
10575 | static inline int | |
10576 | __gthread_mutex_trylock (__gthread_mutex_t *mutex) | |
10577 | { | |
10578 | if (__gthread_active_p ()) | |
10579 | return __gthrw_pthread_mutex_trylock (mutex); | |
10580 | else | |
10581 | return 0; | |
10582 | } | |
10583 | ||
10584 | static inline int | |
10585 | __gthread_mutex_unlock (__gthread_mutex_t *mutex) | |
10586 | { | |
10587 | if (__gthread_active_p ()) | |
10588 | return __gthrw_pthread_mutex_unlock (mutex); | |
10589 | else | |
10590 | return 0; | |
10591 | } | |
10592 | # 653 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 | |
10593 | static inline int | |
10594 | __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex) | |
10595 | { | |
10596 | return __gthread_mutex_lock (mutex); | |
10597 | } | |
10598 | ||
10599 | static inline int | |
10600 | __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex) | |
10601 | { | |
10602 | return __gthread_mutex_trylock (mutex); | |
10603 | } | |
10604 | ||
10605 | static inline int | |
10606 | __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex) | |
10607 | { | |
10608 | return __gthread_mutex_unlock (mutex); | |
10609 | } | |
10610 | # 115 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h" 2 3 | |
10611 | ||
10612 | ||
10613 | ||
10614 | ||
10615 | ||
10616 | ||
10617 | ||
10618 | #pragma GCC visibility pop | |
10619 | # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++io.h" 2 3 | |
10620 | ||
10621 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
10622 | ||
10623 | typedef __gthread_mutex_t __c_lock; | |
10624 | ||
10625 | ||
10626 | typedef FILE __c_file; | |
10627 | ||
10628 | } | |
10629 | # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/iosfwd" 2 3 | |
10630 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cctype" 1 3 | |
10631 | # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cctype" 3 | |
10632 | #define _GLIBCXX_CCTYPE 1 | |
10633 | ||
10634 | ||
10635 | # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cctype" 3 | |
10636 | ||
10637 | ||
10638 | # 1 "/usr/include/ctype.h" 1 3 4 | |
10639 | ||
10640 | ||
10641 | ||
10642 | ||
10643 | ||
10644 | ||
10645 | ||
10646 | # 1 "/usr/include/gentoo-multilib/amd64/ctype.h" 1 3 4 | |
10647 | # 25 "/usr/include/gentoo-multilib/amd64/ctype.h" 3 4 | |
10648 | #define _CTYPE_H 1 | |
10649 | ||
10650 | # 1 "/usr/include/features.h" 1 3 4 | |
10651 | # 28 "/usr/include/gentoo-multilib/amd64/ctype.h" 2 3 4 | |
10652 | # 1 "/usr/include/bits/types.h" 1 3 4 | |
10653 | # 29 "/usr/include/gentoo-multilib/amd64/ctype.h" 2 3 4 | |
10654 | ||
10655 | extern "C" { | |
10656 | # 41 "/usr/include/gentoo-multilib/amd64/ctype.h" 3 4 | |
10657 | # 1 "/usr/include/endian.h" 1 3 4 | |
10658 | # 42 "/usr/include/gentoo-multilib/amd64/ctype.h" 2 3 4 | |
10659 | ||
10660 | ||
10661 | ||
10662 | #define _ISbit(bit) ((bit) < 8 ? ((1 << (bit)) << 8) : ((1 << (bit)) >> 8)) | |
10663 | ||
10664 | ||
10665 | enum | |
10666 | { | |
10667 | _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), | |
10668 | _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), | |
10669 | _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), | |
10670 | _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), | |
10671 | _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), | |
10672 | _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), | |
10673 | _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), | |
10674 | _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), | |
10675 | _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), | |
10676 | _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), | |
10677 | _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), | |
10678 | _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) | |
10679 | }; | |
10680 | # 81 "/usr/include/gentoo-multilib/amd64/ctype.h" 3 4 | |
10681 | extern __const unsigned short int **__ctype_b_loc (void) | |
10682 | __attribute__ ((__const)); | |
10683 | extern __const __int32_t **__ctype_tolower_loc (void) | |
10684 | __attribute__ ((__const)); | |
10685 | extern __const __int32_t **__ctype_toupper_loc (void) | |
10686 | __attribute__ ((__const)); | |
10687 | ||
10688 | #define __isctype(c,type) ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) | |
10689 | ||
10690 | ||
10691 | #define __isascii(c) (((c) & ~0x7f) == 0) | |
10692 | #define __toascii(c) ((c) & 0x7f) | |
10693 | ||
10694 | #define __exctype(name) extern int name (int) __THROW | |
10695 | ||
10696 | ||
10697 | ||
10698 | ||
10699 | ||
10700 | ||
10701 | ||
10702 | extern int isalnum (int) throw (); | |
10703 | extern int isalpha (int) throw (); | |
10704 | extern int iscntrl (int) throw (); | |
10705 | extern int isdigit (int) throw (); | |
10706 | extern int islower (int) throw (); | |
10707 | extern int isgraph (int) throw (); | |
10708 | extern int isprint (int) throw (); | |
10709 | extern int ispunct (int) throw (); | |
10710 | extern int isspace (int) throw (); | |
10711 | extern int isupper (int) throw (); | |
10712 | extern int isxdigit (int) throw (); | |
10713 | ||
10714 | ||
10715 | ||
10716 | extern int tolower (int __c) throw (); | |
10717 | ||
10718 | ||
10719 | extern int toupper (int __c) throw (); | |
10720 | ||
10721 | ||
10722 | ||
10723 | ||
10724 | ||
10725 | ||
10726 | ||
10727 | ||
10728 | extern int isblank (int) throw (); | |
10729 | ||
10730 | ||
10731 | ||
10732 | ||
10733 | ||
10734 | ||
10735 | extern int isctype (int __c, int __mask) throw (); | |
10736 | ||
10737 | ||
10738 | ||
10739 | ||
10740 | ||
10741 | ||
10742 | extern int isascii (int __c) throw (); | |
10743 | ||
10744 | ||
10745 | ||
10746 | extern int toascii (int __c) throw (); | |
10747 | ||
10748 | ||
10749 | ||
10750 | extern int _toupper (int) throw (); | |
10751 | extern int _tolower (int) throw (); | |
10752 | ||
10753 | ||
10754 | ||
10755 | #define __tobody(c,f,a,args) (__extension__ ({ int __res; if (sizeof (c) > 1) { if (__builtin_constant_p (c)) { int __c = (c); __res = __c < -128 || __c > 255 ? __c : (a)[__c]; } else __res = f args; } else __res = (a)[(int) (c)]; __res; })) | |
10756 | # 233 "/usr/include/gentoo-multilib/amd64/ctype.h" 3 4 | |
10757 | # 1 "/usr/include/xlocale.h" 1 3 4 | |
10758 | # 234 "/usr/include/gentoo-multilib/amd64/ctype.h" 2 3 4 | |
10759 | ||
10760 | ||
10761 | ||
10762 | #define __isctype_l(c,type,locale) ((locale)->__ctype_b[(int) (c)] & (unsigned short int) type) | |
10763 | ||
10764 | ||
10765 | #define __exctype_l(name) extern int name (int, __locale_t) __THROW | |
10766 | ||
10767 | ||
10768 | ||
10769 | ||
10770 | ||
10771 | ||
10772 | extern int isalnum_l (int, __locale_t) throw (); | |
10773 | extern int isalpha_l (int, __locale_t) throw (); | |
10774 | extern int iscntrl_l (int, __locale_t) throw (); | |
10775 | extern int isdigit_l (int, __locale_t) throw (); | |
10776 | extern int islower_l (int, __locale_t) throw (); | |
10777 | extern int isgraph_l (int, __locale_t) throw (); | |
10778 | extern int isprint_l (int, __locale_t) throw (); | |
10779 | extern int ispunct_l (int, __locale_t) throw (); | |
10780 | extern int isspace_l (int, __locale_t) throw (); | |
10781 | extern int isupper_l (int, __locale_t) throw (); | |
10782 | extern int isxdigit_l (int, __locale_t) throw (); | |
10783 | ||
10784 | extern int isblank_l (int, __locale_t) throw (); | |
10785 | ||
10786 | ||
10787 | ||
10788 | extern int __tolower_l (int __c, __locale_t __l) throw (); | |
10789 | extern int tolower_l (int __c, __locale_t __l) throw (); | |
10790 | ||
10791 | ||
10792 | extern int __toupper_l (int __c, __locale_t __l) throw (); | |
10793 | extern int toupper_l (int __c, __locale_t __l) throw (); | |
10794 | # 323 "/usr/include/gentoo-multilib/amd64/ctype.h" 3 4 | |
10795 | } | |
10796 | # 9 "/usr/include/ctype.h" 2 3 4 | |
10797 | # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cctype" 2 3 | |
10798 | ||
10799 | ||
10800 | #undef isalnum | |
10801 | #undef isalpha | |
10802 | #undef iscntrl | |
10803 | #undef isdigit | |
10804 | #undef isgraph | |
10805 | #undef islower | |
10806 | #undef isprint | |
10807 | #undef ispunct | |
10808 | #undef isspace | |
10809 | #undef isupper | |
10810 | #undef isxdigit | |
10811 | #undef tolower | |
10812 | #undef toupper | |
10813 | ||
10814 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
10815 | ||
10816 | using ::isalnum; | |
10817 | using ::isalpha; | |
10818 | using ::iscntrl; | |
10819 | using ::isdigit; | |
10820 | using ::isgraph; | |
10821 | using ::islower; | |
10822 | using ::isprint; | |
10823 | using ::ispunct; | |
10824 | using ::isspace; | |
10825 | using ::isupper; | |
10826 | using ::isxdigit; | |
10827 | using ::tolower; | |
10828 | using ::toupper; | |
10829 | ||
10830 | } | |
10831 | # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/iosfwd" 2 3 | |
10832 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stringfwd.h" 1 3 | |
10833 | # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stringfwd.h" 3 | |
10834 | #define _STRINGFWD_H 1 | |
10835 | ||
10836 | ||
10837 | # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stringfwd.h" 3 | |
10838 | ||
10839 | ||
10840 | ||
10841 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
10842 | ||
10843 | template<typename _Alloc> | |
10844 | class allocator; | |
10845 | ||
10846 | template<class _CharT> | |
10847 | struct char_traits; | |
10848 | ||
10849 | template<typename _CharT, typename _Traits = char_traits<_CharT>, | |
10850 | typename _Alloc = allocator<_CharT> > | |
10851 | class basic_string; | |
10852 | ||
10853 | template<> struct char_traits<char>; | |
10854 | ||
10855 | typedef basic_string<char> string; | |
10856 | ||
10857 | ||
10858 | template<> struct char_traits<wchar_t>; | |
10859 | ||
10860 | typedef basic_string<wchar_t> wstring; | |
10861 | ||
10862 | ||
10863 | } | |
10864 | # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/iosfwd" 2 3 | |
10865 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/postypes.h" 1 3 | |
10866 | # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/postypes.h" 3 | |
10867 | #define _GLIBCXX_POSTYPES_H 1 | |
10868 | ||
10869 | ||
10870 | # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/postypes.h" 3 | |
10871 | ||
10872 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cwchar" 1 3 | |
10873 | # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cwchar" 3 | |
10874 | #define _GLIBCXX_CWCHAR 1 | |
10875 | ||
10876 | ||
10877 | # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cwchar" 3 | |
10878 | ||
10879 | ||
10880 | ||
10881 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/ctime" 1 3 | |
10882 | # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/ctime" 3 | |
10883 | #define _GLIBCXX_CTIME 1 | |
10884 | ||
10885 | ||
10886 | # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/ctime" 3 | |
10887 | ||
10888 | ||
10889 | # 1 "/usr/include/time.h" 1 3 4 | |
10890 | # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/ctime" 2 3 | |
10891 | ||
10892 | ||
10893 | #undef clock | |
10894 | #undef difftime | |
10895 | #undef mktime | |
10896 | #undef time | |
10897 | #undef asctime | |
10898 | #undef ctime | |
10899 | #undef gmtime | |
10900 | #undef localtime | |
10901 | #undef strftime | |
10902 | ||
10903 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
10904 | ||
10905 | using ::clock_t; | |
10906 | using ::time_t; | |
10907 | using ::tm; | |
10908 | ||
10909 | using ::clock; | |
10910 | using ::difftime; | |
10911 | using ::mktime; | |
10912 | using ::time; | |
10913 | using ::asctime; | |
10914 | using ::ctime; | |
10915 | using ::gmtime; | |
10916 | using ::localtime; | |
10917 | using ::strftime; | |
10918 | ||
10919 | } | |
10920 | # 53 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cwchar" 2 3 | |
10921 | ||
10922 | ||
10923 | # 1 "/usr/include/wchar.h" 1 3 4 | |
10924 | ||
10925 | ||
10926 | ||
10927 | ||
10928 | ||
10929 | ||
10930 | ||
10931 | # 1 "/usr/include/gentoo-multilib/amd64/wchar.h" 1 3 4 | |
10932 | # 27 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4 | |
10933 | #define _WCHAR_H 1 | |
10934 | # 1 "/usr/include/features.h" 1 3 4 | |
10935 | # 29 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4 | |
10936 | ||
10937 | ||
10938 | ||
10939 | ||
10940 | #define __need___FILE | |
10941 | ||
10942 | #define __need_FILE | |
10943 | ||
10944 | # 1 "/usr/include/stdio.h" 1 3 4 | |
10945 | # 38 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4 | |
10946 | ||
10947 | #define __need___va_list | |
10948 | ||
10949 | ||
10950 | # 1 "/usr/include/bits/wchar.h" 1 3 4 | |
10951 | ||
10952 | ||
10953 | ||
10954 | ||
10955 | ||
10956 | ||
10957 | ||
10958 | # 1 "/usr/include/gentoo-multilib/amd64/bits/wchar.h" 1 3 4 | |
10959 | # 21 "/usr/include/gentoo-multilib/amd64/bits/wchar.h" 3 4 | |
10960 | #define _BITS_WCHAR_H 1 | |
10961 | ||
10962 | #define __WCHAR_MIN (-2147483647 - 1) | |
10963 | #define __WCHAR_MAX (2147483647) | |
10964 | # 9 "/usr/include/bits/wchar.h" 2 3 4 | |
10965 | # 43 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4 | |
10966 | ||
10967 | ||
10968 | #define __need_size_t | |
10969 | #define __need_wchar_t | |
10970 | #define __need_NULL | |
10971 | ||
10972 | ||
10973 | #undef __need_wint_t | |
10974 | #define __need_wint_t | |
10975 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 1 3 4 | |
10976 | # 163 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
10977 | #undef __need_ptrdiff_t | |
10978 | # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
10979 | #undef __need_size_t | |
10980 | # 345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
10981 | #undef __need_wchar_t | |
10982 | ||
10983 | ||
10984 | ||
10985 | ||
10986 | #define _WINT_T | |
10987 | ||
10988 | ||
10989 | ||
10990 | ||
10991 | typedef unsigned int wint_t; | |
10992 | ||
10993 | #undef __need_wint_t | |
10994 | # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
10995 | #undef NULL | |
10996 | ||
10997 | #define NULL __null | |
10998 | # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4 | |
10999 | #undef __need_NULL | |
11000 | ||
11001 | ||
11002 | ||
11003 | ||
11004 | #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) | |
11005 | # 53 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4 | |
11006 | # 92 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4 | |
11007 | #undef __need_mbstate_t | |
11008 | ||
11009 | ||
11010 | ||
11011 | ||
11012 | ||
11013 | ||
11014 | ||
11015 | ||
11016 | typedef __mbstate_t mbstate_t; | |
11017 | ||
11018 | ||
11019 | ||
11020 | ||
11021 | ||
11022 | ||
11023 | ||
11024 | #define WCHAR_MIN __WCHAR_MIN | |
11025 | #define WCHAR_MAX __WCHAR_MAX | |
11026 | ||
11027 | ||
11028 | ||
11029 | #define WEOF (0xffffffffu) | |
11030 | # 124 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4 | |
11031 | extern "C" { | |
11032 | ||
11033 | ||
11034 | ||
11035 | ||
11036 | struct tm; | |
11037 | ||
11038 | ||
11039 | ||
11040 | ||
11041 | ||
11042 | ||
11043 | ||
11044 | ||
11045 | ||
11046 | extern wchar_t *wcscpy (wchar_t *__restrict __dest, | |
11047 | __const wchar_t *__restrict __src) throw (); | |
11048 | ||
11049 | extern wchar_t *wcsncpy (wchar_t *__restrict __dest, | |
11050 | __const wchar_t *__restrict __src, size_t __n) | |
11051 | throw (); | |
11052 | ||
11053 | ||
11054 | extern wchar_t *wcscat (wchar_t *__restrict __dest, | |
11055 | __const wchar_t *__restrict __src) throw (); | |
11056 | ||
11057 | extern wchar_t *wcsncat (wchar_t *__restrict __dest, | |
11058 | __const wchar_t *__restrict __src, size_t __n) | |
11059 | throw (); | |
11060 | ||
11061 | ||
11062 | extern int wcscmp (__const wchar_t *__s1, __const wchar_t *__s2) | |
11063 | throw () __attribute__ ((__pure__)); | |
11064 | ||
11065 | extern int wcsncmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n) | |
11066 | throw () __attribute__ ((__pure__)); | |
11067 | ||
11068 | ||
11069 | ||
11070 | ||
11071 | extern int wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2) throw (); | |
11072 | ||
11073 | ||
11074 | extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2, | |
11075 | size_t __n) throw (); | |
11076 | ||
11077 | ||
11078 | ||
11079 | # 1 "/usr/include/xlocale.h" 1 3 4 | |
11080 | # 173 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4 | |
11081 | ||
11082 | extern int wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2, | |
11083 | __locale_t __loc) throw (); | |
11084 | ||
11085 | extern int wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2, | |
11086 | size_t __n, __locale_t __loc) throw (); | |
11087 | ||
11088 | ||
11089 | ||
11090 | ||
11091 | ||
11092 | extern int wcscoll (__const wchar_t *__s1, __const wchar_t *__s2) throw (); | |
11093 | ||
11094 | ||
11095 | ||
11096 | extern size_t wcsxfrm (wchar_t *__restrict __s1, | |
11097 | __const wchar_t *__restrict __s2, size_t __n) throw (); | |
11098 | ||
11099 | ||
11100 | ||
11101 | ||
11102 | ||
11103 | ||
11104 | ||
11105 | ||
11106 | extern int wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2, | |
11107 | __locale_t __loc) throw (); | |
11108 | ||
11109 | ||
11110 | ||
11111 | ||
11112 | extern size_t wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2, | |
11113 | size_t __n, __locale_t __loc) throw (); | |
11114 | ||
11115 | ||
11116 | extern wchar_t *wcsdup (__const wchar_t *__s) throw () __attribute__ ((__malloc__)); | |
11117 | ||
11118 | ||
11119 | ||
11120 | ||
11121 | extern wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc) | |
11122 | throw () __attribute__ ((__pure__)); | |
11123 | ||
11124 | extern wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc) | |
11125 | throw () __attribute__ ((__pure__)); | |
11126 | ||
11127 | ||
11128 | ||
11129 | ||
11130 | ||
11131 | extern wchar_t *wcschrnul (__const wchar_t *__s, wchar_t __wc) | |
11132 | throw () __attribute__ ((__pure__)); | |
11133 | ||
11134 | ||
11135 | ||
11136 | ||
11137 | ||
11138 | extern size_t wcscspn (__const wchar_t *__wcs, __const wchar_t *__reject) | |
11139 | throw () __attribute__ ((__pure__)); | |
11140 | ||
11141 | ||
11142 | extern size_t wcsspn (__const wchar_t *__wcs, __const wchar_t *__accept) | |
11143 | throw () __attribute__ ((__pure__)); | |
11144 | ||
11145 | extern wchar_t *wcspbrk (__const wchar_t *__wcs, __const wchar_t *__accept) | |
11146 | throw () __attribute__ ((__pure__)); | |
11147 | ||
11148 | extern wchar_t *wcsstr (__const wchar_t *__haystack, __const wchar_t *__needle) | |
11149 | throw () __attribute__ ((__pure__)); | |
11150 | ||
11151 | ||
11152 | extern wchar_t *wcstok (wchar_t *__restrict __s, | |
11153 | __const wchar_t *__restrict __delim, | |
11154 | wchar_t **__restrict __ptr) throw (); | |
11155 | ||
11156 | ||
11157 | extern size_t wcslen (__const wchar_t *__s) throw () __attribute__ ((__pure__)); | |
11158 | ||
11159 | ||
11160 | ||
11161 | ||
11162 | extern wchar_t *wcswcs (__const wchar_t *__haystack, __const wchar_t *__needle) | |
11163 | throw () __attribute__ ((__pure__)); | |
11164 | ||
11165 | ||
11166 | ||
11167 | ||
11168 | extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen) | |
11169 | throw () __attribute__ ((__pure__)); | |
11170 | ||
11171 | ||
11172 | ||
11173 | ||
11174 | ||
11175 | extern wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c, size_t __n) | |
11176 | throw () __attribute__ ((__pure__)); | |
11177 | ||
11178 | ||
11179 | extern int wmemcmp (__const wchar_t *__restrict __s1, | |
11180 | __const wchar_t *__restrict __s2, size_t __n) | |
11181 | throw () __attribute__ ((__pure__)); | |
11182 | ||
11183 | ||
11184 | extern wchar_t *wmemcpy (wchar_t *__restrict __s1, | |
11185 | __const wchar_t *__restrict __s2, size_t __n) throw (); | |
11186 | ||
11187 | ||
11188 | ||
11189 | extern wchar_t *wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n) | |
11190 | throw (); | |
11191 | ||
11192 | ||
11193 | extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw (); | |
11194 | ||
11195 | ||
11196 | ||
11197 | ||
11198 | ||
11199 | extern wchar_t *wmempcpy (wchar_t *__restrict __s1, | |
11200 | __const wchar_t *__restrict __s2, size_t __n) | |
11201 | throw (); | |
11202 | ||
11203 | ||
11204 | ||
11205 | ||
11206 | ||
11207 | ||
11208 | extern wint_t btowc (int __c) throw (); | |
11209 | ||
11210 | ||
11211 | ||
11212 | extern int wctob (wint_t __c) throw (); | |
11213 | ||
11214 | ||
11215 | ||
11216 | extern int mbsinit (__const mbstate_t *__ps) throw () __attribute__ ((__pure__)); | |
11217 | ||
11218 | ||
11219 | ||
11220 | extern size_t mbrtowc (wchar_t *__restrict __pwc, | |
11221 | __const char *__restrict __s, size_t __n, | |
11222 | mbstate_t *__p) throw (); | |
11223 | ||
11224 | ||
11225 | extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, | |
11226 | mbstate_t *__restrict __ps) throw (); | |
11227 | ||
11228 | ||
11229 | extern size_t __mbrlen (__const char *__restrict __s, size_t __n, | |
11230 | mbstate_t *__restrict __ps) throw (); | |
11231 | extern size_t mbrlen (__const char *__restrict __s, size_t __n, | |
11232 | mbstate_t *__restrict __ps) throw (); | |
11233 | ||
11234 | # 352 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4 | |
11235 | ||
11236 | ||
11237 | ||
11238 | extern size_t mbsrtowcs (wchar_t *__restrict __dst, | |
11239 | __const char **__restrict __src, size_t __len, | |
11240 | mbstate_t *__restrict __ps) throw (); | |
11241 | ||
11242 | ||
11243 | ||
11244 | extern size_t wcsrtombs (char *__restrict __dst, | |
11245 | __const wchar_t **__restrict __src, size_t __len, | |
11246 | mbstate_t *__restrict __ps) throw (); | |
11247 | ||
11248 | ||
11249 | ||
11250 | ||
11251 | ||
11252 | ||
11253 | extern size_t mbsnrtowcs (wchar_t *__restrict __dst, | |
11254 | __const char **__restrict __src, size_t __nmc, | |
11255 | size_t __len, mbstate_t *__restrict __ps) throw (); | |
11256 | ||
11257 | ||
11258 | ||
11259 | extern size_t wcsnrtombs (char *__restrict __dst, | |
11260 | __const wchar_t **__restrict __src, | |
11261 | size_t __nwc, size_t __len, | |
11262 | mbstate_t *__restrict __ps) throw (); | |
11263 | ||
11264 | ||
11265 | ||
11266 | ||
11267 | ||
11268 | ||
11269 | extern int wcwidth (wchar_t __c) throw (); | |
11270 | ||
11271 | ||
11272 | ||
11273 | extern int wcswidth (__const wchar_t *__s, size_t __n) throw (); | |
11274 | ||
11275 | ||
11276 | ||
11277 | ||
11278 | ||
11279 | ||
11280 | extern double wcstod (__const wchar_t *__restrict __nptr, | |
11281 | wchar_t **__restrict __endptr) throw (); | |
11282 | ||
11283 | ||
11284 | ||
11285 | ||
11286 | ||
11287 | extern float wcstof (__const wchar_t *__restrict __nptr, | |
11288 | wchar_t **__restrict __endptr) throw (); | |
11289 | extern long double wcstold (__const wchar_t *__restrict __nptr, | |
11290 | wchar_t **__restrict __endptr) throw (); | |
11291 | ||
11292 | ||
11293 | ||
11294 | ||
11295 | ||
11296 | ||
11297 | ||
11298 | extern long int wcstol (__const wchar_t *__restrict __nptr, | |
11299 | wchar_t **__restrict __endptr, int __base) throw (); | |
11300 | ||
11301 | ||
11302 | ||
11303 | extern unsigned long int wcstoul (__const wchar_t *__restrict __nptr, | |
11304 | wchar_t **__restrict __endptr, int __base) | |
11305 | throw (); | |
11306 | ||
11307 | ||
11308 | ||
11309 | ||
11310 | ||
11311 | ||
11312 | __extension__ | |
11313 | extern long long int wcstoll (__const wchar_t *__restrict __nptr, | |
11314 | wchar_t **__restrict __endptr, int __base) | |
11315 | throw (); | |
11316 | ||
11317 | ||
11318 | ||
11319 | __extension__ | |
11320 | extern unsigned long long int wcstoull (__const wchar_t *__restrict __nptr, | |
11321 | wchar_t **__restrict __endptr, | |
11322 | int __base) throw (); | |
11323 | ||
11324 | ||
11325 | ||
11326 | ||
11327 | ||
11328 | ||
11329 | __extension__ | |
11330 | extern long long int wcstoq (__const wchar_t *__restrict __nptr, | |
11331 | wchar_t **__restrict __endptr, int __base) | |
11332 | throw (); | |
11333 | ||
11334 | ||
11335 | ||
11336 | __extension__ | |
11337 | extern unsigned long long int wcstouq (__const wchar_t *__restrict __nptr, | |
11338 | wchar_t **__restrict __endptr, | |
11339 | int __base) throw (); | |
11340 | # 473 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4 | |
11341 | # 1 "/usr/include/xlocale.h" 1 3 4 | |
11342 | # 474 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4 | |
11343 | ||
11344 | ||
11345 | ||
11346 | extern long int wcstol_l (__const wchar_t *__restrict __nptr, | |
11347 | wchar_t **__restrict __endptr, int __base, | |
11348 | __locale_t __loc) throw (); | |
11349 | ||
11350 | extern unsigned long int wcstoul_l (__const wchar_t *__restrict __nptr, | |
11351 | wchar_t **__restrict __endptr, | |
11352 | int __base, __locale_t __loc) throw (); | |
11353 | ||
11354 | __extension__ | |
11355 | extern long long int wcstoll_l (__const wchar_t *__restrict __nptr, | |
11356 | wchar_t **__restrict __endptr, | |
11357 | int __base, __locale_t __loc) throw (); | |
11358 | ||
11359 | __extension__ | |
11360 | extern unsigned long long int wcstoull_l (__const wchar_t *__restrict __nptr, | |
11361 | wchar_t **__restrict __endptr, | |
11362 | int __base, __locale_t __loc) | |
11363 | throw (); | |
11364 | ||
11365 | extern double wcstod_l (__const wchar_t *__restrict __nptr, | |
11366 | wchar_t **__restrict __endptr, __locale_t __loc) | |
11367 | throw (); | |
11368 | ||
11369 | extern float wcstof_l (__const wchar_t *__restrict __nptr, | |
11370 | wchar_t **__restrict __endptr, __locale_t __loc) | |
11371 | throw (); | |
11372 | ||
11373 | extern long double wcstold_l (__const wchar_t *__restrict __nptr, | |
11374 | wchar_t **__restrict __endptr, | |
11375 | __locale_t __loc) throw (); | |
11376 | ||
11377 | ||
11378 | ||
11379 | ||
11380 | ||
11381 | ||
11382 | extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) throw (); | |
11383 | ||
11384 | ||
11385 | ||
11386 | extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n) | |
11387 | throw (); | |
11388 | # 527 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4 | |
11389 | extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) throw (); | |
11390 | ||
11391 | ||
11392 | ||
11393 | ||
11394 | ||
11395 | ||
11396 | extern int fwide (__FILE *__fp, int __mode) throw (); | |
11397 | ||
11398 | ||
11399 | ||
11400 | ||
11401 | ||
11402 | ||
11403 | extern int fwprintf (__FILE *__restrict __stream, | |
11404 | __const wchar_t *__restrict __format, ...) | |
11405 | ; | |
11406 | ||
11407 | ||
11408 | ||
11409 | ||
11410 | extern int wprintf (__const wchar_t *__restrict __format, ...) | |
11411 | ; | |
11412 | ||
11413 | extern int swprintf (wchar_t *__restrict __s, size_t __n, | |
11414 | __const wchar_t *__restrict __format, ...) | |
11415 | throw () ; | |
11416 | ||
11417 | ||
11418 | ||
11419 | ||
11420 | ||
11421 | extern int vfwprintf (__FILE *__restrict __s, | |
11422 | __const wchar_t *__restrict __format, | |
11423 | __gnuc_va_list __arg) | |
11424 | ; | |
11425 | ||
11426 | ||
11427 | ||
11428 | ||
11429 | extern int vwprintf (__const wchar_t *__restrict __format, | |
11430 | __gnuc_va_list __arg) | |
11431 | ; | |
11432 | ||
11433 | ||
11434 | extern int vswprintf (wchar_t *__restrict __s, size_t __n, | |
11435 | __const wchar_t *__restrict __format, | |
11436 | __gnuc_va_list __arg) | |
11437 | throw () ; | |
11438 | ||
11439 | ||
11440 | ||
11441 | ||
11442 | ||
11443 | ||
11444 | extern int fwscanf (__FILE *__restrict __stream, | |
11445 | __const wchar_t *__restrict __format, ...) | |
11446 | ; | |
11447 | ||
11448 | ||
11449 | ||
11450 | ||
11451 | extern int wscanf (__const wchar_t *__restrict __format, ...) | |
11452 | ; | |
11453 | ||
11454 | extern int swscanf (__const wchar_t *__restrict __s, | |
11455 | __const wchar_t *__restrict __format, ...) | |
11456 | throw () ; | |
11457 | # 627 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4 | |
11458 | ||
11459 | ||
11460 | ||
11461 | ||
11462 | ||
11463 | ||
11464 | ||
11465 | ||
11466 | ||
11467 | extern int vfwscanf (__FILE *__restrict __s, | |
11468 | __const wchar_t *__restrict __format, | |
11469 | __gnuc_va_list __arg) | |
11470 | ; | |
11471 | ||
11472 | ||
11473 | ||
11474 | ||
11475 | extern int vwscanf (__const wchar_t *__restrict __format, | |
11476 | __gnuc_va_list __arg) | |
11477 | ; | |
11478 | ||
11479 | extern int vswscanf (__const wchar_t *__restrict __s, | |
11480 | __const wchar_t *__restrict __format, | |
11481 | __gnuc_va_list __arg) | |
11482 | throw () ; | |
11483 | # 683 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4 | |
11484 | ||
11485 | ||
11486 | ||
11487 | ||
11488 | ||
11489 | ||
11490 | ||
11491 | ||
11492 | ||
11493 | extern wint_t fgetwc (__FILE *__stream); | |
11494 | extern wint_t getwc (__FILE *__stream); | |
11495 | ||
11496 | ||
11497 | ||
11498 | ||
11499 | ||
11500 | extern wint_t getwchar (void); | |
11501 | ||
11502 | ||
11503 | ||
11504 | ||
11505 | ||
11506 | ||
11507 | extern wint_t fputwc (wchar_t __wc, __FILE *__stream); | |
11508 | extern wint_t putwc (wchar_t __wc, __FILE *__stream); | |
11509 | ||
11510 | ||
11511 | ||
11512 | ||
11513 | ||
11514 | extern wint_t putwchar (wchar_t __wc); | |
11515 | ||
11516 | ||
11517 | ||
11518 | ||
11519 | ||
11520 | ||
11521 | ||
11522 | extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, | |
11523 | __FILE *__restrict __stream); | |
11524 | ||
11525 | ||
11526 | ||
11527 | ||
11528 | ||
11529 | extern int fputws (__const wchar_t *__restrict __ws, | |
11530 | __FILE *__restrict __stream); | |
11531 | ||
11532 | ||
11533 | ||
11534 | ||
11535 | ||
11536 | ||
11537 | extern wint_t ungetwc (wint_t __wc, __FILE *__stream); | |
11538 | ||
11539 | # 748 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4 | |
11540 | extern wint_t getwc_unlocked (__FILE *__stream); | |
11541 | extern wint_t getwchar_unlocked (void); | |
11542 | ||
11543 | ||
11544 | ||
11545 | ||
11546 | ||
11547 | ||
11548 | ||
11549 | extern wint_t fgetwc_unlocked (__FILE *__stream); | |
11550 | ||
11551 | ||
11552 | ||
11553 | ||
11554 | ||
11555 | ||
11556 | ||
11557 | extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); | |
11558 | # 774 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4 | |
11559 | extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); | |
11560 | extern wint_t putwchar_unlocked (wchar_t __wc); | |
11561 | # 784 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4 | |
11562 | extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, | |
11563 | __FILE *__restrict __stream); | |
11564 | ||
11565 | ||
11566 | ||
11567 | ||
11568 | ||
11569 | ||
11570 | ||
11571 | extern int fputws_unlocked (__const wchar_t *__restrict __ws, | |
11572 | __FILE *__restrict __stream); | |
11573 | ||
11574 | ||
11575 | ||
11576 | ||
11577 | ||
11578 | ||
11579 | ||
11580 | extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, | |
11581 | __const wchar_t *__restrict __format, | |
11582 | __const struct tm *__restrict __tp) throw (); | |
11583 | ||
11584 | ||
11585 | ||
11586 | # 1 "/usr/include/xlocale.h" 1 3 4 | |
11587 | # 809 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4 | |
11588 | ||
11589 | ||
11590 | ||
11591 | extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, | |
11592 | __const wchar_t *__restrict __format, | |
11593 | __const struct tm *__restrict __tp, | |
11594 | __locale_t __loc) throw (); | |
11595 | # 838 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4 | |
11596 | } | |
11597 | # 9 "/usr/include/wchar.h" 2 3 4 | |
11598 | # 56 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cwchar" 2 3 | |
11599 | # 70 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cwchar" 3 | |
11600 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
11601 | ||
11602 | using ::mbstate_t; | |
11603 | ||
11604 | } | |
11605 | ||
11606 | ||
11607 | #undef btowc | |
11608 | #undef fgetwc | |
11609 | #undef fgetws | |
11610 | #undef fputwc | |
11611 | #undef fputws | |
11612 | #undef fwide | |
11613 | #undef fwprintf | |
11614 | #undef fwscanf | |
11615 | #undef getwc | |
11616 | #undef getwchar | |
11617 | #undef mbrlen | |
11618 | #undef mbrtowc | |
11619 | #undef mbsinit | |
11620 | #undef mbsrtowcs | |
11621 | #undef putwc | |
11622 | #undef putwchar | |
11623 | #undef swprintf | |
11624 | #undef swscanf | |
11625 | #undef ungetwc | |
11626 | #undef vfwprintf | |
11627 | ||
11628 | #undef vfwscanf | |
11629 | ||
11630 | #undef vswprintf | |
11631 | ||
11632 | #undef vswscanf | |
11633 | ||
11634 | #undef vwprintf | |
11635 | ||
11636 | #undef vwscanf | |
11637 | ||
11638 | #undef wcrtomb | |
11639 | #undef wcscat | |
11640 | #undef wcschr | |
11641 | #undef wcscmp | |
11642 | #undef wcscoll | |
11643 | #undef wcscpy | |
11644 | #undef wcscspn | |
11645 | #undef wcsftime | |
11646 | #undef wcslen | |
11647 | #undef wcsncat | |
11648 | #undef wcsncmp | |
11649 | #undef wcsncpy | |
11650 | #undef wcspbrk | |
11651 | #undef wcsrchr | |
11652 | #undef wcsrtombs | |
11653 | #undef wcsspn | |
11654 | #undef wcsstr | |
11655 | #undef wcstod | |
11656 | ||
11657 | #undef wcstof | |
11658 | ||
11659 | #undef wcstok | |
11660 | #undef wcstol | |
11661 | #undef wcstoul | |
11662 | #undef wcsxfrm | |
11663 | #undef wctob | |
11664 | #undef wmemchr | |
11665 | #undef wmemcmp | |
11666 | #undef wmemcpy | |
11667 | #undef wmemmove | |
11668 | #undef wmemset | |
11669 | #undef wprintf | |
11670 | #undef wscanf | |
11671 | ||
11672 | ||
11673 | ||
11674 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
11675 | ||
11676 | using ::wint_t; | |
11677 | ||
11678 | using ::btowc; | |
11679 | using ::fgetwc; | |
11680 | using ::fgetws; | |
11681 | using ::fputwc; | |
11682 | using ::fputws; | |
11683 | using ::fwide; | |
11684 | using ::fwprintf; | |
11685 | using ::fwscanf; | |
11686 | using ::getwc; | |
11687 | using ::getwchar; | |
11688 | using ::mbrlen; | |
11689 | using ::mbrtowc; | |
11690 | using ::mbsinit; | |
11691 | using ::mbsrtowcs; | |
11692 | using ::putwc; | |
11693 | using ::putwchar; | |
11694 | using ::swprintf; | |
11695 | using ::swscanf; | |
11696 | using ::ungetwc; | |
11697 | using ::vfwprintf; | |
11698 | ||
11699 | using ::vfwscanf; | |
11700 | ||
11701 | using ::vswprintf; | |
11702 | ||
11703 | using ::vswscanf; | |
11704 | ||
11705 | using ::vwprintf; | |
11706 | ||
11707 | using ::vwscanf; | |
11708 | ||
11709 | using ::wcrtomb; | |
11710 | using ::wcscat; | |
11711 | using ::wcscmp; | |
11712 | using ::wcscoll; | |
11713 | using ::wcscpy; | |
11714 | using ::wcscspn; | |
11715 | ||
11716 | ||
11717 | ||
11718 | using ::wcslen; | |
11719 | using ::wcsncat; | |
11720 | using ::wcsncmp; | |
11721 | using ::wcsncpy; | |
11722 | using ::wcsrtombs; | |
11723 | using ::wcsspn; | |
11724 | using ::wcstod; | |
11725 | ||
11726 | using ::wcstof; | |
11727 | ||
11728 | using ::wcstok; | |
11729 | using ::wcstol; | |
11730 | using ::wcstoul; | |
11731 | using ::wcsxfrm; | |
11732 | using ::wctob; | |
11733 | using ::wmemcmp; | |
11734 | using ::wmemcpy; | |
11735 | using ::wmemmove; | |
11736 | using ::wmemset; | |
11737 | using ::wprintf; | |
11738 | using ::wscanf; | |
11739 | ||
11740 | using ::wcschr; | |
11741 | ||
11742 | inline wchar_t* | |
11743 | wcschr(wchar_t* __p, wchar_t __c) | |
11744 | { return wcschr(const_cast<const wchar_t*>(__p), __c); } | |
11745 | ||
11746 | using ::wcspbrk; | |
11747 | ||
11748 | inline wchar_t* | |
11749 | wcspbrk(wchar_t* __s1, const wchar_t* __s2) | |
11750 | { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); } | |
11751 | ||
11752 | using ::wcsrchr; | |
11753 | ||
11754 | inline wchar_t* | |
11755 | wcsrchr(wchar_t* __p, wchar_t __c) | |
11756 | { return wcsrchr(const_cast<const wchar_t*>(__p), __c); } | |
11757 | ||
11758 | using ::wcsstr; | |
11759 | ||
11760 | inline wchar_t* | |
11761 | wcsstr(wchar_t* __s1, const wchar_t* __s2) | |
11762 | { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); } | |
11763 | ||
11764 | using ::wmemchr; | |
11765 | ||
11766 | inline wchar_t* | |
11767 | wmemchr(wchar_t* __p, wchar_t __c, size_t __n) | |
11768 | { return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); } | |
11769 | ||
11770 | } | |
11771 | ||
11772 | ||
11773 | ||
11774 | #undef wcstold | |
11775 | #undef wcstoll | |
11776 | #undef wcstoull | |
11777 | ||
11778 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
11779 | ||
11780 | ||
11781 | ||
11782 | ||
11783 | ||
11784 | ||
11785 | using ::wcstold; | |
11786 | # 264 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cwchar" 3 | |
11787 | using ::wcstoll; | |
11788 | using ::wcstoull; | |
11789 | ||
11790 | ||
11791 | } | |
11792 | ||
11793 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
11794 | ||
11795 | using ::__gnu_cxx::wcstold; | |
11796 | using ::__gnu_cxx::wcstoll; | |
11797 | using ::__gnu_cxx::wcstoull; | |
11798 | ||
11799 | } | |
11800 | # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/postypes.h" 2 3 | |
11801 | ||
11802 | ||
11803 | # 1 "/usr/include/stdint.h" 1 3 4 | |
11804 | ||
11805 | ||
11806 | ||
11807 | ||
11808 | ||
11809 | ||
11810 | ||
11811 | # 1 "/usr/include/gentoo-multilib/amd64/stdint.h" 1 3 4 | |
11812 | # 24 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4 | |
11813 | #define _STDINT_H 1 | |
11814 | ||
11815 | # 1 "/usr/include/features.h" 1 3 4 | |
11816 | # 27 "/usr/include/gentoo-multilib/amd64/stdint.h" 2 3 4 | |
11817 | # 1 "/usr/include/bits/wchar.h" 1 3 4 | |
11818 | # 28 "/usr/include/gentoo-multilib/amd64/stdint.h" 2 3 4 | |
11819 | # 1 "/usr/include/bits/wordsize.h" 1 3 4 | |
11820 | ||
11821 | ||
11822 | ||
11823 | ||
11824 | ||
11825 | ||
11826 | ||
11827 | # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4 | |
11828 | ||
11829 | ||
11830 | ||
11831 | #define __WORDSIZE 64 | |
11832 | #define __WORDSIZE_COMPAT32 1 | |
11833 | # 9 "/usr/include/bits/wordsize.h" 2 3 4 | |
11834 | # 29 "/usr/include/gentoo-multilib/amd64/stdint.h" 2 3 4 | |
11835 | # 49 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4 | |
11836 | typedef unsigned char uint8_t; | |
11837 | typedef unsigned short int uint16_t; | |
11838 | ||
11839 | typedef unsigned int uint32_t; | |
11840 | #define __uint32_t_defined | |
11841 | ||
11842 | ||
11843 | typedef unsigned long int uint64_t; | |
11844 | # 66 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4 | |
11845 | typedef signed char int_least8_t; | |
11846 | typedef short int int_least16_t; | |
11847 | typedef int int_least32_t; | |
11848 | ||
11849 | typedef long int int_least64_t; | |
11850 | ||
11851 | ||
11852 | ||
11853 | ||
11854 | ||
11855 | ||
11856 | typedef unsigned char uint_least8_t; | |
11857 | typedef unsigned short int uint_least16_t; | |
11858 | typedef unsigned int uint_least32_t; | |
11859 | ||
11860 | typedef unsigned long int uint_least64_t; | |
11861 | # 91 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4 | |
11862 | typedef signed char int_fast8_t; | |
11863 | ||
11864 | typedef long int int_fast16_t; | |
11865 | typedef long int int_fast32_t; | |
11866 | typedef long int int_fast64_t; | |
11867 | # 104 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4 | |
11868 | typedef unsigned char uint_fast8_t; | |
11869 | ||
11870 | typedef unsigned long int uint_fast16_t; | |
11871 | typedef unsigned long int uint_fast32_t; | |
11872 | typedef unsigned long int uint_fast64_t; | |
11873 | # 123 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4 | |
11874 | typedef unsigned long int uintptr_t; | |
11875 | # 135 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4 | |
11876 | typedef long int intmax_t; | |
11877 | typedef unsigned long int uintmax_t; | |
11878 | # 150 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4 | |
11879 | #define __INT64_C(c) c ## L | |
11880 | #define __UINT64_C(c) c ## UL | |
11881 | # 160 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4 | |
11882 | #define INT8_MIN (-128) | |
11883 | #define INT16_MIN (-32767-1) | |
11884 | #define INT32_MIN (-2147483647-1) | |
11885 | #define INT64_MIN (-__INT64_C(9223372036854775807)-1) | |
11886 | ||
11887 | #define INT8_MAX (127) | |
11888 | #define INT16_MAX (32767) | |
11889 | #define INT32_MAX (2147483647) | |
11890 | #define INT64_MAX (__INT64_C(9223372036854775807)) | |
11891 | ||
11892 | ||
11893 | #define UINT8_MAX (255) | |
11894 | #define UINT16_MAX (65535) | |
11895 | #define UINT32_MAX (4294967295U) | |
11896 | #define UINT64_MAX (__UINT64_C(18446744073709551615)) | |
11897 | ||
11898 | ||
11899 | ||
11900 | #define INT_LEAST8_MIN (-128) | |
11901 | #define INT_LEAST16_MIN (-32767-1) | |
11902 | #define INT_LEAST32_MIN (-2147483647-1) | |
11903 | #define INT_LEAST64_MIN (-__INT64_C(9223372036854775807)-1) | |
11904 | ||
11905 | #define INT_LEAST8_MAX (127) | |
11906 | #define INT_LEAST16_MAX (32767) | |
11907 | #define INT_LEAST32_MAX (2147483647) | |
11908 | #define INT_LEAST64_MAX (__INT64_C(9223372036854775807)) | |
11909 | ||
11910 | ||
11911 | #define UINT_LEAST8_MAX (255) | |
11912 | #define UINT_LEAST16_MAX (65535) | |
11913 | #define UINT_LEAST32_MAX (4294967295U) | |
11914 | #define UINT_LEAST64_MAX (__UINT64_C(18446744073709551615)) | |
11915 | ||
11916 | ||
11917 | ||
11918 | #define INT_FAST8_MIN (-128) | |
11919 | ||
11920 | #define INT_FAST16_MIN (-9223372036854775807L-1) | |
11921 | #define INT_FAST32_MIN (-9223372036854775807L-1) | |
11922 | ||
11923 | ||
11924 | ||
11925 | ||
11926 | #define INT_FAST64_MIN (-__INT64_C(9223372036854775807)-1) | |
11927 | ||
11928 | #define INT_FAST8_MAX (127) | |
11929 | ||
11930 | #define INT_FAST16_MAX (9223372036854775807L) | |
11931 | #define INT_FAST32_MAX (9223372036854775807L) | |
11932 | ||
11933 | ||
11934 | ||
11935 | ||
11936 | #define INT_FAST64_MAX (__INT64_C(9223372036854775807)) | |
11937 | ||
11938 | ||
11939 | #define UINT_FAST8_MAX (255) | |
11940 | ||
11941 | #define UINT_FAST16_MAX (18446744073709551615UL) | |
11942 | #define UINT_FAST32_MAX (18446744073709551615UL) | |
11943 | ||
11944 | ||
11945 | ||
11946 | ||
11947 | #define UINT_FAST64_MAX (__UINT64_C(18446744073709551615)) | |
11948 | ||
11949 | ||
11950 | ||
11951 | ||
11952 | #define INTPTR_MIN (-9223372036854775807L-1) | |
11953 | #define INTPTR_MAX (9223372036854775807L) | |
11954 | #define UINTPTR_MAX (18446744073709551615UL) | |
11955 | # 241 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4 | |
11956 | #define INTMAX_MIN (-__INT64_C(9223372036854775807)-1) | |
11957 | ||
11958 | #define INTMAX_MAX (__INT64_C(9223372036854775807)) | |
11959 | ||
11960 | ||
11961 | #define UINTMAX_MAX (__UINT64_C(18446744073709551615)) | |
11962 | ||
11963 | ||
11964 | ||
11965 | ||
11966 | ||
11967 | ||
11968 | #define PTRDIFF_MIN (-9223372036854775807L-1) | |
11969 | #define PTRDIFF_MAX (9223372036854775807L) | |
11970 | ||
11971 | ||
11972 | ||
11973 | ||
11974 | ||
11975 | ||
11976 | #define SIG_ATOMIC_MIN (-2147483647-1) | |
11977 | #define SIG_ATOMIC_MAX (2147483647) | |
11978 | ||
11979 | ||
11980 | ||
11981 | #define SIZE_MAX (18446744073709551615UL) | |
11982 | # 279 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4 | |
11983 | #define WINT_MIN (0u) | |
11984 | #define WINT_MAX (4294967295u) | |
11985 | # 9 "/usr/include/stdint.h" 2 3 4 | |
11986 | # 50 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/postypes.h" 2 3 | |
11987 | ||
11988 | ||
11989 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
11990 | # 72 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/postypes.h" 3 | |
11991 | typedef int64_t streamoff; | |
11992 | ||
11993 | ||
11994 | ||
11995 | ||
11996 | ||
11997 | typedef ptrdiff_t streamsize; | |
11998 | ||
11999 | template<typename _StateT> | |
12000 | class fpos; | |
12001 | # 94 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/postypes.h" 3 | |
12002 | template<typename _StateT> | |
12003 | class fpos | |
12004 | { | |
12005 | private: | |
12006 | streamoff _M_off; | |
12007 | _StateT _M_state; | |
12008 | ||
12009 | public: | |
12010 | ||
12011 | ||
12012 | ||
12013 | ||
12014 | fpos() | |
12015 | : _M_off(0), _M_state() { } | |
12016 | # 116 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/postypes.h" 3 | |
12017 | fpos(streamoff __off) | |
12018 | : _M_off(__off), _M_state() { } | |
12019 | ||
12020 | ||
12021 | operator streamoff() const { return _M_off; } | |
12022 | ||
12023 | ||
12024 | void | |
12025 | state(_StateT __st) | |
12026 | { _M_state = __st; } | |
12027 | ||
12028 | ||
12029 | _StateT | |
12030 | state() const | |
12031 | { return _M_state; } | |
12032 | ||
12033 | ||
12034 | ||
12035 | ||
12036 | ||
12037 | fpos& | |
12038 | operator+=(streamoff __off) | |
12039 | { | |
12040 | _M_off += __off; | |
12041 | return *this; | |
12042 | } | |
12043 | ||
12044 | ||
12045 | ||
12046 | ||
12047 | ||
12048 | fpos& | |
12049 | operator-=(streamoff __off) | |
12050 | { | |
12051 | _M_off -= __off; | |
12052 | return *this; | |
12053 | } | |
12054 | ||
12055 | ||
12056 | ||
12057 | ||
12058 | ||
12059 | ||
12060 | ||
12061 | fpos | |
12062 | operator+(streamoff __off) const | |
12063 | { | |
12064 | fpos __pos(*this); | |
12065 | __pos += __off; | |
12066 | return __pos; | |
12067 | } | |
12068 | ||
12069 | ||
12070 | ||
12071 | ||
12072 | ||
12073 | ||
12074 | ||
12075 | fpos | |
12076 | operator-(streamoff __off) const | |
12077 | { | |
12078 | fpos __pos(*this); | |
12079 | __pos -= __off; | |
12080 | return __pos; | |
12081 | } | |
12082 | ||
12083 | ||
12084 | ||
12085 | ||
12086 | ||
12087 | ||
12088 | streamoff | |
12089 | operator-(const fpos& __other) const | |
12090 | { return _M_off - __other._M_off; } | |
12091 | }; | |
12092 | ||
12093 | ||
12094 | ||
12095 | ||
12096 | ||
12097 | ||
12098 | template<typename _StateT> | |
12099 | inline bool | |
12100 | operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) | |
12101 | { return streamoff(__lhs) == streamoff(__rhs); } | |
12102 | ||
12103 | template<typename _StateT> | |
12104 | inline bool | |
12105 | operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) | |
12106 | { return streamoff(__lhs) != streamoff(__rhs); } | |
12107 | ||
12108 | ||
12109 | ||
12110 | ||
12111 | ||
12112 | typedef fpos<mbstate_t> streampos; | |
12113 | ||
12114 | typedef fpos<mbstate_t> wstreampos; | |
12115 | ||
12116 | } | |
12117 | # 50 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/iosfwd" 2 3 | |
12118 | ||
12119 | ||
12120 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
12121 | ||
12122 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
12123 | class basic_ios; | |
12124 | ||
12125 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
12126 | class basic_streambuf; | |
12127 | ||
12128 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
12129 | class basic_istream; | |
12130 | ||
12131 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
12132 | class basic_ostream; | |
12133 | ||
12134 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
12135 | class basic_iostream; | |
12136 | ||
12137 | template<typename _CharT, typename _Traits = char_traits<_CharT>, | |
12138 | typename _Alloc = allocator<_CharT> > | |
12139 | class basic_stringbuf; | |
12140 | ||
12141 | template<typename _CharT, typename _Traits = char_traits<_CharT>, | |
12142 | typename _Alloc = allocator<_CharT> > | |
12143 | class basic_istringstream; | |
12144 | ||
12145 | template<typename _CharT, typename _Traits = char_traits<_CharT>, | |
12146 | typename _Alloc = allocator<_CharT> > | |
12147 | class basic_ostringstream; | |
12148 | ||
12149 | template<typename _CharT, typename _Traits = char_traits<_CharT>, | |
12150 | typename _Alloc = allocator<_CharT> > | |
12151 | class basic_stringstream; | |
12152 | ||
12153 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
12154 | class basic_filebuf; | |
12155 | ||
12156 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
12157 | class basic_ifstream; | |
12158 | ||
12159 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
12160 | class basic_ofstream; | |
12161 | ||
12162 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
12163 | class basic_fstream; | |
12164 | ||
12165 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
12166 | class istreambuf_iterator; | |
12167 | ||
12168 | template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
12169 | class ostreambuf_iterator; | |
12170 | ||
12171 | ||
12172 | ||
12173 | class ios_base; | |
12174 | # 135 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/iosfwd" 3 | |
12175 | typedef basic_ios<char> ios; | |
12176 | typedef basic_streambuf<char> streambuf; | |
12177 | typedef basic_istream<char> istream; | |
12178 | typedef basic_ostream<char> ostream; | |
12179 | typedef basic_iostream<char> iostream; | |
12180 | typedef basic_stringbuf<char> stringbuf; | |
12181 | typedef basic_istringstream<char> istringstream; | |
12182 | typedef basic_ostringstream<char> ostringstream; | |
12183 | typedef basic_stringstream<char> stringstream; | |
12184 | typedef basic_filebuf<char> filebuf; | |
12185 | typedef basic_ifstream<char> ifstream; | |
12186 | typedef basic_ofstream<char> ofstream; | |
12187 | typedef basic_fstream<char> fstream; | |
12188 | ||
12189 | ||
12190 | typedef basic_ios<wchar_t> wios; | |
12191 | typedef basic_streambuf<wchar_t> wstreambuf; | |
12192 | typedef basic_istream<wchar_t> wistream; | |
12193 | typedef basic_ostream<wchar_t> wostream; | |
12194 | typedef basic_iostream<wchar_t> wiostream; | |
12195 | typedef basic_stringbuf<wchar_t> wstringbuf; | |
12196 | typedef basic_istringstream<wchar_t> wistringstream; | |
12197 | typedef basic_ostringstream<wchar_t> wostringstream; | |
12198 | typedef basic_stringstream<wchar_t> wstringstream; | |
12199 | typedef basic_filebuf<wchar_t> wfilebuf; | |
12200 | typedef basic_ifstream<wchar_t> wifstream; | |
12201 | typedef basic_ofstream<wchar_t> wofstream; | |
12202 | typedef basic_fstream<wchar_t> wfstream; | |
12203 | ||
12204 | ||
12205 | ||
12206 | } | |
12207 | # 71 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 2 3 | |
12208 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_pair.h" 1 3 | |
12209 | # 62 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_pair.h" 3 | |
12210 | #define _PAIR_H 1 | |
12211 | ||
12212 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
12213 | ||
12214 | ||
12215 | template<class _T1, class _T2> | |
12216 | struct pair | |
12217 | { | |
12218 | typedef _T1 first_type; | |
12219 | typedef _T2 second_type; | |
12220 | ||
12221 | _T1 first; | |
12222 | _T2 second; | |
12223 | ||
12224 | ||
12225 | ||
12226 | ||
12227 | ||
12228 | pair() | |
12229 | : first(), second() { } | |
12230 | ||
12231 | ||
12232 | pair(const _T1& __a, const _T2& __b) | |
12233 | : first(__a), second(__b) { } | |
12234 | ||
12235 | ||
12236 | template<class _U1, class _U2> | |
12237 | pair(const pair<_U1, _U2>& __p) | |
12238 | : first(__p.first), second(__p.second) { } | |
12239 | }; | |
12240 | ||
12241 | ||
12242 | template<class _T1, class _T2> | |
12243 | inline bool | |
12244 | operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | |
12245 | { return __x.first == __y.first && __x.second == __y.second; } | |
12246 | ||
12247 | ||
12248 | template<class _T1, class _T2> | |
12249 | inline bool | |
12250 | operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | |
12251 | { return __x.first < __y.first | |
12252 | || (!(__y.first < __x.first) && __x.second < __y.second); } | |
12253 | ||
12254 | ||
12255 | template<class _T1, class _T2> | |
12256 | inline bool | |
12257 | operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | |
12258 | { return !(__x == __y); } | |
12259 | ||
12260 | ||
12261 | template<class _T1, class _T2> | |
12262 | inline bool | |
12263 | operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | |
12264 | { return __y < __x; } | |
12265 | ||
12266 | ||
12267 | template<class _T1, class _T2> | |
12268 | inline bool | |
12269 | operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | |
12270 | { return !(__y < __x); } | |
12271 | ||
12272 | ||
12273 | template<class _T1, class _T2> | |
12274 | inline bool | |
12275 | operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | |
12276 | { return !(__x < __y); } | |
12277 | # 142 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_pair.h" 3 | |
12278 | template<class _T1, class _T2> | |
12279 | inline pair<_T1, _T2> | |
12280 | make_pair(_T1 __x, _T2 __y) | |
12281 | { return pair<_T1, _T2>(__x, __y); } | |
12282 | ||
12283 | } | |
12284 | # 72 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 2 3 | |
12285 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/cpp_type_traits.h" 1 3 | |
12286 | # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/cpp_type_traits.h" 3 | |
12287 | #define _CPP_TYPE_TRAITS_H 1 | |
12288 | ||
12289 | ||
12290 | # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/cpp_type_traits.h" 3 | |
12291 | # 74 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/cpp_type_traits.h" 3 | |
12292 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
12293 | ||
12294 | template<typename _Iterator, typename _Container> | |
12295 | class __normal_iterator; | |
12296 | ||
12297 | } | |
12298 | ||
12299 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
12300 | ||
12301 | namespace __detail | |
12302 | { | |
12303 | ||
12304 | ||
12305 | typedef char __one; | |
12306 | typedef char __two[2]; | |
12307 | ||
12308 | template<typename _Tp> | |
12309 | __one __test_type(int _Tp::*); | |
12310 | template<typename _Tp> | |
12311 | __two& __test_type(...); | |
12312 | } | |
12313 | ||
12314 | ||
12315 | struct __true_type { }; | |
12316 | struct __false_type { }; | |
12317 | ||
12318 | template<bool> | |
12319 | struct __truth_type | |
12320 | { typedef __false_type __type; }; | |
12321 | ||
12322 | template<> | |
12323 | struct __truth_type<true> | |
12324 | { typedef __true_type __type; }; | |
12325 | ||
12326 | ||
12327 | ||
12328 | template<class _Sp, class _Tp> | |
12329 | struct __traitor | |
12330 | { | |
12331 | enum { __value = bool(_Sp::__value) || bool(_Tp::__value) }; | |
12332 | typedef typename __truth_type<__value>::__type __type; | |
12333 | }; | |
12334 | ||
12335 | ||
12336 | template<typename, typename> | |
12337 | struct __are_same | |
12338 | { | |
12339 | enum { __value = 0 }; | |
12340 | typedef __false_type __type; | |
12341 | }; | |
12342 | ||
12343 | template<typename _Tp> | |
12344 | struct __are_same<_Tp, _Tp> | |
12345 | { | |
12346 | enum { __value = 1 }; | |
12347 | typedef __true_type __type; | |
12348 | }; | |
12349 | ||
12350 | ||
12351 | template<typename _Tp> | |
12352 | struct __is_void | |
12353 | { | |
12354 | enum { __value = 0 }; | |
12355 | typedef __false_type __type; | |
12356 | }; | |
12357 | ||
12358 | template<> | |
12359 | struct __is_void<void> | |
12360 | { | |
12361 | enum { __value = 1 }; | |
12362 | typedef __true_type __type; | |
12363 | }; | |
12364 | ||
12365 | ||
12366 | ||
12367 | ||
12368 | template<typename _Tp> | |
12369 | struct __is_integer | |
12370 | { | |
12371 | enum { __value = 0 }; | |
12372 | typedef __false_type __type; | |
12373 | }; | |
12374 | ||
12375 | ||
12376 | ||
12377 | ||
12378 | template<> | |
12379 | struct __is_integer<bool> | |
12380 | { | |
12381 | enum { __value = 1 }; | |
12382 | typedef __true_type __type; | |
12383 | }; | |
12384 | ||
12385 | template<> | |
12386 | struct __is_integer<char> | |
12387 | { | |
12388 | enum { __value = 1 }; | |
12389 | typedef __true_type __type; | |
12390 | }; | |
12391 | ||
12392 | template<> | |
12393 | struct __is_integer<signed char> | |
12394 | { | |
12395 | enum { __value = 1 }; | |
12396 | typedef __true_type __type; | |
12397 | }; | |
12398 | ||
12399 | template<> | |
12400 | struct __is_integer<unsigned char> | |
12401 | { | |
12402 | enum { __value = 1 }; | |
12403 | typedef __true_type __type; | |
12404 | }; | |
12405 | ||
12406 | ||
12407 | template<> | |
12408 | struct __is_integer<wchar_t> | |
12409 | { | |
12410 | enum { __value = 1 }; | |
12411 | typedef __true_type __type; | |
12412 | }; | |
12413 | ||
12414 | ||
12415 | template<> | |
12416 | struct __is_integer<short> | |
12417 | { | |
12418 | enum { __value = 1 }; | |
12419 | typedef __true_type __type; | |
12420 | }; | |
12421 | ||
12422 | template<> | |
12423 | struct __is_integer<unsigned short> | |
12424 | { | |
12425 | enum { __value = 1 }; | |
12426 | typedef __true_type __type; | |
12427 | }; | |
12428 | ||
12429 | template<> | |
12430 | struct __is_integer<int> | |
12431 | { | |
12432 | enum { __value = 1 }; | |
12433 | typedef __true_type __type; | |
12434 | }; | |
12435 | ||
12436 | template<> | |
12437 | struct __is_integer<unsigned int> | |
12438 | { | |
12439 | enum { __value = 1 }; | |
12440 | typedef __true_type __type; | |
12441 | }; | |
12442 | ||
12443 | template<> | |
12444 | struct __is_integer<long> | |
12445 | { | |
12446 | enum { __value = 1 }; | |
12447 | typedef __true_type __type; | |
12448 | }; | |
12449 | ||
12450 | template<> | |
12451 | struct __is_integer<unsigned long> | |
12452 | { | |
12453 | enum { __value = 1 }; | |
12454 | typedef __true_type __type; | |
12455 | }; | |
12456 | ||
12457 | template<> | |
12458 | struct __is_integer<long long> | |
12459 | { | |
12460 | enum { __value = 1 }; | |
12461 | typedef __true_type __type; | |
12462 | }; | |
12463 | ||
12464 | template<> | |
12465 | struct __is_integer<unsigned long long> | |
12466 | { | |
12467 | enum { __value = 1 }; | |
12468 | typedef __true_type __type; | |
12469 | }; | |
12470 | ||
12471 | ||
12472 | ||
12473 | ||
12474 | template<typename _Tp> | |
12475 | struct __is_floating | |
12476 | { | |
12477 | enum { __value = 0 }; | |
12478 | typedef __false_type __type; | |
12479 | }; | |
12480 | ||
12481 | ||
12482 | template<> | |
12483 | struct __is_floating<float> | |
12484 | { | |
12485 | enum { __value = 1 }; | |
12486 | typedef __true_type __type; | |
12487 | }; | |
12488 | ||
12489 | template<> | |
12490 | struct __is_floating<double> | |
12491 | { | |
12492 | enum { __value = 1 }; | |
12493 | typedef __true_type __type; | |
12494 | }; | |
12495 | ||
12496 | template<> | |
12497 | struct __is_floating<long double> | |
12498 | { | |
12499 | enum { __value = 1 }; | |
12500 | typedef __true_type __type; | |
12501 | }; | |
12502 | ||
12503 | ||
12504 | ||
12505 | ||
12506 | template<typename _Tp> | |
12507 | struct __is_pointer | |
12508 | { | |
12509 | enum { __value = 0 }; | |
12510 | typedef __false_type __type; | |
12511 | }; | |
12512 | ||
12513 | template<typename _Tp> | |
12514 | struct __is_pointer<_Tp*> | |
12515 | { | |
12516 | enum { __value = 1 }; | |
12517 | typedef __true_type __type; | |
12518 | }; | |
12519 | ||
12520 | ||
12521 | ||
12522 | ||
12523 | template<typename _Tp> | |
12524 | struct __is_normal_iterator | |
12525 | { | |
12526 | enum { __value = 0 }; | |
12527 | typedef __false_type __type; | |
12528 | }; | |
12529 | ||
12530 | template<typename _Iterator, typename _Container> | |
12531 | struct __is_normal_iterator< __gnu_cxx::__normal_iterator<_Iterator, | |
12532 | _Container> > | |
12533 | { | |
12534 | enum { __value = 1 }; | |
12535 | typedef __true_type __type; | |
12536 | }; | |
12537 | ||
12538 | ||
12539 | ||
12540 | ||
12541 | template<typename _Tp> | |
12542 | struct __is_arithmetic | |
12543 | : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> > | |
12544 | { }; | |
12545 | ||
12546 | ||
12547 | ||
12548 | ||
12549 | template<typename _Tp> | |
12550 | struct __is_fundamental | |
12551 | : public __traitor<__is_void<_Tp>, __is_arithmetic<_Tp> > | |
12552 | { }; | |
12553 | ||
12554 | ||
12555 | ||
12556 | ||
12557 | template<typename _Tp> | |
12558 | struct __is_scalar | |
12559 | : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> > | |
12560 | { }; | |
12561 | ||
12562 | ||
12563 | template<typename _Tp> | |
12564 | struct __is_pod | |
12565 | { | |
12566 | enum | |
12567 | { | |
12568 | __value = (sizeof(__detail::__test_type<_Tp>(0)) | |
12569 | != sizeof(__detail::__one)) | |
12570 | }; | |
12571 | }; | |
12572 | ||
12573 | ||
12574 | ||
12575 | ||
12576 | template<typename _Tp> | |
12577 | struct __is_empty | |
12578 | { | |
12579 | private: | |
12580 | template<typename> | |
12581 | struct __first { }; | |
12582 | template<typename _Up> | |
12583 | struct __second | |
12584 | : public _Up { }; | |
12585 | ||
12586 | public: | |
12587 | enum | |
12588 | { | |
12589 | __value = sizeof(__first<_Tp>) == sizeof(__second<_Tp>) | |
12590 | }; | |
12591 | }; | |
12592 | ||
12593 | ||
12594 | ||
12595 | ||
12596 | template<typename _Tp> | |
12597 | struct __is_char | |
12598 | { | |
12599 | enum { __value = 0 }; | |
12600 | typedef __false_type __type; | |
12601 | }; | |
12602 | ||
12603 | template<> | |
12604 | struct __is_char<char> | |
12605 | { | |
12606 | enum { __value = 1 }; | |
12607 | typedef __true_type __type; | |
12608 | }; | |
12609 | ||
12610 | ||
12611 | template<> | |
12612 | struct __is_char<wchar_t> | |
12613 | { | |
12614 | enum { __value = 1 }; | |
12615 | typedef __true_type __type; | |
12616 | }; | |
12617 | ||
12618 | ||
12619 | } | |
12620 | # 73 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 2 3 | |
12621 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/ext/type_traits.h" 1 3 | |
12622 | # 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/ext/type_traits.h" 3 | |
12623 | #define _EXT_TYPE_TRAITS 1 | |
12624 | ||
12625 | ||
12626 | # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/ext/type_traits.h" 3 | |
12627 | ||
12628 | ||
12629 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/utility" 1 3 | |
12630 | # 61 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/utility" 3 | |
12631 | #define _GLIBCXX_UTILITY 1 | |
12632 | ||
12633 | ||
12634 | # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/utility" 3 | |
12635 | ||
12636 | ||
12637 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_relops.h" 1 3 | |
12638 | # 72 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_relops.h" 3 | |
12639 | #define _STL_RELOPS_H 1 | |
12640 | ||
12641 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
12642 | ||
12643 | namespace rel_ops | |
12644 | { | |
12645 | # 90 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_relops.h" 3 | |
12646 | template <class _Tp> | |
12647 | inline bool | |
12648 | operator!=(const _Tp& __x, const _Tp& __y) | |
12649 | { return !(__x == __y); } | |
12650 | # 103 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_relops.h" 3 | |
12651 | template <class _Tp> | |
12652 | inline bool | |
12653 | operator>(const _Tp& __x, const _Tp& __y) | |
12654 | { return __y < __x; } | |
12655 | # 116 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_relops.h" 3 | |
12656 | template <class _Tp> | |
12657 | inline bool | |
12658 | operator<=(const _Tp& __x, const _Tp& __y) | |
12659 | { return !(__y < __x); } | |
12660 | # 129 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_relops.h" 3 | |
12661 | template <class _Tp> | |
12662 | inline bool | |
12663 | operator>=(const _Tp& __x, const _Tp& __y) | |
12664 | { return !(__x < __y); } | |
12665 | ||
12666 | } | |
12667 | ||
12668 | } | |
12669 | # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/utility" 2 3 | |
12670 | # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/ext/type_traits.h" 2 3 | |
12671 | ||
12672 | ||
12673 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
12674 | ||
12675 | ||
12676 | template<bool, typename> | |
12677 | struct __enable_if | |
12678 | { }; | |
12679 | ||
12680 | template<typename _Tp> | |
12681 | struct __enable_if<true, _Tp> | |
12682 | { typedef _Tp __type; }; | |
12683 | ||
12684 | ||
12685 | ||
12686 | template<bool _Cond, typename _Iftrue, typename _Iffalse> | |
12687 | struct __conditional_type | |
12688 | { typedef _Iftrue __type; }; | |
12689 | ||
12690 | template<typename _Iftrue, typename _Iffalse> | |
12691 | struct __conditional_type<false, _Iftrue, _Iffalse> | |
12692 | { typedef _Iffalse __type; }; | |
12693 | ||
12694 | ||
12695 | ||
12696 | template<typename _Tp> | |
12697 | struct __add_unsigned | |
12698 | { | |
12699 | private: | |
12700 | typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type; | |
12701 | ||
12702 | public: | |
12703 | typedef typename __if_type::__type __type; | |
12704 | }; | |
12705 | ||
12706 | template<> | |
12707 | struct __add_unsigned<char> | |
12708 | { typedef unsigned char __type; }; | |
12709 | ||
12710 | template<> | |
12711 | struct __add_unsigned<signed char> | |
12712 | { typedef unsigned char __type; }; | |
12713 | ||
12714 | template<> | |
12715 | struct __add_unsigned<short> | |
12716 | { typedef unsigned short __type; }; | |
12717 | ||
12718 | template<> | |
12719 | struct __add_unsigned<int> | |
12720 | { typedef unsigned int __type; }; | |
12721 | ||
12722 | template<> | |
12723 | struct __add_unsigned<long> | |
12724 | { typedef unsigned long __type; }; | |
12725 | ||
12726 | template<> | |
12727 | struct __add_unsigned<long long> | |
12728 | { typedef unsigned long long __type; }; | |
12729 | ||
12730 | ||
12731 | template<> | |
12732 | struct __add_unsigned<bool>; | |
12733 | ||
12734 | template<> | |
12735 | struct __add_unsigned<wchar_t>; | |
12736 | ||
12737 | ||
12738 | ||
12739 | template<typename _Tp> | |
12740 | struct __remove_unsigned | |
12741 | { | |
12742 | private: | |
12743 | typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type; | |
12744 | ||
12745 | public: | |
12746 | typedef typename __if_type::__type __type; | |
12747 | }; | |
12748 | ||
12749 | template<> | |
12750 | struct __remove_unsigned<char> | |
12751 | { typedef signed char __type; }; | |
12752 | ||
12753 | template<> | |
12754 | struct __remove_unsigned<unsigned char> | |
12755 | { typedef signed char __type; }; | |
12756 | ||
12757 | template<> | |
12758 | struct __remove_unsigned<unsigned short> | |
12759 | { typedef short __type; }; | |
12760 | ||
12761 | template<> | |
12762 | struct __remove_unsigned<unsigned int> | |
12763 | { typedef int __type; }; | |
12764 | ||
12765 | template<> | |
12766 | struct __remove_unsigned<unsigned long> | |
12767 | { typedef long __type; }; | |
12768 | ||
12769 | template<> | |
12770 | struct __remove_unsigned<unsigned long long> | |
12771 | { typedef long long __type; }; | |
12772 | ||
12773 | ||
12774 | template<> | |
12775 | struct __remove_unsigned<bool>; | |
12776 | ||
12777 | template<> | |
12778 | struct __remove_unsigned<wchar_t>; | |
12779 | ||
12780 | } | |
12781 | # 74 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 2 3 | |
12782 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator_base_types.h" 1 3 | |
12783 | # 65 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator_base_types.h" 3 | |
12784 | #define _ITERATOR_BASE_TYPES_H 1 | |
12785 | ||
12786 | ||
12787 | # 68 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator_base_types.h" 3 | |
12788 | ||
12789 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
12790 | # 80 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator_base_types.h" 3 | |
12791 | struct input_iterator_tag {}; | |
12792 | ||
12793 | struct output_iterator_tag {}; | |
12794 | ||
12795 | struct forward_iterator_tag : public input_iterator_tag {}; | |
12796 | ||
12797 | ||
12798 | struct bidirectional_iterator_tag : public forward_iterator_tag {}; | |
12799 | ||
12800 | ||
12801 | struct random_access_iterator_tag : public bidirectional_iterator_tag {}; | |
12802 | # 104 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator_base_types.h" 3 | |
12803 | template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, | |
12804 | typename _Pointer = _Tp*, typename _Reference = _Tp&> | |
12805 | struct iterator | |
12806 | { | |
12807 | ||
12808 | typedef _Category iterator_category; | |
12809 | ||
12810 | typedef _Tp value_type; | |
12811 | ||
12812 | typedef _Distance difference_type; | |
12813 | ||
12814 | typedef _Pointer pointer; | |
12815 | ||
12816 | typedef _Reference reference; | |
12817 | }; | |
12818 | ||
12819 | ||
12820 | ||
12821 | ||
12822 | ||
12823 | ||
12824 | ||
12825 | template<typename _Iterator> | |
12826 | struct iterator_traits | |
12827 | { | |
12828 | typedef typename _Iterator::iterator_category iterator_category; | |
12829 | typedef typename _Iterator::value_type value_type; | |
12830 | typedef typename _Iterator::difference_type difference_type; | |
12831 | typedef typename _Iterator::pointer pointer; | |
12832 | typedef typename _Iterator::reference reference; | |
12833 | }; | |
12834 | ||
12835 | template<typename _Tp> | |
12836 | struct iterator_traits<_Tp*> | |
12837 | { | |
12838 | typedef random_access_iterator_tag iterator_category; | |
12839 | typedef _Tp value_type; | |
12840 | typedef ptrdiff_t difference_type; | |
12841 | typedef _Tp* pointer; | |
12842 | typedef _Tp& reference; | |
12843 | }; | |
12844 | ||
12845 | template<typename _Tp> | |
12846 | struct iterator_traits<const _Tp*> | |
12847 | { | |
12848 | typedef random_access_iterator_tag iterator_category; | |
12849 | typedef _Tp value_type; | |
12850 | typedef ptrdiff_t difference_type; | |
12851 | typedef const _Tp* pointer; | |
12852 | typedef const _Tp& reference; | |
12853 | }; | |
12854 | ||
12855 | ||
12856 | ||
12857 | ||
12858 | ||
12859 | ||
12860 | ||
12861 | template<typename _Iter> | |
12862 | inline typename iterator_traits<_Iter>::iterator_category | |
12863 | __iterator_category(const _Iter&) | |
12864 | { return typename iterator_traits<_Iter>::iterator_category(); } | |
12865 | ||
12866 | } | |
12867 | # 75 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 2 3 | |
12868 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator_base_funcs.h" 1 3 | |
12869 | # 66 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator_base_funcs.h" 3 | |
12870 | #define _ITERATOR_BASE_FUNCS_H 1 | |
12871 | ||
12872 | ||
12873 | # 69 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator_base_funcs.h" 3 | |
12874 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/concept_check.h" 1 3 | |
12875 | # 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/concept_check.h" 3 | |
12876 | #define _CONCEPT_CHECK_H 1 | |
12877 | ||
12878 | ||
12879 | # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/concept_check.h" 3 | |
12880 | # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/concept_check.h" 3 | |
12881 | #define __glibcxx_function_requires(...) | |
12882 | #define __glibcxx_class_requires(_a,_b) | |
12883 | #define __glibcxx_class_requires2(_a,_b,_c) | |
12884 | #define __glibcxx_class_requires3(_a,_b,_c,_d) | |
12885 | #define __glibcxx_class_requires4(_a,_b,_c,_d,_e) | |
12886 | # 70 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator_base_funcs.h" 2 3 | |
12887 | ||
12888 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
12889 | ||
12890 | template<typename _InputIterator> | |
12891 | inline typename iterator_traits<_InputIterator>::difference_type | |
12892 | __distance(_InputIterator __first, _InputIterator __last, | |
12893 | input_iterator_tag) | |
12894 | { | |
12895 | ||
12896 | ||
12897 | ||
12898 | typename iterator_traits<_InputIterator>::difference_type __n = 0; | |
12899 | while (__first != __last) | |
12900 | { | |
12901 | ++__first; | |
12902 | ++__n; | |
12903 | } | |
12904 | return __n; | |
12905 | } | |
12906 | ||
12907 | template<typename _RandomAccessIterator> | |
12908 | inline typename iterator_traits<_RandomAccessIterator>::difference_type | |
12909 | __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, | |
12910 | random_access_iterator_tag) | |
12911 | { | |
12912 | ||
12913 | ||
12914 | ||
12915 | return __last - __first; | |
12916 | } | |
12917 | # 113 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator_base_funcs.h" 3 | |
12918 | template<typename _InputIterator> | |
12919 | inline typename iterator_traits<_InputIterator>::difference_type | |
12920 | distance(_InputIterator __first, _InputIterator __last) | |
12921 | { | |
12922 | ||
12923 | return std::__distance(__first, __last, | |
12924 | std::__iterator_category(__first)); | |
12925 | } | |
12926 | ||
12927 | template<typename _InputIterator, typename _Distance> | |
12928 | inline void | |
12929 | __advance(_InputIterator& __i, _Distance __n, input_iterator_tag) | |
12930 | { | |
12931 | ||
12932 | ||
12933 | while (__n--) | |
12934 | ++__i; | |
12935 | } | |
12936 | ||
12937 | template<typename _BidirectionalIterator, typename _Distance> | |
12938 | inline void | |
12939 | __advance(_BidirectionalIterator& __i, _Distance __n, | |
12940 | bidirectional_iterator_tag) | |
12941 | { | |
12942 | ||
12943 | ||
12944 | ||
12945 | if (__n > 0) | |
12946 | while (__n--) | |
12947 | ++__i; | |
12948 | else | |
12949 | while (__n++) | |
12950 | --__i; | |
12951 | } | |
12952 | ||
12953 | template<typename _RandomAccessIterator, typename _Distance> | |
12954 | inline void | |
12955 | __advance(_RandomAccessIterator& __i, _Distance __n, | |
12956 | random_access_iterator_tag) | |
12957 | { | |
12958 | ||
12959 | ||
12960 | ||
12961 | __i += __n; | |
12962 | } | |
12963 | # 171 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator_base_funcs.h" 3 | |
12964 | template<typename _InputIterator, typename _Distance> | |
12965 | inline void | |
12966 | advance(_InputIterator& __i, _Distance __n) | |
12967 | { | |
12968 | ||
12969 | typename iterator_traits<_InputIterator>::difference_type __d = __n; | |
12970 | std::__advance(__i, __d, std::__iterator_category(__i)); | |
12971 | } | |
12972 | ||
12973 | } | |
12974 | # 76 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 2 3 | |
12975 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator.h" 1 3 | |
12976 | # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator.h" 3 | |
12977 | #define _ITERATOR_H 1 | |
12978 | ||
12979 | ||
12980 | ||
12981 | ||
12982 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
12983 | # 93 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator.h" 3 | |
12984 | template<typename _Iterator> | |
12985 | class reverse_iterator | |
12986 | : public iterator<typename iterator_traits<_Iterator>::iterator_category, | |
12987 | typename iterator_traits<_Iterator>::value_type, | |
12988 | typename iterator_traits<_Iterator>::difference_type, | |
12989 | typename iterator_traits<_Iterator>::pointer, | |
12990 | typename iterator_traits<_Iterator>::reference> | |
12991 | { | |
12992 | protected: | |
12993 | _Iterator current; | |
12994 | ||
12995 | public: | |
12996 | typedef _Iterator iterator_type; | |
12997 | typedef typename iterator_traits<_Iterator>::difference_type | |
12998 | difference_type; | |
12999 | typedef typename iterator_traits<_Iterator>::reference reference; | |
13000 | typedef typename iterator_traits<_Iterator>::pointer pointer; | |
13001 | ||
13002 | public: | |
13003 | ||
13004 | ||
13005 | ||
13006 | ||
13007 | ||
13008 | ||
13009 | reverse_iterator() : current() { } | |
13010 | ||
13011 | ||
13012 | ||
13013 | ||
13014 | explicit | |
13015 | reverse_iterator(iterator_type __x) : current(__x) { } | |
13016 | ||
13017 | ||
13018 | ||
13019 | ||
13020 | reverse_iterator(const reverse_iterator& __x) | |
13021 | : current(__x.current) { } | |
13022 | ||
13023 | ||
13024 | ||
13025 | ||
13026 | ||
13027 | template<typename _Iter> | |
13028 | reverse_iterator(const reverse_iterator<_Iter>& __x) | |
13029 | : current(__x.base()) { } | |
13030 | ||
13031 | ||
13032 | ||
13033 | ||
13034 | iterator_type | |
13035 | base() const | |
13036 | { return current; } | |
13037 | ||
13038 | ||
13039 | ||
13040 | ||
13041 | ||
13042 | ||
13043 | reference | |
13044 | operator*() const | |
13045 | { | |
13046 | _Iterator __tmp = current; | |
13047 | return *--__tmp; | |
13048 | } | |
13049 | ||
13050 | ||
13051 | ||
13052 | ||
13053 | ||
13054 | ||
13055 | pointer | |
13056 | operator->() const | |
13057 | { return &(operator*()); } | |
13058 | ||
13059 | ||
13060 | ||
13061 | ||
13062 | ||
13063 | ||
13064 | reverse_iterator& | |
13065 | operator++() | |
13066 | { | |
13067 | --current; | |
13068 | return *this; | |
13069 | } | |
13070 | ||
13071 | ||
13072 | ||
13073 | ||
13074 | ||
13075 | ||
13076 | reverse_iterator | |
13077 | operator++(int) | |
13078 | { | |
13079 | reverse_iterator __tmp = *this; | |
13080 | --current; | |
13081 | return __tmp; | |
13082 | } | |
13083 | ||
13084 | ||
13085 | ||
13086 | ||
13087 | ||
13088 | ||
13089 | reverse_iterator& | |
13090 | operator--() | |
13091 | { | |
13092 | ++current; | |
13093 | return *this; | |
13094 | } | |
13095 | ||
13096 | ||
13097 | ||
13098 | ||
13099 | ||
13100 | ||
13101 | reverse_iterator | |
13102 | operator--(int) | |
13103 | { | |
13104 | reverse_iterator __tmp = *this; | |
13105 | ++current; | |
13106 | return __tmp; | |
13107 | } | |
13108 | ||
13109 | ||
13110 | ||
13111 | ||
13112 | ||
13113 | ||
13114 | reverse_iterator | |
13115 | operator+(difference_type __n) const | |
13116 | { return reverse_iterator(current - __n); } | |
13117 | ||
13118 | ||
13119 | ||
13120 | ||
13121 | ||
13122 | ||
13123 | reverse_iterator& | |
13124 | operator+=(difference_type __n) | |
13125 | { | |
13126 | current -= __n; | |
13127 | return *this; | |
13128 | } | |
13129 | ||
13130 | ||
13131 | ||
13132 | ||
13133 | ||
13134 | ||
13135 | reverse_iterator | |
13136 | operator-(difference_type __n) const | |
13137 | { return reverse_iterator(current + __n); } | |
13138 | ||
13139 | ||
13140 | ||
13141 | ||
13142 | ||
13143 | ||
13144 | reverse_iterator& | |
13145 | operator-=(difference_type __n) | |
13146 | { | |
13147 | current += __n; | |
13148 | return *this; | |
13149 | } | |
13150 | ||
13151 | ||
13152 | ||
13153 | ||
13154 | ||
13155 | ||
13156 | reference | |
13157 | operator[](difference_type __n) const | |
13158 | { return *(*this + __n); } | |
13159 | }; | |
13160 | # 280 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator.h" 3 | |
13161 | template<typename _Iterator> | |
13162 | inline bool | |
13163 | operator==(const reverse_iterator<_Iterator>& __x, | |
13164 | const reverse_iterator<_Iterator>& __y) | |
13165 | { return __x.base() == __y.base(); } | |
13166 | ||
13167 | template<typename _Iterator> | |
13168 | inline bool | |
13169 | operator<(const reverse_iterator<_Iterator>& __x, | |
13170 | const reverse_iterator<_Iterator>& __y) | |
13171 | { return __y.base() < __x.base(); } | |
13172 | ||
13173 | template<typename _Iterator> | |
13174 | inline bool | |
13175 | operator!=(const reverse_iterator<_Iterator>& __x, | |
13176 | const reverse_iterator<_Iterator>& __y) | |
13177 | { return !(__x == __y); } | |
13178 | ||
13179 | template<typename _Iterator> | |
13180 | inline bool | |
13181 | operator>(const reverse_iterator<_Iterator>& __x, | |
13182 | const reverse_iterator<_Iterator>& __y) | |
13183 | { return __y < __x; } | |
13184 | ||
13185 | template<typename _Iterator> | |
13186 | inline bool | |
13187 | operator<=(const reverse_iterator<_Iterator>& __x, | |
13188 | const reverse_iterator<_Iterator>& __y) | |
13189 | { return !(__y < __x); } | |
13190 | ||
13191 | template<typename _Iterator> | |
13192 | inline bool | |
13193 | operator>=(const reverse_iterator<_Iterator>& __x, | |
13194 | const reverse_iterator<_Iterator>& __y) | |
13195 | { return !(__x < __y); } | |
13196 | ||
13197 | template<typename _Iterator> | |
13198 | inline typename reverse_iterator<_Iterator>::difference_type | |
13199 | operator-(const reverse_iterator<_Iterator>& __x, | |
13200 | const reverse_iterator<_Iterator>& __y) | |
13201 | { return __y.base() - __x.base(); } | |
13202 | ||
13203 | template<typename _Iterator> | |
13204 | inline reverse_iterator<_Iterator> | |
13205 | operator+(typename reverse_iterator<_Iterator>::difference_type __n, | |
13206 | const reverse_iterator<_Iterator>& __x) | |
13207 | { return reverse_iterator<_Iterator>(__x.base() - __n); } | |
13208 | ||
13209 | ||
13210 | ||
13211 | template<typename _IteratorL, typename _IteratorR> | |
13212 | inline bool | |
13213 | operator==(const reverse_iterator<_IteratorL>& __x, | |
13214 | const reverse_iterator<_IteratorR>& __y) | |
13215 | { return __x.base() == __y.base(); } | |
13216 | ||
13217 | template<typename _IteratorL, typename _IteratorR> | |
13218 | inline bool | |
13219 | operator<(const reverse_iterator<_IteratorL>& __x, | |
13220 | const reverse_iterator<_IteratorR>& __y) | |
13221 | { return __y.base() < __x.base(); } | |
13222 | ||
13223 | template<typename _IteratorL, typename _IteratorR> | |
13224 | inline bool | |
13225 | operator!=(const reverse_iterator<_IteratorL>& __x, | |
13226 | const reverse_iterator<_IteratorR>& __y) | |
13227 | { return !(__x == __y); } | |
13228 | ||
13229 | template<typename _IteratorL, typename _IteratorR> | |
13230 | inline bool | |
13231 | operator>(const reverse_iterator<_IteratorL>& __x, | |
13232 | const reverse_iterator<_IteratorR>& __y) | |
13233 | { return __y < __x; } | |
13234 | ||
13235 | template<typename _IteratorL, typename _IteratorR> | |
13236 | inline bool | |
13237 | operator<=(const reverse_iterator<_IteratorL>& __x, | |
13238 | const reverse_iterator<_IteratorR>& __y) | |
13239 | { return !(__y < __x); } | |
13240 | ||
13241 | template<typename _IteratorL, typename _IteratorR> | |
13242 | inline bool | |
13243 | operator>=(const reverse_iterator<_IteratorL>& __x, | |
13244 | const reverse_iterator<_IteratorR>& __y) | |
13245 | { return !(__x < __y); } | |
13246 | ||
13247 | template<typename _IteratorL, typename _IteratorR> | |
13248 | inline typename reverse_iterator<_IteratorL>::difference_type | |
13249 | operator-(const reverse_iterator<_IteratorL>& __x, | |
13250 | const reverse_iterator<_IteratorR>& __y) | |
13251 | { return __y.base() - __x.base(); } | |
13252 | # 384 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator.h" 3 | |
13253 | template<typename _Container> | |
13254 | class back_insert_iterator | |
13255 | : public iterator<output_iterator_tag, void, void, void, void> | |
13256 | { | |
13257 | protected: | |
13258 | _Container* container; | |
13259 | ||
13260 | public: | |
13261 | ||
13262 | typedef _Container container_type; | |
13263 | ||
13264 | ||
13265 | explicit | |
13266 | back_insert_iterator(_Container& __x) : container(&__x) { } | |
13267 | # 410 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator.h" 3 | |
13268 | back_insert_iterator& | |
13269 | operator=(typename _Container::const_reference __value) | |
13270 | { | |
13271 | container->push_back(__value); | |
13272 | return *this; | |
13273 | } | |
13274 | ||
13275 | ||
13276 | back_insert_iterator& | |
13277 | operator*() | |
13278 | { return *this; } | |
13279 | ||
13280 | ||
13281 | back_insert_iterator& | |
13282 | operator++() | |
13283 | { return *this; } | |
13284 | ||
13285 | ||
13286 | back_insert_iterator | |
13287 | operator++(int) | |
13288 | { return *this; } | |
13289 | }; | |
13290 | # 444 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator.h" 3 | |
13291 | template<typename _Container> | |
13292 | inline back_insert_iterator<_Container> | |
13293 | back_inserter(_Container& __x) | |
13294 | { return back_insert_iterator<_Container>(__x); } | |
13295 | # 459 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator.h" 3 | |
13296 | template<typename _Container> | |
13297 | class front_insert_iterator | |
13298 | : public iterator<output_iterator_tag, void, void, void, void> | |
13299 | { | |
13300 | protected: | |
13301 | _Container* container; | |
13302 | ||
13303 | public: | |
13304 | ||
13305 | typedef _Container container_type; | |
13306 | ||
13307 | ||
13308 | explicit front_insert_iterator(_Container& __x) : container(&__x) { } | |
13309 | # 484 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator.h" 3 | |
13310 | front_insert_iterator& | |
13311 | operator=(typename _Container::const_reference __value) | |
13312 | { | |
13313 | container->push_front(__value); | |
13314 | return *this; | |
13315 | } | |
13316 | ||
13317 | ||
13318 | front_insert_iterator& | |
13319 | operator*() | |
13320 | { return *this; } | |
13321 | ||
13322 | ||
13323 | front_insert_iterator& | |
13324 | operator++() | |
13325 | { return *this; } | |
13326 | ||
13327 | ||
13328 | front_insert_iterator | |
13329 | operator++(int) | |
13330 | { return *this; } | |
13331 | }; | |
13332 | # 518 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator.h" 3 | |
13333 | template<typename _Container> | |
13334 | inline front_insert_iterator<_Container> | |
13335 | front_inserter(_Container& __x) | |
13336 | { return front_insert_iterator<_Container>(__x); } | |
13337 | # 537 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator.h" 3 | |
13338 | template<typename _Container> | |
13339 | class insert_iterator | |
13340 | : public iterator<output_iterator_tag, void, void, void, void> | |
13341 | { | |
13342 | protected: | |
13343 | _Container* container; | |
13344 | typename _Container::iterator iter; | |
13345 | ||
13346 | public: | |
13347 | ||
13348 | typedef _Container container_type; | |
13349 | ||
13350 | ||
13351 | ||
13352 | ||
13353 | ||
13354 | insert_iterator(_Container& __x, typename _Container::iterator __i) | |
13355 | : container(&__x), iter(__i) {} | |
13356 | # 579 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator.h" 3 | |
13357 | insert_iterator& | |
13358 | operator=(const typename _Container::const_reference __value) | |
13359 | { | |
13360 | iter = container->insert(iter, __value); | |
13361 | ++iter; | |
13362 | return *this; | |
13363 | } | |
13364 | ||
13365 | ||
13366 | insert_iterator& | |
13367 | operator*() | |
13368 | { return *this; } | |
13369 | ||
13370 | ||
13371 | insert_iterator& | |
13372 | operator++() | |
13373 | { return *this; } | |
13374 | ||
13375 | ||
13376 | insert_iterator& | |
13377 | operator++(int) | |
13378 | { return *this; } | |
13379 | }; | |
13380 | # 614 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator.h" 3 | |
13381 | template<typename _Container, typename _Iterator> | |
13382 | inline insert_iterator<_Container> | |
13383 | inserter(_Container& __x, _Iterator __i) | |
13384 | { | |
13385 | return insert_iterator<_Container>(__x, | |
13386 | typename _Container::iterator(__i)); | |
13387 | } | |
13388 | ||
13389 | } | |
13390 | ||
13391 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
13392 | # 633 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator.h" 3 | |
13393 | using std::iterator_traits; | |
13394 | using std::iterator; | |
13395 | template<typename _Iterator, typename _Container> | |
13396 | class __normal_iterator | |
13397 | { | |
13398 | protected: | |
13399 | _Iterator _M_current; | |
13400 | ||
13401 | public: | |
13402 | typedef typename iterator_traits<_Iterator>::iterator_category | |
13403 | iterator_category; | |
13404 | typedef typename iterator_traits<_Iterator>::value_type value_type; | |
13405 | typedef typename iterator_traits<_Iterator>::difference_type | |
13406 | difference_type; | |
13407 | typedef typename iterator_traits<_Iterator>::reference reference; | |
13408 | typedef typename iterator_traits<_Iterator>::pointer pointer; | |
13409 | ||
13410 | __normal_iterator() : _M_current(_Iterator()) { } | |
13411 | ||
13412 | explicit | |
13413 | __normal_iterator(const _Iterator& __i) : _M_current(__i) { } | |
13414 | ||
13415 | ||
13416 | template<typename _Iter> | |
13417 | __normal_iterator(const __normal_iterator<_Iter, | |
13418 | typename __enable_if< | |
13419 | (std::__are_same<_Iter, typename _Container::pointer>::__value), | |
13420 | _Container>::__type>& __i) | |
13421 | : _M_current(__i.base()) { } | |
13422 | ||
13423 | ||
13424 | reference | |
13425 | operator*() const | |
13426 | { return *_M_current; } | |
13427 | ||
13428 | pointer | |
13429 | operator->() const | |
13430 | { return _M_current; } | |
13431 | ||
13432 | __normal_iterator& | |
13433 | operator++() | |
13434 | { | |
13435 | ++_M_current; | |
13436 | return *this; | |
13437 | } | |
13438 | ||
13439 | __normal_iterator | |
13440 | operator++(int) | |
13441 | { return __normal_iterator(_M_current++); } | |
13442 | ||
13443 | ||
13444 | __normal_iterator& | |
13445 | operator--() | |
13446 | { | |
13447 | --_M_current; | |
13448 | return *this; | |
13449 | } | |
13450 | ||
13451 | __normal_iterator | |
13452 | operator--(int) | |
13453 | { return __normal_iterator(_M_current--); } | |
13454 | ||
13455 | ||
13456 | reference | |
13457 | operator[](const difference_type& __n) const | |
13458 | { return _M_current[__n]; } | |
13459 | ||
13460 | __normal_iterator& | |
13461 | operator+=(const difference_type& __n) | |
13462 | { _M_current += __n; return *this; } | |
13463 | ||
13464 | __normal_iterator | |
13465 | operator+(const difference_type& __n) const | |
13466 | { return __normal_iterator(_M_current + __n); } | |
13467 | ||
13468 | __normal_iterator& | |
13469 | operator-=(const difference_type& __n) | |
13470 | { _M_current -= __n; return *this; } | |
13471 | ||
13472 | __normal_iterator | |
13473 | operator-(const difference_type& __n) const | |
13474 | { return __normal_iterator(_M_current - __n); } | |
13475 | ||
13476 | const _Iterator& | |
13477 | base() const | |
13478 | { return _M_current; } | |
13479 | }; | |
13480 | # 730 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator.h" 3 | |
13481 | template<typename _IteratorL, typename _IteratorR, typename _Container> | |
13482 | inline bool | |
13483 | operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, | |
13484 | const __normal_iterator<_IteratorR, _Container>& __rhs) | |
13485 | { return __lhs.base() == __rhs.base(); } | |
13486 | ||
13487 | template<typename _Iterator, typename _Container> | |
13488 | inline bool | |
13489 | operator==(const __normal_iterator<_Iterator, _Container>& __lhs, | |
13490 | const __normal_iterator<_Iterator, _Container>& __rhs) | |
13491 | { return __lhs.base() == __rhs.base(); } | |
13492 | ||
13493 | template<typename _IteratorL, typename _IteratorR, typename _Container> | |
13494 | inline bool | |
13495 | operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs, | |
13496 | const __normal_iterator<_IteratorR, _Container>& __rhs) | |
13497 | { return __lhs.base() != __rhs.base(); } | |
13498 | ||
13499 | template<typename _Iterator, typename _Container> | |
13500 | inline bool | |
13501 | operator!=(const __normal_iterator<_Iterator, _Container>& __lhs, | |
13502 | const __normal_iterator<_Iterator, _Container>& __rhs) | |
13503 | { return __lhs.base() != __rhs.base(); } | |
13504 | ||
13505 | ||
13506 | template<typename _IteratorL, typename _IteratorR, typename _Container> | |
13507 | inline bool | |
13508 | operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, | |
13509 | const __normal_iterator<_IteratorR, _Container>& __rhs) | |
13510 | { return __lhs.base() < __rhs.base(); } | |
13511 | ||
13512 | template<typename _Iterator, typename _Container> | |
13513 | inline bool | |
13514 | operator<(const __normal_iterator<_Iterator, _Container>& __lhs, | |
13515 | const __normal_iterator<_Iterator, _Container>& __rhs) | |
13516 | { return __lhs.base() < __rhs.base(); } | |
13517 | ||
13518 | template<typename _IteratorL, typename _IteratorR, typename _Container> | |
13519 | inline bool | |
13520 | operator>(const __normal_iterator<_IteratorL, _Container>& __lhs, | |
13521 | const __normal_iterator<_IteratorR, _Container>& __rhs) | |
13522 | { return __lhs.base() > __rhs.base(); } | |
13523 | ||
13524 | template<typename _Iterator, typename _Container> | |
13525 | inline bool | |
13526 | operator>(const __normal_iterator<_Iterator, _Container>& __lhs, | |
13527 | const __normal_iterator<_Iterator, _Container>& __rhs) | |
13528 | { return __lhs.base() > __rhs.base(); } | |
13529 | ||
13530 | template<typename _IteratorL, typename _IteratorR, typename _Container> | |
13531 | inline bool | |
13532 | operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs, | |
13533 | const __normal_iterator<_IteratorR, _Container>& __rhs) | |
13534 | { return __lhs.base() <= __rhs.base(); } | |
13535 | ||
13536 | template<typename _Iterator, typename _Container> | |
13537 | inline bool | |
13538 | operator<=(const __normal_iterator<_Iterator, _Container>& __lhs, | |
13539 | const __normal_iterator<_Iterator, _Container>& __rhs) | |
13540 | { return __lhs.base() <= __rhs.base(); } | |
13541 | ||
13542 | template<typename _IteratorL, typename _IteratorR, typename _Container> | |
13543 | inline bool | |
13544 | operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs, | |
13545 | const __normal_iterator<_IteratorR, _Container>& __rhs) | |
13546 | { return __lhs.base() >= __rhs.base(); } | |
13547 | ||
13548 | template<typename _Iterator, typename _Container> | |
13549 | inline bool | |
13550 | operator>=(const __normal_iterator<_Iterator, _Container>& __lhs, | |
13551 | const __normal_iterator<_Iterator, _Container>& __rhs) | |
13552 | { return __lhs.base() >= __rhs.base(); } | |
13553 | ||
13554 | ||
13555 | ||
13556 | ||
13557 | ||
13558 | template<typename _IteratorL, typename _IteratorR, typename _Container> | |
13559 | inline typename __normal_iterator<_IteratorL, _Container>::difference_type | |
13560 | operator-(const __normal_iterator<_IteratorL, _Container>& __lhs, | |
13561 | const __normal_iterator<_IteratorR, _Container>& __rhs) | |
13562 | { return __lhs.base() - __rhs.base(); } | |
13563 | ||
13564 | template<typename _Iterator, typename _Container> | |
13565 | inline typename __normal_iterator<_Iterator, _Container>::difference_type | |
13566 | operator-(const __normal_iterator<_Iterator, _Container>& __lhs, | |
13567 | const __normal_iterator<_Iterator, _Container>& __rhs) | |
13568 | { return __lhs.base() - __rhs.base(); } | |
13569 | ||
13570 | template<typename _Iterator, typename _Container> | |
13571 | inline __normal_iterator<_Iterator, _Container> | |
13572 | operator+(typename __normal_iterator<_Iterator, _Container>::difference_type | |
13573 | __n, const __normal_iterator<_Iterator, _Container>& __i) | |
13574 | { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); } | |
13575 | ||
13576 | } | |
13577 | # 77 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 2 3 | |
13578 | ||
13579 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/debug/debug.h" 1 3 | |
13580 | # 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/debug/debug.h" 3 | |
13581 | #define _GLIBCXX_DEBUG_MACRO_SWITCH_H 1 | |
13582 | # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/debug/debug.h" 3 | |
13583 | namespace std | |
13584 | { | |
13585 | namespace __debug { } | |
13586 | } | |
13587 | ||
13588 | namespace __gnu_cxx | |
13589 | { | |
13590 | namespace __debug { }; | |
13591 | } | |
13592 | ||
13593 | namespace __gnu_debug | |
13594 | { | |
13595 | using namespace std::__debug; | |
13596 | using namespace __gnu_cxx::__debug; | |
13597 | } | |
13598 | ||
13599 | ||
13600 | ||
13601 | #define _GLIBCXX_DEBUG_ASSERT(_Condition) | |
13602 | #define _GLIBCXX_DEBUG_PEDASSERT(_Condition) | |
13603 | #define _GLIBCXX_DEBUG_ONLY(_Statement) ; | |
13604 | #define __glibcxx_requires_cond(_Cond,_Msg) | |
13605 | #define __glibcxx_requires_valid_range(_First,_Last) | |
13606 | #define __glibcxx_requires_sorted(_First,_Last) | |
13607 | #define __glibcxx_requires_sorted_pred(_First,_Last,_Pred) | |
13608 | #define __glibcxx_requires_partitioned(_First,_Last,_Value) | |
13609 | #define __glibcxx_requires_partitioned_pred(_First,_Last,_Value,_Pred) | |
13610 | #define __glibcxx_requires_heap(_First,_Last) | |
13611 | #define __glibcxx_requires_heap_pred(_First,_Last,_Pred) | |
13612 | #define __glibcxx_requires_nonempty() | |
13613 | #define __glibcxx_requires_string(_String) | |
13614 | #define __glibcxx_requires_string_len(_String,_Len) | |
13615 | #define __glibcxx_requires_subscript(_N) | |
13616 | # 79 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 2 3 | |
13617 | ||
13618 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
13619 | # 91 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 3 | |
13620 | template<typename _Tp> | |
13621 | inline void | |
13622 | swap(_Tp& __a, _Tp& __b) | |
13623 | { | |
13624 | ||
13625 | ||
13626 | ||
13627 | _Tp __tmp = __a; | |
13628 | __a = __b; | |
13629 | __b = __tmp; | |
13630 | } | |
13631 | ||
13632 | ||
13633 | ||
13634 | ||
13635 | template<bool _BoolType> | |
13636 | struct __iter_swap | |
13637 | { | |
13638 | template<typename _ForwardIterator1, typename _ForwardIterator2> | |
13639 | static void | |
13640 | iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) | |
13641 | { | |
13642 | typedef typename iterator_traits<_ForwardIterator1>::value_type | |
13643 | _ValueType1; | |
13644 | _ValueType1 __tmp = *__a; | |
13645 | *__a = *__b; | |
13646 | *__b = __tmp; | |
13647 | } | |
13648 | }; | |
13649 | ||
13650 | template<> | |
13651 | struct __iter_swap<true> | |
13652 | { | |
13653 | template<typename _ForwardIterator1, typename _ForwardIterator2> | |
13654 | static void | |
13655 | iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) | |
13656 | { | |
13657 | swap(*__a, *__b); | |
13658 | } | |
13659 | }; | |
13660 | # 141 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 3 | |
13661 | template<typename _ForwardIterator1, typename _ForwardIterator2> | |
13662 | inline void | |
13663 | iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) | |
13664 | { | |
13665 | typedef typename iterator_traits<_ForwardIterator1>::value_type | |
13666 | _ValueType1; | |
13667 | typedef typename iterator_traits<_ForwardIterator2>::value_type | |
13668 | _ValueType2; | |
13669 | ||
13670 | ||
13671 | ||
13672 | ||
13673 | ||
13674 | ||
13675 | ||
13676 | ||
13677 | ||
13678 | ||
13679 | ||
13680 | typedef typename iterator_traits<_ForwardIterator1>::reference | |
13681 | _ReferenceType1; | |
13682 | typedef typename iterator_traits<_ForwardIterator2>::reference | |
13683 | _ReferenceType2; | |
13684 | std::__iter_swap<__are_same<_ValueType1, _ValueType2>::__value && | |
13685 | __are_same<_ValueType1 &, _ReferenceType1>::__value && | |
13686 | __are_same<_ValueType2 &, _ReferenceType2>::__value>:: | |
13687 | iter_swap(__a, __b); | |
13688 | } | |
13689 | # 180 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 3 | |
13690 | template<typename _Tp> | |
13691 | inline const _Tp& | |
13692 | min(const _Tp& __a, const _Tp& __b) | |
13693 | { | |
13694 | ||
13695 | ||
13696 | ||
13697 | if (__b < __a) | |
13698 | return __b; | |
13699 | return __a; | |
13700 | } | |
13701 | # 202 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 3 | |
13702 | template<typename _Tp> | |
13703 | inline const _Tp& | |
13704 | max(const _Tp& __a, const _Tp& __b) | |
13705 | { | |
13706 | ||
13707 | ||
13708 | ||
13709 | if (__a < __b) | |
13710 | return __b; | |
13711 | return __a; | |
13712 | } | |
13713 | # 224 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 3 | |
13714 | template<typename _Tp, typename _Compare> | |
13715 | inline const _Tp& | |
13716 | min(const _Tp& __a, const _Tp& __b, _Compare __comp) | |
13717 | { | |
13718 | ||
13719 | if (__comp(__b, __a)) | |
13720 | return __b; | |
13721 | return __a; | |
13722 | } | |
13723 | # 244 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 3 | |
13724 | template<typename _Tp, typename _Compare> | |
13725 | inline const _Tp& | |
13726 | max(const _Tp& __a, const _Tp& __b, _Compare __comp) | |
13727 | { | |
13728 | ||
13729 | if (__comp(__a, __b)) | |
13730 | return __b; | |
13731 | return __a; | |
13732 | } | |
13733 | ||
13734 | ||
13735 | ||
13736 | ||
13737 | ||
13738 | ||
13739 | ||
13740 | template<bool, typename> | |
13741 | struct __copy | |
13742 | { | |
13743 | template<typename _II, typename _OI> | |
13744 | static _OI | |
13745 | copy(_II __first, _II __last, _OI __result) | |
13746 | { | |
13747 | for (; __first != __last; ++__result, ++__first) | |
13748 | *__result = *__first; | |
13749 | return __result; | |
13750 | } | |
13751 | }; | |
13752 | ||
13753 | template<bool _BoolType> | |
13754 | struct __copy<_BoolType, random_access_iterator_tag> | |
13755 | { | |
13756 | template<typename _II, typename _OI> | |
13757 | static _OI | |
13758 | copy(_II __first, _II __last, _OI __result) | |
13759 | { | |
13760 | typedef typename iterator_traits<_II>::difference_type _Distance; | |
13761 | for(_Distance __n = __last - __first; __n > 0; --__n) | |
13762 | { | |
13763 | *__result = *__first; | |
13764 | ++__first; | |
13765 | ++__result; | |
13766 | } | |
13767 | return __result; | |
13768 | } | |
13769 | }; | |
13770 | ||
13771 | template<> | |
13772 | struct __copy<true, random_access_iterator_tag> | |
13773 | { | |
13774 | template<typename _Tp> | |
13775 | static _Tp* | |
13776 | copy(const _Tp* __first, const _Tp* __last, _Tp* __result) | |
13777 | { | |
13778 | std::memmove(__result, __first, sizeof(_Tp) * (__last - __first)); | |
13779 | return __result + (__last - __first); | |
13780 | } | |
13781 | }; | |
13782 | ||
13783 | template<typename _II, typename _OI> | |
13784 | inline _OI | |
13785 | __copy_aux(_II __first, _II __last, _OI __result) | |
13786 | { | |
13787 | typedef typename iterator_traits<_II>::value_type _ValueTypeI; | |
13788 | typedef typename iterator_traits<_OI>::value_type _ValueTypeO; | |
13789 | typedef typename iterator_traits<_II>::iterator_category _Category; | |
13790 | const bool __simple = (__is_scalar<_ValueTypeI>::__value | |
13791 | && __is_pointer<_II>::__value | |
13792 | && __is_pointer<_OI>::__value | |
13793 | && __are_same<_ValueTypeI, _ValueTypeO>::__value); | |
13794 | ||
13795 | return std::__copy<__simple, _Category>::copy(__first, __last, __result); | |
13796 | } | |
13797 | ||
13798 | ||
13799 | template<typename _CharT> | |
13800 | typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, | |
13801 | ostreambuf_iterator<_CharT> >::__type | |
13802 | __copy_aux(_CharT*, _CharT*, ostreambuf_iterator<_CharT>); | |
13803 | ||
13804 | template<typename _CharT> | |
13805 | typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, | |
13806 | ostreambuf_iterator<_CharT> >::__type | |
13807 | __copy_aux(const _CharT*, const _CharT*, ostreambuf_iterator<_CharT>); | |
13808 | ||
13809 | template<typename _CharT> | |
13810 | typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, _CharT*>::__type | |
13811 | __copy_aux(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>, | |
13812 | _CharT*); | |
13813 | ||
13814 | template<bool, bool> | |
13815 | struct __copy_normal | |
13816 | { | |
13817 | template<typename _II, typename _OI> | |
13818 | static _OI | |
13819 | __copy_n(_II __first, _II __last, _OI __result) | |
13820 | { return std::__copy_aux(__first, __last, __result); } | |
13821 | }; | |
13822 | ||
13823 | template<> | |
13824 | struct __copy_normal<true, false> | |
13825 | { | |
13826 | template<typename _II, typename _OI> | |
13827 | static _OI | |
13828 | __copy_n(_II __first, _II __last, _OI __result) | |
13829 | { return std::__copy_aux(__first.base(), __last.base(), __result); } | |
13830 | }; | |
13831 | ||
13832 | template<> | |
13833 | struct __copy_normal<false, true> | |
13834 | { | |
13835 | template<typename _II, typename _OI> | |
13836 | static _OI | |
13837 | __copy_n(_II __first, _II __last, _OI __result) | |
13838 | { return _OI(std::__copy_aux(__first, __last, __result.base())); } | |
13839 | }; | |
13840 | ||
13841 | template<> | |
13842 | struct __copy_normal<true, true> | |
13843 | { | |
13844 | template<typename _II, typename _OI> | |
13845 | static _OI | |
13846 | __copy_n(_II __first, _II __last, _OI __result) | |
13847 | { return _OI(std::__copy_aux(__first.base(), __last.base(), | |
13848 | __result.base())); } | |
13849 | }; | |
13850 | # 387 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 3 | |
13851 | template<typename _InputIterator, typename _OutputIterator> | |
13852 | inline _OutputIterator | |
13853 | copy(_InputIterator __first, _InputIterator __last, | |
13854 | _OutputIterator __result) | |
13855 | { | |
13856 | ||
13857 | ||
13858 | ||
13859 | ||
13860 | ; | |
13861 | ||
13862 | const bool __in = __is_normal_iterator<_InputIterator>::__value; | |
13863 | const bool __out = __is_normal_iterator<_OutputIterator>::__value; | |
13864 | return std::__copy_normal<__in, __out>::__copy_n(__first, __last, | |
13865 | __result); | |
13866 | } | |
13867 | ||
13868 | ||
13869 | template<typename _CharT> | |
13870 | typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, | |
13871 | ostreambuf_iterator<_CharT> >::__type | |
13872 | copy(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>, | |
13873 | ostreambuf_iterator<_CharT>); | |
13874 | ||
13875 | template<bool, typename> | |
13876 | struct __copy_backward | |
13877 | { | |
13878 | template<typename _BI1, typename _BI2> | |
13879 | static _BI2 | |
13880 | __copy_b(_BI1 __first, _BI1 __last, _BI2 __result) | |
13881 | { | |
13882 | while (__first != __last) | |
13883 | *--__result = *--__last; | |
13884 | return __result; | |
13885 | } | |
13886 | }; | |
13887 | ||
13888 | template<bool _BoolType> | |
13889 | struct __copy_backward<_BoolType, random_access_iterator_tag> | |
13890 | { | |
13891 | template<typename _BI1, typename _BI2> | |
13892 | static _BI2 | |
13893 | __copy_b(_BI1 __first, _BI1 __last, _BI2 __result) | |
13894 | { | |
13895 | typename iterator_traits<_BI1>::difference_type __n; | |
13896 | for (__n = __last - __first; __n > 0; --__n) | |
13897 | *--__result = *--__last; | |
13898 | return __result; | |
13899 | } | |
13900 | }; | |
13901 | ||
13902 | template<> | |
13903 | struct __copy_backward<true, random_access_iterator_tag> | |
13904 | { | |
13905 | template<typename _Tp> | |
13906 | static _Tp* | |
13907 | __copy_b(const _Tp* __first, const _Tp* __last, _Tp* __result) | |
13908 | { | |
13909 | const ptrdiff_t _Num = __last - __first; | |
13910 | std::memmove(__result - _Num, __first, sizeof(_Tp) * _Num); | |
13911 | return __result - _Num; | |
13912 | } | |
13913 | }; | |
13914 | ||
13915 | template<typename _BI1, typename _BI2> | |
13916 | inline _BI2 | |
13917 | __copy_backward_aux(_BI1 __first, _BI1 __last, _BI2 __result) | |
13918 | { | |
13919 | typedef typename iterator_traits<_BI1>::value_type _ValueType1; | |
13920 | typedef typename iterator_traits<_BI2>::value_type _ValueType2; | |
13921 | typedef typename iterator_traits<_BI1>::iterator_category _Category; | |
13922 | const bool __simple = (__is_scalar<_ValueType1>::__value | |
13923 | && __is_pointer<_BI1>::__value | |
13924 | && __is_pointer<_BI2>::__value | |
13925 | && __are_same<_ValueType1, _ValueType2>::__value); | |
13926 | ||
13927 | return std::__copy_backward<__simple, _Category>::__copy_b(__first, | |
13928 | __last, | |
13929 | __result); | |
13930 | } | |
13931 | ||
13932 | template<bool, bool> | |
13933 | struct __copy_backward_normal | |
13934 | { | |
13935 | template<typename _BI1, typename _BI2> | |
13936 | static _BI2 | |
13937 | __copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result) | |
13938 | { return std::__copy_backward_aux(__first, __last, __result); } | |
13939 | }; | |
13940 | ||
13941 | template<> | |
13942 | struct __copy_backward_normal<true, false> | |
13943 | { | |
13944 | template<typename _BI1, typename _BI2> | |
13945 | static _BI2 | |
13946 | __copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result) | |
13947 | { return std::__copy_backward_aux(__first.base(), __last.base(), | |
13948 | __result); } | |
13949 | }; | |
13950 | ||
13951 | template<> | |
13952 | struct __copy_backward_normal<false, true> | |
13953 | { | |
13954 | template<typename _BI1, typename _BI2> | |
13955 | static _BI2 | |
13956 | __copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result) | |
13957 | { return _BI2(std::__copy_backward_aux(__first, __last, | |
13958 | __result.base())); } | |
13959 | }; | |
13960 | ||
13961 | template<> | |
13962 | struct __copy_backward_normal<true, true> | |
13963 | { | |
13964 | template<typename _BI1, typename _BI2> | |
13965 | static _BI2 | |
13966 | __copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result) | |
13967 | { return _BI2(std::__copy_backward_aux(__first.base(), __last.base(), | |
13968 | __result.base())); } | |
13969 | }; | |
13970 | # 524 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 3 | |
13971 | template <typename _BI1, typename _BI2> | |
13972 | inline _BI2 | |
13973 | copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) | |
13974 | { | |
13975 | ||
13976 | ||
13977 | ||
13978 | ||
13979 | ||
13980 | ||
13981 | ; | |
13982 | ||
13983 | const bool __bi1 = __is_normal_iterator<_BI1>::__value; | |
13984 | const bool __bi2 = __is_normal_iterator<_BI2>::__value; | |
13985 | return std::__copy_backward_normal<__bi1, __bi2>::__copy_b_n(__first, | |
13986 | __last, | |
13987 | __result); | |
13988 | } | |
13989 | ||
13990 | template<bool> | |
13991 | struct __fill | |
13992 | { | |
13993 | template<typename _ForwardIterator, typename _Tp> | |
13994 | static void | |
13995 | fill(_ForwardIterator __first, _ForwardIterator __last, | |
13996 | const _Tp& __value) | |
13997 | { | |
13998 | for (; __first != __last; ++__first) | |
13999 | *__first = __value; | |
14000 | } | |
14001 | }; | |
14002 | ||
14003 | template<> | |
14004 | struct __fill<true> | |
14005 | { | |
14006 | template<typename _ForwardIterator, typename _Tp> | |
14007 | static void | |
14008 | fill(_ForwardIterator __first, _ForwardIterator __last, | |
14009 | const _Tp& __value) | |
14010 | { | |
14011 | const _Tp __tmp = __value; | |
14012 | for (; __first != __last; ++__first) | |
14013 | *__first = __tmp; | |
14014 | } | |
14015 | }; | |
14016 | # 581 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 3 | |
14017 | template<typename _ForwardIterator, typename _Tp> | |
14018 | void | |
14019 | fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) | |
14020 | { | |
14021 | ||
14022 | ||
14023 | ||
14024 | ; | |
14025 | ||
14026 | const bool __scalar = __is_scalar<_Tp>::__value; | |
14027 | std::__fill<__scalar>::fill(__first, __last, __value); | |
14028 | } | |
14029 | ||
14030 | ||
14031 | inline void | |
14032 | fill(unsigned char* __first, unsigned char* __last, const unsigned char& __c) | |
14033 | { | |
14034 | ; | |
14035 | const unsigned char __tmp = __c; | |
14036 | std::memset(__first, __tmp, __last - __first); | |
14037 | } | |
14038 | ||
14039 | inline void | |
14040 | fill(signed char* __first, signed char* __last, const signed char& __c) | |
14041 | { | |
14042 | ; | |
14043 | const signed char __tmp = __c; | |
14044 | std::memset(__first, static_cast<unsigned char>(__tmp), __last - __first); | |
14045 | } | |
14046 | ||
14047 | inline void | |
14048 | fill(char* __first, char* __last, const char& __c) | |
14049 | { | |
14050 | ; | |
14051 | const char __tmp = __c; | |
14052 | std::memset(__first, static_cast<unsigned char>(__tmp), __last - __first); | |
14053 | } | |
14054 | ||
14055 | template<bool> | |
14056 | struct __fill_n | |
14057 | { | |
14058 | template<typename _OutputIterator, typename _Size, typename _Tp> | |
14059 | static _OutputIterator | |
14060 | fill_n(_OutputIterator __first, _Size __n, const _Tp& __value) | |
14061 | { | |
14062 | for (; __n > 0; --__n, ++__first) | |
14063 | *__first = __value; | |
14064 | return __first; | |
14065 | } | |
14066 | }; | |
14067 | ||
14068 | template<> | |
14069 | struct __fill_n<true> | |
14070 | { | |
14071 | template<typename _OutputIterator, typename _Size, typename _Tp> | |
14072 | static _OutputIterator | |
14073 | fill_n(_OutputIterator __first, _Size __n, const _Tp& __value) | |
14074 | { | |
14075 | const _Tp __tmp = __value; | |
14076 | for (; __n > 0; --__n, ++__first) | |
14077 | *__first = __tmp; | |
14078 | return __first; | |
14079 | } | |
14080 | }; | |
14081 | # 657 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 3 | |
14082 | template<typename _OutputIterator, typename _Size, typename _Tp> | |
14083 | _OutputIterator | |
14084 | fill_n(_OutputIterator __first, _Size __n, const _Tp& __value) | |
14085 | { | |
14086 | ||
14087 | ||
14088 | ||
14089 | const bool __scalar = __is_scalar<_Tp>::__value; | |
14090 | return std::__fill_n<__scalar>::fill_n(__first, __n, __value); | |
14091 | } | |
14092 | ||
14093 | template<typename _Size> | |
14094 | inline unsigned char* | |
14095 | fill_n(unsigned char* __first, _Size __n, const unsigned char& __c) | |
14096 | { | |
14097 | std::fill(__first, __first + __n, __c); | |
14098 | return __first + __n; | |
14099 | } | |
14100 | ||
14101 | template<typename _Size> | |
14102 | inline signed char* | |
14103 | fill_n(signed char* __first, _Size __n, const signed char& __c) | |
14104 | { | |
14105 | std::fill(__first, __first + __n, __c); | |
14106 | return __first + __n; | |
14107 | } | |
14108 | ||
14109 | template<typename _Size> | |
14110 | inline char* | |
14111 | fill_n(char* __first, _Size __n, const char& __c) | |
14112 | { | |
14113 | std::fill(__first, __first + __n, __c); | |
14114 | return __first + __n; | |
14115 | } | |
14116 | # 704 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 3 | |
14117 | template<typename _InputIterator1, typename _InputIterator2> | |
14118 | pair<_InputIterator1, _InputIterator2> | |
14119 | mismatch(_InputIterator1 __first1, _InputIterator1 __last1, | |
14120 | _InputIterator2 __first2) | |
14121 | { | |
14122 | ||
14123 | ||
14124 | ||
14125 | ||
14126 | ||
14127 | ||
14128 | ; | |
14129 | ||
14130 | while (__first1 != __last1 && *__first1 == *__first2) | |
14131 | { | |
14132 | ++__first1; | |
14133 | ++__first2; | |
14134 | } | |
14135 | return pair<_InputIterator1, _InputIterator2>(__first1, __first2); | |
14136 | } | |
14137 | # 739 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 3 | |
14138 | template<typename _InputIterator1, typename _InputIterator2, | |
14139 | typename _BinaryPredicate> | |
14140 | pair<_InputIterator1, _InputIterator2> | |
14141 | mismatch(_InputIterator1 __first1, _InputIterator1 __last1, | |
14142 | _InputIterator2 __first2, _BinaryPredicate __binary_pred) | |
14143 | { | |
14144 | ||
14145 | ||
14146 | ||
14147 | ; | |
14148 | ||
14149 | while (__first1 != __last1 && __binary_pred(*__first1, *__first2)) | |
14150 | { | |
14151 | ++__first1; | |
14152 | ++__first2; | |
14153 | } | |
14154 | return pair<_InputIterator1, _InputIterator2>(__first1, __first2); | |
14155 | } | |
14156 | # 769 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 3 | |
14157 | template<typename _InputIterator1, typename _InputIterator2> | |
14158 | inline bool | |
14159 | equal(_InputIterator1 __first1, _InputIterator1 __last1, | |
14160 | _InputIterator2 __first2) | |
14161 | { | |
14162 | ||
14163 | ||
14164 | ||
14165 | ||
14166 | ||
14167 | ||
14168 | ; | |
14169 | ||
14170 | for (; __first1 != __last1; ++__first1, ++__first2) | |
14171 | if (!(*__first1 == *__first2)) | |
14172 | return false; | |
14173 | return true; | |
14174 | } | |
14175 | # 801 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 3 | |
14176 | template<typename _InputIterator1, typename _InputIterator2, | |
14177 | typename _BinaryPredicate> | |
14178 | inline bool | |
14179 | equal(_InputIterator1 __first1, _InputIterator1 __last1, | |
14180 | _InputIterator2 __first2, | |
14181 | _BinaryPredicate __binary_pred) | |
14182 | { | |
14183 | ||
14184 | ||
14185 | ||
14186 | ; | |
14187 | ||
14188 | for (; __first1 != __last1; ++__first1, ++__first2) | |
14189 | if (!__binary_pred(*__first1, *__first2)) | |
14190 | return false; | |
14191 | return true; | |
14192 | } | |
14193 | # 833 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 3 | |
14194 | template<typename _InputIterator1, typename _InputIterator2> | |
14195 | bool | |
14196 | lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1, | |
14197 | _InputIterator2 __first2, _InputIterator2 __last2) | |
14198 | { | |
14199 | ||
14200 | ||
14201 | ||
14202 | ||
14203 | ||
14204 | ||
14205 | ||
14206 | ||
14207 | ||
14208 | ; | |
14209 | ; | |
14210 | ||
14211 | for (; __first1 != __last1 && __first2 != __last2; | |
14212 | ++__first1, ++__first2) | |
14213 | { | |
14214 | if (*__first1 < *__first2) | |
14215 | return true; | |
14216 | if (*__first2 < *__first1) | |
14217 | return false; | |
14218 | } | |
14219 | return __first1 == __last1 && __first2 != __last2; | |
14220 | } | |
14221 | # 873 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 3 | |
14222 | template<typename _InputIterator1, typename _InputIterator2, | |
14223 | typename _Compare> | |
14224 | bool | |
14225 | lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1, | |
14226 | _InputIterator2 __first2, _InputIterator2 __last2, | |
14227 | _Compare __comp) | |
14228 | { | |
14229 | ||
14230 | ||
14231 | ||
14232 | ; | |
14233 | ; | |
14234 | ||
14235 | for (; __first1 != __last1 && __first2 != __last2; | |
14236 | ++__first1, ++__first2) | |
14237 | { | |
14238 | if (__comp(*__first1, *__first2)) | |
14239 | return true; | |
14240 | if (__comp(*__first2, *__first1)) | |
14241 | return false; | |
14242 | } | |
14243 | return __first1 == __last1 && __first2 != __last2; | |
14244 | } | |
14245 | ||
14246 | inline bool | |
14247 | lexicographical_compare(const unsigned char* __first1, | |
14248 | const unsigned char* __last1, | |
14249 | const unsigned char* __first2, | |
14250 | const unsigned char* __last2) | |
14251 | { | |
14252 | ; | |
14253 | ; | |
14254 | ||
14255 | const size_t __len1 = __last1 - __first1; | |
14256 | const size_t __len2 = __last2 - __first2; | |
14257 | const int __result = std::memcmp(__first1, __first2, | |
14258 | std::min(__len1, __len2)); | |
14259 | return __result != 0 ? __result < 0 : __len1 < __len2; | |
14260 | } | |
14261 | ||
14262 | inline bool | |
14263 | lexicographical_compare(const char* __first1, const char* __last1, | |
14264 | const char* __first2, const char* __last2) | |
14265 | { | |
14266 | ; | |
14267 | ; | |
14268 | ||
14269 | ||
14270 | return std::lexicographical_compare((const signed char*) __first1, | |
14271 | (const signed char*) __last1, | |
14272 | (const signed char*) __first2, | |
14273 | (const signed char*) __last2); | |
14274 | ||
14275 | ||
14276 | ||
14277 | ||
14278 | ||
14279 | ||
14280 | } | |
14281 | ||
14282 | } | |
14283 | # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/deque" 2 3 | |
14284 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/allocator.h" 1 3 | |
14285 | # 50 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/allocator.h" 3 | |
14286 | #define _ALLOCATOR_H 1 | |
14287 | ||
14288 | ||
14289 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++allocator.h" 1 3 | |
14290 | # 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++allocator.h" 3 | |
14291 | #define _CXX_ALLOCATOR_H 1 | |
14292 | ||
14293 | ||
14294 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/ext/new_allocator.h" 1 3 | |
14295 | # 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/ext/new_allocator.h" 3 | |
14296 | #define _NEW_ALLOCATOR_H 1 | |
14297 | ||
14298 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/new" 1 3 | |
14299 | # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/new" 3 | |
14300 | #define _NEW | |
14301 | ||
14302 | ||
14303 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/exception" 1 3 | |
14304 | # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/exception" 3 | |
14305 | #define __EXCEPTION__ | |
14306 | ||
14307 | #pragma GCC visibility push(default) | |
14308 | ||
14309 | ||
14310 | ||
14311 | extern "C++" { | |
14312 | ||
14313 | namespace std | |
14314 | { | |
14315 | # 56 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/exception" 3 | |
14316 | class exception | |
14317 | { | |
14318 | public: | |
14319 | exception() throw() { } | |
14320 | virtual ~exception() throw(); | |
14321 | ||
14322 | ||
14323 | ||
14324 | virtual const char* what() const throw(); | |
14325 | }; | |
14326 | ||
14327 | ||
14328 | ||
14329 | class bad_exception : public exception | |
14330 | { | |
14331 | public: | |
14332 | bad_exception() throw() { } | |
14333 | ||
14334 | ||
14335 | ||
14336 | virtual ~bad_exception() throw(); | |
14337 | ||
14338 | ||
14339 | virtual const char* what() const throw(); | |
14340 | }; | |
14341 | ||
14342 | ||
14343 | typedef void (*terminate_handler) (); | |
14344 | ||
14345 | ||
14346 | typedef void (*unexpected_handler) (); | |
14347 | ||
14348 | ||
14349 | terminate_handler set_terminate(terminate_handler) throw(); | |
14350 | ||
14351 | ||
14352 | ||
14353 | void terminate() __attribute__ ((__noreturn__)); | |
14354 | ||
14355 | ||
14356 | unexpected_handler set_unexpected(unexpected_handler) throw(); | |
14357 | ||
14358 | ||
14359 | ||
14360 | void unexpected() __attribute__ ((__noreturn__)); | |
14361 | # 112 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/exception" 3 | |
14362 | bool uncaught_exception() throw(); | |
14363 | } | |
14364 | ||
14365 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
14366 | # 127 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/exception" 3 | |
14367 | void __verbose_terminate_handler (); | |
14368 | ||
14369 | } | |
14370 | ||
14371 | } | |
14372 | ||
14373 | #pragma GCC visibility pop | |
14374 | # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/new" 2 3 | |
14375 | ||
14376 | #pragma GCC visibility push(default) | |
14377 | ||
14378 | extern "C++" { | |
14379 | ||
14380 | namespace std | |
14381 | { | |
14382 | ||
14383 | ||
14384 | ||
14385 | ||
14386 | ||
14387 | class bad_alloc : public exception | |
14388 | { | |
14389 | public: | |
14390 | bad_alloc() throw() { } | |
14391 | ||
14392 | ||
14393 | ||
14394 | virtual ~bad_alloc() throw(); | |
14395 | ||
14396 | ||
14397 | virtual const char* what() const throw(); | |
14398 | }; | |
14399 | ||
14400 | struct nothrow_t { }; | |
14401 | ||
14402 | extern const nothrow_t nothrow; | |
14403 | ||
14404 | ||
14405 | ||
14406 | typedef void (*new_handler)(); | |
14407 | ||
14408 | ||
14409 | ||
14410 | new_handler set_new_handler(new_handler) throw(); | |
14411 | } | |
14412 | # 95 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/new" 3 | |
14413 | void* operator new(std::size_t) throw (std::bad_alloc); | |
14414 | void* operator new[](std::size_t) throw (std::bad_alloc); | |
14415 | void operator delete(void*) throw(); | |
14416 | void operator delete[](void*) throw(); | |
14417 | void* operator new(std::size_t, const std::nothrow_t&) throw(); | |
14418 | void* operator new[](std::size_t, const std::nothrow_t&) throw(); | |
14419 | void operator delete(void*, const std::nothrow_t&) throw(); | |
14420 | void operator delete[](void*, const std::nothrow_t&) throw(); | |
14421 | ||
14422 | ||
14423 | inline void* operator new(std::size_t, void* __p) throw() { return __p; } | |
14424 | inline void* operator new[](std::size_t, void* __p) throw() { return __p; } | |
14425 | ||
14426 | ||
14427 | inline void operator delete (void*, void*) throw() { } | |
14428 | inline void operator delete[](void*, void*) throw() { } | |
14429 | ||
14430 | } | |
14431 | ||
14432 | #pragma GCC visibility pop | |
14433 | # 38 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/ext/new_allocator.h" 2 3 | |
14434 | ||
14435 | ||
14436 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
14437 | ||
14438 | using std::size_t; | |
14439 | using std::ptrdiff_t; | |
14440 | # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/ext/new_allocator.h" 3 | |
14441 | template<typename _Tp> | |
14442 | class new_allocator | |
14443 | { | |
14444 | public: | |
14445 | typedef size_t size_type; | |
14446 | typedef ptrdiff_t difference_type; | |
14447 | typedef _Tp* pointer; | |
14448 | typedef const _Tp* const_pointer; | |
14449 | typedef _Tp& reference; | |
14450 | typedef const _Tp& const_reference; | |
14451 | typedef _Tp value_type; | |
14452 | ||
14453 | template<typename _Tp1> | |
14454 | struct rebind | |
14455 | { typedef new_allocator<_Tp1> other; }; | |
14456 | ||
14457 | new_allocator() throw() { } | |
14458 | ||
14459 | new_allocator(const new_allocator&) throw() { } | |
14460 | ||
14461 | template<typename _Tp1> | |
14462 | new_allocator(const new_allocator<_Tp1>&) throw() { } | |
14463 | ||
14464 | ~new_allocator() throw() { } | |
14465 | ||
14466 | pointer | |
14467 | address(reference __x) const { return &__x; } | |
14468 | ||
14469 | const_pointer | |
14470 | address(const_reference __x) const { return &__x; } | |
14471 | ||
14472 | ||
14473 | ||
14474 | pointer | |
14475 | allocate(size_type __n, const void* = 0) | |
14476 | { | |
14477 | if (__builtin_expect(__n > this->max_size(), false)) | |
14478 | std::__throw_bad_alloc(); | |
14479 | ||
14480 | return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); | |
14481 | } | |
14482 | ||
14483 | ||
14484 | void | |
14485 | deallocate(pointer __p, size_type) | |
14486 | { ::operator delete(__p); } | |
14487 | ||
14488 | size_type | |
14489 | max_size() const throw() | |
14490 | { return size_t(-1) / sizeof(_Tp); } | |
14491 | ||
14492 | ||
14493 | ||
14494 | void | |
14495 | construct(pointer __p, const _Tp& __val) | |
14496 | { ::new(__p) _Tp(__val); } | |
14497 | ||
14498 | void | |
14499 | destroy(pointer __p) { __p->~_Tp(); } | |
14500 | }; | |
14501 | ||
14502 | template<typename _Tp> | |
14503 | inline bool | |
14504 | operator==(const new_allocator<_Tp>&, const new_allocator<_Tp>&) | |
14505 | { return true; } | |
14506 | ||
14507 | template<typename _Tp> | |
14508 | inline bool | |
14509 | operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&) | |
14510 | { return false; } | |
14511 | ||
14512 | } | |
14513 | # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++allocator.h" 2 3 | |
14514 | #define __glibcxx_base_allocator __gnu_cxx::new_allocator | |
14515 | # 54 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/allocator.h" 2 3 | |
14516 | ||
14517 | ||
14518 | ||
14519 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
14520 | ||
14521 | template<typename _Tp> | |
14522 | class allocator; | |
14523 | ||
14524 | ||
14525 | template<> | |
14526 | class allocator<void> | |
14527 | { | |
14528 | public: | |
14529 | typedef size_t size_type; | |
14530 | typedef ptrdiff_t difference_type; | |
14531 | typedef void* pointer; | |
14532 | typedef const void* const_pointer; | |
14533 | typedef void value_type; | |
14534 | ||
14535 | template<typename _Tp1> | |
14536 | struct rebind | |
14537 | { typedef allocator<_Tp1> other; }; | |
14538 | }; | |
14539 | ||
14540 | ||
14541 | ||
14542 | ||
14543 | ||
14544 | ||
14545 | ||
14546 | template<typename _Tp> | |
14547 | class allocator: public __gnu_cxx::new_allocator<_Tp> | |
14548 | { | |
14549 | public: | |
14550 | typedef size_t size_type; | |
14551 | typedef ptrdiff_t difference_type; | |
14552 | typedef _Tp* pointer; | |
14553 | typedef const _Tp* const_pointer; | |
14554 | typedef _Tp& reference; | |
14555 | typedef const _Tp& const_reference; | |
14556 | typedef _Tp value_type; | |
14557 | ||
14558 | template<typename _Tp1> | |
14559 | struct rebind | |
14560 | { typedef allocator<_Tp1> other; }; | |
14561 | ||
14562 | allocator() throw() { } | |
14563 | ||
14564 | allocator(const allocator& __a) throw() | |
14565 | : __gnu_cxx::new_allocator<_Tp>(__a) { } | |
14566 | ||
14567 | template<typename _Tp1> | |
14568 | allocator(const allocator<_Tp1>&) throw() { } | |
14569 | ||
14570 | ~allocator() throw() { } | |
14571 | ||
14572 | ||
14573 | }; | |
14574 | ||
14575 | template<typename _T1, typename _T2> | |
14576 | inline bool | |
14577 | operator==(const allocator<_T1>&, const allocator<_T2>&) | |
14578 | { return true; } | |
14579 | ||
14580 | template<typename _Tp> | |
14581 | inline bool | |
14582 | operator==(const allocator<_Tp>&, const allocator<_Tp>&) | |
14583 | { return true; } | |
14584 | ||
14585 | template<typename _T1, typename _T2> | |
14586 | inline bool | |
14587 | operator!=(const allocator<_T1>&, const allocator<_T2>&) | |
14588 | { return false; } | |
14589 | ||
14590 | template<typename _Tp> | |
14591 | inline bool | |
14592 | operator!=(const allocator<_Tp>&, const allocator<_Tp>&) | |
14593 | { return false; } | |
14594 | ||
14595 | ||
14596 | ||
14597 | ||
14598 | ||
14599 | extern template class allocator<char>; | |
14600 | extern template class allocator<wchar_t>; | |
14601 | ||
14602 | ||
14603 | ||
14604 | #undef __glibcxx_base_allocator | |
14605 | ||
14606 | ||
14607 | template<typename _Alloc, bool = std::__is_empty<_Alloc>::__value> | |
14608 | struct __alloc_swap | |
14609 | { static void _S_do_it(_Alloc&, _Alloc&) { } }; | |
14610 | ||
14611 | template<typename _Alloc> | |
14612 | struct __alloc_swap<_Alloc, false> | |
14613 | { | |
14614 | static void | |
14615 | _S_do_it(_Alloc& __one, _Alloc& __two) | |
14616 | { | |
14617 | ||
14618 | if (__one != __two) | |
14619 | swap(__one, __two); | |
14620 | } | |
14621 | }; | |
14622 | ||
14623 | } | |
14624 | # 68 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/deque" 2 3 | |
14625 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_construct.h" 1 3 | |
14626 | # 62 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_construct.h" 3 | |
14627 | #define _STL_CONSTRUCT_H 1 | |
14628 | ||
14629 | ||
14630 | ||
14631 | ||
14632 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
14633 | ||
14634 | ||
14635 | ||
14636 | ||
14637 | ||
14638 | ||
14639 | ||
14640 | template<typename _T1, typename _T2> | |
14641 | inline void | |
14642 | _Construct(_T1* __p, const _T2& __value) | |
14643 | { | |
14644 | ||
14645 | ||
14646 | ::new(static_cast<void*>(__p)) _T1(__value); | |
14647 | } | |
14648 | ||
14649 | ||
14650 | ||
14651 | ||
14652 | ||
14653 | ||
14654 | ||
14655 | template<typename _T1> | |
14656 | inline void | |
14657 | _Construct(_T1* __p) | |
14658 | { | |
14659 | ||
14660 | ||
14661 | ::new(static_cast<void*>(__p)) _T1(); | |
14662 | } | |
14663 | ||
14664 | ||
14665 | ||
14666 | ||
14667 | ||
14668 | ||
14669 | template<typename _Tp> | |
14670 | inline void | |
14671 | _Destroy(_Tp* __pointer) | |
14672 | { __pointer->~_Tp(); } | |
14673 | # 116 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_construct.h" 3 | |
14674 | template<typename _ForwardIterator> | |
14675 | inline void | |
14676 | __destroy_aux(_ForwardIterator __first, _ForwardIterator __last, | |
14677 | __false_type) | |
14678 | { | |
14679 | for (; __first != __last; ++__first) | |
14680 | std::_Destroy(&*__first); | |
14681 | } | |
14682 | # 134 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_construct.h" 3 | |
14683 | template<typename _ForwardIterator> | |
14684 | inline void | |
14685 | __destroy_aux(_ForwardIterator, _ForwardIterator, __true_type) | |
14686 | { } | |
14687 | # 146 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_construct.h" 3 | |
14688 | template<typename _ForwardIterator> | |
14689 | inline void | |
14690 | _Destroy(_ForwardIterator __first, _ForwardIterator __last) | |
14691 | { | |
14692 | typedef typename iterator_traits<_ForwardIterator>::value_type | |
14693 | _Value_type; | |
14694 | typedef typename std::__is_scalar<_Value_type>::__type | |
14695 | _Has_trivial_destructor; | |
14696 | ||
14697 | std::__destroy_aux(__first, __last, _Has_trivial_destructor()); | |
14698 | } | |
14699 | # 166 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_construct.h" 3 | |
14700 | template <typename _Tp> class allocator; | |
14701 | ||
14702 | template<typename _ForwardIterator, typename _Allocator> | |
14703 | void | |
14704 | _Destroy(_ForwardIterator __first, _ForwardIterator __last, | |
14705 | _Allocator __alloc) | |
14706 | { | |
14707 | for (; __first != __last; ++__first) | |
14708 | __alloc.destroy(&*__first); | |
14709 | } | |
14710 | ||
14711 | template<typename _ForwardIterator, typename _Tp> | |
14712 | inline void | |
14713 | _Destroy(_ForwardIterator __first, _ForwardIterator __last, | |
14714 | allocator<_Tp>) | |
14715 | { | |
14716 | _Destroy(__first, __last); | |
14717 | } | |
14718 | ||
14719 | } | |
14720 | # 69 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/deque" 2 3 | |
14721 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_uninitialized.h" 1 3 | |
14722 | # 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_uninitialized.h" 3 | |
14723 | #define _STL_UNINITIALIZED_H 1 | |
14724 | ||
14725 | ||
14726 | ||
14727 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
14728 | ||
14729 | ||
14730 | template<typename _InputIterator, typename _ForwardIterator> | |
14731 | inline _ForwardIterator | |
14732 | __uninitialized_copy_aux(_InputIterator __first, _InputIterator __last, | |
14733 | _ForwardIterator __result, | |
14734 | __true_type) | |
14735 | { return std::copy(__first, __last, __result); } | |
14736 | ||
14737 | template<typename _InputIterator, typename _ForwardIterator> | |
14738 | inline _ForwardIterator | |
14739 | __uninitialized_copy_aux(_InputIterator __first, _InputIterator __last, | |
14740 | _ForwardIterator __result, | |
14741 | __false_type) | |
14742 | { | |
14743 | _ForwardIterator __cur = __result; | |
14744 | try | |
14745 | { | |
14746 | for (; __first != __last; ++__first, ++__cur) | |
14747 | std::_Construct(&*__cur, *__first); | |
14748 | return __cur; | |
14749 | } | |
14750 | catch(...) | |
14751 | { | |
14752 | std::_Destroy(__result, __cur); | |
14753 | throw; | |
14754 | } | |
14755 | } | |
14756 | # 106 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_uninitialized.h" 3 | |
14757 | template<typename _InputIterator, typename _ForwardIterator> | |
14758 | inline _ForwardIterator | |
14759 | uninitialized_copy(_InputIterator __first, _InputIterator __last, | |
14760 | _ForwardIterator __result) | |
14761 | { | |
14762 | typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; | |
14763 | typedef typename std::__is_scalar<_ValueType>::__type _Is_POD; | |
14764 | return std::__uninitialized_copy_aux(__first, __last, __result, | |
14765 | _Is_POD()); | |
14766 | } | |
14767 | ||
14768 | inline char* | |
14769 | uninitialized_copy(const char* __first, const char* __last, char* __result) | |
14770 | { | |
14771 | std::memmove(__result, __first, __last - __first); | |
14772 | return __result + (__last - __first); | |
14773 | } | |
14774 | ||
14775 | inline wchar_t* | |
14776 | uninitialized_copy(const wchar_t* __first, const wchar_t* __last, | |
14777 | wchar_t* __result) | |
14778 | { | |
14779 | std::memmove(__result, __first, sizeof(wchar_t) * (__last - __first)); | |
14780 | return __result + (__last - __first); | |
14781 | } | |
14782 | ||
14783 | ||
14784 | ||
14785 | template<typename _ForwardIterator, typename _Tp> | |
14786 | inline void | |
14787 | __uninitialized_fill_aux(_ForwardIterator __first, | |
14788 | _ForwardIterator __last, | |
14789 | const _Tp& __x, __true_type) | |
14790 | { std::fill(__first, __last, __x); } | |
14791 | ||
14792 | template<typename _ForwardIterator, typename _Tp> | |
14793 | void | |
14794 | __uninitialized_fill_aux(_ForwardIterator __first, _ForwardIterator __last, | |
14795 | const _Tp& __x, __false_type) | |
14796 | { | |
14797 | _ForwardIterator __cur = __first; | |
14798 | try | |
14799 | { | |
14800 | for (; __cur != __last; ++__cur) | |
14801 | std::_Construct(&*__cur, __x); | |
14802 | } | |
14803 | catch(...) | |
14804 | { | |
14805 | std::_Destroy(__first, __cur); | |
14806 | throw; | |
14807 | } | |
14808 | } | |
14809 | # 168 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_uninitialized.h" 3 | |
14810 | template<typename _ForwardIterator, typename _Tp> | |
14811 | inline void | |
14812 | uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, | |
14813 | const _Tp& __x) | |
14814 | { | |
14815 | typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; | |
14816 | typedef typename std::__is_scalar<_ValueType>::__type _Is_POD; | |
14817 | std::__uninitialized_fill_aux(__first, __last, __x, _Is_POD()); | |
14818 | } | |
14819 | ||
14820 | ||
14821 | ||
14822 | template<typename _ForwardIterator, typename _Size, typename _Tp> | |
14823 | inline void | |
14824 | __uninitialized_fill_n_aux(_ForwardIterator __first, _Size __n, | |
14825 | const _Tp& __x, __true_type) | |
14826 | { std::fill_n(__first, __n, __x); } | |
14827 | ||
14828 | template<typename _ForwardIterator, typename _Size, typename _Tp> | |
14829 | void | |
14830 | __uninitialized_fill_n_aux(_ForwardIterator __first, _Size __n, | |
14831 | const _Tp& __x, __false_type) | |
14832 | { | |
14833 | _ForwardIterator __cur = __first; | |
14834 | try | |
14835 | { | |
14836 | for (; __n > 0; --__n, ++__cur) | |
14837 | std::_Construct(&*__cur, __x); | |
14838 | } | |
14839 | catch(...) | |
14840 | { | |
14841 | std::_Destroy(__first, __cur); | |
14842 | throw; | |
14843 | } | |
14844 | } | |
14845 | # 213 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_uninitialized.h" 3 | |
14846 | template<typename _ForwardIterator, typename _Size, typename _Tp> | |
14847 | inline void | |
14848 | uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) | |
14849 | { | |
14850 | typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; | |
14851 | typedef typename std::__is_scalar<_ValueType>::__type _Is_POD; | |
14852 | std::__uninitialized_fill_n_aux(__first, __n, __x, _Is_POD()); | |
14853 | } | |
14854 | ||
14855 | ||
14856 | ||
14857 | ||
14858 | ||
14859 | ||
14860 | ||
14861 | template<typename _InputIterator, typename _ForwardIterator, | |
14862 | typename _Allocator> | |
14863 | _ForwardIterator | |
14864 | __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, | |
14865 | _ForwardIterator __result, | |
14866 | _Allocator __alloc) | |
14867 | { | |
14868 | _ForwardIterator __cur = __result; | |
14869 | try | |
14870 | { | |
14871 | for (; __first != __last; ++__first, ++__cur) | |
14872 | __alloc.construct(&*__cur, *__first); | |
14873 | return __cur; | |
14874 | } | |
14875 | catch(...) | |
14876 | { | |
14877 | std::_Destroy(__result, __cur, __alloc); | |
14878 | throw; | |
14879 | } | |
14880 | } | |
14881 | ||
14882 | template<typename _InputIterator, typename _ForwardIterator, typename _Tp> | |
14883 | inline _ForwardIterator | |
14884 | __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, | |
14885 | _ForwardIterator __result, | |
14886 | allocator<_Tp>) | |
14887 | { return std::uninitialized_copy(__first, __last, __result); } | |
14888 | ||
14889 | template<typename _ForwardIterator, typename _Tp, typename _Allocator> | |
14890 | void | |
14891 | __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, | |
14892 | const _Tp& __x, _Allocator __alloc) | |
14893 | { | |
14894 | _ForwardIterator __cur = __first; | |
14895 | try | |
14896 | { | |
14897 | for (; __cur != __last; ++__cur) | |
14898 | __alloc.construct(&*__cur, __x); | |
14899 | } | |
14900 | catch(...) | |
14901 | { | |
14902 | std::_Destroy(__first, __cur, __alloc); | |
14903 | throw; | |
14904 | } | |
14905 | } | |
14906 | ||
14907 | template<typename _ForwardIterator, typename _Tp, typename _Tp2> | |
14908 | inline void | |
14909 | __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, | |
14910 | const _Tp& __x, allocator<_Tp2>) | |
14911 | { std::uninitialized_fill(__first, __last, __x); } | |
14912 | ||
14913 | template<typename _ForwardIterator, typename _Size, typename _Tp, | |
14914 | typename _Allocator> | |
14915 | void | |
14916 | __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, | |
14917 | const _Tp& __x, | |
14918 | _Allocator __alloc) | |
14919 | { | |
14920 | _ForwardIterator __cur = __first; | |
14921 | try | |
14922 | { | |
14923 | for (; __n > 0; --__n, ++__cur) | |
14924 | __alloc.construct(&*__cur, __x); | |
14925 | } | |
14926 | catch(...) | |
14927 | { | |
14928 | std::_Destroy(__first, __cur, __alloc); | |
14929 | throw; | |
14930 | } | |
14931 | } | |
14932 | ||
14933 | template<typename _ForwardIterator, typename _Size, typename _Tp, | |
14934 | typename _Tp2> | |
14935 | inline void | |
14936 | __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, | |
14937 | const _Tp& __x, | |
14938 | allocator<_Tp2>) | |
14939 | { std::uninitialized_fill_n(__first, __n, __x); } | |
14940 | # 318 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_uninitialized.h" 3 | |
14941 | template<typename _InputIterator1, typename _InputIterator2, | |
14942 | typename _ForwardIterator, typename _Allocator> | |
14943 | inline _ForwardIterator | |
14944 | __uninitialized_copy_copy(_InputIterator1 __first1, | |
14945 | _InputIterator1 __last1, | |
14946 | _InputIterator2 __first2, | |
14947 | _InputIterator2 __last2, | |
14948 | _ForwardIterator __result, | |
14949 | _Allocator __alloc) | |
14950 | { | |
14951 | _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1, | |
14952 | __result, | |
14953 | __alloc); | |
14954 | try | |
14955 | { | |
14956 | return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc); | |
14957 | } | |
14958 | catch(...) | |
14959 | { | |
14960 | std::_Destroy(__result, __mid, __alloc); | |
14961 | throw; | |
14962 | } | |
14963 | } | |
14964 | ||
14965 | ||
14966 | ||
14967 | ||
14968 | template<typename _ForwardIterator, typename _Tp, typename _InputIterator, | |
14969 | typename _Allocator> | |
14970 | inline _ForwardIterator | |
14971 | __uninitialized_fill_copy(_ForwardIterator __result, _ForwardIterator __mid, | |
14972 | const _Tp& __x, _InputIterator __first, | |
14973 | _InputIterator __last, | |
14974 | _Allocator __alloc) | |
14975 | { | |
14976 | std::__uninitialized_fill_a(__result, __mid, __x, __alloc); | |
14977 | try | |
14978 | { | |
14979 | return std::__uninitialized_copy_a(__first, __last, __mid, __alloc); | |
14980 | } | |
14981 | catch(...) | |
14982 | { | |
14983 | std::_Destroy(__result, __mid, __alloc); | |
14984 | throw; | |
14985 | } | |
14986 | } | |
14987 | ||
14988 | ||
14989 | ||
14990 | ||
14991 | template<typename _InputIterator, typename _ForwardIterator, typename _Tp, | |
14992 | typename _Allocator> | |
14993 | inline void | |
14994 | __uninitialized_copy_fill(_InputIterator __first1, _InputIterator __last1, | |
14995 | _ForwardIterator __first2, | |
14996 | _ForwardIterator __last2, const _Tp& __x, | |
14997 | _Allocator __alloc) | |
14998 | { | |
14999 | _ForwardIterator __mid2 = std::__uninitialized_copy_a(__first1, __last1, | |
15000 | __first2, | |
15001 | __alloc); | |
15002 | try | |
15003 | { | |
15004 | std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc); | |
15005 | } | |
15006 | catch(...) | |
15007 | { | |
15008 | std::_Destroy(__first2, __mid2, __alloc); | |
15009 | throw; | |
15010 | } | |
15011 | } | |
15012 | ||
15013 | } | |
15014 | # 70 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/deque" 2 3 | |
15015 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 1 3 | |
15016 | # 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15017 | #define _DEQUE_H 1 | |
15018 | ||
15019 | ||
15020 | ||
15021 | ||
15022 | ||
15023 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
15024 | # 83 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15025 | inline size_t | |
15026 | __deque_buf_size(size_t __size) | |
15027 | { return __size < 512 ? size_t(512 / __size) : size_t(1); } | |
15028 | # 101 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15029 | template<typename _Tp, typename _Ref, typename _Ptr> | |
15030 | struct _Deque_iterator | |
15031 | { | |
15032 | typedef _Deque_iterator<_Tp, _Tp&, _Tp*> iterator; | |
15033 | typedef _Deque_iterator<_Tp, const _Tp&, const _Tp*> const_iterator; | |
15034 | ||
15035 | static size_t _S_buffer_size() | |
15036 | { return __deque_buf_size(sizeof(_Tp)); } | |
15037 | ||
15038 | typedef std::random_access_iterator_tag iterator_category; | |
15039 | typedef _Tp value_type; | |
15040 | typedef _Ptr pointer; | |
15041 | typedef _Ref reference; | |
15042 | typedef size_t size_type; | |
15043 | typedef ptrdiff_t difference_type; | |
15044 | typedef _Tp** _Map_pointer; | |
15045 | typedef _Deque_iterator _Self; | |
15046 | ||
15047 | _Tp* _M_cur; | |
15048 | _Tp* _M_first; | |
15049 | _Tp* _M_last; | |
15050 | _Map_pointer _M_node; | |
15051 | ||
15052 | _Deque_iterator(_Tp* __x, _Map_pointer __y) | |
15053 | : _M_cur(__x), _M_first(*__y), | |
15054 | _M_last(*__y + _S_buffer_size()), _M_node(__y) {} | |
15055 | ||
15056 | _Deque_iterator() : _M_cur(0), _M_first(0), _M_last(0), _M_node(0) {} | |
15057 | ||
15058 | _Deque_iterator(const iterator& __x) | |
15059 | : _M_cur(__x._M_cur), _M_first(__x._M_first), | |
15060 | _M_last(__x._M_last), _M_node(__x._M_node) {} | |
15061 | ||
15062 | reference | |
15063 | operator*() const | |
15064 | { return *_M_cur; } | |
15065 | ||
15066 | pointer | |
15067 | operator->() const | |
15068 | { return _M_cur; } | |
15069 | ||
15070 | _Self& | |
15071 | operator++() | |
15072 | { | |
15073 | ++_M_cur; | |
15074 | if (_M_cur == _M_last) | |
15075 | { | |
15076 | _M_set_node(_M_node + 1); | |
15077 | _M_cur = _M_first; | |
15078 | } | |
15079 | return *this; | |
15080 | } | |
15081 | ||
15082 | _Self | |
15083 | operator++(int) | |
15084 | { | |
15085 | _Self __tmp = *this; | |
15086 | ++*this; | |
15087 | return __tmp; | |
15088 | } | |
15089 | ||
15090 | _Self& | |
15091 | operator--() | |
15092 | { | |
15093 | if (_M_cur == _M_first) | |
15094 | { | |
15095 | _M_set_node(_M_node - 1); | |
15096 | _M_cur = _M_last; | |
15097 | } | |
15098 | --_M_cur; | |
15099 | return *this; | |
15100 | } | |
15101 | ||
15102 | _Self | |
15103 | operator--(int) | |
15104 | { | |
15105 | _Self __tmp = *this; | |
15106 | --*this; | |
15107 | return __tmp; | |
15108 | } | |
15109 | ||
15110 | _Self& | |
15111 | operator+=(difference_type __n) | |
15112 | { | |
15113 | const difference_type __offset = __n + (_M_cur - _M_first); | |
15114 | if (__offset >= 0 && __offset < difference_type(_S_buffer_size())) | |
15115 | _M_cur += __n; | |
15116 | else | |
15117 | { | |
15118 | const difference_type __node_offset = | |
15119 | __offset > 0 ? __offset / difference_type(_S_buffer_size()) | |
15120 | : -difference_type((-__offset - 1) | |
15121 | / _S_buffer_size()) - 1; | |
15122 | _M_set_node(_M_node + __node_offset); | |
15123 | _M_cur = _M_first + (__offset - __node_offset | |
15124 | * difference_type(_S_buffer_size())); | |
15125 | } | |
15126 | return *this; | |
15127 | } | |
15128 | ||
15129 | _Self | |
15130 | operator+(difference_type __n) const | |
15131 | { | |
15132 | _Self __tmp = *this; | |
15133 | return __tmp += __n; | |
15134 | } | |
15135 | ||
15136 | _Self& | |
15137 | operator-=(difference_type __n) | |
15138 | { return *this += -__n; } | |
15139 | ||
15140 | _Self | |
15141 | operator-(difference_type __n) const | |
15142 | { | |
15143 | _Self __tmp = *this; | |
15144 | return __tmp -= __n; | |
15145 | } | |
15146 | ||
15147 | reference | |
15148 | operator[](difference_type __n) const | |
15149 | { return *(*this + __n); } | |
15150 | ||
15151 | ||
15152 | ||
15153 | ||
15154 | ||
15155 | ||
15156 | ||
15157 | void | |
15158 | _M_set_node(_Map_pointer __new_node) | |
15159 | { | |
15160 | _M_node = __new_node; | |
15161 | _M_first = *__new_node; | |
15162 | _M_last = _M_first + difference_type(_S_buffer_size()); | |
15163 | } | |
15164 | }; | |
15165 | ||
15166 | ||
15167 | ||
15168 | ||
15169 | template<typename _Tp, typename _Ref, typename _Ptr> | |
15170 | inline bool | |
15171 | operator==(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, | |
15172 | const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) | |
15173 | { return __x._M_cur == __y._M_cur; } | |
15174 | ||
15175 | template<typename _Tp, typename _RefL, typename _PtrL, | |
15176 | typename _RefR, typename _PtrR> | |
15177 | inline bool | |
15178 | operator==(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, | |
15179 | const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) | |
15180 | { return __x._M_cur == __y._M_cur; } | |
15181 | ||
15182 | template<typename _Tp, typename _Ref, typename _Ptr> | |
15183 | inline bool | |
15184 | operator!=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, | |
15185 | const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) | |
15186 | { return !(__x == __y); } | |
15187 | ||
15188 | template<typename _Tp, typename _RefL, typename _PtrL, | |
15189 | typename _RefR, typename _PtrR> | |
15190 | inline bool | |
15191 | operator!=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, | |
15192 | const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) | |
15193 | { return !(__x == __y); } | |
15194 | ||
15195 | template<typename _Tp, typename _Ref, typename _Ptr> | |
15196 | inline bool | |
15197 | operator<(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, | |
15198 | const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) | |
15199 | { return (__x._M_node == __y._M_node) ? (__x._M_cur < __y._M_cur) | |
15200 | : (__x._M_node < __y._M_node); } | |
15201 | ||
15202 | template<typename _Tp, typename _RefL, typename _PtrL, | |
15203 | typename _RefR, typename _PtrR> | |
15204 | inline bool | |
15205 | operator<(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, | |
15206 | const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) | |
15207 | { return (__x._M_node == __y._M_node) ? (__x._M_cur < __y._M_cur) | |
15208 | : (__x._M_node < __y._M_node); } | |
15209 | ||
15210 | template<typename _Tp, typename _Ref, typename _Ptr> | |
15211 | inline bool | |
15212 | operator>(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, | |
15213 | const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) | |
15214 | { return __y < __x; } | |
15215 | ||
15216 | template<typename _Tp, typename _RefL, typename _PtrL, | |
15217 | typename _RefR, typename _PtrR> | |
15218 | inline bool | |
15219 | operator>(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, | |
15220 | const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) | |
15221 | { return __y < __x; } | |
15222 | ||
15223 | template<typename _Tp, typename _Ref, typename _Ptr> | |
15224 | inline bool | |
15225 | operator<=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, | |
15226 | const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) | |
15227 | { return !(__y < __x); } | |
15228 | ||
15229 | template<typename _Tp, typename _RefL, typename _PtrL, | |
15230 | typename _RefR, typename _PtrR> | |
15231 | inline bool | |
15232 | operator<=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, | |
15233 | const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) | |
15234 | { return !(__y < __x); } | |
15235 | ||
15236 | template<typename _Tp, typename _Ref, typename _Ptr> | |
15237 | inline bool | |
15238 | operator>=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, | |
15239 | const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) | |
15240 | { return !(__x < __y); } | |
15241 | ||
15242 | template<typename _Tp, typename _RefL, typename _PtrL, | |
15243 | typename _RefR, typename _PtrR> | |
15244 | inline bool | |
15245 | operator>=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, | |
15246 | const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) | |
15247 | { return !(__x < __y); } | |
15248 | ||
15249 | ||
15250 | ||
15251 | ||
15252 | ||
15253 | template<typename _Tp, typename _Ref, typename _Ptr> | |
15254 | inline typename _Deque_iterator<_Tp, _Ref, _Ptr>::difference_type | |
15255 | operator-(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, | |
15256 | const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) | |
15257 | { | |
15258 | return typename _Deque_iterator<_Tp, _Ref, _Ptr>::difference_type | |
15259 | (_Deque_iterator<_Tp, _Ref, _Ptr>::_S_buffer_size()) | |
15260 | * (__x._M_node - __y._M_node - 1) + (__x._M_cur - __x._M_first) | |
15261 | + (__y._M_last - __y._M_cur); | |
15262 | } | |
15263 | ||
15264 | template<typename _Tp, typename _RefL, typename _PtrL, | |
15265 | typename _RefR, typename _PtrR> | |
15266 | inline typename _Deque_iterator<_Tp, _RefL, _PtrL>::difference_type | |
15267 | operator-(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, | |
15268 | const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) | |
15269 | { | |
15270 | return typename _Deque_iterator<_Tp, _RefL, _PtrL>::difference_type | |
15271 | (_Deque_iterator<_Tp, _RefL, _PtrL>::_S_buffer_size()) | |
15272 | * (__x._M_node - __y._M_node - 1) + (__x._M_cur - __x._M_first) | |
15273 | + (__y._M_last - __y._M_cur); | |
15274 | } | |
15275 | ||
15276 | template<typename _Tp, typename _Ref, typename _Ptr> | |
15277 | inline _Deque_iterator<_Tp, _Ref, _Ptr> | |
15278 | operator+(ptrdiff_t __n, const _Deque_iterator<_Tp, _Ref, _Ptr>& __x) | |
15279 | { return __x + __n; } | |
15280 | ||
15281 | template<typename _Tp> | |
15282 | void | |
15283 | fill(const _Deque_iterator<_Tp, _Tp&, _Tp*>& __first, | |
15284 | const _Deque_iterator<_Tp, _Tp&, _Tp*>& __last, const _Tp& __value); | |
15285 | # 370 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15286 | template<typename _Tp, typename _Alloc> | |
15287 | class _Deque_base | |
15288 | { | |
15289 | public: | |
15290 | typedef _Alloc allocator_type; | |
15291 | ||
15292 | allocator_type | |
15293 | get_allocator() const | |
15294 | { return allocator_type(_M_get_Tp_allocator()); } | |
15295 | ||
15296 | typedef _Deque_iterator<_Tp, _Tp&, _Tp*> iterator; | |
15297 | typedef _Deque_iterator<_Tp, const _Tp&, const _Tp*> const_iterator; | |
15298 | ||
15299 | _Deque_base(const allocator_type& __a, size_t __num_elements) | |
15300 | : _M_impl(__a) | |
15301 | { _M_initialize_map(__num_elements); } | |
15302 | ||
15303 | _Deque_base(const allocator_type& __a) | |
15304 | : _M_impl(__a) | |
15305 | { } | |
15306 | ||
15307 | ~_Deque_base(); | |
15308 | ||
15309 | protected: | |
15310 | ||
15311 | ||
15312 | ||
15313 | typedef typename _Alloc::template rebind<_Tp*>::other _Map_alloc_type; | |
15314 | ||
15315 | typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type; | |
15316 | ||
15317 | struct _Deque_impl | |
15318 | : public _Tp_alloc_type | |
15319 | { | |
15320 | _Tp** _M_map; | |
15321 | size_t _M_map_size; | |
15322 | iterator _M_start; | |
15323 | iterator _M_finish; | |
15324 | ||
15325 | _Deque_impl(const _Tp_alloc_type& __a) | |
15326 | : _Tp_alloc_type(__a), _M_map(0), _M_map_size(0), | |
15327 | _M_start(), _M_finish() | |
15328 | { } | |
15329 | }; | |
15330 | ||
15331 | _Tp_alloc_type& | |
15332 | _M_get_Tp_allocator() | |
15333 | { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); } | |
15334 | ||
15335 | const _Tp_alloc_type& | |
15336 | _M_get_Tp_allocator() const | |
15337 | { return *static_cast<const _Tp_alloc_type*>(&this->_M_impl); } | |
15338 | ||
15339 | _Map_alloc_type | |
15340 | _M_get_map_allocator() const | |
15341 | { return _Map_alloc_type(_M_get_Tp_allocator()); } | |
15342 | ||
15343 | _Tp* | |
15344 | _M_allocate_node() | |
15345 | { | |
15346 | return _M_impl._Tp_alloc_type::allocate(__deque_buf_size(sizeof(_Tp))); | |
15347 | } | |
15348 | ||
15349 | void | |
15350 | _M_deallocate_node(_Tp* __p) | |
15351 | { | |
15352 | _M_impl._Tp_alloc_type::deallocate(__p, __deque_buf_size(sizeof(_Tp))); | |
15353 | } | |
15354 | ||
15355 | _Tp** | |
15356 | _M_allocate_map(size_t __n) | |
15357 | { return _M_get_map_allocator().allocate(__n); } | |
15358 | ||
15359 | void | |
15360 | _M_deallocate_map(_Tp** __p, size_t __n) | |
15361 | { _M_get_map_allocator().deallocate(__p, __n); } | |
15362 | ||
15363 | protected: | |
15364 | void _M_initialize_map(size_t); | |
15365 | void _M_create_nodes(_Tp** __nstart, _Tp** __nfinish); | |
15366 | void _M_destroy_nodes(_Tp** __nstart, _Tp** __nfinish); | |
15367 | enum { _S_initial_map_size = 8 }; | |
15368 | ||
15369 | _Deque_impl _M_impl; | |
15370 | }; | |
15371 | ||
15372 | template<typename _Tp, typename _Alloc> | |
15373 | _Deque_base<_Tp, _Alloc>:: | |
15374 | ~_Deque_base() | |
15375 | { | |
15376 | if (this->_M_impl._M_map) | |
15377 | { | |
15378 | _M_destroy_nodes(this->_M_impl._M_start._M_node, | |
15379 | this->_M_impl._M_finish._M_node + 1); | |
15380 | _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size); | |
15381 | } | |
15382 | } | |
15383 | # 478 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15384 | template<typename _Tp, typename _Alloc> | |
15385 | void | |
15386 | _Deque_base<_Tp, _Alloc>:: | |
15387 | _M_initialize_map(size_t __num_elements) | |
15388 | { | |
15389 | const size_t __num_nodes = (__num_elements/ __deque_buf_size(sizeof(_Tp)) | |
15390 | + 1); | |
15391 | ||
15392 | this->_M_impl._M_map_size = std::max((size_t) _S_initial_map_size, | |
15393 | size_t(__num_nodes + 2)); | |
15394 | this->_M_impl._M_map = _M_allocate_map(this->_M_impl._M_map_size); | |
15395 | ||
15396 | ||
15397 | ||
15398 | ||
15399 | ||
15400 | ||
15401 | _Tp** __nstart = (this->_M_impl._M_map | |
15402 | + (this->_M_impl._M_map_size - __num_nodes) / 2); | |
15403 | _Tp** __nfinish = __nstart + __num_nodes; | |
15404 | ||
15405 | try | |
15406 | { _M_create_nodes(__nstart, __nfinish); } | |
15407 | catch(...) | |
15408 | { | |
15409 | _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size); | |
15410 | this->_M_impl._M_map = 0; | |
15411 | this->_M_impl._M_map_size = 0; | |
15412 | throw; | |
15413 | } | |
15414 | ||
15415 | this->_M_impl._M_start._M_set_node(__nstart); | |
15416 | this->_M_impl._M_finish._M_set_node(__nfinish - 1); | |
15417 | this->_M_impl._M_start._M_cur = _M_impl._M_start._M_first; | |
15418 | this->_M_impl._M_finish._M_cur = (this->_M_impl._M_finish._M_first | |
15419 | + __num_elements | |
15420 | % __deque_buf_size(sizeof(_Tp))); | |
15421 | } | |
15422 | ||
15423 | template<typename _Tp, typename _Alloc> | |
15424 | void | |
15425 | _Deque_base<_Tp, _Alloc>:: | |
15426 | _M_create_nodes(_Tp** __nstart, _Tp** __nfinish) | |
15427 | { | |
15428 | _Tp** __cur; | |
15429 | try | |
15430 | { | |
15431 | for (__cur = __nstart; __cur < __nfinish; ++__cur) | |
15432 | *__cur = this->_M_allocate_node(); | |
15433 | } | |
15434 | catch(...) | |
15435 | { | |
15436 | _M_destroy_nodes(__nstart, __cur); | |
15437 | throw; | |
15438 | } | |
15439 | } | |
15440 | ||
15441 | template<typename _Tp, typename _Alloc> | |
15442 | void | |
15443 | _Deque_base<_Tp, _Alloc>:: | |
15444 | _M_destroy_nodes(_Tp** __nstart, _Tp** __nfinish) | |
15445 | { | |
15446 | for (_Tp** __n = __nstart; __n < __nfinish; ++__n) | |
15447 | _M_deallocate_node(*__n); | |
15448 | } | |
15449 | # 628 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15450 | template<typename _Tp, typename _Alloc = std::allocator<_Tp> > | |
15451 | class deque : protected _Deque_base<_Tp, _Alloc> | |
15452 | { | |
15453 | ||
15454 | typedef typename _Alloc::value_type _Alloc_value_type; | |
15455 | ||
15456 | ||
15457 | ||
15458 | typedef _Deque_base<_Tp, _Alloc> _Base; | |
15459 | typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; | |
15460 | ||
15461 | public: | |
15462 | typedef _Tp value_type; | |
15463 | typedef typename _Tp_alloc_type::pointer pointer; | |
15464 | typedef typename _Tp_alloc_type::const_pointer const_pointer; | |
15465 | typedef typename _Tp_alloc_type::reference reference; | |
15466 | typedef typename _Tp_alloc_type::const_reference const_reference; | |
15467 | typedef typename _Base::iterator iterator; | |
15468 | typedef typename _Base::const_iterator const_iterator; | |
15469 | typedef std::reverse_iterator<const_iterator> const_reverse_iterator; | |
15470 | typedef std::reverse_iterator<iterator> reverse_iterator; | |
15471 | typedef size_t size_type; | |
15472 | typedef ptrdiff_t difference_type; | |
15473 | typedef _Alloc allocator_type; | |
15474 | ||
15475 | protected: | |
15476 | typedef pointer* _Map_pointer; | |
15477 | ||
15478 | static size_t _S_buffer_size() | |
15479 | { return __deque_buf_size(sizeof(_Tp)); } | |
15480 | ||
15481 | ||
15482 | using _Base::_M_initialize_map; | |
15483 | using _Base::_M_create_nodes; | |
15484 | using _Base::_M_destroy_nodes; | |
15485 | using _Base::_M_allocate_node; | |
15486 | using _Base::_M_deallocate_node; | |
15487 | using _Base::_M_allocate_map; | |
15488 | using _Base::_M_deallocate_map; | |
15489 | using _Base::_M_get_Tp_allocator; | |
15490 | ||
15491 | ||
15492 | ||
15493 | ||
15494 | ||
15495 | ||
15496 | using _Base::_M_impl; | |
15497 | ||
15498 | public: | |
15499 | ||
15500 | ||
15501 | ||
15502 | ||
15503 | ||
15504 | explicit | |
15505 | deque(const allocator_type& __a = allocator_type()) | |
15506 | : _Base(__a, 0) {} | |
15507 | # 693 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15508 | explicit | |
15509 | deque(size_type __n, const value_type& __value = value_type(), | |
15510 | const allocator_type& __a = allocator_type()) | |
15511 | : _Base(__a, __n) | |
15512 | { _M_fill_initialize(__value); } | |
15513 | # 706 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15514 | deque(const deque& __x) | |
15515 | : _Base(__x._M_get_Tp_allocator(), __x.size()) | |
15516 | { std::__uninitialized_copy_a(__x.begin(), __x.end(), | |
15517 | this->_M_impl._M_start, | |
15518 | _M_get_Tp_allocator()); } | |
15519 | # 726 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15520 | template<typename _InputIterator> | |
15521 | deque(_InputIterator __first, _InputIterator __last, | |
15522 | const allocator_type& __a = allocator_type()) | |
15523 | : _Base(__a) | |
15524 | { | |
15525 | ||
15526 | typedef typename std::__is_integer<_InputIterator>::__type _Integral; | |
15527 | _M_initialize_dispatch(__first, __last, _Integral()); | |
15528 | } | |
15529 | ||
15530 | ||
15531 | ||
15532 | ||
15533 | ||
15534 | ||
15535 | ~deque() | |
15536 | { _M_destroy_data(begin(), end(), _M_get_Tp_allocator()); } | |
15537 | # 751 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15538 | deque& | |
15539 | operator=(const deque& __x); | |
15540 | # 764 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15541 | void | |
15542 | assign(size_type __n, const value_type& __val) | |
15543 | { _M_fill_assign(__n, __val); } | |
15544 | # 780 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15545 | template<typename _InputIterator> | |
15546 | void | |
15547 | assign(_InputIterator __first, _InputIterator __last) | |
15548 | { | |
15549 | typedef typename std::__is_integer<_InputIterator>::__type _Integral; | |
15550 | _M_assign_dispatch(__first, __last, _Integral()); | |
15551 | } | |
15552 | ||
15553 | ||
15554 | allocator_type | |
15555 | get_allocator() const | |
15556 | { return _Base::get_allocator(); } | |
15557 | ||
15558 | ||
15559 | ||
15560 | ||
15561 | ||
15562 | ||
15563 | iterator | |
15564 | begin() | |
15565 | { return this->_M_impl._M_start; } | |
15566 | ||
15567 | ||
15568 | ||
15569 | ||
15570 | ||
15571 | const_iterator | |
15572 | begin() const | |
15573 | { return this->_M_impl._M_start; } | |
15574 | ||
15575 | ||
15576 | ||
15577 | ||
15578 | ||
15579 | ||
15580 | iterator | |
15581 | end() | |
15582 | { return this->_M_impl._M_finish; } | |
15583 | ||
15584 | ||
15585 | ||
15586 | ||
15587 | ||
15588 | ||
15589 | const_iterator | |
15590 | end() const | |
15591 | { return this->_M_impl._M_finish; } | |
15592 | ||
15593 | ||
15594 | ||
15595 | ||
15596 | ||
15597 | ||
15598 | reverse_iterator | |
15599 | rbegin() | |
15600 | { return reverse_iterator(this->_M_impl._M_finish); } | |
15601 | ||
15602 | ||
15603 | ||
15604 | ||
15605 | ||
15606 | ||
15607 | const_reverse_iterator | |
15608 | rbegin() const | |
15609 | { return const_reverse_iterator(this->_M_impl._M_finish); } | |
15610 | ||
15611 | ||
15612 | ||
15613 | ||
15614 | ||
15615 | ||
15616 | reverse_iterator | |
15617 | rend() | |
15618 | { return reverse_iterator(this->_M_impl._M_start); } | |
15619 | ||
15620 | ||
15621 | ||
15622 | ||
15623 | ||
15624 | ||
15625 | const_reverse_iterator | |
15626 | rend() const | |
15627 | { return const_reverse_iterator(this->_M_impl._M_start); } | |
15628 | ||
15629 | ||
15630 | ||
15631 | size_type | |
15632 | size() const | |
15633 | { return this->_M_impl._M_finish - this->_M_impl._M_start; } | |
15634 | ||
15635 | ||
15636 | size_type | |
15637 | max_size() const | |
15638 | { return _M_get_Tp_allocator().max_size(); } | |
15639 | # 886 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15640 | void | |
15641 | resize(size_type __new_size, value_type __x = value_type()) | |
15642 | { | |
15643 | const size_type __len = size(); | |
15644 | if (__new_size < __len) | |
15645 | _M_erase_at_end(this->_M_impl._M_start + difference_type(__new_size)); | |
15646 | else | |
15647 | insert(this->_M_impl._M_finish, __new_size - __len, __x); | |
15648 | } | |
15649 | ||
15650 | ||
15651 | ||
15652 | ||
15653 | ||
15654 | bool | |
15655 | empty() const | |
15656 | { return this->_M_impl._M_finish == this->_M_impl._M_start; } | |
15657 | # 916 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15658 | reference | |
15659 | operator[](size_type __n) | |
15660 | { return this->_M_impl._M_start[difference_type(__n)]; } | |
15661 | # 931 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15662 | const_reference | |
15663 | operator[](size_type __n) const | |
15664 | { return this->_M_impl._M_start[difference_type(__n)]; } | |
15665 | ||
15666 | protected: | |
15667 | ||
15668 | void | |
15669 | _M_range_check(size_type __n) const | |
15670 | { | |
15671 | if (__n >= this->size()) | |
15672 | __throw_out_of_range(("deque::_M_range_check")); | |
15673 | } | |
15674 | ||
15675 | public: | |
15676 | # 956 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15677 | reference | |
15678 | at(size_type __n) | |
15679 | { | |
15680 | _M_range_check(__n); | |
15681 | return (*this)[__n]; | |
15682 | } | |
15683 | # 974 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15684 | const_reference | |
15685 | at(size_type __n) const | |
15686 | { | |
15687 | _M_range_check(__n); | |
15688 | return (*this)[__n]; | |
15689 | } | |
15690 | ||
15691 | ||
15692 | ||
15693 | ||
15694 | ||
15695 | reference | |
15696 | front() | |
15697 | { return *begin(); } | |
15698 | ||
15699 | ||
15700 | ||
15701 | ||
15702 | ||
15703 | const_reference | |
15704 | front() const | |
15705 | { return *begin(); } | |
15706 | ||
15707 | ||
15708 | ||
15709 | ||
15710 | ||
15711 | reference | |
15712 | back() | |
15713 | { | |
15714 | iterator __tmp = end(); | |
15715 | --__tmp; | |
15716 | return *__tmp; | |
15717 | } | |
15718 | ||
15719 | ||
15720 | ||
15721 | ||
15722 | ||
15723 | const_reference | |
15724 | back() const | |
15725 | { | |
15726 | const_iterator __tmp = end(); | |
15727 | --__tmp; | |
15728 | return *__tmp; | |
15729 | } | |
15730 | # 1031 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15731 | void | |
15732 | push_front(const value_type& __x) | |
15733 | { | |
15734 | if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first) | |
15735 | { | |
15736 | this->_M_impl.construct(this->_M_impl._M_start._M_cur - 1, __x); | |
15737 | --this->_M_impl._M_start._M_cur; | |
15738 | } | |
15739 | else | |
15740 | _M_push_front_aux(__x); | |
15741 | } | |
15742 | # 1052 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15743 | void | |
15744 | push_back(const value_type& __x) | |
15745 | { | |
15746 | if (this->_M_impl._M_finish._M_cur | |
15747 | != this->_M_impl._M_finish._M_last - 1) | |
15748 | { | |
15749 | this->_M_impl.construct(this->_M_impl._M_finish._M_cur, __x); | |
15750 | ++this->_M_impl._M_finish._M_cur; | |
15751 | } | |
15752 | else | |
15753 | _M_push_back_aux(__x); | |
15754 | } | |
15755 | # 1073 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15756 | void | |
15757 | pop_front() | |
15758 | { | |
15759 | if (this->_M_impl._M_start._M_cur | |
15760 | != this->_M_impl._M_start._M_last - 1) | |
15761 | { | |
15762 | this->_M_impl.destroy(this->_M_impl._M_start._M_cur); | |
15763 | ++this->_M_impl._M_start._M_cur; | |
15764 | } | |
15765 | else | |
15766 | _M_pop_front_aux(); | |
15767 | } | |
15768 | # 1094 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15769 | void | |
15770 | pop_back() | |
15771 | { | |
15772 | if (this->_M_impl._M_finish._M_cur | |
15773 | != this->_M_impl._M_finish._M_first) | |
15774 | { | |
15775 | --this->_M_impl._M_finish._M_cur; | |
15776 | this->_M_impl.destroy(this->_M_impl._M_finish._M_cur); | |
15777 | } | |
15778 | else | |
15779 | _M_pop_back_aux(); | |
15780 | } | |
15781 | # 1116 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15782 | iterator | |
15783 | insert(iterator __position, const value_type& __x); | |
15784 | # 1128 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15785 | void | |
15786 | insert(iterator __position, size_type __n, const value_type& __x) | |
15787 | { _M_fill_insert(__position, __n, __x); } | |
15788 | # 1142 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15789 | template<typename _InputIterator> | |
15790 | void | |
15791 | insert(iterator __position, _InputIterator __first, | |
15792 | _InputIterator __last) | |
15793 | { | |
15794 | ||
15795 | typedef typename std::__is_integer<_InputIterator>::__type _Integral; | |
15796 | _M_insert_dispatch(__position, __first, __last, _Integral()); | |
15797 | } | |
15798 | # 1165 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15799 | iterator | |
15800 | erase(iterator __position); | |
15801 | # 1184 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15802 | iterator | |
15803 | erase(iterator __first, iterator __last); | |
15804 | # 1196 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15805 | void | |
15806 | swap(deque& __x) | |
15807 | { | |
15808 | std::swap(this->_M_impl._M_start, __x._M_impl._M_start); | |
15809 | std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish); | |
15810 | std::swap(this->_M_impl._M_map, __x._M_impl._M_map); | |
15811 | std::swap(this->_M_impl._M_map_size, __x._M_impl._M_map_size); | |
15812 | ||
15813 | ||
15814 | ||
15815 | std::__alloc_swap<_Tp_alloc_type>::_S_do_it(_M_get_Tp_allocator(), | |
15816 | __x._M_get_Tp_allocator()); | |
15817 | } | |
15818 | ||
15819 | ||
15820 | ||
15821 | ||
15822 | ||
15823 | ||
15824 | ||
15825 | void | |
15826 | clear() | |
15827 | { _M_erase_at_end(begin()); } | |
15828 | ||
15829 | protected: | |
15830 | ||
15831 | ||
15832 | ||
15833 | template<typename _Integer> | |
15834 | void | |
15835 | _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) | |
15836 | { | |
15837 | _M_initialize_map(__n); | |
15838 | _M_fill_initialize(__x); | |
15839 | } | |
15840 | ||
15841 | ||
15842 | template<typename _InputIterator> | |
15843 | void | |
15844 | _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, | |
15845 | __false_type) | |
15846 | { | |
15847 | typedef typename std::iterator_traits<_InputIterator>:: | |
15848 | iterator_category _IterCategory; | |
15849 | _M_range_initialize(__first, __last, _IterCategory()); | |
15850 | } | |
15851 | # 1257 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15852 | template<typename _InputIterator> | |
15853 | void | |
15854 | _M_range_initialize(_InputIterator __first, _InputIterator __last, | |
15855 | std::input_iterator_tag); | |
15856 | ||
15857 | ||
15858 | template<typename _ForwardIterator> | |
15859 | void | |
15860 | _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last, | |
15861 | std::forward_iterator_tag); | |
15862 | # 1281 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
15863 | void | |
15864 | _M_fill_initialize(const value_type& __value); | |
15865 | ||
15866 | ||
15867 | ||
15868 | ||
15869 | ||
15870 | template<typename _Integer> | |
15871 | void | |
15872 | _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) | |
15873 | { | |
15874 | _M_fill_assign(static_cast<size_type>(__n), | |
15875 | static_cast<value_type>(__val)); | |
15876 | } | |
15877 | ||
15878 | ||
15879 | template<typename _InputIterator> | |
15880 | void | |
15881 | _M_assign_dispatch(_InputIterator __first, _InputIterator __last, | |
15882 | __false_type) | |
15883 | { | |
15884 | typedef typename std::iterator_traits<_InputIterator>:: | |
15885 | iterator_category _IterCategory; | |
15886 | _M_assign_aux(__first, __last, _IterCategory()); | |
15887 | } | |
15888 | ||
15889 | ||
15890 | template<typename _InputIterator> | |
15891 | void | |
15892 | _M_assign_aux(_InputIterator __first, _InputIterator __last, | |
15893 | std::input_iterator_tag); | |
15894 | ||
15895 | ||
15896 | template<typename _ForwardIterator> | |
15897 | void | |
15898 | _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, | |
15899 | std::forward_iterator_tag) | |
15900 | { | |
15901 | const size_type __len = std::distance(__first, __last); | |
15902 | if (__len > size()) | |
15903 | { | |
15904 | _ForwardIterator __mid = __first; | |
15905 | std::advance(__mid, size()); | |
15906 | std::copy(__first, __mid, begin()); | |
15907 | insert(end(), __mid, __last); | |
15908 | } | |
15909 | else | |
15910 | _M_erase_at_end(std::copy(__first, __last, begin())); | |
15911 | } | |
15912 | ||
15913 | ||
15914 | ||
15915 | void | |
15916 | _M_fill_assign(size_type __n, const value_type& __val) | |
15917 | { | |
15918 | if (__n > size()) | |
15919 | { | |
15920 | std::fill(begin(), end(), __val); | |
15921 | insert(end(), __n - size(), __val); | |
15922 | } | |
15923 | else | |
15924 | { | |
15925 | _M_erase_at_end(begin() + difference_type(__n)); | |
15926 | std::fill(begin(), end(), __val); | |
15927 | } | |
15928 | } | |
15929 | ||
15930 | ||
15931 | ||
15932 | ||
15933 | ||
15934 | ||
15935 | ||
15936 | void _M_push_back_aux(const value_type&); | |
15937 | ||
15938 | void _M_push_front_aux(const value_type&); | |
15939 | ||
15940 | void _M_pop_back_aux(); | |
15941 | ||
15942 | void _M_pop_front_aux(); | |
15943 | ||
15944 | ||
15945 | ||
15946 | ||
15947 | ||
15948 | ||
15949 | template<typename _Integer> | |
15950 | void | |
15951 | _M_insert_dispatch(iterator __pos, | |
15952 | _Integer __n, _Integer __x, __true_type) | |
15953 | { | |
15954 | _M_fill_insert(__pos, static_cast<size_type>(__n), | |
15955 | static_cast<value_type>(__x)); | |
15956 | } | |
15957 | ||
15958 | ||
15959 | template<typename _InputIterator> | |
15960 | void | |
15961 | _M_insert_dispatch(iterator __pos, | |
15962 | _InputIterator __first, _InputIterator __last, | |
15963 | __false_type) | |
15964 | { | |
15965 | typedef typename std::iterator_traits<_InputIterator>:: | |
15966 | iterator_category _IterCategory; | |
15967 | _M_range_insert_aux(__pos, __first, __last, _IterCategory()); | |
15968 | } | |
15969 | ||
15970 | ||
15971 | template<typename _InputIterator> | |
15972 | void | |
15973 | _M_range_insert_aux(iterator __pos, _InputIterator __first, | |
15974 | _InputIterator __last, std::input_iterator_tag); | |
15975 | ||
15976 | ||
15977 | template<typename _ForwardIterator> | |
15978 | void | |
15979 | _M_range_insert_aux(iterator __pos, _ForwardIterator __first, | |
15980 | _ForwardIterator __last, std::forward_iterator_tag); | |
15981 | ||
15982 | ||
15983 | ||
15984 | ||
15985 | void | |
15986 | _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); | |
15987 | ||
15988 | ||
15989 | iterator | |
15990 | _M_insert_aux(iterator __pos, const value_type& __x); | |
15991 | ||
15992 | ||
15993 | void | |
15994 | _M_insert_aux(iterator __pos, size_type __n, const value_type& __x); | |
15995 | ||
15996 | ||
15997 | template<typename _ForwardIterator> | |
15998 | void | |
15999 | _M_insert_aux(iterator __pos, | |
16000 | _ForwardIterator __first, _ForwardIterator __last, | |
16001 | size_type __n); | |
16002 | ||
16003 | ||
16004 | ||
16005 | ||
16006 | void | |
16007 | _M_destroy_data_aux(iterator __first, iterator __last); | |
16008 | ||
16009 | void | |
16010 | _M_destroy_data_dispatch(iterator, iterator, __true_type) { } | |
16011 | ||
16012 | void | |
16013 | _M_destroy_data_dispatch(iterator __first, iterator __last, __false_type) | |
16014 | { _M_destroy_data_aux(__first, __last); } | |
16015 | ||
16016 | ||
16017 | ||
16018 | template<typename _Alloc1> | |
16019 | void | |
16020 | _M_destroy_data(iterator __first, iterator __last, const _Alloc1&) | |
16021 | { _M_destroy_data_aux(__first, __last); } | |
16022 | ||
16023 | void | |
16024 | _M_destroy_data(iterator __first, iterator __last, | |
16025 | const std::allocator<_Tp>&) | |
16026 | { | |
16027 | typedef typename std::__is_scalar<value_type>::__type | |
16028 | _Has_trivial_destructor; | |
16029 | _M_destroy_data_dispatch(__first, __last, _Has_trivial_destructor()); | |
16030 | } | |
16031 | ||
16032 | ||
16033 | void | |
16034 | _M_erase_at_begin(iterator __pos) | |
16035 | { | |
16036 | _M_destroy_data(begin(), __pos, _M_get_Tp_allocator()); | |
16037 | _M_destroy_nodes(this->_M_impl._M_start._M_node, __pos._M_node); | |
16038 | this->_M_impl._M_start = __pos; | |
16039 | } | |
16040 | ||
16041 | ||
16042 | ||
16043 | void | |
16044 | _M_erase_at_end(iterator __pos) | |
16045 | { | |
16046 | _M_destroy_data(__pos, end(), _M_get_Tp_allocator()); | |
16047 | _M_destroy_nodes(__pos._M_node + 1, | |
16048 | this->_M_impl._M_finish._M_node + 1); | |
16049 | this->_M_impl._M_finish = __pos; | |
16050 | } | |
16051 | # 1477 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
16052 | iterator | |
16053 | _M_reserve_elements_at_front(size_type __n) | |
16054 | { | |
16055 | const size_type __vacancies = this->_M_impl._M_start._M_cur | |
16056 | - this->_M_impl._M_start._M_first; | |
16057 | if (__n > __vacancies) | |
16058 | _M_new_elements_at_front(__n - __vacancies); | |
16059 | return this->_M_impl._M_start - difference_type(__n); | |
16060 | } | |
16061 | ||
16062 | iterator | |
16063 | _M_reserve_elements_at_back(size_type __n) | |
16064 | { | |
16065 | const size_type __vacancies = (this->_M_impl._M_finish._M_last | |
16066 | - this->_M_impl._M_finish._M_cur) - 1; | |
16067 | if (__n > __vacancies) | |
16068 | _M_new_elements_at_back(__n - __vacancies); | |
16069 | return this->_M_impl._M_finish + difference_type(__n); | |
16070 | } | |
16071 | ||
16072 | void | |
16073 | _M_new_elements_at_front(size_type __new_elements); | |
16074 | ||
16075 | void | |
16076 | _M_new_elements_at_back(size_type __new_elements); | |
16077 | # 1515 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
16078 | void | |
16079 | _M_reserve_map_at_back(size_type __nodes_to_add = 1) | |
16080 | { | |
16081 | if (__nodes_to_add + 1 > this->_M_impl._M_map_size | |
16082 | - (this->_M_impl._M_finish._M_node - this->_M_impl._M_map)) | |
16083 | _M_reallocate_map(__nodes_to_add, false); | |
16084 | } | |
16085 | ||
16086 | void | |
16087 | _M_reserve_map_at_front(size_type __nodes_to_add = 1) | |
16088 | { | |
16089 | if (__nodes_to_add > size_type(this->_M_impl._M_start._M_node | |
16090 | - this->_M_impl._M_map)) | |
16091 | _M_reallocate_map(__nodes_to_add, true); | |
16092 | } | |
16093 | ||
16094 | void | |
16095 | _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front); | |
16096 | ||
16097 | }; | |
16098 | # 1547 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
16099 | template<typename _Tp, typename _Alloc> | |
16100 | inline bool | |
16101 | operator==(const deque<_Tp, _Alloc>& __x, | |
16102 | const deque<_Tp, _Alloc>& __y) | |
16103 | { return __x.size() == __y.size() | |
16104 | && std::equal(__x.begin(), __x.end(), __y.begin()); } | |
16105 | # 1565 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3 | |
16106 | template<typename _Tp, typename _Alloc> | |
16107 | inline bool | |
16108 | operator<(const deque<_Tp, _Alloc>& __x, | |
16109 | const deque<_Tp, _Alloc>& __y) | |
16110 | { return std::lexicographical_compare(__x.begin(), __x.end(), | |
16111 | __y.begin(), __y.end()); } | |
16112 | ||
16113 | ||
16114 | template<typename _Tp, typename _Alloc> | |
16115 | inline bool | |
16116 | operator!=(const deque<_Tp, _Alloc>& __x, | |
16117 | const deque<_Tp, _Alloc>& __y) | |
16118 | { return !(__x == __y); } | |
16119 | ||
16120 | ||
16121 | template<typename _Tp, typename _Alloc> | |
16122 | inline bool | |
16123 | operator>(const deque<_Tp, _Alloc>& __x, | |
16124 | const deque<_Tp, _Alloc>& __y) | |
16125 | { return __y < __x; } | |
16126 | ||
16127 | ||
16128 | template<typename _Tp, typename _Alloc> | |
16129 | inline bool | |
16130 | operator<=(const deque<_Tp, _Alloc>& __x, | |
16131 | const deque<_Tp, _Alloc>& __y) | |
16132 | { return !(__y < __x); } | |
16133 | ||
16134 | ||
16135 | template<typename _Tp, typename _Alloc> | |
16136 | inline bool | |
16137 | operator>=(const deque<_Tp, _Alloc>& __x, | |
16138 | const deque<_Tp, _Alloc>& __y) | |
16139 | { return !(__x < __y); } | |
16140 | ||
16141 | ||
16142 | template<typename _Tp, typename _Alloc> | |
16143 | inline void | |
16144 | swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y) | |
16145 | { __x.swap(__y); } | |
16146 | ||
16147 | } | |
16148 | # 71 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/deque" 2 3 | |
16149 | ||
16150 | ||
16151 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/deque.tcc" 1 3 | |
16152 | # 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/deque.tcc" 3 | |
16153 | #define _DEQUE_TCC 1 | |
16154 | ||
16155 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
16156 | ||
16157 | template <typename _Tp, typename _Alloc> | |
16158 | deque<_Tp, _Alloc>& | |
16159 | deque<_Tp, _Alloc>:: | |
16160 | operator=(const deque& __x) | |
16161 | { | |
16162 | const size_type __len = size(); | |
16163 | if (&__x != this) | |
16164 | { | |
16165 | if (__len >= __x.size()) | |
16166 | _M_erase_at_end(std::copy(__x.begin(), __x.end(), | |
16167 | this->_M_impl._M_start)); | |
16168 | else | |
16169 | { | |
16170 | const_iterator __mid = __x.begin() + difference_type(__len); | |
16171 | std::copy(__x.begin(), __mid, this->_M_impl._M_start); | |
16172 | insert(this->_M_impl._M_finish, __mid, __x.end()); | |
16173 | } | |
16174 | } | |
16175 | return *this; | |
16176 | } | |
16177 | ||
16178 | template <typename _Tp, typename _Alloc> | |
16179 | typename deque<_Tp, _Alloc>::iterator | |
16180 | deque<_Tp, _Alloc>:: | |
16181 | insert(iterator __position, const value_type& __x) | |
16182 | { | |
16183 | if (__position._M_cur == this->_M_impl._M_start._M_cur) | |
16184 | { | |
16185 | push_front(__x); | |
16186 | return this->_M_impl._M_start; | |
16187 | } | |
16188 | else if (__position._M_cur == this->_M_impl._M_finish._M_cur) | |
16189 | { | |
16190 | push_back(__x); | |
16191 | iterator __tmp = this->_M_impl._M_finish; | |
16192 | --__tmp; | |
16193 | return __tmp; | |
16194 | } | |
16195 | else | |
16196 | return _M_insert_aux(__position, __x); | |
16197 | } | |
16198 | ||
16199 | template <typename _Tp, typename _Alloc> | |
16200 | typename deque<_Tp, _Alloc>::iterator | |
16201 | deque<_Tp, _Alloc>:: | |
16202 | erase(iterator __position) | |
16203 | { | |
16204 | iterator __next = __position; | |
16205 | ++__next; | |
16206 | const difference_type __index = __position - begin(); | |
16207 | if (static_cast<size_type>(__index) < (size() >> 1)) | |
16208 | { | |
16209 | if (__position != begin()) | |
16210 | std::copy_backward(begin(), __position, __next); | |
16211 | pop_front(); | |
16212 | } | |
16213 | else | |
16214 | { | |
16215 | if (__next != end()) | |
16216 | std::copy(__next, end(), __position); | |
16217 | pop_back(); | |
16218 | } | |
16219 | return begin() + __index; | |
16220 | } | |
16221 | ||
16222 | template <typename _Tp, typename _Alloc> | |
16223 | typename deque<_Tp, _Alloc>::iterator | |
16224 | deque<_Tp, _Alloc>:: | |
16225 | erase(iterator __first, iterator __last) | |
16226 | { | |
16227 | if (__first == begin() && __last == end()) | |
16228 | { | |
16229 | clear(); | |
16230 | return end(); | |
16231 | } | |
16232 | else | |
16233 | { | |
16234 | const difference_type __n = __last - __first; | |
16235 | const difference_type __elems_before = __first - begin(); | |
16236 | if (static_cast<size_type>(__elems_before) <= (size() - __n) / 2) | |
16237 | { | |
16238 | if (__first != begin()) | |
16239 | std::copy_backward(begin(), __first, __last); | |
16240 | _M_erase_at_begin(begin() + __n); | |
16241 | } | |
16242 | else | |
16243 | { | |
16244 | if (__last != end()) | |
16245 | std::copy(__last, end(), __first); | |
16246 | _M_erase_at_end(end() - __n); | |
16247 | } | |
16248 | return begin() + __elems_before; | |
16249 | } | |
16250 | } | |
16251 | ||
16252 | template <typename _Tp, class _Alloc> | |
16253 | template <typename _InputIterator> | |
16254 | void | |
16255 | deque<_Tp, _Alloc>:: | |
16256 | _M_assign_aux(_InputIterator __first, _InputIterator __last, | |
16257 | std::input_iterator_tag) | |
16258 | { | |
16259 | iterator __cur = begin(); | |
16260 | for (; __first != __last && __cur != end(); ++__cur, ++__first) | |
16261 | *__cur = *__first; | |
16262 | if (__first == __last) | |
16263 | _M_erase_at_end(__cur); | |
16264 | else | |
16265 | insert(end(), __first, __last); | |
16266 | } | |
16267 | ||
16268 | template <typename _Tp, typename _Alloc> | |
16269 | void | |
16270 | deque<_Tp, _Alloc>:: | |
16271 | _M_fill_insert(iterator __pos, size_type __n, const value_type& __x) | |
16272 | { | |
16273 | if (__pos._M_cur == this->_M_impl._M_start._M_cur) | |
16274 | { | |
16275 | iterator __new_start = _M_reserve_elements_at_front(__n); | |
16276 | try | |
16277 | { | |
16278 | std::__uninitialized_fill_a(__new_start, this->_M_impl._M_start, | |
16279 | __x, _M_get_Tp_allocator()); | |
16280 | this->_M_impl._M_start = __new_start; | |
16281 | } | |
16282 | catch(...) | |
16283 | { | |
16284 | _M_destroy_nodes(__new_start._M_node, | |
16285 | this->_M_impl._M_start._M_node); | |
16286 | throw; | |
16287 | } | |
16288 | } | |
16289 | else if (__pos._M_cur == this->_M_impl._M_finish._M_cur) | |
16290 | { | |
16291 | iterator __new_finish = _M_reserve_elements_at_back(__n); | |
16292 | try | |
16293 | { | |
16294 | std::__uninitialized_fill_a(this->_M_impl._M_finish, | |
16295 | __new_finish, __x, | |
16296 | _M_get_Tp_allocator()); | |
16297 | this->_M_impl._M_finish = __new_finish; | |
16298 | } | |
16299 | catch(...) | |
16300 | { | |
16301 | _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, | |
16302 | __new_finish._M_node + 1); | |
16303 | throw; | |
16304 | } | |
16305 | } | |
16306 | else | |
16307 | _M_insert_aux(__pos, __n, __x); | |
16308 | } | |
16309 | ||
16310 | template <typename _Tp, typename _Alloc> | |
16311 | void | |
16312 | deque<_Tp, _Alloc>:: | |
16313 | _M_fill_initialize(const value_type& __value) | |
16314 | { | |
16315 | _Map_pointer __cur; | |
16316 | try | |
16317 | { | |
16318 | for (__cur = this->_M_impl._M_start._M_node; | |
16319 | __cur < this->_M_impl._M_finish._M_node; | |
16320 | ++__cur) | |
16321 | std::__uninitialized_fill_a(*__cur, *__cur + _S_buffer_size(), | |
16322 | __value, _M_get_Tp_allocator()); | |
16323 | std::__uninitialized_fill_a(this->_M_impl._M_finish._M_first, | |
16324 | this->_M_impl._M_finish._M_cur, | |
16325 | __value, _M_get_Tp_allocator()); | |
16326 | } | |
16327 | catch(...) | |
16328 | { | |
16329 | std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur), | |
16330 | _M_get_Tp_allocator()); | |
16331 | throw; | |
16332 | } | |
16333 | } | |
16334 | ||
16335 | template <typename _Tp, typename _Alloc> | |
16336 | template <typename _InputIterator> | |
16337 | void | |
16338 | deque<_Tp, _Alloc>:: | |
16339 | _M_range_initialize(_InputIterator __first, _InputIterator __last, | |
16340 | std::input_iterator_tag) | |
16341 | { | |
16342 | this->_M_initialize_map(0); | |
16343 | try | |
16344 | { | |
16345 | for (; __first != __last; ++__first) | |
16346 | push_back(*__first); | |
16347 | } | |
16348 | catch(...) | |
16349 | { | |
16350 | clear(); | |
16351 | throw; | |
16352 | } | |
16353 | } | |
16354 | ||
16355 | template <typename _Tp, typename _Alloc> | |
16356 | template <typename _ForwardIterator> | |
16357 | void | |
16358 | deque<_Tp, _Alloc>:: | |
16359 | _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last, | |
16360 | std::forward_iterator_tag) | |
16361 | { | |
16362 | const size_type __n = std::distance(__first, __last); | |
16363 | this->_M_initialize_map(__n); | |
16364 | ||
16365 | _Map_pointer __cur_node; | |
16366 | try | |
16367 | { | |
16368 | for (__cur_node = this->_M_impl._M_start._M_node; | |
16369 | __cur_node < this->_M_impl._M_finish._M_node; | |
16370 | ++__cur_node) | |
16371 | { | |
16372 | _ForwardIterator __mid = __first; | |
16373 | std::advance(__mid, _S_buffer_size()); | |
16374 | std::__uninitialized_copy_a(__first, __mid, *__cur_node, | |
16375 | _M_get_Tp_allocator()); | |
16376 | __first = __mid; | |
16377 | } | |
16378 | std::__uninitialized_copy_a(__first, __last, | |
16379 | this->_M_impl._M_finish._M_first, | |
16380 | _M_get_Tp_allocator()); | |
16381 | } | |
16382 | catch(...) | |
16383 | { | |
16384 | std::_Destroy(this->_M_impl._M_start, | |
16385 | iterator(*__cur_node, __cur_node), | |
16386 | _M_get_Tp_allocator()); | |
16387 | throw; | |
16388 | } | |
16389 | } | |
16390 | ||
16391 | ||
16392 | template <typename _Tp, typename _Alloc> | |
16393 | void | |
16394 | deque<_Tp, _Alloc>:: | |
16395 | _M_push_back_aux(const value_type& __t) | |
16396 | { | |
16397 | value_type __t_copy = __t; | |
16398 | _M_reserve_map_at_back(); | |
16399 | *(this->_M_impl._M_finish._M_node + 1) = this->_M_allocate_node(); | |
16400 | try | |
16401 | { | |
16402 | this->_M_impl.construct(this->_M_impl._M_finish._M_cur, __t_copy); | |
16403 | this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node | |
16404 | + 1); | |
16405 | this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_first; | |
16406 | } | |
16407 | catch(...) | |
16408 | { | |
16409 | _M_deallocate_node(*(this->_M_impl._M_finish._M_node + 1)); | |
16410 | throw; | |
16411 | } | |
16412 | } | |
16413 | ||
16414 | ||
16415 | template <typename _Tp, typename _Alloc> | |
16416 | void | |
16417 | deque<_Tp, _Alloc>:: | |
16418 | _M_push_front_aux(const value_type& __t) | |
16419 | { | |
16420 | value_type __t_copy = __t; | |
16421 | _M_reserve_map_at_front(); | |
16422 | *(this->_M_impl._M_start._M_node - 1) = this->_M_allocate_node(); | |
16423 | try | |
16424 | { | |
16425 | this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node | |
16426 | - 1); | |
16427 | this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_last - 1; | |
16428 | this->_M_impl.construct(this->_M_impl._M_start._M_cur, __t_copy); | |
16429 | } | |
16430 | catch(...) | |
16431 | { | |
16432 | ++this->_M_impl._M_start; | |
16433 | _M_deallocate_node(*(this->_M_impl._M_start._M_node - 1)); | |
16434 | throw; | |
16435 | } | |
16436 | } | |
16437 | ||
16438 | ||
16439 | template <typename _Tp, typename _Alloc> | |
16440 | void deque<_Tp, _Alloc>:: | |
16441 | _M_pop_back_aux() | |
16442 | { | |
16443 | _M_deallocate_node(this->_M_impl._M_finish._M_first); | |
16444 | this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node - 1); | |
16445 | this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_last - 1; | |
16446 | this->_M_impl.destroy(this->_M_impl._M_finish._M_cur); | |
16447 | } | |
16448 | ||
16449 | ||
16450 | ||
16451 | ||
16452 | ||
16453 | ||
16454 | template <typename _Tp, typename _Alloc> | |
16455 | void deque<_Tp, _Alloc>:: | |
16456 | _M_pop_front_aux() | |
16457 | { | |
16458 | this->_M_impl.destroy(this->_M_impl._M_start._M_cur); | |
16459 | _M_deallocate_node(this->_M_impl._M_start._M_first); | |
16460 | this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node + 1); | |
16461 | this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_first; | |
16462 | } | |
16463 | ||
16464 | template <typename _Tp, typename _Alloc> | |
16465 | template <typename _InputIterator> | |
16466 | void | |
16467 | deque<_Tp, _Alloc>:: | |
16468 | _M_range_insert_aux(iterator __pos, | |
16469 | _InputIterator __first, _InputIterator __last, | |
16470 | std::input_iterator_tag) | |
16471 | { std::copy(__first, __last, std::inserter(*this, __pos)); } | |
16472 | ||
16473 | template <typename _Tp, typename _Alloc> | |
16474 | template <typename _ForwardIterator> | |
16475 | void | |
16476 | deque<_Tp, _Alloc>:: | |
16477 | _M_range_insert_aux(iterator __pos, | |
16478 | _ForwardIterator __first, _ForwardIterator __last, | |
16479 | std::forward_iterator_tag) | |
16480 | { | |
16481 | const size_type __n = std::distance(__first, __last); | |
16482 | if (__pos._M_cur == this->_M_impl._M_start._M_cur) | |
16483 | { | |
16484 | iterator __new_start = _M_reserve_elements_at_front(__n); | |
16485 | try | |
16486 | { | |
16487 | std::__uninitialized_copy_a(__first, __last, __new_start, | |
16488 | _M_get_Tp_allocator()); | |
16489 | this->_M_impl._M_start = __new_start; | |
16490 | } | |
16491 | catch(...) | |
16492 | { | |
16493 | _M_destroy_nodes(__new_start._M_node, | |
16494 | this->_M_impl._M_start._M_node); | |
16495 | throw; | |
16496 | } | |
16497 | } | |
16498 | else if (__pos._M_cur == this->_M_impl._M_finish._M_cur) | |
16499 | { | |
16500 | iterator __new_finish = _M_reserve_elements_at_back(__n); | |
16501 | try | |
16502 | { | |
16503 | std::__uninitialized_copy_a(__first, __last, | |
16504 | this->_M_impl._M_finish, | |
16505 | _M_get_Tp_allocator()); | |
16506 | this->_M_impl._M_finish = __new_finish; | |
16507 | } | |
16508 | catch(...) | |
16509 | { | |
16510 | _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, | |
16511 | __new_finish._M_node + 1); | |
16512 | throw; | |
16513 | } | |
16514 | } | |
16515 | else | |
16516 | _M_insert_aux(__pos, __first, __last, __n); | |
16517 | } | |
16518 | ||
16519 | template <typename _Tp, typename _Alloc> | |
16520 | typename deque<_Tp, _Alloc>::iterator | |
16521 | deque<_Tp, _Alloc>:: | |
16522 | _M_insert_aux(iterator __pos, const value_type& __x) | |
16523 | { | |
16524 | difference_type __index = __pos - this->_M_impl._M_start; | |
16525 | value_type __x_copy = __x; | |
16526 | if (static_cast<size_type>(__index) < size() / 2) | |
16527 | { | |
16528 | push_front(front()); | |
16529 | iterator __front1 = this->_M_impl._M_start; | |
16530 | ++__front1; | |
16531 | iterator __front2 = __front1; | |
16532 | ++__front2; | |
16533 | __pos = this->_M_impl._M_start + __index; | |
16534 | iterator __pos1 = __pos; | |
16535 | ++__pos1; | |
16536 | std::copy(__front2, __pos1, __front1); | |
16537 | } | |
16538 | else | |
16539 | { | |
16540 | push_back(back()); | |
16541 | iterator __back1 = this->_M_impl._M_finish; | |
16542 | --__back1; | |
16543 | iterator __back2 = __back1; | |
16544 | --__back2; | |
16545 | __pos = this->_M_impl._M_start + __index; | |
16546 | std::copy_backward(__pos, __back2, __back1); | |
16547 | } | |
16548 | *__pos = __x_copy; | |
16549 | return __pos; | |
16550 | } | |
16551 | ||
16552 | template <typename _Tp, typename _Alloc> | |
16553 | void | |
16554 | deque<_Tp, _Alloc>:: | |
16555 | _M_insert_aux(iterator __pos, size_type __n, const value_type& __x) | |
16556 | { | |
16557 | const difference_type __elems_before = __pos - this->_M_impl._M_start; | |
16558 | const size_type __length = this->size(); | |
16559 | value_type __x_copy = __x; | |
16560 | if (__elems_before < difference_type(__length / 2)) | |
16561 | { | |
16562 | iterator __new_start = _M_reserve_elements_at_front(__n); | |
16563 | iterator __old_start = this->_M_impl._M_start; | |
16564 | __pos = this->_M_impl._M_start + __elems_before; | |
16565 | try | |
16566 | { | |
16567 | if (__elems_before >= difference_type(__n)) | |
16568 | { | |
16569 | iterator __start_n = (this->_M_impl._M_start | |
16570 | + difference_type(__n)); | |
16571 | std::__uninitialized_copy_a(this->_M_impl._M_start, | |
16572 | __start_n, __new_start, | |
16573 | _M_get_Tp_allocator()); | |
16574 | this->_M_impl._M_start = __new_start; | |
16575 | std::copy(__start_n, __pos, __old_start); | |
16576 | std::fill(__pos - difference_type(__n), __pos, __x_copy); | |
16577 | } | |
16578 | else | |
16579 | { | |
16580 | std::__uninitialized_copy_fill(this->_M_impl._M_start, | |
16581 | __pos, __new_start, | |
16582 | this->_M_impl._M_start, | |
16583 | __x_copy, | |
16584 | _M_get_Tp_allocator()); | |
16585 | this->_M_impl._M_start = __new_start; | |
16586 | std::fill(__old_start, __pos, __x_copy); | |
16587 | } | |
16588 | } | |
16589 | catch(...) | |
16590 | { | |
16591 | _M_destroy_nodes(__new_start._M_node, | |
16592 | this->_M_impl._M_start._M_node); | |
16593 | throw; | |
16594 | } | |
16595 | } | |
16596 | else | |
16597 | { | |
16598 | iterator __new_finish = _M_reserve_elements_at_back(__n); | |
16599 | iterator __old_finish = this->_M_impl._M_finish; | |
16600 | const difference_type __elems_after = | |
16601 | difference_type(__length) - __elems_before; | |
16602 | __pos = this->_M_impl._M_finish - __elems_after; | |
16603 | try | |
16604 | { | |
16605 | if (__elems_after > difference_type(__n)) | |
16606 | { | |
16607 | iterator __finish_n = (this->_M_impl._M_finish | |
16608 | - difference_type(__n)); | |
16609 | std::__uninitialized_copy_a(__finish_n, | |
16610 | this->_M_impl._M_finish, | |
16611 | this->_M_impl._M_finish, | |
16612 | _M_get_Tp_allocator()); | |
16613 | this->_M_impl._M_finish = __new_finish; | |
16614 | std::copy_backward(__pos, __finish_n, __old_finish); | |
16615 | std::fill(__pos, __pos + difference_type(__n), __x_copy); | |
16616 | } | |
16617 | else | |
16618 | { | |
16619 | std::__uninitialized_fill_copy(this->_M_impl._M_finish, | |
16620 | __pos + difference_type(__n), | |
16621 | __x_copy, __pos, | |
16622 | this->_M_impl._M_finish, | |
16623 | _M_get_Tp_allocator()); | |
16624 | this->_M_impl._M_finish = __new_finish; | |
16625 | std::fill(__pos, __old_finish, __x_copy); | |
16626 | } | |
16627 | } | |
16628 | catch(...) | |
16629 | { | |
16630 | _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, | |
16631 | __new_finish._M_node + 1); | |
16632 | throw; | |
16633 | } | |
16634 | } | |
16635 | } | |
16636 | ||
16637 | template <typename _Tp, typename _Alloc> | |
16638 | template <typename _ForwardIterator> | |
16639 | void | |
16640 | deque<_Tp, _Alloc>:: | |
16641 | _M_insert_aux(iterator __pos, | |
16642 | _ForwardIterator __first, _ForwardIterator __last, | |
16643 | size_type __n) | |
16644 | { | |
16645 | const difference_type __elemsbefore = __pos - this->_M_impl._M_start; | |
16646 | const size_type __length = size(); | |
16647 | if (static_cast<size_type>(__elemsbefore) < __length / 2) | |
16648 | { | |
16649 | iterator __new_start = _M_reserve_elements_at_front(__n); | |
16650 | iterator __old_start = this->_M_impl._M_start; | |
16651 | __pos = this->_M_impl._M_start + __elemsbefore; | |
16652 | try | |
16653 | { | |
16654 | if (__elemsbefore >= difference_type(__n)) | |
16655 | { | |
16656 | iterator __start_n = (this->_M_impl._M_start | |
16657 | + difference_type(__n)); | |
16658 | std::__uninitialized_copy_a(this->_M_impl._M_start, | |
16659 | __start_n, __new_start, | |
16660 | _M_get_Tp_allocator()); | |
16661 | this->_M_impl._M_start = __new_start; | |
16662 | std::copy(__start_n, __pos, __old_start); | |
16663 | std::copy(__first, __last, __pos - difference_type(__n)); | |
16664 | } | |
16665 | else | |
16666 | { | |
16667 | _ForwardIterator __mid = __first; | |
16668 | std::advance(__mid, difference_type(__n) - __elemsbefore); | |
16669 | std::__uninitialized_copy_copy(this->_M_impl._M_start, | |
16670 | __pos, __first, __mid, | |
16671 | __new_start, | |
16672 | _M_get_Tp_allocator()); | |
16673 | this->_M_impl._M_start = __new_start; | |
16674 | std::copy(__mid, __last, __old_start); | |
16675 | } | |
16676 | } | |
16677 | catch(...) | |
16678 | { | |
16679 | _M_destroy_nodes(__new_start._M_node, | |
16680 | this->_M_impl._M_start._M_node); | |
16681 | throw; | |
16682 | } | |
16683 | } | |
16684 | else | |
16685 | { | |
16686 | iterator __new_finish = _M_reserve_elements_at_back(__n); | |
16687 | iterator __old_finish = this->_M_impl._M_finish; | |
16688 | const difference_type __elemsafter = | |
16689 | difference_type(__length) - __elemsbefore; | |
16690 | __pos = this->_M_impl._M_finish - __elemsafter; | |
16691 | try | |
16692 | { | |
16693 | if (__elemsafter > difference_type(__n)) | |
16694 | { | |
16695 | iterator __finish_n = (this->_M_impl._M_finish | |
16696 | - difference_type(__n)); | |
16697 | std::__uninitialized_copy_a(__finish_n, | |
16698 | this->_M_impl._M_finish, | |
16699 | this->_M_impl._M_finish, | |
16700 | _M_get_Tp_allocator()); | |
16701 | this->_M_impl._M_finish = __new_finish; | |
16702 | std::copy_backward(__pos, __finish_n, __old_finish); | |
16703 | std::copy(__first, __last, __pos); | |
16704 | } | |
16705 | else | |
16706 | { | |
16707 | _ForwardIterator __mid = __first; | |
16708 | std::advance(__mid, __elemsafter); | |
16709 | std::__uninitialized_copy_copy(__mid, __last, __pos, | |
16710 | this->_M_impl._M_finish, | |
16711 | this->_M_impl._M_finish, | |
16712 | _M_get_Tp_allocator()); | |
16713 | this->_M_impl._M_finish = __new_finish; | |
16714 | std::copy(__first, __mid, __pos); | |
16715 | } | |
16716 | } | |
16717 | catch(...) | |
16718 | { | |
16719 | _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1, | |
16720 | __new_finish._M_node + 1); | |
16721 | throw; | |
16722 | } | |
16723 | } | |
16724 | } | |
16725 | ||
16726 | template<typename _Tp, typename _Alloc> | |
16727 | void | |
16728 | deque<_Tp, _Alloc>:: | |
16729 | _M_destroy_data_aux(iterator __first, iterator __last) | |
16730 | { | |
16731 | for (_Map_pointer __node = __first._M_node + 1; | |
16732 | __node < __last._M_node; ++__node) | |
16733 | std::_Destroy(*__node, *__node + _S_buffer_size(), | |
16734 | _M_get_Tp_allocator()); | |
16735 | ||
16736 | if (__first._M_node != __last._M_node) | |
16737 | { | |
16738 | std::_Destroy(__first._M_cur, __first._M_last, | |
16739 | _M_get_Tp_allocator()); | |
16740 | std::_Destroy(__last._M_first, __last._M_cur, | |
16741 | _M_get_Tp_allocator()); | |
16742 | } | |
16743 | else | |
16744 | std::_Destroy(__first._M_cur, __last._M_cur, | |
16745 | _M_get_Tp_allocator()); | |
16746 | } | |
16747 | ||
16748 | template <typename _Tp, typename _Alloc> | |
16749 | void | |
16750 | deque<_Tp, _Alloc>:: | |
16751 | _M_new_elements_at_front(size_type __new_elems) | |
16752 | { | |
16753 | if (this->max_size() - this->size() < __new_elems) | |
16754 | __throw_length_error(("deque::_M_new_elements_at_front")); | |
16755 | ||
16756 | const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1) | |
16757 | / _S_buffer_size()); | |
16758 | _M_reserve_map_at_front(__new_nodes); | |
16759 | size_type __i; | |
16760 | try | |
16761 | { | |
16762 | for (__i = 1; __i <= __new_nodes; ++__i) | |
16763 | *(this->_M_impl._M_start._M_node - __i) = this->_M_allocate_node(); | |
16764 | } | |
16765 | catch(...) | |
16766 | { | |
16767 | for (size_type __j = 1; __j < __i; ++__j) | |
16768 | _M_deallocate_node(*(this->_M_impl._M_start._M_node - __j)); | |
16769 | throw; | |
16770 | } | |
16771 | } | |
16772 | ||
16773 | template <typename _Tp, typename _Alloc> | |
16774 | void | |
16775 | deque<_Tp, _Alloc>:: | |
16776 | _M_new_elements_at_back(size_type __new_elems) | |
16777 | { | |
16778 | if (this->max_size() - this->size() < __new_elems) | |
16779 | __throw_length_error(("deque::_M_new_elements_at_back")); | |
16780 | ||
16781 | const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1) | |
16782 | / _S_buffer_size()); | |
16783 | _M_reserve_map_at_back(__new_nodes); | |
16784 | size_type __i; | |
16785 | try | |
16786 | { | |
16787 | for (__i = 1; __i <= __new_nodes; ++__i) | |
16788 | *(this->_M_impl._M_finish._M_node + __i) = this->_M_allocate_node(); | |
16789 | } | |
16790 | catch(...) | |
16791 | { | |
16792 | for (size_type __j = 1; __j < __i; ++__j) | |
16793 | _M_deallocate_node(*(this->_M_impl._M_finish._M_node + __j)); | |
16794 | throw; | |
16795 | } | |
16796 | } | |
16797 | ||
16798 | template <typename _Tp, typename _Alloc> | |
16799 | void | |
16800 | deque<_Tp, _Alloc>:: | |
16801 | _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front) | |
16802 | { | |
16803 | const size_type __old_num_nodes | |
16804 | = this->_M_impl._M_finish._M_node - this->_M_impl._M_start._M_node + 1; | |
16805 | const size_type __new_num_nodes = __old_num_nodes + __nodes_to_add; | |
16806 | ||
16807 | _Map_pointer __new_nstart; | |
16808 | if (this->_M_impl._M_map_size > 2 * __new_num_nodes) | |
16809 | { | |
16810 | __new_nstart = this->_M_impl._M_map + (this->_M_impl._M_map_size | |
16811 | - __new_num_nodes) / 2 | |
16812 | + (__add_at_front ? __nodes_to_add : 0); | |
16813 | if (__new_nstart < this->_M_impl._M_start._M_node) | |
16814 | std::copy(this->_M_impl._M_start._M_node, | |
16815 | this->_M_impl._M_finish._M_node + 1, | |
16816 | __new_nstart); | |
16817 | else | |
16818 | std::copy_backward(this->_M_impl._M_start._M_node, | |
16819 | this->_M_impl._M_finish._M_node + 1, | |
16820 | __new_nstart + __old_num_nodes); | |
16821 | } | |
16822 | else | |
16823 | { | |
16824 | size_type __new_map_size = this->_M_impl._M_map_size | |
16825 | + std::max(this->_M_impl._M_map_size, | |
16826 | __nodes_to_add) + 2; | |
16827 | ||
16828 | _Map_pointer __new_map = this->_M_allocate_map(__new_map_size); | |
16829 | __new_nstart = __new_map + (__new_map_size - __new_num_nodes) / 2 | |
16830 | + (__add_at_front ? __nodes_to_add : 0); | |
16831 | std::copy(this->_M_impl._M_start._M_node, | |
16832 | this->_M_impl._M_finish._M_node + 1, | |
16833 | __new_nstart); | |
16834 | _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size); | |
16835 | ||
16836 | this->_M_impl._M_map = __new_map; | |
16837 | this->_M_impl._M_map_size = __new_map_size; | |
16838 | } | |
16839 | ||
16840 | this->_M_impl._M_start._M_set_node(__new_nstart); | |
16841 | this->_M_impl._M_finish._M_set_node(__new_nstart + __old_num_nodes - 1); | |
16842 | } | |
16843 | ||
16844 | ||
16845 | ||
16846 | template<typename _Tp> | |
16847 | void | |
16848 | fill(const _Deque_iterator<_Tp, _Tp&, _Tp*>& __first, | |
16849 | const _Deque_iterator<_Tp, _Tp&, _Tp*>& __last, const _Tp& __value) | |
16850 | { | |
16851 | typedef typename _Deque_iterator<_Tp, _Tp&, _Tp*>::_Self _Self; | |
16852 | ||
16853 | for (typename _Self::_Map_pointer __node = __first._M_node + 1; | |
16854 | __node < __last._M_node; ++__node) | |
16855 | std::fill(*__node, *__node + _Self::_S_buffer_size(), __value); | |
16856 | ||
16857 | if (__first._M_node != __last._M_node) | |
16858 | { | |
16859 | std::fill(__first._M_cur, __first._M_last, __value); | |
16860 | std::fill(__last._M_first, __last._M_cur, __value); | |
16861 | } | |
16862 | else | |
16863 | std::fill(__first._M_cur, __last._M_cur, __value); | |
16864 | } | |
16865 | ||
16866 | } | |
16867 | # 74 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/deque" 2 3 | |
16868 | # 40 "Command.h" 2 | |
16869 | ||
16870 | namespace aria2 { | |
16871 | ||
16872 | class Logger; | |
16873 | ||
16874 | typedef int32_t CommandUuid; | |
16875 | ||
16876 | class Command { | |
16877 | public: | |
16878 | enum STATUS { | |
16879 | STATUS_ALL, | |
16880 | STATUS_INACTIVE, | |
16881 | STATUS_ACTIVE, | |
16882 | STATUS_REALTIME | |
16883 | }; | |
16884 | private: | |
16885 | CommandUuid uuid; | |
16886 | static int32_t uuidGen; | |
16887 | STATUS status; | |
16888 | protected: | |
16889 | int32_t cuid; | |
16890 | const Logger* logger; | |
16891 | public: | |
16892 | Command(int32_t cuid); | |
16893 | ||
16894 | virtual ~Command() {} | |
16895 | ||
16896 | virtual bool execute() = 0; | |
16897 | ||
16898 | int32_t getCuid() const { return cuid; } | |
16899 | ||
16900 | const CommandUuid& getUuid() const { return uuid; } | |
16901 | ||
16902 | void setStatusActive() { this->status = STATUS_ACTIVE; } | |
16903 | ||
16904 | void setStatusInactive() { this->status = STATUS_INACTIVE; } | |
16905 | ||
16906 | void setStatusRealtime() { this->status = STATUS_REALTIME; } | |
16907 | ||
16908 | bool statusMatch(Command::STATUS statusFilter) const | |
16909 | { | |
16910 | return statusFilter <= status; | |
16911 | } | |
16912 | ||
16913 | void transitStatus(); | |
16914 | }; | |
16915 | ||
16916 | typedef std::deque<Command*> Commands; | |
16917 | ||
16918 | } | |
16919 | # 36 "Command.cc" 2 | |
16920 | # 1 "LogFactory.h" 1 | |
16921 | # 36 "LogFactory.h" | |
16922 | #define _D_LOG_FACTORY_H_ | |
16923 | ||
16924 | ||
16925 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/string" 1 3 | |
16926 | # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/string" 3 | |
16927 | #define _GLIBCXX_STRING 1 | |
16928 | ||
16929 | ||
16930 | # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/string" 3 | |
16931 | ||
16932 | ||
16933 | ||
16934 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/char_traits.h" 1 3 | |
16935 | # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/char_traits.h" 3 | |
16936 | #define _CHAR_TRAITS_H 1 | |
16937 | ||
16938 | ||
16939 | # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/char_traits.h" 3 | |
16940 | ||
16941 | ||
16942 | ||
16943 | ||
16944 | ||
16945 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
16946 | # 61 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/char_traits.h" 3 | |
16947 | template <class _CharT> | |
16948 | struct _Char_types | |
16949 | { | |
16950 | typedef unsigned long int_type; | |
16951 | typedef std::streampos pos_type; | |
16952 | typedef std::streamoff off_type; | |
16953 | typedef std::mbstate_t state_type; | |
16954 | }; | |
16955 | # 86 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/char_traits.h" 3 | |
16956 | template<typename _CharT> | |
16957 | struct char_traits | |
16958 | { | |
16959 | typedef _CharT char_type; | |
16960 | typedef typename _Char_types<_CharT>::int_type int_type; | |
16961 | typedef typename _Char_types<_CharT>::pos_type pos_type; | |
16962 | typedef typename _Char_types<_CharT>::off_type off_type; | |
16963 | typedef typename _Char_types<_CharT>::state_type state_type; | |
16964 | ||
16965 | static void | |
16966 | assign(char_type& __c1, const char_type& __c2) | |
16967 | { __c1 = __c2; } | |
16968 | ||
16969 | static bool | |
16970 | eq(const char_type& __c1, const char_type& __c2) | |
16971 | { return __c1 == __c2; } | |
16972 | ||
16973 | static bool | |
16974 | lt(const char_type& __c1, const char_type& __c2) | |
16975 | { return __c1 < __c2; } | |
16976 | ||
16977 | static int | |
16978 | compare(const char_type* __s1, const char_type* __s2, std::size_t __n); | |
16979 | ||
16980 | static std::size_t | |
16981 | length(const char_type* __s); | |
16982 | ||
16983 | static const char_type* | |
16984 | find(const char_type* __s, std::size_t __n, const char_type& __a); | |
16985 | ||
16986 | static char_type* | |
16987 | move(char_type* __s1, const char_type* __s2, std::size_t __n); | |
16988 | ||
16989 | static char_type* | |
16990 | copy(char_type* __s1, const char_type* __s2, std::size_t __n); | |
16991 | ||
16992 | static char_type* | |
16993 | assign(char_type* __s, std::size_t __n, char_type __a); | |
16994 | ||
16995 | static char_type | |
16996 | to_char_type(const int_type& __c) | |
16997 | { return static_cast<char_type>(__c); } | |
16998 | ||
16999 | static int_type | |
17000 | to_int_type(const char_type& __c) | |
17001 | { return static_cast<int_type>(__c); } | |
17002 | ||
17003 | static bool | |
17004 | eq_int_type(const int_type& __c1, const int_type& __c2) | |
17005 | { return __c1 == __c2; } | |
17006 | ||
17007 | static int_type | |
17008 | eof() | |
17009 | { return static_cast<int_type>((-1)); } | |
17010 | ||
17011 | static int_type | |
17012 | not_eof(const int_type& __c) | |
17013 | { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); } | |
17014 | }; | |
17015 | ||
17016 | template<typename _CharT> | |
17017 | int | |
17018 | char_traits<_CharT>:: | |
17019 | compare(const char_type* __s1, const char_type* __s2, std::size_t __n) | |
17020 | { | |
17021 | for (std::size_t __i = 0; __i < __n; ++__i) | |
17022 | if (lt(__s1[__i], __s2[__i])) | |
17023 | return -1; | |
17024 | else if (lt(__s2[__i], __s1[__i])) | |
17025 | return 1; | |
17026 | return 0; | |
17027 | } | |
17028 | ||
17029 | template<typename _CharT> | |
17030 | std::size_t | |
17031 | char_traits<_CharT>:: | |
17032 | length(const char_type* __p) | |
17033 | { | |
17034 | std::size_t __i = 0; | |
17035 | while (!eq(__p[__i], char_type())) | |
17036 | ++__i; | |
17037 | return __i; | |
17038 | } | |
17039 | ||
17040 | template<typename _CharT> | |
17041 | const typename char_traits<_CharT>::char_type* | |
17042 | char_traits<_CharT>:: | |
17043 | find(const char_type* __s, std::size_t __n, const char_type& __a) | |
17044 | { | |
17045 | for (std::size_t __i = 0; __i < __n; ++__i) | |
17046 | if (eq(__s[__i], __a)) | |
17047 | return __s + __i; | |
17048 | return 0; | |
17049 | } | |
17050 | ||
17051 | template<typename _CharT> | |
17052 | typename char_traits<_CharT>::char_type* | |
17053 | char_traits<_CharT>:: | |
17054 | move(char_type* __s1, const char_type* __s2, std::size_t __n) | |
17055 | { | |
17056 | return static_cast<_CharT*>(std::memmove(__s1, __s2, | |
17057 | __n * sizeof(char_type))); | |
17058 | } | |
17059 | ||
17060 | template<typename _CharT> | |
17061 | typename char_traits<_CharT>::char_type* | |
17062 | char_traits<_CharT>:: | |
17063 | copy(char_type* __s1, const char_type* __s2, std::size_t __n) | |
17064 | { | |
17065 | std::copy(__s2, __s2 + __n, __s1); | |
17066 | return __s1; | |
17067 | } | |
17068 | ||
17069 | template<typename _CharT> | |
17070 | typename char_traits<_CharT>::char_type* | |
17071 | char_traits<_CharT>:: | |
17072 | assign(char_type* __s, std::size_t __n, char_type __a) | |
17073 | { | |
17074 | std::fill_n(__s, __n, __a); | |
17075 | return __s; | |
17076 | } | |
17077 | ||
17078 | } | |
17079 | ||
17080 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
17081 | # 225 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/char_traits.h" 3 | |
17082 | template<class _CharT> | |
17083 | struct char_traits : public __gnu_cxx::char_traits<_CharT> | |
17084 | { }; | |
17085 | ||
17086 | ||
17087 | ||
17088 | template<> | |
17089 | struct char_traits<char> | |
17090 | { | |
17091 | typedef char char_type; | |
17092 | typedef int int_type; | |
17093 | typedef streampos pos_type; | |
17094 | typedef streamoff off_type; | |
17095 | typedef mbstate_t state_type; | |
17096 | ||
17097 | static void | |
17098 | assign(char_type& __c1, const char_type& __c2) | |
17099 | { __c1 = __c2; } | |
17100 | ||
17101 | static bool | |
17102 | eq(const char_type& __c1, const char_type& __c2) | |
17103 | { return __c1 == __c2; } | |
17104 | ||
17105 | static bool | |
17106 | lt(const char_type& __c1, const char_type& __c2) | |
17107 | { return __c1 < __c2; } | |
17108 | ||
17109 | static int | |
17110 | compare(const char_type* __s1, const char_type* __s2, size_t __n) | |
17111 | { return memcmp(__s1, __s2, __n); } | |
17112 | ||
17113 | static size_t | |
17114 | length(const char_type* __s) | |
17115 | { return strlen(__s); } | |
17116 | ||
17117 | static const char_type* | |
17118 | find(const char_type* __s, size_t __n, const char_type& __a) | |
17119 | { return static_cast<const char_type*>(memchr(__s, __a, __n)); } | |
17120 | ||
17121 | static char_type* | |
17122 | move(char_type* __s1, const char_type* __s2, size_t __n) | |
17123 | { return static_cast<char_type*>(memmove(__s1, __s2, __n)); } | |
17124 | ||
17125 | static char_type* | |
17126 | copy(char_type* __s1, const char_type* __s2, size_t __n) | |
17127 | { return static_cast<char_type*>(memcpy(__s1, __s2, __n)); } | |
17128 | ||
17129 | static char_type* | |
17130 | assign(char_type* __s, size_t __n, char_type __a) | |
17131 | { return static_cast<char_type*>(memset(__s, __a, __n)); } | |
17132 | ||
17133 | static char_type | |
17134 | to_char_type(const int_type& __c) | |
17135 | { return static_cast<char_type>(__c); } | |
17136 | ||
17137 | ||
17138 | ||
17139 | static int_type | |
17140 | to_int_type(const char_type& __c) | |
17141 | { return static_cast<int_type>(static_cast<unsigned char>(__c)); } | |
17142 | ||
17143 | static bool | |
17144 | eq_int_type(const int_type& __c1, const int_type& __c2) | |
17145 | { return __c1 == __c2; } | |
17146 | ||
17147 | static int_type | |
17148 | eof() { return static_cast<int_type>((-1)); } | |
17149 | ||
17150 | static int_type | |
17151 | not_eof(const int_type& __c) | |
17152 | { return (__c == eof()) ? 0 : __c; } | |
17153 | }; | |
17154 | ||
17155 | ||
17156 | ||
17157 | ||
17158 | template<> | |
17159 | struct char_traits<wchar_t> | |
17160 | { | |
17161 | typedef wchar_t char_type; | |
17162 | typedef wint_t int_type; | |
17163 | typedef streamoff off_type; | |
17164 | typedef wstreampos pos_type; | |
17165 | typedef mbstate_t state_type; | |
17166 | ||
17167 | static void | |
17168 | assign(char_type& __c1, const char_type& __c2) | |
17169 | { __c1 = __c2; } | |
17170 | ||
17171 | static bool | |
17172 | eq(const char_type& __c1, const char_type& __c2) | |
17173 | { return __c1 == __c2; } | |
17174 | ||
17175 | static bool | |
17176 | lt(const char_type& __c1, const char_type& __c2) | |
17177 | { return __c1 < __c2; } | |
17178 | ||
17179 | static int | |
17180 | compare(const char_type* __s1, const char_type* __s2, size_t __n) | |
17181 | { return wmemcmp(__s1, __s2, __n); } | |
17182 | ||
17183 | static size_t | |
17184 | length(const char_type* __s) | |
17185 | { return wcslen(__s); } | |
17186 | ||
17187 | static const char_type* | |
17188 | find(const char_type* __s, size_t __n, const char_type& __a) | |
17189 | { return wmemchr(__s, __a, __n); } | |
17190 | ||
17191 | static char_type* | |
17192 | move(char_type* __s1, const char_type* __s2, size_t __n) | |
17193 | { return wmemmove(__s1, __s2, __n); } | |
17194 | ||
17195 | static char_type* | |
17196 | copy(char_type* __s1, const char_type* __s2, size_t __n) | |
17197 | { return wmemcpy(__s1, __s2, __n); } | |
17198 | ||
17199 | static char_type* | |
17200 | assign(char_type* __s, size_t __n, char_type __a) | |
17201 | { return wmemset(__s, __a, __n); } | |
17202 | ||
17203 | static char_type | |
17204 | to_char_type(const int_type& __c) { return char_type(__c); } | |
17205 | ||
17206 | static int_type | |
17207 | to_int_type(const char_type& __c) { return int_type(__c); } | |
17208 | ||
17209 | static bool | |
17210 | eq_int_type(const int_type& __c1, const int_type& __c2) | |
17211 | { return __c1 == __c2; } | |
17212 | ||
17213 | static int_type | |
17214 | eof() { return static_cast<int_type>((0xffffffffu)); } | |
17215 | ||
17216 | static int_type | |
17217 | not_eof(const int_type& __c) | |
17218 | { return eq_int_type(__c, eof()) ? 0 : __c; } | |
17219 | }; | |
17220 | ||
17221 | ||
17222 | } | |
17223 | # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/string" 2 3 | |
17224 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 1 3 | |
17225 | # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3 | |
17226 | #define _GLIBCXX_MEMORY 1 | |
17227 | ||
17228 | ||
17229 | # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3 | |
17230 | ||
17231 | ||
17232 | ||
17233 | ||
17234 | ||
17235 | ||
17236 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_raw_storage_iter.h" 1 3 | |
17237 | # 62 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_raw_storage_iter.h" 3 | |
17238 | #define _STL_RAW_STORAGE_ITERATOR_H 1 | |
17239 | ||
17240 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
17241 | ||
17242 | ||
17243 | ||
17244 | ||
17245 | ||
17246 | template <class _ForwardIterator, class _Tp> | |
17247 | class raw_storage_iterator | |
17248 | : public iterator<output_iterator_tag, void, void, void, void> | |
17249 | { | |
17250 | protected: | |
17251 | _ForwardIterator _M_iter; | |
17252 | ||
17253 | public: | |
17254 | explicit | |
17255 | raw_storage_iterator(_ForwardIterator __x) | |
17256 | : _M_iter(__x) {} | |
17257 | ||
17258 | raw_storage_iterator& | |
17259 | operator*() { return *this; } | |
17260 | ||
17261 | raw_storage_iterator& | |
17262 | operator=(const _Tp& __element) | |
17263 | { | |
17264 | std::_Construct(&*_M_iter, __element); | |
17265 | return *this; | |
17266 | } | |
17267 | ||
17268 | raw_storage_iterator<_ForwardIterator, _Tp>& | |
17269 | operator++() | |
17270 | { | |
17271 | ++_M_iter; | |
17272 | return *this; | |
17273 | } | |
17274 | ||
17275 | raw_storage_iterator<_ForwardIterator, _Tp> | |
17276 | operator++(int) | |
17277 | { | |
17278 | raw_storage_iterator<_ForwardIterator, _Tp> __tmp = *this; | |
17279 | ++_M_iter; | |
17280 | return __tmp; | |
17281 | } | |
17282 | }; | |
17283 | ||
17284 | } | |
17285 | # 59 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 2 3 | |
17286 | ||
17287 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/limits" 1 3 | |
17288 | # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/limits" 3 | |
17289 | #define _GLIBCXX_NUMERIC_LIMITS 1 | |
17290 | ||
17291 | ||
17292 | # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/limits" 3 | |
17293 | # 86 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/limits" 3 | |
17294 | #define __glibcxx_integral_traps true | |
17295 | # 95 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/limits" 3 | |
17296 | #define __glibcxx_float_has_denorm_loss false | |
17297 | ||
17298 | ||
17299 | #define __glibcxx_float_traps false | |
17300 | ||
17301 | ||
17302 | #define __glibcxx_float_tinyness_before false | |
17303 | ||
17304 | ||
17305 | ||
17306 | ||
17307 | ||
17308 | ||
17309 | ||
17310 | #define __glibcxx_double_has_denorm_loss false | |
17311 | ||
17312 | ||
17313 | #define __glibcxx_double_traps false | |
17314 | ||
17315 | ||
17316 | #define __glibcxx_double_tinyness_before false | |
17317 | ||
17318 | ||
17319 | ||
17320 | ||
17321 | ||
17322 | ||
17323 | ||
17324 | #define __glibcxx_long_double_has_denorm_loss false | |
17325 | ||
17326 | ||
17327 | #define __glibcxx_long_double_traps false | |
17328 | ||
17329 | ||
17330 | #define __glibcxx_long_double_tinyness_before false | |
17331 | ||
17332 | ||
17333 | ||
17334 | ||
17335 | #define __glibcxx_signed(T) ((T)(-1) < 0) | |
17336 | ||
17337 | #define __glibcxx_min(T) (__glibcxx_signed (T) ? (T)1 << __glibcxx_digits (T) : (T)0) | |
17338 | ||
17339 | ||
17340 | #define __glibcxx_max(T) (__glibcxx_signed (T) ? ((T)1 << __glibcxx_digits (T)) - 1 : ~(T)0) | |
17341 | ||
17342 | ||
17343 | #define __glibcxx_digits(T) (sizeof(T) * __CHAR_BIT__ - __glibcxx_signed (T)) | |
17344 | ||
17345 | ||
17346 | ||
17347 | #define __glibcxx_digits10(T) (__glibcxx_digits (T) * 643 / 2136) | |
17348 | ||
17349 | ||
17350 | ||
17351 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
17352 | ||
17353 | ||
17354 | ||
17355 | ||
17356 | ||
17357 | ||
17358 | enum float_round_style | |
17359 | { | |
17360 | round_indeterminate = -1, | |
17361 | round_toward_zero = 0, | |
17362 | round_to_nearest = 1, | |
17363 | round_toward_infinity = 2, | |
17364 | round_toward_neg_infinity = 3 | |
17365 | }; | |
17366 | ||
17367 | ||
17368 | ||
17369 | ||
17370 | ||
17371 | ||
17372 | ||
17373 | enum float_denorm_style | |
17374 | { | |
17375 | ||
17376 | denorm_indeterminate = -1, | |
17377 | ||
17378 | denorm_absent = 0, | |
17379 | ||
17380 | denorm_present = 1 | |
17381 | }; | |
17382 | # 192 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/limits" 3 | |
17383 | struct __numeric_limits_base | |
17384 | { | |
17385 | ||
17386 | ||
17387 | static const bool is_specialized = false; | |
17388 | ||
17389 | ||
17390 | ||
17391 | ||
17392 | static const int digits = 0; | |
17393 | ||
17394 | static const int digits10 = 0; | |
17395 | ||
17396 | static const bool is_signed = false; | |
17397 | ||
17398 | ||
17399 | ||
17400 | ||
17401 | ||
17402 | static const bool is_integer = false; | |
17403 | ||
17404 | ||
17405 | ||
17406 | ||
17407 | static const bool is_exact = false; | |
17408 | ||
17409 | ||
17410 | static const int radix = 0; | |
17411 | ||
17412 | ||
17413 | ||
17414 | static const int min_exponent = 0; | |
17415 | ||
17416 | ||
17417 | static const int min_exponent10 = 0; | |
17418 | ||
17419 | ||
17420 | ||
17421 | static const int max_exponent = 0; | |
17422 | ||
17423 | ||
17424 | static const int max_exponent10 = 0; | |
17425 | ||
17426 | ||
17427 | static const bool has_infinity = false; | |
17428 | ||
17429 | ||
17430 | static const bool has_quiet_NaN = false; | |
17431 | ||
17432 | ||
17433 | static const bool has_signaling_NaN = false; | |
17434 | ||
17435 | static const float_denorm_style has_denorm = denorm_absent; | |
17436 | ||
17437 | ||
17438 | static const bool has_denorm_loss = false; | |
17439 | ||
17440 | ||
17441 | ||
17442 | static const bool is_iec559 = false; | |
17443 | ||
17444 | ||
17445 | ||
17446 | static const bool is_bounded = false; | |
17447 | ||
17448 | ||
17449 | ||
17450 | ||
17451 | static const bool is_modulo = false; | |
17452 | ||
17453 | ||
17454 | static const bool traps = false; | |
17455 | ||
17456 | static const bool tinyness_before = false; | |
17457 | ||
17458 | ||
17459 | ||
17460 | static const float_round_style round_style = round_toward_zero; | |
17461 | }; | |
17462 | # 285 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/limits" 3 | |
17463 | template<typename _Tp> | |
17464 | struct numeric_limits : public __numeric_limits_base | |
17465 | { | |
17466 | ||
17467 | ||
17468 | static _Tp min() throw() { return static_cast<_Tp>(0); } | |
17469 | ||
17470 | static _Tp max() throw() { return static_cast<_Tp>(0); } | |
17471 | ||
17472 | ||
17473 | static _Tp epsilon() throw() { return static_cast<_Tp>(0); } | |
17474 | ||
17475 | static _Tp round_error() throw() { return static_cast<_Tp>(0); } | |
17476 | ||
17477 | static _Tp infinity() throw() { return static_cast<_Tp>(0); } | |
17478 | ||
17479 | static _Tp quiet_NaN() throw() { return static_cast<_Tp>(0); } | |
17480 | ||
17481 | ||
17482 | static _Tp signaling_NaN() throw() { return static_cast<_Tp>(0); } | |
17483 | ||
17484 | ||
17485 | ||
17486 | static _Tp denorm_min() throw() { return static_cast<_Tp>(0); } | |
17487 | }; | |
17488 | ||
17489 | ||
17490 | ||
17491 | ||
17492 | ||
17493 | template<> | |
17494 | struct numeric_limits<bool> | |
17495 | { | |
17496 | static const bool is_specialized = true; | |
17497 | ||
17498 | static bool min() throw() | |
17499 | { return false; } | |
17500 | static bool max() throw() | |
17501 | { return true; } | |
17502 | ||
17503 | static const int digits = 1; | |
17504 | static const int digits10 = 0; | |
17505 | static const bool is_signed = false; | |
17506 | static const bool is_integer = true; | |
17507 | static const bool is_exact = true; | |
17508 | static const int radix = 2; | |
17509 | static bool epsilon() throw() | |
17510 | { return false; } | |
17511 | static bool round_error() throw() | |
17512 | { return false; } | |
17513 | ||
17514 | static const int min_exponent = 0; | |
17515 | static const int min_exponent10 = 0; | |
17516 | static const int max_exponent = 0; | |
17517 | static const int max_exponent10 = 0; | |
17518 | ||
17519 | static const bool has_infinity = false; | |
17520 | static const bool has_quiet_NaN = false; | |
17521 | static const bool has_signaling_NaN = false; | |
17522 | static const float_denorm_style has_denorm = denorm_absent; | |
17523 | static const bool has_denorm_loss = false; | |
17524 | ||
17525 | static bool infinity() throw() | |
17526 | { return false; } | |
17527 | static bool quiet_NaN() throw() | |
17528 | { return false; } | |
17529 | static bool signaling_NaN() throw() | |
17530 | { return false; } | |
17531 | static bool denorm_min() throw() | |
17532 | { return false; } | |
17533 | ||
17534 | static const bool is_iec559 = false; | |
17535 | static const bool is_bounded = true; | |
17536 | static const bool is_modulo = false; | |
17537 | ||
17538 | ||
17539 | ||
17540 | ||
17541 | static const bool traps = true; | |
17542 | static const bool tinyness_before = false; | |
17543 | static const float_round_style round_style = round_toward_zero; | |
17544 | }; | |
17545 | ||
17546 | ||
17547 | template<> | |
17548 | struct numeric_limits<char> | |
17549 | { | |
17550 | static const bool is_specialized = true; | |
17551 | ||
17552 | static char min() throw() | |
17553 | { return (((char)(-1) < 0) ? (char)1 << (sizeof(char) * 8 - ((char)(-1) < 0)) : (char)0); } | |
17554 | static char max() throw() | |
17555 | { return (((char)(-1) < 0) ? ((char)1 << (sizeof(char) * 8 - ((char)(-1) < 0))) - 1 : ~(char)0); } | |
17556 | ||
17557 | static const int digits = (sizeof(char) * 8 - ((char)(-1) < 0)); | |
17558 | static const int digits10 = ((sizeof(char) * 8 - ((char)(-1) < 0)) * 643 / 2136); | |
17559 | static const bool is_signed = ((char)(-1) < 0); | |
17560 | static const bool is_integer = true; | |
17561 | static const bool is_exact = true; | |
17562 | static const int radix = 2; | |
17563 | static char epsilon() throw() | |
17564 | { return 0; } | |
17565 | static char round_error() throw() | |
17566 | { return 0; } | |
17567 | ||
17568 | static const int min_exponent = 0; | |
17569 | static const int min_exponent10 = 0; | |
17570 | static const int max_exponent = 0; | |
17571 | static const int max_exponent10 = 0; | |
17572 | ||
17573 | static const bool has_infinity = false; | |
17574 | static const bool has_quiet_NaN = false; | |
17575 | static const bool has_signaling_NaN = false; | |
17576 | static const float_denorm_style has_denorm = denorm_absent; | |
17577 | static const bool has_denorm_loss = false; | |
17578 | ||
17579 | static char infinity() throw() | |
17580 | { return char(); } | |
17581 | static char quiet_NaN() throw() | |
17582 | { return char(); } | |
17583 | static char signaling_NaN() throw() | |
17584 | { return char(); } | |
17585 | static char denorm_min() throw() | |
17586 | { return static_cast<char>(0); } | |
17587 | ||
17588 | static const bool is_iec559 = false; | |
17589 | static const bool is_bounded = true; | |
17590 | static const bool is_modulo = true; | |
17591 | ||
17592 | static const bool traps = true; | |
17593 | static const bool tinyness_before = false; | |
17594 | static const float_round_style round_style = round_toward_zero; | |
17595 | }; | |
17596 | ||
17597 | ||
17598 | template<> | |
17599 | struct numeric_limits<signed char> | |
17600 | { | |
17601 | static const bool is_specialized = true; | |
17602 | ||
17603 | static signed char min() throw() | |
17604 | { return -127 - 1; } | |
17605 | static signed char max() throw() | |
17606 | { return 127; } | |
17607 | ||
17608 | static const int digits = (sizeof(signed char) * 8 - ((signed char)(-1) < 0)); | |
17609 | static const int digits10 = ((sizeof(signed char) * 8 - ((signed char)(-1) < 0)) * 643 / 2136); | |
17610 | static const bool is_signed = true; | |
17611 | static const bool is_integer = true; | |
17612 | static const bool is_exact = true; | |
17613 | static const int radix = 2; | |
17614 | static signed char epsilon() throw() | |
17615 | { return 0; } | |
17616 | static signed char round_error() throw() | |
17617 | { return 0; } | |
17618 | ||
17619 | static const int min_exponent = 0; | |
17620 | static const int min_exponent10 = 0; | |
17621 | static const int max_exponent = 0; | |
17622 | static const int max_exponent10 = 0; | |
17623 | ||
17624 | static const bool has_infinity = false; | |
17625 | static const bool has_quiet_NaN = false; | |
17626 | static const bool has_signaling_NaN = false; | |
17627 | static const float_denorm_style has_denorm = denorm_absent; | |
17628 | static const bool has_denorm_loss = false; | |
17629 | ||
17630 | static signed char infinity() throw() | |
17631 | { return static_cast<signed char>(0); } | |
17632 | static signed char quiet_NaN() throw() | |
17633 | { return static_cast<signed char>(0); } | |
17634 | static signed char signaling_NaN() throw() | |
17635 | { return static_cast<signed char>(0); } | |
17636 | static signed char denorm_min() throw() | |
17637 | { return static_cast<signed char>(0); } | |
17638 | ||
17639 | static const bool is_iec559 = false; | |
17640 | static const bool is_bounded = true; | |
17641 | static const bool is_modulo = true; | |
17642 | ||
17643 | static const bool traps = true; | |
17644 | static const bool tinyness_before = false; | |
17645 | static const float_round_style round_style = round_toward_zero; | |
17646 | }; | |
17647 | ||
17648 | ||
17649 | template<> | |
17650 | struct numeric_limits<unsigned char> | |
17651 | { | |
17652 | static const bool is_specialized = true; | |
17653 | ||
17654 | static unsigned char min() throw() | |
17655 | { return 0; } | |
17656 | static unsigned char max() throw() | |
17657 | { return 127 * 2U + 1; } | |
17658 | ||
17659 | static const int digits = (sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)); | |
17660 | static const int digits10 = ((sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)) * 643 / 2136); | |
17661 | static const bool is_signed = false; | |
17662 | static const bool is_integer = true; | |
17663 | static const bool is_exact = true; | |
17664 | static const int radix = 2; | |
17665 | static unsigned char epsilon() throw() | |
17666 | { return 0; } | |
17667 | static unsigned char round_error() throw() | |
17668 | { return 0; } | |
17669 | ||
17670 | static const int min_exponent = 0; | |
17671 | static const int min_exponent10 = 0; | |
17672 | static const int max_exponent = 0; | |
17673 | static const int max_exponent10 = 0; | |
17674 | ||
17675 | static const bool has_infinity = false; | |
17676 | static const bool has_quiet_NaN = false; | |
17677 | static const bool has_signaling_NaN = false; | |
17678 | static const float_denorm_style has_denorm = denorm_absent; | |
17679 | static const bool has_denorm_loss = false; | |
17680 | ||
17681 | static unsigned char infinity() throw() | |
17682 | { return static_cast<unsigned char>(0); } | |
17683 | static unsigned char quiet_NaN() throw() | |
17684 | { return static_cast<unsigned char>(0); } | |
17685 | static unsigned char signaling_NaN() throw() | |
17686 | { return static_cast<unsigned char>(0); } | |
17687 | static unsigned char denorm_min() throw() | |
17688 | { return static_cast<unsigned char>(0); } | |
17689 | ||
17690 | static const bool is_iec559 = false; | |
17691 | static const bool is_bounded = true; | |
17692 | static const bool is_modulo = true; | |
17693 | ||
17694 | static const bool traps = true; | |
17695 | static const bool tinyness_before = false; | |
17696 | static const float_round_style round_style = round_toward_zero; | |
17697 | }; | |
17698 | ||
17699 | ||
17700 | template<> | |
17701 | struct numeric_limits<wchar_t> | |
17702 | { | |
17703 | static const bool is_specialized = true; | |
17704 | ||
17705 | static wchar_t min() throw() | |
17706 | { return (((wchar_t)(-1) < 0) ? (wchar_t)1 << (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) : (wchar_t)0); } | |
17707 | static wchar_t max() throw() | |
17708 | { return (((wchar_t)(-1) < 0) ? ((wchar_t)1 << (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0))) - 1 : ~(wchar_t)0); } | |
17709 | ||
17710 | static const int digits = (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)); | |
17711 | static const int digits10 = ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) * 643 / 2136); | |
17712 | static const bool is_signed = ((wchar_t)(-1) < 0); | |
17713 | static const bool is_integer = true; | |
17714 | static const bool is_exact = true; | |
17715 | static const int radix = 2; | |
17716 | static wchar_t epsilon() throw() | |
17717 | { return 0; } | |
17718 | static wchar_t round_error() throw() | |
17719 | { return 0; } | |
17720 | ||
17721 | static const int min_exponent = 0; | |
17722 | static const int min_exponent10 = 0; | |
17723 | static const int max_exponent = 0; | |
17724 | static const int max_exponent10 = 0; | |
17725 | ||
17726 | static const bool has_infinity = false; | |
17727 | static const bool has_quiet_NaN = false; | |
17728 | static const bool has_signaling_NaN = false; | |
17729 | static const float_denorm_style has_denorm = denorm_absent; | |
17730 | static const bool has_denorm_loss = false; | |
17731 | ||
17732 | static wchar_t infinity() throw() | |
17733 | { return wchar_t(); } | |
17734 | static wchar_t quiet_NaN() throw() | |
17735 | { return wchar_t(); } | |
17736 | static wchar_t signaling_NaN() throw() | |
17737 | { return wchar_t(); } | |
17738 | static wchar_t denorm_min() throw() | |
17739 | { return wchar_t(); } | |
17740 | ||
17741 | static const bool is_iec559 = false; | |
17742 | static const bool is_bounded = true; | |
17743 | static const bool is_modulo = true; | |
17744 | ||
17745 | static const bool traps = true; | |
17746 | static const bool tinyness_before = false; | |
17747 | static const float_round_style round_style = round_toward_zero; | |
17748 | }; | |
17749 | ||
17750 | ||
17751 | template<> | |
17752 | struct numeric_limits<short> | |
17753 | { | |
17754 | static const bool is_specialized = true; | |
17755 | ||
17756 | static short min() throw() | |
17757 | { return -32767 - 1; } | |
17758 | static short max() throw() | |
17759 | { return 32767; } | |
17760 | ||
17761 | static const int digits = (sizeof(short) * 8 - ((short)(-1) < 0)); | |
17762 | static const int digits10 = ((sizeof(short) * 8 - ((short)(-1) < 0)) * 643 / 2136); | |
17763 | static const bool is_signed = true; | |
17764 | static const bool is_integer = true; | |
17765 | static const bool is_exact = true; | |
17766 | static const int radix = 2; | |
17767 | static short epsilon() throw() | |
17768 | { return 0; } | |
17769 | static short round_error() throw() | |
17770 | { return 0; } | |
17771 | ||
17772 | static const int min_exponent = 0; | |
17773 | static const int min_exponent10 = 0; | |
17774 | static const int max_exponent = 0; | |
17775 | static const int max_exponent10 = 0; | |
17776 | ||
17777 | static const bool has_infinity = false; | |
17778 | static const bool has_quiet_NaN = false; | |
17779 | static const bool has_signaling_NaN = false; | |
17780 | static const float_denorm_style has_denorm = denorm_absent; | |
17781 | static const bool has_denorm_loss = false; | |
17782 | ||
17783 | static short infinity() throw() | |
17784 | { return short(); } | |
17785 | static short quiet_NaN() throw() | |
17786 | { return short(); } | |
17787 | static short signaling_NaN() throw() | |
17788 | { return short(); } | |
17789 | static short denorm_min() throw() | |
17790 | { return short(); } | |
17791 | ||
17792 | static const bool is_iec559 = false; | |
17793 | static const bool is_bounded = true; | |
17794 | static const bool is_modulo = true; | |
17795 | ||
17796 | static const bool traps = true; | |
17797 | static const bool tinyness_before = false; | |
17798 | static const float_round_style round_style = round_toward_zero; | |
17799 | }; | |
17800 | ||
17801 | ||
17802 | template<> | |
17803 | struct numeric_limits<unsigned short> | |
17804 | { | |
17805 | static const bool is_specialized = true; | |
17806 | ||
17807 | static unsigned short min() throw() | |
17808 | { return 0; } | |
17809 | static unsigned short max() throw() | |
17810 | { return 32767 * 2U + 1; } | |
17811 | ||
17812 | static const int digits = (sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)); | |
17813 | static const int digits10 = ((sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)) * 643 / 2136); | |
17814 | static const bool is_signed = false; | |
17815 | static const bool is_integer = true; | |
17816 | static const bool is_exact = true; | |
17817 | static const int radix = 2; | |
17818 | static unsigned short epsilon() throw() | |
17819 | { return 0; } | |
17820 | static unsigned short round_error() throw() | |
17821 | { return 0; } | |
17822 | ||
17823 | static const int min_exponent = 0; | |
17824 | static const int min_exponent10 = 0; | |
17825 | static const int max_exponent = 0; | |
17826 | static const int max_exponent10 = 0; | |
17827 | ||
17828 | static const bool has_infinity = false; | |
17829 | static const bool has_quiet_NaN = false; | |
17830 | static const bool has_signaling_NaN = false; | |
17831 | static const float_denorm_style has_denorm = denorm_absent; | |
17832 | static const bool has_denorm_loss = false; | |
17833 | ||
17834 | static unsigned short infinity() throw() | |
17835 | { return static_cast<unsigned short>(0); } | |
17836 | static unsigned short quiet_NaN() throw() | |
17837 | { return static_cast<unsigned short>(0); } | |
17838 | static unsigned short signaling_NaN() throw() | |
17839 | { return static_cast<unsigned short>(0); } | |
17840 | static unsigned short denorm_min() throw() | |
17841 | { return static_cast<unsigned short>(0); } | |
17842 | ||
17843 | static const bool is_iec559 = false; | |
17844 | static const bool is_bounded = true; | |
17845 | static const bool is_modulo = true; | |
17846 | ||
17847 | static const bool traps = true; | |
17848 | static const bool tinyness_before = false; | |
17849 | static const float_round_style round_style = round_toward_zero; | |
17850 | }; | |
17851 | ||
17852 | ||
17853 | template<> | |
17854 | struct numeric_limits<int> | |
17855 | { | |
17856 | static const bool is_specialized = true; | |
17857 | ||
17858 | static int min() throw() | |
17859 | { return -2147483647 - 1; } | |
17860 | static int max() throw() | |
17861 | { return 2147483647; } | |
17862 | ||
17863 | static const int digits = (sizeof(int) * 8 - ((int)(-1) < 0)); | |
17864 | static const int digits10 = ((sizeof(int) * 8 - ((int)(-1) < 0)) * 643 / 2136); | |
17865 | static const bool is_signed = true; | |
17866 | static const bool is_integer = true; | |
17867 | static const bool is_exact = true; | |
17868 | static const int radix = 2; | |
17869 | static int epsilon() throw() | |
17870 | { return 0; } | |
17871 | static int round_error() throw() | |
17872 | { return 0; } | |
17873 | ||
17874 | static const int min_exponent = 0; | |
17875 | static const int min_exponent10 = 0; | |
17876 | static const int max_exponent = 0; | |
17877 | static const int max_exponent10 = 0; | |
17878 | ||
17879 | static const bool has_infinity = false; | |
17880 | static const bool has_quiet_NaN = false; | |
17881 | static const bool has_signaling_NaN = false; | |
17882 | static const float_denorm_style has_denorm = denorm_absent; | |
17883 | static const bool has_denorm_loss = false; | |
17884 | ||
17885 | static int infinity() throw() | |
17886 | { return static_cast<int>(0); } | |
17887 | static int quiet_NaN() throw() | |
17888 | { return static_cast<int>(0); } | |
17889 | static int signaling_NaN() throw() | |
17890 | { return static_cast<int>(0); } | |
17891 | static int denorm_min() throw() | |
17892 | { return static_cast<int>(0); } | |
17893 | ||
17894 | static const bool is_iec559 = false; | |
17895 | static const bool is_bounded = true; | |
17896 | static const bool is_modulo = true; | |
17897 | ||
17898 | static const bool traps = true; | |
17899 | static const bool tinyness_before = false; | |
17900 | static const float_round_style round_style = round_toward_zero; | |
17901 | }; | |
17902 | ||
17903 | ||
17904 | template<> | |
17905 | struct numeric_limits<unsigned int> | |
17906 | { | |
17907 | static const bool is_specialized = true; | |
17908 | ||
17909 | static unsigned int min() throw() | |
17910 | { return 0; } | |
17911 | static unsigned int max() throw() | |
17912 | { return 2147483647 * 2U + 1; } | |
17913 | ||
17914 | static const int digits = (sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)); | |
17915 | static const int digits10 = ((sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)) * 643 / 2136); | |
17916 | static const bool is_signed = false; | |
17917 | static const bool is_integer = true; | |
17918 | static const bool is_exact = true; | |
17919 | static const int radix = 2; | |
17920 | static unsigned int epsilon() throw() | |
17921 | { return 0; } | |
17922 | static unsigned int round_error() throw() | |
17923 | { return 0; } | |
17924 | ||
17925 | static const int min_exponent = 0; | |
17926 | static const int min_exponent10 = 0; | |
17927 | static const int max_exponent = 0; | |
17928 | static const int max_exponent10 = 0; | |
17929 | ||
17930 | static const bool has_infinity = false; | |
17931 | static const bool has_quiet_NaN = false; | |
17932 | static const bool has_signaling_NaN = false; | |
17933 | static const float_denorm_style has_denorm = denorm_absent; | |
17934 | static const bool has_denorm_loss = false; | |
17935 | ||
17936 | static unsigned int infinity() throw() | |
17937 | { return static_cast<unsigned int>(0); } | |
17938 | static unsigned int quiet_NaN() throw() | |
17939 | { return static_cast<unsigned int>(0); } | |
17940 | static unsigned int signaling_NaN() throw() | |
17941 | { return static_cast<unsigned int>(0); } | |
17942 | static unsigned int denorm_min() throw() | |
17943 | { return static_cast<unsigned int>(0); } | |
17944 | ||
17945 | static const bool is_iec559 = false; | |
17946 | static const bool is_bounded = true; | |
17947 | static const bool is_modulo = true; | |
17948 | ||
17949 | static const bool traps = true; | |
17950 | static const bool tinyness_before = false; | |
17951 | static const float_round_style round_style = round_toward_zero; | |
17952 | }; | |
17953 | ||
17954 | ||
17955 | template<> | |
17956 | struct numeric_limits<long> | |
17957 | { | |
17958 | static const bool is_specialized = true; | |
17959 | ||
17960 | static long min() throw() | |
17961 | { return -9223372036854775807L - 1; } | |
17962 | static long max() throw() | |
17963 | { return 9223372036854775807L; } | |
17964 | ||
17965 | static const int digits = (sizeof(long) * 8 - ((long)(-1) < 0)); | |
17966 | static const int digits10 = ((sizeof(long) * 8 - ((long)(-1) < 0)) * 643 / 2136); | |
17967 | static const bool is_signed = true; | |
17968 | static const bool is_integer = true; | |
17969 | static const bool is_exact = true; | |
17970 | static const int radix = 2; | |
17971 | static long epsilon() throw() | |
17972 | { return 0; } | |
17973 | static long round_error() throw() | |
17974 | { return 0; } | |
17975 | ||
17976 | static const int min_exponent = 0; | |
17977 | static const int min_exponent10 = 0; | |
17978 | static const int max_exponent = 0; | |
17979 | static const int max_exponent10 = 0; | |
17980 | ||
17981 | static const bool has_infinity = false; | |
17982 | static const bool has_quiet_NaN = false; | |
17983 | static const bool has_signaling_NaN = false; | |
17984 | static const float_denorm_style has_denorm = denorm_absent; | |
17985 | static const bool has_denorm_loss = false; | |
17986 | ||
17987 | static long infinity() throw() | |
17988 | { return static_cast<long>(0); } | |
17989 | static long quiet_NaN() throw() | |
17990 | { return static_cast<long>(0); } | |
17991 | static long signaling_NaN() throw() | |
17992 | { return static_cast<long>(0); } | |
17993 | static long denorm_min() throw() | |
17994 | { return static_cast<long>(0); } | |
17995 | ||
17996 | static const bool is_iec559 = false; | |
17997 | static const bool is_bounded = true; | |
17998 | static const bool is_modulo = true; | |
17999 | ||
18000 | static const bool traps = true; | |
18001 | static const bool tinyness_before = false; | |
18002 | static const float_round_style round_style = round_toward_zero; | |
18003 | }; | |
18004 | ||
18005 | ||
18006 | template<> | |
18007 | struct numeric_limits<unsigned long> | |
18008 | { | |
18009 | static const bool is_specialized = true; | |
18010 | ||
18011 | static unsigned long min() throw() | |
18012 | { return 0; } | |
18013 | static unsigned long max() throw() | |
18014 | { return 9223372036854775807L * 2UL + 1; } | |
18015 | ||
18016 | static const int digits = (sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)); | |
18017 | static const int digits10 = ((sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)) * 643 / 2136); | |
18018 | static const bool is_signed = false; | |
18019 | static const bool is_integer = true; | |
18020 | static const bool is_exact = true; | |
18021 | static const int radix = 2; | |
18022 | static unsigned long epsilon() throw() | |
18023 | { return 0; } | |
18024 | static unsigned long round_error() throw() | |
18025 | { return 0; } | |
18026 | ||
18027 | static const int min_exponent = 0; | |
18028 | static const int min_exponent10 = 0; | |
18029 | static const int max_exponent = 0; | |
18030 | static const int max_exponent10 = 0; | |
18031 | ||
18032 | static const bool has_infinity = false; | |
18033 | static const bool has_quiet_NaN = false; | |
18034 | static const bool has_signaling_NaN = false; | |
18035 | static const float_denorm_style has_denorm = denorm_absent; | |
18036 | static const bool has_denorm_loss = false; | |
18037 | ||
18038 | static unsigned long infinity() throw() | |
18039 | { return static_cast<unsigned long>(0); } | |
18040 | static unsigned long quiet_NaN() throw() | |
18041 | { return static_cast<unsigned long>(0); } | |
18042 | static unsigned long signaling_NaN() throw() | |
18043 | { return static_cast<unsigned long>(0); } | |
18044 | static unsigned long denorm_min() throw() | |
18045 | { return static_cast<unsigned long>(0); } | |
18046 | ||
18047 | static const bool is_iec559 = false; | |
18048 | static const bool is_bounded = true; | |
18049 | static const bool is_modulo = true; | |
18050 | ||
18051 | static const bool traps = true; | |
18052 | static const bool tinyness_before = false; | |
18053 | static const float_round_style round_style = round_toward_zero; | |
18054 | }; | |
18055 | ||
18056 | ||
18057 | template<> | |
18058 | struct numeric_limits<long long> | |
18059 | { | |
18060 | static const bool is_specialized = true; | |
18061 | ||
18062 | static long long min() throw() | |
18063 | { return -9223372036854775807LL - 1; } | |
18064 | static long long max() throw() | |
18065 | { return 9223372036854775807LL; } | |
18066 | ||
18067 | static const int digits = (sizeof(long long) * 8 - ((long long)(-1) < 0)); | |
18068 | static const int digits10 = ((sizeof(long long) * 8 - ((long long)(-1) < 0)) * 643 / 2136); | |
18069 | static const bool is_signed = true; | |
18070 | static const bool is_integer = true; | |
18071 | static const bool is_exact = true; | |
18072 | static const int radix = 2; | |
18073 | static long long epsilon() throw() | |
18074 | { return 0; } | |
18075 | static long long round_error() throw() | |
18076 | { return 0; } | |
18077 | ||
18078 | static const int min_exponent = 0; | |
18079 | static const int min_exponent10 = 0; | |
18080 | static const int max_exponent = 0; | |
18081 | static const int max_exponent10 = 0; | |
18082 | ||
18083 | static const bool has_infinity = false; | |
18084 | static const bool has_quiet_NaN = false; | |
18085 | static const bool has_signaling_NaN = false; | |
18086 | static const float_denorm_style has_denorm = denorm_absent; | |
18087 | static const bool has_denorm_loss = false; | |
18088 | ||
18089 | static long long infinity() throw() | |
18090 | { return static_cast<long long>(0); } | |
18091 | static long long quiet_NaN() throw() | |
18092 | { return static_cast<long long>(0); } | |
18093 | static long long signaling_NaN() throw() | |
18094 | { return static_cast<long long>(0); } | |
18095 | static long long denorm_min() throw() | |
18096 | { return static_cast<long long>(0); } | |
18097 | ||
18098 | static const bool is_iec559 = false; | |
18099 | static const bool is_bounded = true; | |
18100 | static const bool is_modulo = true; | |
18101 | ||
18102 | static const bool traps = true; | |
18103 | static const bool tinyness_before = false; | |
18104 | static const float_round_style round_style = round_toward_zero; | |
18105 | }; | |
18106 | ||
18107 | ||
18108 | template<> | |
18109 | struct numeric_limits<unsigned long long> | |
18110 | { | |
18111 | static const bool is_specialized = true; | |
18112 | ||
18113 | static unsigned long long min() throw() | |
18114 | { return 0; } | |
18115 | static unsigned long long max() throw() | |
18116 | { return 9223372036854775807LL * 2ULL + 1; } | |
18117 | ||
18118 | static const int digits = (sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)); | |
18119 | static const int digits10 = ((sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)) * 643 / 2136); | |
18120 | static const bool is_signed = false; | |
18121 | static const bool is_integer = true; | |
18122 | static const bool is_exact = true; | |
18123 | static const int radix = 2; | |
18124 | static unsigned long long epsilon() throw() | |
18125 | { return 0; } | |
18126 | static unsigned long long round_error() throw() | |
18127 | { return 0; } | |
18128 | ||
18129 | static const int min_exponent = 0; | |
18130 | static const int min_exponent10 = 0; | |
18131 | static const int max_exponent = 0; | |
18132 | static const int max_exponent10 = 0; | |
18133 | ||
18134 | static const bool has_infinity = false; | |
18135 | static const bool has_quiet_NaN = false; | |
18136 | static const bool has_signaling_NaN = false; | |
18137 | static const float_denorm_style has_denorm = denorm_absent; | |
18138 | static const bool has_denorm_loss = false; | |
18139 | ||
18140 | static unsigned long long infinity() throw() | |
18141 | { return static_cast<unsigned long long>(0); } | |
18142 | static unsigned long long quiet_NaN() throw() | |
18143 | { return static_cast<unsigned long long>(0); } | |
18144 | static unsigned long long signaling_NaN() throw() | |
18145 | { return static_cast<unsigned long long>(0); } | |
18146 | static unsigned long long denorm_min() throw() | |
18147 | { return static_cast<unsigned long long>(0); } | |
18148 | ||
18149 | static const bool is_iec559 = false; | |
18150 | static const bool is_bounded = true; | |
18151 | static const bool is_modulo = true; | |
18152 | ||
18153 | static const bool traps = true; | |
18154 | static const bool tinyness_before = false; | |
18155 | static const float_round_style round_style = round_toward_zero; | |
18156 | }; | |
18157 | ||
18158 | ||
18159 | template<> | |
18160 | struct numeric_limits<float> | |
18161 | { | |
18162 | static const bool is_specialized = true; | |
18163 | ||
18164 | static float min() throw() | |
18165 | { return 1.17549435e-38F; } | |
18166 | static float max() throw() | |
18167 | { return 3.40282347e+38F; } | |
18168 | ||
18169 | static const int digits = 24; | |
18170 | static const int digits10 = 6; | |
18171 | static const bool is_signed = true; | |
18172 | static const bool is_integer = false; | |
18173 | static const bool is_exact = false; | |
18174 | static const int radix = 2; | |
18175 | static float epsilon() throw() | |
18176 | { return 1.19209290e-7F; } | |
18177 | static float round_error() throw() | |
18178 | { return 0.5F; } | |
18179 | ||
18180 | static const int min_exponent = (-125); | |
18181 | static const int min_exponent10 = (-37); | |
18182 | static const int max_exponent = 128; | |
18183 | static const int max_exponent10 = 38; | |
18184 | ||
18185 | static const bool has_infinity = 1; | |
18186 | static const bool has_quiet_NaN = 1; | |
18187 | static const bool has_signaling_NaN = has_quiet_NaN; | |
18188 | static const float_denorm_style has_denorm | |
18189 | = bool(1) ? denorm_present : denorm_absent; | |
18190 | static const bool has_denorm_loss = false; | |
18191 | ||
18192 | static float infinity() throw() | |
18193 | { return __builtin_huge_valf (); } | |
18194 | static float quiet_NaN() throw() | |
18195 | { return __builtin_nanf (""); } | |
18196 | static float signaling_NaN() throw() | |
18197 | { return __builtin_nansf (""); } | |
18198 | static float denorm_min() throw() | |
18199 | { return 1.40129846e-45F; } | |
18200 | ||
18201 | static const bool is_iec559 | |
18202 | = has_infinity && has_quiet_NaN && has_denorm == denorm_present; | |
18203 | static const bool is_bounded = true; | |
18204 | static const bool is_modulo = false; | |
18205 | ||
18206 | static const bool traps = false; | |
18207 | static const bool tinyness_before = false; | |
18208 | static const float_round_style round_style = round_to_nearest; | |
18209 | }; | |
18210 | ||
18211 | #undef __glibcxx_float_has_denorm_loss | |
18212 | #undef __glibcxx_float_traps | |
18213 | #undef __glibcxx_float_tinyness_before | |
18214 | ||
18215 | ||
18216 | template<> | |
18217 | struct numeric_limits<double> | |
18218 | { | |
18219 | static const bool is_specialized = true; | |
18220 | ||
18221 | static double min() throw() | |
18222 | { return 2.2250738585072014e-308; } | |
18223 | static double max() throw() | |
18224 | { return 1.7976931348623157e+308; } | |
18225 | ||
18226 | static const int digits = 53; | |
18227 | static const int digits10 = 15; | |
18228 | static const bool is_signed = true; | |
18229 | static const bool is_integer = false; | |
18230 | static const bool is_exact = false; | |
18231 | static const int radix = 2; | |
18232 | static double epsilon() throw() | |
18233 | { return 2.2204460492503131e-16; } | |
18234 | static double round_error() throw() | |
18235 | { return 0.5; } | |
18236 | ||
18237 | static const int min_exponent = (-1021); | |
18238 | static const int min_exponent10 = (-307); | |
18239 | static const int max_exponent = 1024; | |
18240 | static const int max_exponent10 = 308; | |
18241 | ||
18242 | static const bool has_infinity = 1; | |
18243 | static const bool has_quiet_NaN = 1; | |
18244 | static const bool has_signaling_NaN = has_quiet_NaN; | |
18245 | static const float_denorm_style has_denorm | |
18246 | = bool(1) ? denorm_present : denorm_absent; | |
18247 | static const bool has_denorm_loss = false; | |
18248 | ||
18249 | static double infinity() throw() | |
18250 | { return __builtin_huge_val(); } | |
18251 | static double quiet_NaN() throw() | |
18252 | { return __builtin_nan (""); } | |
18253 | static double signaling_NaN() throw() | |
18254 | { return __builtin_nans (""); } | |
18255 | static double denorm_min() throw() | |
18256 | { return 4.9406564584124654e-324; } | |
18257 | ||
18258 | static const bool is_iec559 | |
18259 | = has_infinity && has_quiet_NaN && has_denorm == denorm_present; | |
18260 | static const bool is_bounded = true; | |
18261 | static const bool is_modulo = false; | |
18262 | ||
18263 | static const bool traps = false; | |
18264 | static const bool tinyness_before = false; | |
18265 | static const float_round_style round_style = round_to_nearest; | |
18266 | }; | |
18267 | ||
18268 | #undef __glibcxx_double_has_denorm_loss | |
18269 | #undef __glibcxx_double_traps | |
18270 | #undef __glibcxx_double_tinyness_before | |
18271 | ||
18272 | ||
18273 | template<> | |
18274 | struct numeric_limits<long double> | |
18275 | { | |
18276 | static const bool is_specialized = true; | |
18277 | ||
18278 | static long double min() throw() | |
18279 | { return 3.36210314311209350626e-4932L; } | |
18280 | static long double max() throw() | |
18281 | { return 1.18973149535723176502e+4932L; } | |
18282 | ||
18283 | static const int digits = 64; | |
18284 | static const int digits10 = 18; | |
18285 | static const bool is_signed = true; | |
18286 | static const bool is_integer = false; | |
18287 | static const bool is_exact = false; | |
18288 | static const int radix = 2; | |
18289 | static long double epsilon() throw() | |
18290 | { return 1.08420217248550443401e-19L; } | |
18291 | static long double round_error() throw() | |
18292 | { return 0.5L; } | |
18293 | ||
18294 | static const int min_exponent = (-16381); | |
18295 | static const int min_exponent10 = (-4931); | |
18296 | static const int max_exponent = 16384; | |
18297 | static const int max_exponent10 = 4932; | |
18298 | ||
18299 | static const bool has_infinity = 1; | |
18300 | static const bool has_quiet_NaN = 1; | |
18301 | static const bool has_signaling_NaN = has_quiet_NaN; | |
18302 | static const float_denorm_style has_denorm | |
18303 | = bool(1) ? denorm_present : denorm_absent; | |
18304 | static const bool has_denorm_loss | |
18305 | = false; | |
18306 | ||
18307 | static long double infinity() throw() | |
18308 | { return __builtin_huge_vall (); } | |
18309 | static long double quiet_NaN() throw() | |
18310 | { return __builtin_nanl (""); } | |
18311 | static long double signaling_NaN() throw() | |
18312 | { return __builtin_nansl (""); } | |
18313 | static long double denorm_min() throw() | |
18314 | { return 3.64519953188247460253e-4951L; } | |
18315 | ||
18316 | static const bool is_iec559 | |
18317 | = has_infinity && has_quiet_NaN && has_denorm == denorm_present; | |
18318 | static const bool is_bounded = true; | |
18319 | static const bool is_modulo = false; | |
18320 | ||
18321 | static const bool traps = false; | |
18322 | static const bool tinyness_before = false; | |
18323 | static const float_round_style round_style = round_to_nearest; | |
18324 | }; | |
18325 | ||
18326 | #undef __glibcxx_long_double_has_denorm_loss | |
18327 | #undef __glibcxx_long_double_traps | |
18328 | #undef __glibcxx_long_double_tinyness_before | |
18329 | ||
18330 | } | |
18331 | ||
18332 | #undef __glibcxx_signed | |
18333 | #undef __glibcxx_min | |
18334 | #undef __glibcxx_max | |
18335 | #undef __glibcxx_digits | |
18336 | #undef __glibcxx_digits10 | |
18337 | # 61 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 2 3 | |
18338 | ||
18339 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
18340 | # 72 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3 | |
18341 | template<typename _Tp> | |
18342 | pair<_Tp*, ptrdiff_t> | |
18343 | __get_temporary_buffer(ptrdiff_t __len, _Tp*) | |
18344 | { | |
18345 | const ptrdiff_t __max = numeric_limits<ptrdiff_t>::max() / sizeof(_Tp); | |
18346 | if (__len > __max) | |
18347 | __len = __max; | |
18348 | ||
18349 | while (__len > 0) | |
18350 | { | |
18351 | _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp), | |
18352 | nothrow)); | |
18353 | if (__tmp != 0) | |
18354 | return pair<_Tp*, ptrdiff_t>(__tmp, __len); | |
18355 | __len /= 2; | |
18356 | } | |
18357 | return pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0); | |
18358 | } | |
18359 | # 108 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3 | |
18360 | template<typename _Tp> | |
18361 | inline pair<_Tp*, ptrdiff_t> | |
18362 | get_temporary_buffer(ptrdiff_t __len) | |
18363 | { return std::__get_temporary_buffer(__len, static_cast<_Tp*>(0)); } | |
18364 | # 120 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3 | |
18365 | template<typename _Tp> | |
18366 | void | |
18367 | return_temporary_buffer(_Tp* __p) | |
18368 | { ::operator delete(__p, nothrow); } | |
18369 | # 132 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3 | |
18370 | template<typename _Tp1> | |
18371 | struct auto_ptr_ref | |
18372 | { | |
18373 | _Tp1* _M_ptr; | |
18374 | ||
18375 | explicit | |
18376 | auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { } | |
18377 | }; | |
18378 | # 173 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3 | |
18379 | template<typename _Tp> | |
18380 | class auto_ptr | |
18381 | { | |
18382 | private: | |
18383 | _Tp* _M_ptr; | |
18384 | ||
18385 | public: | |
18386 | ||
18387 | typedef _Tp element_type; | |
18388 | ||
18389 | ||
18390 | ||
18391 | ||
18392 | ||
18393 | ||
18394 | ||
18395 | explicit | |
18396 | auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { } | |
18397 | # 199 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3 | |
18398 | auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { } | |
18399 | # 211 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3 | |
18400 | template<typename _Tp1> | |
18401 | auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { } | |
18402 | # 222 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3 | |
18403 | auto_ptr& | |
18404 | operator=(auto_ptr& __a) throw() | |
18405 | { | |
18406 | reset(__a.release()); | |
18407 | return *this; | |
18408 | } | |
18409 | # 239 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3 | |
18410 | template<typename _Tp1> | |
18411 | auto_ptr& | |
18412 | operator=(auto_ptr<_Tp1>& __a) throw() | |
18413 | { | |
18414 | reset(__a.release()); | |
18415 | return *this; | |
18416 | } | |
18417 | # 259 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3 | |
18418 | ~auto_ptr() { delete _M_ptr; } | |
18419 | # 269 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3 | |
18420 | element_type& | |
18421 | operator*() const throw() | |
18422 | { | |
18423 | ; | |
18424 | return *_M_ptr; | |
18425 | } | |
18426 | ||
18427 | ||
18428 | ||
18429 | ||
18430 | ||
18431 | ||
18432 | ||
18433 | element_type* | |
18434 | operator->() const throw() | |
18435 | { | |
18436 | ; | |
18437 | return _M_ptr; | |
18438 | } | |
18439 | # 299 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3 | |
18440 | element_type* | |
18441 | get() const throw() { return _M_ptr; } | |
18442 | # 313 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3 | |
18443 | element_type* | |
18444 | release() throw() | |
18445 | { | |
18446 | element_type* __tmp = _M_ptr; | |
18447 | _M_ptr = 0; | |
18448 | return __tmp; | |
18449 | } | |
18450 | # 328 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3 | |
18451 | void | |
18452 | reset(element_type* __p = 0) throw() | |
18453 | { | |
18454 | if (__p != _M_ptr) | |
18455 | { | |
18456 | delete _M_ptr; | |
18457 | _M_ptr = __p; | |
18458 | } | |
18459 | } | |
18460 | # 349 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3 | |
18461 | auto_ptr(auto_ptr_ref<element_type> __ref) throw() | |
18462 | : _M_ptr(__ref._M_ptr) { } | |
18463 | ||
18464 | auto_ptr& | |
18465 | operator=(auto_ptr_ref<element_type> __ref) throw() | |
18466 | { | |
18467 | if (__ref._M_ptr != this->get()) | |
18468 | { | |
18469 | delete _M_ptr; | |
18470 | _M_ptr = __ref._M_ptr; | |
18471 | } | |
18472 | return *this; | |
18473 | } | |
18474 | ||
18475 | template<typename _Tp1> | |
18476 | operator auto_ptr_ref<_Tp1>() throw() | |
18477 | { return auto_ptr_ref<_Tp1>(this->release()); } | |
18478 | ||
18479 | template<typename _Tp1> | |
18480 | operator auto_ptr<_Tp1>() throw() | |
18481 | { return auto_ptr<_Tp1>(this->release()); } | |
18482 | }; | |
18483 | ||
18484 | } | |
18485 | # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/string" 2 3 | |
18486 | ||
18487 | ||
18488 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/ostream_insert.h" 1 3 | |
18489 | # 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/ostream_insert.h" 3 | |
18490 | #define _OSTREAM_INSERT_H 1 | |
18491 | ||
18492 | ||
18493 | # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/ostream_insert.h" 3 | |
18494 | ||
18495 | ||
18496 | ||
18497 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
18498 | ||
18499 | template<typename _CharT, typename _Traits> | |
18500 | inline void | |
18501 | __ostream_write(basic_ostream<_CharT, _Traits>& __out, | |
18502 | const _CharT* __s, streamsize __n) | |
18503 | { | |
18504 | typedef basic_ostream<_CharT, _Traits> __ostream_type; | |
18505 | typedef typename __ostream_type::ios_base __ios_base; | |
18506 | ||
18507 | const streamsize __put = __out.rdbuf()->sputn(__s, __n); | |
18508 | if (__put != __n) | |
18509 | __out.setstate(__ios_base::badbit); | |
18510 | } | |
18511 | ||
18512 | template<typename _CharT, typename _Traits> | |
18513 | inline void | |
18514 | __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n) | |
18515 | { | |
18516 | typedef basic_ostream<_CharT, _Traits> __ostream_type; | |
18517 | typedef typename __ostream_type::ios_base __ios_base; | |
18518 | ||
18519 | const _CharT __c = __out.fill(); | |
18520 | for (; __n > 0; --__n) | |
18521 | { | |
18522 | const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c); | |
18523 | if (_Traits::eq_int_type(__put, _Traits::eof())) | |
18524 | { | |
18525 | __out.setstate(__ios_base::badbit); | |
18526 | break; | |
18527 | } | |
18528 | } | |
18529 | } | |
18530 | ||
18531 | template<typename _CharT, typename _Traits> | |
18532 | basic_ostream<_CharT, _Traits>& | |
18533 | __ostream_insert(basic_ostream<_CharT, _Traits>& __out, | |
18534 | const _CharT* __s, streamsize __n) | |
18535 | { | |
18536 | typedef basic_ostream<_CharT, _Traits> __ostream_type; | |
18537 | typedef typename __ostream_type::ios_base __ios_base; | |
18538 | ||
18539 | typename __ostream_type::sentry __cerb(__out); | |
18540 | if (__cerb) | |
18541 | { | |
18542 | try | |
18543 | { | |
18544 | const streamsize __w = __out.width(); | |
18545 | if (__w > __n) | |
18546 | { | |
18547 | const bool __left = ((__out.flags() | |
18548 | & __ios_base::adjustfield) | |
18549 | == __ios_base::left); | |
18550 | if (!__left) | |
18551 | __ostream_fill(__out, __w - __n); | |
18552 | if (__out.good()) | |
18553 | __ostream_write(__out, __s, __n); | |
18554 | if (__left && __out.good()) | |
18555 | __ostream_fill(__out, __w - __n); | |
18556 | } | |
18557 | else | |
18558 | __ostream_write(__out, __s, __n); | |
18559 | __out.width(0); | |
18560 | } | |
18561 | catch(...) | |
18562 | { __out._M_setstate(__ios_base::badbit); } | |
18563 | } | |
18564 | return __out; | |
18565 | } | |
18566 | ||
18567 | ||
18568 | ||
18569 | ||
18570 | ||
18571 | extern template ostream& __ostream_insert(ostream&, const char*, streamsize); | |
18572 | ||
18573 | ||
18574 | extern template wostream& __ostream_insert(wostream&, const wchar_t*, | |
18575 | streamsize); | |
18576 | ||
18577 | ||
18578 | ||
18579 | } | |
18580 | # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/string" 2 3 | |
18581 | ||
18582 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_function.h" 1 3 | |
18583 | # 62 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_function.h" 3 | |
18584 | #define _FUNCTION_H 1 | |
18585 | ||
18586 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
18587 | # 101 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_function.h" 3 | |
18588 | template <class _Arg, class _Result> | |
18589 | struct unary_function | |
18590 | { | |
18591 | typedef _Arg argument_type; | |
18592 | ||
18593 | ||
18594 | typedef _Result result_type; | |
18595 | }; | |
18596 | ||
18597 | ||
18598 | ||
18599 | ||
18600 | template <class _Arg1, class _Arg2, class _Result> | |
18601 | struct binary_function | |
18602 | { | |
18603 | typedef _Arg1 first_argument_type; | |
18604 | ||
18605 | ||
18606 | typedef _Arg2 second_argument_type; | |
18607 | typedef _Result result_type; | |
18608 | }; | |
18609 | # 133 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_function.h" 3 | |
18610 | template <class _Tp> | |
18611 | struct plus : public binary_function<_Tp, _Tp, _Tp> | |
18612 | { | |
18613 | _Tp | |
18614 | operator()(const _Tp& __x, const _Tp& __y) const | |
18615 | { return __x + __y; } | |
18616 | }; | |
18617 | ||
18618 | ||
18619 | template <class _Tp> | |
18620 | struct minus : public binary_function<_Tp, _Tp, _Tp> | |
18621 | { | |
18622 | _Tp | |
18623 | operator()(const _Tp& __x, const _Tp& __y) const | |
18624 | { return __x - __y; } | |
18625 | }; | |
18626 | ||
18627 | ||
18628 | template <class _Tp> | |
18629 | struct multiplies : public binary_function<_Tp, _Tp, _Tp> | |
18630 | { | |
18631 | _Tp | |
18632 | operator()(const _Tp& __x, const _Tp& __y) const | |
18633 | { return __x * __y; } | |
18634 | }; | |
18635 | ||
18636 | ||
18637 | template <class _Tp> | |
18638 | struct divides : public binary_function<_Tp, _Tp, _Tp> | |
18639 | { | |
18640 | _Tp | |
18641 | operator()(const _Tp& __x, const _Tp& __y) const | |
18642 | { return __x / __y; } | |
18643 | }; | |
18644 | ||
18645 | ||
18646 | template <class _Tp> | |
18647 | struct modulus : public binary_function<_Tp, _Tp, _Tp> | |
18648 | { | |
18649 | _Tp | |
18650 | operator()(const _Tp& __x, const _Tp& __y) const | |
18651 | { return __x % __y; } | |
18652 | }; | |
18653 | ||
18654 | ||
18655 | template <class _Tp> | |
18656 | struct negate : public unary_function<_Tp, _Tp> | |
18657 | { | |
18658 | _Tp | |
18659 | operator()(const _Tp& __x) const | |
18660 | { return -__x; } | |
18661 | }; | |
18662 | # 195 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_function.h" 3 | |
18663 | template <class _Tp> | |
18664 | struct equal_to : public binary_function<_Tp, _Tp, bool> | |
18665 | { | |
18666 | bool | |
18667 | operator()(const _Tp& __x, const _Tp& __y) const | |
18668 | { return __x == __y; } | |
18669 | }; | |
18670 | ||
18671 | ||
18672 | template <class _Tp> | |
18673 | struct not_equal_to : public binary_function<_Tp, _Tp, bool> | |
18674 | { | |
18675 | bool | |
18676 | operator()(const _Tp& __x, const _Tp& __y) const | |
18677 | { return __x != __y; } | |
18678 | }; | |
18679 | ||
18680 | ||
18681 | template <class _Tp> | |
18682 | struct greater : public binary_function<_Tp, _Tp, bool> | |
18683 | { | |
18684 | bool | |
18685 | operator()(const _Tp& __x, const _Tp& __y) const | |
18686 | { return __x > __y; } | |
18687 | }; | |
18688 | ||
18689 | ||
18690 | template <class _Tp> | |
18691 | struct less : public binary_function<_Tp, _Tp, bool> | |
18692 | { | |
18693 | bool | |
18694 | operator()(const _Tp& __x, const _Tp& __y) const | |
18695 | { return __x < __y; } | |
18696 | }; | |
18697 | ||
18698 | ||
18699 | template <class _Tp> | |
18700 | struct greater_equal : public binary_function<_Tp, _Tp, bool> | |
18701 | { | |
18702 | bool | |
18703 | operator()(const _Tp& __x, const _Tp& __y) const | |
18704 | { return __x >= __y; } | |
18705 | }; | |
18706 | ||
18707 | ||
18708 | template <class _Tp> | |
18709 | struct less_equal : public binary_function<_Tp, _Tp, bool> | |
18710 | { | |
18711 | bool | |
18712 | operator()(const _Tp& __x, const _Tp& __y) const | |
18713 | { return __x <= __y; } | |
18714 | }; | |
18715 | # 256 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_function.h" 3 | |
18716 | template <class _Tp> | |
18717 | struct logical_and : public binary_function<_Tp, _Tp, bool> | |
18718 | { | |
18719 | bool | |
18720 | operator()(const _Tp& __x, const _Tp& __y) const | |
18721 | { return __x && __y; } | |
18722 | }; | |
18723 | ||
18724 | ||
18725 | template <class _Tp> | |
18726 | struct logical_or : public binary_function<_Tp, _Tp, bool> | |
18727 | { | |
18728 | bool | |
18729 | operator()(const _Tp& __x, const _Tp& __y) const | |
18730 | { return __x || __y; } | |
18731 | }; | |
18732 | ||
18733 | ||
18734 | template <class _Tp> | |
18735 | struct logical_not : public unary_function<_Tp, bool> | |
18736 | { | |
18737 | bool | |
18738 | operator()(const _Tp& __x) const | |
18739 | { return !__x; } | |
18740 | }; | |
18741 | # 311 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_function.h" 3 | |
18742 | template <class _Predicate> | |
18743 | class unary_negate | |
18744 | : public unary_function<typename _Predicate::argument_type, bool> | |
18745 | { | |
18746 | protected: | |
18747 | _Predicate _M_pred; | |
18748 | public: | |
18749 | explicit | |
18750 | unary_negate(const _Predicate& __x) : _M_pred(__x) {} | |
18751 | ||
18752 | bool | |
18753 | operator()(const typename _Predicate::argument_type& __x) const | |
18754 | { return !_M_pred(__x); } | |
18755 | }; | |
18756 | ||
18757 | ||
18758 | template <class _Predicate> | |
18759 | inline unary_negate<_Predicate> | |
18760 | not1(const _Predicate& __pred) | |
18761 | { return unary_negate<_Predicate>(__pred); } | |
18762 | ||
18763 | ||
18764 | template <class _Predicate> | |
18765 | class binary_negate | |
18766 | : public binary_function<typename _Predicate::first_argument_type, | |
18767 | typename _Predicate::second_argument_type, | |
18768 | bool> | |
18769 | { | |
18770 | protected: | |
18771 | _Predicate _M_pred; | |
18772 | public: | |
18773 | explicit | |
18774 | binary_negate(const _Predicate& __x) | |
18775 | : _M_pred(__x) { } | |
18776 | ||
18777 | bool | |
18778 | operator()(const typename _Predicate::first_argument_type& __x, | |
18779 | const typename _Predicate::second_argument_type& __y) const | |
18780 | { return !_M_pred(__x, __y); } | |
18781 | }; | |
18782 | ||
18783 | ||
18784 | template <class _Predicate> | |
18785 | inline binary_negate<_Predicate> | |
18786 | not2(const _Predicate& __pred) | |
18787 | { return binary_negate<_Predicate>(__pred); } | |
18788 | # 391 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_function.h" 3 | |
18789 | template <class _Operation> | |
18790 | class binder1st | |
18791 | : public unary_function<typename _Operation::second_argument_type, | |
18792 | typename _Operation::result_type> | |
18793 | { | |
18794 | protected: | |
18795 | _Operation op; | |
18796 | typename _Operation::first_argument_type value; | |
18797 | public: | |
18798 | binder1st(const _Operation& __x, | |
18799 | const typename _Operation::first_argument_type& __y) | |
18800 | : op(__x), value(__y) {} | |
18801 | ||
18802 | typename _Operation::result_type | |
18803 | operator()(const typename _Operation::second_argument_type& __x) const | |
18804 | { return op(value, __x); } | |
18805 | ||
18806 | ||
18807 | ||
18808 | typename _Operation::result_type | |
18809 | operator()(typename _Operation::second_argument_type& __x) const | |
18810 | { return op(value, __x); } | |
18811 | }; | |
18812 | ||
18813 | ||
18814 | template <class _Operation, class _Tp> | |
18815 | inline binder1st<_Operation> | |
18816 | bind1st(const _Operation& __fn, const _Tp& __x) | |
18817 | { | |
18818 | typedef typename _Operation::first_argument_type _Arg1_type; | |
18819 | return binder1st<_Operation>(__fn, _Arg1_type(__x)); | |
18820 | } | |
18821 | ||
18822 | ||
18823 | template <class _Operation> | |
18824 | class binder2nd | |
18825 | : public unary_function<typename _Operation::first_argument_type, | |
18826 | typename _Operation::result_type> | |
18827 | { | |
18828 | protected: | |
18829 | _Operation op; | |
18830 | typename _Operation::second_argument_type value; | |
18831 | public: | |
18832 | binder2nd(const _Operation& __x, | |
18833 | const typename _Operation::second_argument_type& __y) | |
18834 | : op(__x), value(__y) {} | |
18835 | ||
18836 | typename _Operation::result_type | |
18837 | operator()(const typename _Operation::first_argument_type& __x) const | |
18838 | { return op(__x, value); } | |
18839 | ||
18840 | ||
18841 | ||
18842 | typename _Operation::result_type | |
18843 | operator()(typename _Operation::first_argument_type& __x) const | |
18844 | { return op(__x, value); } | |
18845 | }; | |
18846 | ||
18847 | ||
18848 | template <class _Operation, class _Tp> | |
18849 | inline binder2nd<_Operation> | |
18850 | bind2nd(const _Operation& __fn, const _Tp& __x) | |
18851 | { | |
18852 | typedef typename _Operation::second_argument_type _Arg2_type; | |
18853 | return binder2nd<_Operation>(__fn, _Arg2_type(__x)); | |
18854 | } | |
18855 | # 480 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_function.h" 3 | |
18856 | template <class _Arg, class _Result> | |
18857 | class pointer_to_unary_function : public unary_function<_Arg, _Result> | |
18858 | { | |
18859 | protected: | |
18860 | _Result (*_M_ptr)(_Arg); | |
18861 | public: | |
18862 | pointer_to_unary_function() {} | |
18863 | ||
18864 | explicit | |
18865 | pointer_to_unary_function(_Result (*__x)(_Arg)) | |
18866 | : _M_ptr(__x) {} | |
18867 | ||
18868 | _Result | |
18869 | operator()(_Arg __x) const | |
18870 | { return _M_ptr(__x); } | |
18871 | }; | |
18872 | ||
18873 | ||
18874 | template <class _Arg, class _Result> | |
18875 | inline pointer_to_unary_function<_Arg, _Result> | |
18876 | ptr_fun(_Result (*__x)(_Arg)) | |
18877 | { return pointer_to_unary_function<_Arg, _Result>(__x); } | |
18878 | ||
18879 | ||
18880 | template <class _Arg1, class _Arg2, class _Result> | |
18881 | class pointer_to_binary_function | |
18882 | : public binary_function<_Arg1, _Arg2, _Result> | |
18883 | { | |
18884 | protected: | |
18885 | _Result (*_M_ptr)(_Arg1, _Arg2); | |
18886 | public: | |
18887 | pointer_to_binary_function() {} | |
18888 | ||
18889 | explicit | |
18890 | pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2)) | |
18891 | : _M_ptr(__x) {} | |
18892 | ||
18893 | _Result | |
18894 | operator()(_Arg1 __x, _Arg2 __y) const | |
18895 | { return _M_ptr(__x, __y); } | |
18896 | }; | |
18897 | ||
18898 | ||
18899 | template <class _Arg1, class _Arg2, class _Result> | |
18900 | inline pointer_to_binary_function<_Arg1, _Arg2, _Result> | |
18901 | ptr_fun(_Result (*__x)(_Arg1, _Arg2)) | |
18902 | { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); } | |
18903 | ||
18904 | ||
18905 | template <class _Tp> | |
18906 | struct _Identity : public unary_function<_Tp,_Tp> | |
18907 | { | |
18908 | _Tp& | |
18909 | operator()(_Tp& __x) const | |
18910 | { return __x; } | |
18911 | ||
18912 | const _Tp& | |
18913 | operator()(const _Tp& __x) const | |
18914 | { return __x; } | |
18915 | }; | |
18916 | ||
18917 | template <class _Pair> | |
18918 | struct _Select1st : public unary_function<_Pair, | |
18919 | typename _Pair::first_type> | |
18920 | { | |
18921 | typename _Pair::first_type& | |
18922 | operator()(_Pair& __x) const | |
18923 | { return __x.first; } | |
18924 | ||
18925 | const typename _Pair::first_type& | |
18926 | operator()(const _Pair& __x) const | |
18927 | { return __x.first; } | |
18928 | }; | |
18929 | ||
18930 | template <class _Pair> | |
18931 | struct _Select2nd : public unary_function<_Pair, | |
18932 | typename _Pair::second_type> | |
18933 | { | |
18934 | typename _Pair::second_type& | |
18935 | operator()(_Pair& __x) const | |
18936 | { return __x.second; } | |
18937 | ||
18938 | const typename _Pair::second_type& | |
18939 | operator()(const _Pair& __x) const | |
18940 | { return __x.second; } | |
18941 | }; | |
18942 | # 582 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_function.h" 3 | |
18943 | template <class _Ret, class _Tp> | |
18944 | class mem_fun_t : public unary_function<_Tp*, _Ret> | |
18945 | { | |
18946 | public: | |
18947 | explicit | |
18948 | mem_fun_t(_Ret (_Tp::*__pf)()) | |
18949 | : _M_f(__pf) {} | |
18950 | ||
18951 | _Ret | |
18952 | operator()(_Tp* __p) const | |
18953 | { return (__p->*_M_f)(); } | |
18954 | private: | |
18955 | _Ret (_Tp::*_M_f)(); | |
18956 | }; | |
18957 | ||
18958 | ||
18959 | template <class _Ret, class _Tp> | |
18960 | class const_mem_fun_t : public unary_function<const _Tp*, _Ret> | |
18961 | { | |
18962 | public: | |
18963 | explicit | |
18964 | const_mem_fun_t(_Ret (_Tp::*__pf)() const) | |
18965 | : _M_f(__pf) {} | |
18966 | ||
18967 | _Ret | |
18968 | operator()(const _Tp* __p) const | |
18969 | { return (__p->*_M_f)(); } | |
18970 | private: | |
18971 | _Ret (_Tp::*_M_f)() const; | |
18972 | }; | |
18973 | ||
18974 | ||
18975 | template <class _Ret, class _Tp> | |
18976 | class mem_fun_ref_t : public unary_function<_Tp, _Ret> | |
18977 | { | |
18978 | public: | |
18979 | explicit | |
18980 | mem_fun_ref_t(_Ret (_Tp::*__pf)()) | |
18981 | : _M_f(__pf) {} | |
18982 | ||
18983 | _Ret | |
18984 | operator()(_Tp& __r) const | |
18985 | { return (__r.*_M_f)(); } | |
18986 | private: | |
18987 | _Ret (_Tp::*_M_f)(); | |
18988 | }; | |
18989 | ||
18990 | ||
18991 | template <class _Ret, class _Tp> | |
18992 | class const_mem_fun_ref_t : public unary_function<_Tp, _Ret> | |
18993 | { | |
18994 | public: | |
18995 | explicit | |
18996 | const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const) | |
18997 | : _M_f(__pf) {} | |
18998 | ||
18999 | _Ret | |
19000 | operator()(const _Tp& __r) const | |
19001 | { return (__r.*_M_f)(); } | |
19002 | private: | |
19003 | _Ret (_Tp::*_M_f)() const; | |
19004 | }; | |
19005 | ||
19006 | ||
19007 | template <class _Ret, class _Tp, class _Arg> | |
19008 | class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret> | |
19009 | { | |
19010 | public: | |
19011 | explicit | |
19012 | mem_fun1_t(_Ret (_Tp::*__pf)(_Arg)) | |
19013 | : _M_f(__pf) {} | |
19014 | ||
19015 | _Ret | |
19016 | operator()(_Tp* __p, _Arg __x) const | |
19017 | { return (__p->*_M_f)(__x); } | |
19018 | private: | |
19019 | _Ret (_Tp::*_M_f)(_Arg); | |
19020 | }; | |
19021 | ||
19022 | ||
19023 | template <class _Ret, class _Tp, class _Arg> | |
19024 | class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret> | |
19025 | { | |
19026 | public: | |
19027 | explicit | |
19028 | const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const) | |
19029 | : _M_f(__pf) {} | |
19030 | ||
19031 | _Ret | |
19032 | operator()(const _Tp* __p, _Arg __x) const | |
19033 | { return (__p->*_M_f)(__x); } | |
19034 | private: | |
19035 | _Ret (_Tp::*_M_f)(_Arg) const; | |
19036 | }; | |
19037 | ||
19038 | ||
19039 | template <class _Ret, class _Tp, class _Arg> | |
19040 | class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> | |
19041 | { | |
19042 | public: | |
19043 | explicit | |
19044 | mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg)) | |
19045 | : _M_f(__pf) {} | |
19046 | ||
19047 | _Ret | |
19048 | operator()(_Tp& __r, _Arg __x) const | |
19049 | { return (__r.*_M_f)(__x); } | |
19050 | private: | |
19051 | _Ret (_Tp::*_M_f)(_Arg); | |
19052 | }; | |
19053 | ||
19054 | ||
19055 | template <class _Ret, class _Tp, class _Arg> | |
19056 | class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> | |
19057 | { | |
19058 | public: | |
19059 | explicit | |
19060 | const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const) | |
19061 | : _M_f(__pf) {} | |
19062 | ||
19063 | _Ret | |
19064 | operator()(const _Tp& __r, _Arg __x) const | |
19065 | { return (__r.*_M_f)(__x); } | |
19066 | private: | |
19067 | _Ret (_Tp::*_M_f)(_Arg) const; | |
19068 | }; | |
19069 | ||
19070 | ||
19071 | ||
19072 | template <class _Ret, class _Tp> | |
19073 | inline mem_fun_t<_Ret, _Tp> | |
19074 | mem_fun(_Ret (_Tp::*__f)()) | |
19075 | { return mem_fun_t<_Ret, _Tp>(__f); } | |
19076 | ||
19077 | template <class _Ret, class _Tp> | |
19078 | inline const_mem_fun_t<_Ret, _Tp> | |
19079 | mem_fun(_Ret (_Tp::*__f)() const) | |
19080 | { return const_mem_fun_t<_Ret, _Tp>(__f); } | |
19081 | ||
19082 | template <class _Ret, class _Tp> | |
19083 | inline mem_fun_ref_t<_Ret, _Tp> | |
19084 | mem_fun_ref(_Ret (_Tp::*__f)()) | |
19085 | { return mem_fun_ref_t<_Ret, _Tp>(__f); } | |
19086 | ||
19087 | template <class _Ret, class _Tp> | |
19088 | inline const_mem_fun_ref_t<_Ret, _Tp> | |
19089 | mem_fun_ref(_Ret (_Tp::*__f)() const) | |
19090 | { return const_mem_fun_ref_t<_Ret, _Tp>(__f); } | |
19091 | ||
19092 | template <class _Ret, class _Tp, class _Arg> | |
19093 | inline mem_fun1_t<_Ret, _Tp, _Arg> | |
19094 | mem_fun(_Ret (_Tp::*__f)(_Arg)) | |
19095 | { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); } | |
19096 | ||
19097 | template <class _Ret, class _Tp, class _Arg> | |
19098 | inline const_mem_fun1_t<_Ret, _Tp, _Arg> | |
19099 | mem_fun(_Ret (_Tp::*__f)(_Arg) const) | |
19100 | { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); } | |
19101 | ||
19102 | template <class _Ret, class _Tp, class _Arg> | |
19103 | inline mem_fun1_ref_t<_Ret, _Tp, _Arg> | |
19104 | mem_fun_ref(_Ret (_Tp::*__f)(_Arg)) | |
19105 | { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } | |
19106 | ||
19107 | template <class _Ret, class _Tp, class _Arg> | |
19108 | inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg> | |
19109 | mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const) | |
19110 | { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } | |
19111 | ||
19112 | ||
19113 | ||
19114 | } | |
19115 | # 54 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/string" 2 3 | |
19116 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 1 3 | |
19117 | # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19118 | #define _BASIC_STRING_H 1 | |
19119 | ||
19120 | ||
19121 | # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19122 | ||
19123 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/ext/atomicity.h" 1 3 | |
19124 | # 36 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/ext/atomicity.h" 3 | |
19125 | #define _GLIBCXX_ATOMICITY_H 1 | |
19126 | ||
19127 | ||
19128 | ||
19129 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/atomic_word.h" 1 3 | |
19130 | # 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/x86_64-pc-linux-gnu/bits/atomic_word.h" 3 | |
19131 | #define _GLIBCXX_ATOMIC_WORD_H 1 | |
19132 | ||
19133 | typedef int _Atomic_word; | |
19134 | # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/ext/atomicity.h" 2 3 | |
19135 | ||
19136 | namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { | |
19137 | ||
19138 | ||
19139 | ||
19140 | ||
19141 | ||
19142 | ||
19143 | static inline _Atomic_word | |
19144 | __exchange_and_add(volatile _Atomic_word* __mem, int __val) | |
19145 | { return __sync_fetch_and_add(__mem, __val); } | |
19146 | ||
19147 | static inline void | |
19148 | __atomic_add(volatile _Atomic_word* __mem, int __val) | |
19149 | { __sync_fetch_and_add(__mem, __val); } | |
19150 | # 66 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/ext/atomicity.h" 3 | |
19151 | static inline _Atomic_word | |
19152 | __exchange_and_add_single(_Atomic_word* __mem, int __val) | |
19153 | { | |
19154 | _Atomic_word __result = *__mem; | |
19155 | *__mem += __val; | |
19156 | return __result; | |
19157 | } | |
19158 | ||
19159 | static inline void | |
19160 | __atomic_add_single(_Atomic_word* __mem, int __val) | |
19161 | { *__mem += __val; } | |
19162 | ||
19163 | static inline _Atomic_word | |
19164 | __attribute__ ((__unused__)) | |
19165 | __exchange_and_add_dispatch(_Atomic_word* __mem, int __val) | |
19166 | { | |
19167 | ||
19168 | if (__gthread_active_p()) | |
19169 | return __exchange_and_add(__mem, __val); | |
19170 | else | |
19171 | return __exchange_and_add_single(__mem, __val); | |
19172 | ||
19173 | ||
19174 | ||
19175 | } | |
19176 | ||
19177 | static inline void | |
19178 | __attribute__ ((__unused__)) | |
19179 | __atomic_add_dispatch(_Atomic_word* __mem, int __val) | |
19180 | { | |
19181 | ||
19182 | if (__gthread_active_p()) | |
19183 | __atomic_add(__mem, __val); | |
19184 | else | |
19185 | __atomic_add_single(__mem, __val); | |
19186 | ||
19187 | ||
19188 | ||
19189 | } | |
19190 | ||
19191 | } | |
19192 | ||
19193 | ||
19194 | ||
19195 | ||
19196 | ||
19197 | #define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("":::"memory") | |
19198 | ||
19199 | ||
19200 | #define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("":::"memory") | |
19201 | # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 2 3 | |
19202 | ||
19203 | ||
19204 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
19205 | # 110 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19206 | template<typename _CharT, typename _Traits, typename _Alloc> | |
19207 | class basic_string | |
19208 | { | |
19209 | typedef typename _Alloc::template rebind<_CharT>::other _CharT_alloc_type; | |
19210 | ||
19211 | ||
19212 | public: | |
19213 | typedef _Traits traits_type; | |
19214 | typedef typename _Traits::char_type value_type; | |
19215 | typedef _Alloc allocator_type; | |
19216 | typedef typename _CharT_alloc_type::size_type size_type; | |
19217 | typedef typename _CharT_alloc_type::difference_type difference_type; | |
19218 | typedef typename _CharT_alloc_type::reference reference; | |
19219 | typedef typename _CharT_alloc_type::const_reference const_reference; | |
19220 | typedef typename _CharT_alloc_type::pointer pointer; | |
19221 | typedef typename _CharT_alloc_type::const_pointer const_pointer; | |
19222 | typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator; | |
19223 | typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string> | |
19224 | const_iterator; | |
19225 | typedef std::reverse_iterator<const_iterator> const_reverse_iterator; | |
19226 | typedef std::reverse_iterator<iterator> reverse_iterator; | |
19227 | ||
19228 | private: | |
19229 | # 147 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19230 | struct _Rep_base | |
19231 | { | |
19232 | size_type _M_length; | |
19233 | size_type _M_capacity; | |
19234 | _Atomic_word _M_refcount; | |
19235 | }; | |
19236 | ||
19237 | struct _Rep : _Rep_base | |
19238 | { | |
19239 | ||
19240 | typedef typename _Alloc::template rebind<char>::other _Raw_bytes_alloc; | |
19241 | # 172 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19242 | static const size_type _S_max_size; | |
19243 | static const _CharT _S_terminal; | |
19244 | ||
19245 | ||
19246 | ||
19247 | static size_type _S_empty_rep_storage[]; | |
19248 | ||
19249 | static _Rep& | |
19250 | _S_empty_rep() | |
19251 | { | |
19252 | ||
19253 | ||
19254 | ||
19255 | void* __p = reinterpret_cast<void*>(&_S_empty_rep_storage); | |
19256 | return *reinterpret_cast<_Rep*>(__p); | |
19257 | } | |
19258 | ||
19259 | bool | |
19260 | _M_is_leaked() const | |
19261 | { return this->_M_refcount < 0; } | |
19262 | ||
19263 | bool | |
19264 | _M_is_shared() const | |
19265 | { return this->_M_refcount > 0; } | |
19266 | ||
19267 | void | |
19268 | _M_set_leaked() | |
19269 | { this->_M_refcount = -1; } | |
19270 | ||
19271 | void | |
19272 | _M_set_sharable() | |
19273 | { this->_M_refcount = 0; } | |
19274 | ||
19275 | void | |
19276 | _M_set_length_and_sharable(size_type __n) | |
19277 | { | |
19278 | this->_M_set_sharable(); | |
19279 | this->_M_length = __n; | |
19280 | traits_type::assign(this->_M_refdata()[__n], _S_terminal); | |
19281 | ||
19282 | ||
19283 | } | |
19284 | ||
19285 | _CharT* | |
19286 | _M_refdata() throw() | |
19287 | { return reinterpret_cast<_CharT*>(this + 1); } | |
19288 | ||
19289 | _CharT* | |
19290 | _M_grab(const _Alloc& __alloc1, const _Alloc& __alloc2) | |
19291 | { | |
19292 | return (!_M_is_leaked() && __alloc1 == __alloc2) | |
19293 | ? _M_refcopy() : _M_clone(__alloc1); | |
19294 | } | |
19295 | ||
19296 | ||
19297 | static _Rep* | |
19298 | _S_create(size_type, size_type, const _Alloc&); | |
19299 | ||
19300 | void | |
19301 | _M_dispose(const _Alloc& __a) | |
19302 | { | |
19303 | ||
19304 | if (__builtin_expect(this != &_S_empty_rep(), false)) | |
19305 | ||
19306 | if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount, | |
19307 | -1) <= 0) | |
19308 | _M_destroy(__a); | |
19309 | } | |
19310 | ||
19311 | void | |
19312 | _M_destroy(const _Alloc&) throw(); | |
19313 | ||
19314 | _CharT* | |
19315 | _M_refcopy() throw() | |
19316 | { | |
19317 | ||
19318 | if (__builtin_expect(this != &_S_empty_rep(), false)) | |
19319 | ||
19320 | __gnu_cxx::__atomic_add_dispatch(&this->_M_refcount, 1); | |
19321 | return _M_refdata(); | |
19322 | } | |
19323 | ||
19324 | _CharT* | |
19325 | _M_clone(const _Alloc&, size_type __res = 0); | |
19326 | }; | |
19327 | ||
19328 | ||
19329 | struct _Alloc_hider : _Alloc | |
19330 | { | |
19331 | _Alloc_hider(_CharT* __dat, const _Alloc& __a) | |
19332 | : _Alloc(__a), _M_p(__dat) { } | |
19333 | ||
19334 | _CharT* _M_p; | |
19335 | }; | |
19336 | ||
19337 | public: | |
19338 | ||
19339 | ||
19340 | ||
19341 | ||
19342 | static const size_type npos = static_cast<size_type>(-1); | |
19343 | ||
19344 | private: | |
19345 | ||
19346 | mutable _Alloc_hider _M_dataplus; | |
19347 | ||
19348 | _CharT* | |
19349 | _M_data() const | |
19350 | { return _M_dataplus._M_p; } | |
19351 | ||
19352 | _CharT* | |
19353 | _M_data(_CharT* __p) | |
19354 | { return (_M_dataplus._M_p = __p); } | |
19355 | ||
19356 | _Rep* | |
19357 | _M_rep() const | |
19358 | { return &((reinterpret_cast<_Rep*> (_M_data()))[-1]); } | |
19359 | ||
19360 | ||
19361 | ||
19362 | iterator | |
19363 | _M_ibegin() const | |
19364 | { return iterator(_M_data()); } | |
19365 | ||
19366 | iterator | |
19367 | _M_iend() const | |
19368 | { return iterator(_M_data() + this->size()); } | |
19369 | ||
19370 | void | |
19371 | _M_leak() | |
19372 | { | |
19373 | if (!_M_rep()->_M_is_leaked()) | |
19374 | _M_leak_hard(); | |
19375 | } | |
19376 | ||
19377 | size_type | |
19378 | _M_check(size_type __pos, const char* __s) const | |
19379 | { | |
19380 | if (__pos > this->size()) | |
19381 | __throw_out_of_range((__s)); | |
19382 | return __pos; | |
19383 | } | |
19384 | ||
19385 | void | |
19386 | _M_check_length(size_type __n1, size_type __n2, const char* __s) const | |
19387 | { | |
19388 | if (this->max_size() - (this->size() - __n1) < __n2) | |
19389 | __throw_length_error((__s)); | |
19390 | } | |
19391 | ||
19392 | ||
19393 | size_type | |
19394 | _M_limit(size_type __pos, size_type __off) const | |
19395 | { | |
19396 | const bool __testoff = __off < this->size() - __pos; | |
19397 | return __testoff ? __off : this->size() - __pos; | |
19398 | } | |
19399 | ||
19400 | ||
19401 | bool | |
19402 | _M_disjunct(const _CharT* __s) const | |
19403 | { | |
19404 | return (less<const _CharT*>()(__s, _M_data()) | |
19405 | || less<const _CharT*>()(_M_data() + this->size(), __s)); | |
19406 | } | |
19407 | ||
19408 | ||
19409 | ||
19410 | static void | |
19411 | _M_copy(_CharT* __d, const _CharT* __s, size_type __n) | |
19412 | { | |
19413 | if (__n == 1) | |
19414 | traits_type::assign(*__d, *__s); | |
19415 | else | |
19416 | traits_type::copy(__d, __s, __n); | |
19417 | } | |
19418 | ||
19419 | static void | |
19420 | _M_move(_CharT* __d, const _CharT* __s, size_type __n) | |
19421 | { | |
19422 | if (__n == 1) | |
19423 | traits_type::assign(*__d, *__s); | |
19424 | else | |
19425 | traits_type::move(__d, __s, __n); | |
19426 | } | |
19427 | ||
19428 | static void | |
19429 | _M_assign(_CharT* __d, size_type __n, _CharT __c) | |
19430 | { | |
19431 | if (__n == 1) | |
19432 | traits_type::assign(*__d, __c); | |
19433 | else | |
19434 | traits_type::assign(__d, __n, __c); | |
19435 | } | |
19436 | ||
19437 | ||
19438 | ||
19439 | template<class _Iterator> | |
19440 | static void | |
19441 | _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) | |
19442 | { | |
19443 | for (; __k1 != __k2; ++__k1, ++__p) | |
19444 | traits_type::assign(*__p, *__k1); | |
19445 | } | |
19446 | ||
19447 | static void | |
19448 | _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) | |
19449 | { _S_copy_chars(__p, __k1.base(), __k2.base()); } | |
19450 | ||
19451 | static void | |
19452 | _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) | |
19453 | { _S_copy_chars(__p, __k1.base(), __k2.base()); } | |
19454 | ||
19455 | static void | |
19456 | _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) | |
19457 | { _M_copy(__p, __k1, __k2 - __k1); } | |
19458 | ||
19459 | static void | |
19460 | _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) | |
19461 | { _M_copy(__p, __k1, __k2 - __k1); } | |
19462 | ||
19463 | void | |
19464 | _M_mutate(size_type __pos, size_type __len1, size_type __len2); | |
19465 | ||
19466 | void | |
19467 | _M_leak_hard(); | |
19468 | ||
19469 | static _Rep& | |
19470 | _S_empty_rep() | |
19471 | { return _Rep::_S_empty_rep(); } | |
19472 | ||
19473 | public: | |
19474 | ||
19475 | ||
19476 | ||
19477 | ||
19478 | ||
19479 | ||
19480 | ||
19481 | inline | |
19482 | basic_string(); | |
19483 | ||
19484 | ||
19485 | ||
19486 | ||
19487 | explicit | |
19488 | basic_string(const _Alloc& __a); | |
19489 | ||
19490 | ||
19491 | ||
19492 | ||
19493 | ||
19494 | ||
19495 | basic_string(const basic_string& __str); | |
19496 | ||
19497 | ||
19498 | ||
19499 | ||
19500 | ||
19501 | ||
19502 | basic_string(const basic_string& __str, size_type __pos, | |
19503 | size_type __n = npos); | |
19504 | ||
19505 | ||
19506 | ||
19507 | ||
19508 | ||
19509 | ||
19510 | ||
19511 | basic_string(const basic_string& __str, size_type __pos, | |
19512 | size_type __n, const _Alloc& __a); | |
19513 | # 453 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19514 | basic_string(const _CharT* __s, size_type __n, | |
19515 | const _Alloc& __a = _Alloc()); | |
19516 | ||
19517 | ||
19518 | ||
19519 | ||
19520 | ||
19521 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()); | |
19522 | ||
19523 | ||
19524 | ||
19525 | ||
19526 | ||
19527 | ||
19528 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()); | |
19529 | ||
19530 | ||
19531 | ||
19532 | ||
19533 | ||
19534 | ||
19535 | ||
19536 | template<class _InputIterator> | |
19537 | basic_string(_InputIterator __beg, _InputIterator __end, | |
19538 | const _Alloc& __a = _Alloc()); | |
19539 | ||
19540 | ||
19541 | ||
19542 | ||
19543 | ~basic_string() | |
19544 | { _M_rep()->_M_dispose(this->get_allocator()); } | |
19545 | ||
19546 | ||
19547 | ||
19548 | ||
19549 | ||
19550 | basic_string& | |
19551 | operator=(const basic_string& __str) | |
19552 | { return this->assign(__str); } | |
19553 | ||
19554 | ||
19555 | ||
19556 | ||
19557 | ||
19558 | basic_string& | |
19559 | operator=(const _CharT* __s) | |
19560 | { return this->assign(__s); } | |
19561 | # 508 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19562 | basic_string& | |
19563 | operator=(_CharT __c) | |
19564 | { | |
19565 | this->assign(1, __c); | |
19566 | return *this; | |
19567 | } | |
19568 | ||
19569 | ||
19570 | ||
19571 | ||
19572 | ||
19573 | ||
19574 | iterator | |
19575 | begin() | |
19576 | { | |
19577 | _M_leak(); | |
19578 | return iterator(_M_data()); | |
19579 | } | |
19580 | ||
19581 | ||
19582 | ||
19583 | ||
19584 | ||
19585 | const_iterator | |
19586 | begin() const | |
19587 | { return const_iterator(_M_data()); } | |
19588 | ||
19589 | ||
19590 | ||
19591 | ||
19592 | ||
19593 | iterator | |
19594 | end() | |
19595 | { | |
19596 | _M_leak(); | |
19597 | return iterator(_M_data() + this->size()); | |
19598 | } | |
19599 | ||
19600 | ||
19601 | ||
19602 | ||
19603 | ||
19604 | const_iterator | |
19605 | end() const | |
19606 | { return const_iterator(_M_data() + this->size()); } | |
19607 | ||
19608 | ||
19609 | ||
19610 | ||
19611 | ||
19612 | ||
19613 | reverse_iterator | |
19614 | rbegin() | |
19615 | { return reverse_iterator(this->end()); } | |
19616 | ||
19617 | ||
19618 | ||
19619 | ||
19620 | ||
19621 | ||
19622 | const_reverse_iterator | |
19623 | rbegin() const | |
19624 | { return const_reverse_iterator(this->end()); } | |
19625 | ||
19626 | ||
19627 | ||
19628 | ||
19629 | ||
19630 | ||
19631 | reverse_iterator | |
19632 | rend() | |
19633 | { return reverse_iterator(this->begin()); } | |
19634 | ||
19635 | ||
19636 | ||
19637 | ||
19638 | ||
19639 | ||
19640 | const_reverse_iterator | |
19641 | rend() const | |
19642 | { return const_reverse_iterator(this->begin()); } | |
19643 | ||
19644 | public: | |
19645 | ||
19646 | ||
19647 | ||
19648 | size_type | |
19649 | size() const | |
19650 | { return _M_rep()->_M_length; } | |
19651 | ||
19652 | ||
19653 | ||
19654 | size_type | |
19655 | length() const | |
19656 | { return _M_rep()->_M_length; } | |
19657 | ||
19658 | ||
19659 | size_type | |
19660 | max_size() const | |
19661 | { return _Rep::_S_max_size; } | |
19662 | # 619 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19663 | void | |
19664 | resize(size_type __n, _CharT __c); | |
19665 | # 632 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19666 | void | |
19667 | resize(size_type __n) | |
19668 | { this->resize(__n, _CharT()); } | |
19669 | ||
19670 | ||
19671 | ||
19672 | ||
19673 | ||
19674 | size_type | |
19675 | capacity() const | |
19676 | { return _M_rep()->_M_capacity; } | |
19677 | # 661 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19678 | void | |
19679 | reserve(size_type __res_arg = 0); | |
19680 | ||
19681 | ||
19682 | ||
19683 | ||
19684 | void | |
19685 | clear() | |
19686 | { _M_mutate(0, this->size(), 0); } | |
19687 | ||
19688 | ||
19689 | ||
19690 | ||
19691 | bool | |
19692 | empty() const | |
19693 | { return this->size() == 0; } | |
19694 | # 689 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19695 | const_reference | |
19696 | operator[] (size_type __pos) const | |
19697 | { | |
19698 | ; | |
19699 | return _M_data()[__pos]; | |
19700 | } | |
19701 | # 706 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19702 | reference | |
19703 | operator[](size_type __pos) | |
19704 | { | |
19705 | ||
19706 | ; | |
19707 | ||
19708 | ; | |
19709 | _M_leak(); | |
19710 | return _M_data()[__pos]; | |
19711 | } | |
19712 | # 727 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19713 | const_reference | |
19714 | at(size_type __n) const | |
19715 | { | |
19716 | if (__n >= this->size()) | |
19717 | __throw_out_of_range(("basic_string::at")); | |
19718 | return _M_data()[__n]; | |
19719 | } | |
19720 | # 746 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19721 | reference | |
19722 | at(size_type __n) | |
19723 | { | |
19724 | if (__n >= size()) | |
19725 | __throw_out_of_range(("basic_string::at")); | |
19726 | _M_leak(); | |
19727 | return _M_data()[__n]; | |
19728 | } | |
19729 | ||
19730 | ||
19731 | ||
19732 | ||
19733 | ||
19734 | ||
19735 | ||
19736 | basic_string& | |
19737 | operator+=(const basic_string& __str) | |
19738 | { return this->append(__str); } | |
19739 | ||
19740 | ||
19741 | ||
19742 | ||
19743 | ||
19744 | ||
19745 | basic_string& | |
19746 | operator+=(const _CharT* __s) | |
19747 | { return this->append(__s); } | |
19748 | ||
19749 | ||
19750 | ||
19751 | ||
19752 | ||
19753 | ||
19754 | basic_string& | |
19755 | operator+=(_CharT __c) | |
19756 | { | |
19757 | this->push_back(__c); | |
19758 | return *this; | |
19759 | } | |
19760 | ||
19761 | ||
19762 | ||
19763 | ||
19764 | ||
19765 | ||
19766 | basic_string& | |
19767 | append(const basic_string& __str); | |
19768 | # 806 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19769 | basic_string& | |
19770 | append(const basic_string& __str, size_type __pos, size_type __n); | |
19771 | ||
19772 | ||
19773 | ||
19774 | ||
19775 | ||
19776 | ||
19777 | ||
19778 | basic_string& | |
19779 | append(const _CharT* __s, size_type __n); | |
19780 | ||
19781 | ||
19782 | ||
19783 | ||
19784 | ||
19785 | ||
19786 | basic_string& | |
19787 | append(const _CharT* __s) | |
19788 | { | |
19789 | ; | |
19790 | return this->append(__s, traits_type::length(__s)); | |
19791 | } | |
19792 | # 838 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19793 | basic_string& | |
19794 | append(size_type __n, _CharT __c); | |
19795 | # 849 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19796 | template<class _InputIterator> | |
19797 | basic_string& | |
19798 | append(_InputIterator __first, _InputIterator __last) | |
19799 | { return this->replace(_M_iend(), _M_iend(), __first, __last); } | |
19800 | ||
19801 | ||
19802 | ||
19803 | ||
19804 | ||
19805 | void | |
19806 | push_back(_CharT __c) | |
19807 | { | |
19808 | const size_type __len = 1 + this->size(); | |
19809 | if (__len > this->capacity() || _M_rep()->_M_is_shared()) | |
19810 | this->reserve(__len); | |
19811 | traits_type::assign(_M_data()[this->size()], __c); | |
19812 | _M_rep()->_M_set_length_and_sharable(__len); | |
19813 | } | |
19814 | ||
19815 | ||
19816 | ||
19817 | ||
19818 | ||
19819 | ||
19820 | basic_string& | |
19821 | assign(const basic_string& __str); | |
19822 | # 888 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19823 | basic_string& | |
19824 | assign(const basic_string& __str, size_type __pos, size_type __n) | |
19825 | { return this->assign(__str._M_data() | |
19826 | + __str._M_check(__pos, "basic_string::assign"), | |
19827 | __str._M_limit(__pos, __n)); } | |
19828 | # 904 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19829 | basic_string& | |
19830 | assign(const _CharT* __s, size_type __n); | |
19831 | # 916 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19832 | basic_string& | |
19833 | assign(const _CharT* __s) | |
19834 | { | |
19835 | ; | |
19836 | return this->assign(__s, traits_type::length(__s)); | |
19837 | } | |
19838 | # 932 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19839 | basic_string& | |
19840 | assign(size_type __n, _CharT __c) | |
19841 | { return _M_replace_aux(size_type(0), this->size(), __n, __c); } | |
19842 | # 944 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19843 | template<class _InputIterator> | |
19844 | basic_string& | |
19845 | assign(_InputIterator __first, _InputIterator __last) | |
19846 | { return this->replace(_M_ibegin(), _M_iend(), __first, __last); } | |
19847 | # 961 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19848 | void | |
19849 | insert(iterator __p, size_type __n, _CharT __c) | |
19850 | { this->replace(__p, __p, __n, __c); } | |
19851 | # 976 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19852 | template<class _InputIterator> | |
19853 | void | |
19854 | insert(iterator __p, _InputIterator __beg, _InputIterator __end) | |
19855 | { this->replace(__p, __p, __beg, __end); } | |
19856 | # 992 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19857 | basic_string& | |
19858 | insert(size_type __pos1, const basic_string& __str) | |
19859 | { return this->insert(__pos1, __str, size_type(0), __str.size()); } | |
19860 | # 1014 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19861 | basic_string& | |
19862 | insert(size_type __pos1, const basic_string& __str, | |
19863 | size_type __pos2, size_type __n) | |
19864 | { return this->insert(__pos1, __str._M_data() | |
19865 | + __str._M_check(__pos2, "basic_string::insert"), | |
19866 | __str._M_limit(__pos2, __n)); } | |
19867 | # 1037 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19868 | basic_string& | |
19869 | insert(size_type __pos, const _CharT* __s, size_type __n); | |
19870 | # 1055 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19871 | basic_string& | |
19872 | insert(size_type __pos, const _CharT* __s) | |
19873 | { | |
19874 | ; | |
19875 | return this->insert(__pos, __s, traits_type::length(__s)); | |
19876 | } | |
19877 | # 1078 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19878 | basic_string& | |
19879 | insert(size_type __pos, size_type __n, _CharT __c) | |
19880 | { return _M_replace_aux(_M_check(__pos, "basic_string::insert"), | |
19881 | size_type(0), __n, __c); } | |
19882 | # 1095 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19883 | iterator | |
19884 | insert(iterator __p, _CharT __c) | |
19885 | { | |
19886 | ; | |
19887 | const size_type __pos = __p - _M_ibegin(); | |
19888 | _M_replace_aux(__pos, size_type(0), size_type(1), __c); | |
19889 | _M_rep()->_M_set_leaked(); | |
19890 | return iterator(_M_data() + __pos); | |
19891 | } | |
19892 | # 1119 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19893 | basic_string& | |
19894 | erase(size_type __pos = 0, size_type __n = npos) | |
19895 | { | |
19896 | _M_mutate(_M_check(__pos, "basic_string::erase"), | |
19897 | _M_limit(__pos, __n), size_type(0)); | |
19898 | return *this; | |
19899 | } | |
19900 | # 1135 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19901 | iterator | |
19902 | erase(iterator __position) | |
19903 | { | |
19904 | ; | |
19905 | ||
19906 | const size_type __pos = __position - _M_ibegin(); | |
19907 | _M_mutate(__pos, size_type(1), size_type(0)); | |
19908 | _M_rep()->_M_set_leaked(); | |
19909 | return iterator(_M_data() + __pos); | |
19910 | } | |
19911 | # 1155 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19912 | iterator | |
19913 | erase(iterator __first, iterator __last) | |
19914 | { | |
19915 | ; | |
19916 | ||
19917 | const size_type __pos = __first - _M_ibegin(); | |
19918 | _M_mutate(__pos, __last - __first, size_type(0)); | |
19919 | _M_rep()->_M_set_leaked(); | |
19920 | return iterator(_M_data() + __pos); | |
19921 | } | |
19922 | # 1182 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19923 | basic_string& | |
19924 | replace(size_type __pos, size_type __n, const basic_string& __str) | |
19925 | { return this->replace(__pos, __n, __str._M_data(), __str.size()); } | |
19926 | # 1204 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19927 | basic_string& | |
19928 | replace(size_type __pos1, size_type __n1, const basic_string& __str, | |
19929 | size_type __pos2, size_type __n2) | |
19930 | { return this->replace(__pos1, __n1, __str._M_data() | |
19931 | + __str._M_check(__pos2, "basic_string::replace"), | |
19932 | __str._M_limit(__pos2, __n2)); } | |
19933 | # 1228 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19934 | basic_string& | |
19935 | replace(size_type __pos, size_type __n1, const _CharT* __s, | |
19936 | size_type __n2); | |
19937 | # 1247 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19938 | basic_string& | |
19939 | replace(size_type __pos, size_type __n1, const _CharT* __s) | |
19940 | { | |
19941 | ; | |
19942 | return this->replace(__pos, __n1, __s, traits_type::length(__s)); | |
19943 | } | |
19944 | # 1270 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19945 | basic_string& | |
19946 | replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c) | |
19947 | { return _M_replace_aux(_M_check(__pos, "basic_string::replace"), | |
19948 | _M_limit(__pos, __n1), __n2, __c); } | |
19949 | # 1288 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19950 | basic_string& | |
19951 | replace(iterator __i1, iterator __i2, const basic_string& __str) | |
19952 | { return this->replace(__i1, __i2, __str._M_data(), __str.size()); } | |
19953 | # 1306 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19954 | basic_string& | |
19955 | replace(iterator __i1, iterator __i2, const _CharT* __s, size_type __n) | |
19956 | { | |
19957 | ; | |
19958 | ||
19959 | return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __s, __n); | |
19960 | } | |
19961 | # 1327 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19962 | basic_string& | |
19963 | replace(iterator __i1, iterator __i2, const _CharT* __s) | |
19964 | { | |
19965 | ; | |
19966 | return this->replace(__i1, __i2, __s, traits_type::length(__s)); | |
19967 | } | |
19968 | # 1348 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19969 | basic_string& | |
19970 | replace(iterator __i1, iterator __i2, size_type __n, _CharT __c) | |
19971 | { | |
19972 | ; | |
19973 | ||
19974 | return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __c); | |
19975 | } | |
19976 | # 1370 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
19977 | template<class _InputIterator> | |
19978 | basic_string& | |
19979 | replace(iterator __i1, iterator __i2, | |
19980 | _InputIterator __k1, _InputIterator __k2) | |
19981 | { | |
19982 | ; | |
19983 | ||
19984 | ; | |
19985 | typedef typename std::__is_integer<_InputIterator>::__type _Integral; | |
19986 | return _M_replace_dispatch(__i1, __i2, __k1, __k2, _Integral()); | |
19987 | } | |
19988 | ||
19989 | ||
19990 | ||
19991 | basic_string& | |
19992 | replace(iterator __i1, iterator __i2, _CharT* __k1, _CharT* __k2) | |
19993 | { | |
19994 | ; | |
19995 | ||
19996 | ; | |
19997 | return this->replace(__i1 - _M_ibegin(), __i2 - __i1, | |
19998 | __k1, __k2 - __k1); | |
19999 | } | |
20000 | ||
20001 | basic_string& | |
20002 | replace(iterator __i1, iterator __i2, | |
20003 | const _CharT* __k1, const _CharT* __k2) | |
20004 | { | |
20005 | ; | |
20006 | ||
20007 | ; | |
20008 | return this->replace(__i1 - _M_ibegin(), __i2 - __i1, | |
20009 | __k1, __k2 - __k1); | |
20010 | } | |
20011 | ||
20012 | basic_string& | |
20013 | replace(iterator __i1, iterator __i2, iterator __k1, iterator __k2) | |
20014 | { | |
20015 | ; | |
20016 | ||
20017 | ; | |
20018 | return this->replace(__i1 - _M_ibegin(), __i2 - __i1, | |
20019 | __k1.base(), __k2 - __k1); | |
20020 | } | |
20021 | ||
20022 | basic_string& | |
20023 | replace(iterator __i1, iterator __i2, | |
20024 | const_iterator __k1, const_iterator __k2) | |
20025 | { | |
20026 | ; | |
20027 | ||
20028 | ; | |
20029 | return this->replace(__i1 - _M_ibegin(), __i2 - __i1, | |
20030 | __k1.base(), __k2 - __k1); | |
20031 | } | |
20032 | ||
20033 | private: | |
20034 | template<class _Integer> | |
20035 | basic_string& | |
20036 | _M_replace_dispatch(iterator __i1, iterator __i2, _Integer __n, | |
20037 | _Integer __val, __true_type) | |
20038 | { return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __val); } | |
20039 | ||
20040 | template<class _InputIterator> | |
20041 | basic_string& | |
20042 | _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1, | |
20043 | _InputIterator __k2, __false_type); | |
20044 | ||
20045 | basic_string& | |
20046 | _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, | |
20047 | _CharT __c); | |
20048 | ||
20049 | basic_string& | |
20050 | _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s, | |
20051 | size_type __n2); | |
20052 | ||
20053 | ||
20054 | ||
20055 | template<class _InIterator> | |
20056 | static _CharT* | |
20057 | _S_construct_aux(_InIterator __beg, _InIterator __end, | |
20058 | const _Alloc& __a, __false_type) | |
20059 | { | |
20060 | typedef typename iterator_traits<_InIterator>::iterator_category _Tag; | |
20061 | return _S_construct(__beg, __end, __a, _Tag()); | |
20062 | } | |
20063 | ||
20064 | template<class _InIterator> | |
20065 | static _CharT* | |
20066 | _S_construct_aux(_InIterator __beg, _InIterator __end, | |
20067 | const _Alloc& __a, __true_type) | |
20068 | { return _S_construct(static_cast<size_type>(__beg), | |
20069 | static_cast<value_type>(__end), __a); } | |
20070 | ||
20071 | template<class _InIterator> | |
20072 | static _CharT* | |
20073 | _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a) | |
20074 | { | |
20075 | typedef typename std::__is_integer<_InIterator>::__type _Integral; | |
20076 | return _S_construct_aux(__beg, __end, __a, _Integral()); | |
20077 | } | |
20078 | ||
20079 | ||
20080 | template<class _InIterator> | |
20081 | static _CharT* | |
20082 | _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, | |
20083 | input_iterator_tag); | |
20084 | ||
20085 | ||
20086 | ||
20087 | template<class _FwdIterator> | |
20088 | static _CharT* | |
20089 | _S_construct(_FwdIterator __beg, _FwdIterator __end, const _Alloc& __a, | |
20090 | forward_iterator_tag); | |
20091 | ||
20092 | static _CharT* | |
20093 | _S_construct(size_type __req, _CharT __c, const _Alloc& __a); | |
20094 | ||
20095 | public: | |
20096 | # 1501 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20097 | size_type | |
20098 | copy(_CharT* __s, size_type __n, size_type __pos = 0) const; | |
20099 | # 1511 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20100 | void | |
20101 | swap(basic_string& __s); | |
20102 | # 1521 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20103 | const _CharT* | |
20104 | c_str() const | |
20105 | { return _M_data(); } | |
20106 | ||
20107 | ||
20108 | ||
20109 | ||
20110 | ||
20111 | ||
20112 | ||
20113 | const _CharT* | |
20114 | data() const | |
20115 | { return _M_data(); } | |
20116 | ||
20117 | ||
20118 | ||
20119 | ||
20120 | allocator_type | |
20121 | get_allocator() const | |
20122 | { return _M_dataplus; } | |
20123 | # 1553 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20124 | size_type | |
20125 | find(const _CharT* __s, size_type __pos, size_type __n) const; | |
20126 | # 1566 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20127 | size_type | |
20128 | find(const basic_string& __str, size_type __pos = 0) const | |
20129 | { return this->find(__str.data(), __pos, __str.size()); } | |
20130 | # 1580 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20131 | size_type | |
20132 | find(const _CharT* __s, size_type __pos = 0) const | |
20133 | { | |
20134 | ; | |
20135 | return this->find(__s, __pos, traits_type::length(__s)); | |
20136 | } | |
20137 | # 1597 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20138 | size_type | |
20139 | find(_CharT __c, size_type __pos = 0) const; | |
20140 | # 1610 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20141 | size_type | |
20142 | rfind(const basic_string& __str, size_type __pos = npos) const | |
20143 | { return this->rfind(__str.data(), __pos, __str.size()); } | |
20144 | # 1625 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20145 | size_type | |
20146 | rfind(const _CharT* __s, size_type __pos, size_type __n) const; | |
20147 | # 1638 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20148 | size_type | |
20149 | rfind(const _CharT* __s, size_type __pos = npos) const | |
20150 | { | |
20151 | ; | |
20152 | return this->rfind(__s, __pos, traits_type::length(__s)); | |
20153 | } | |
20154 | # 1655 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20155 | size_type | |
20156 | rfind(_CharT __c, size_type __pos = npos) const; | |
20157 | # 1668 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20158 | size_type | |
20159 | find_first_of(const basic_string& __str, size_type __pos = 0) const | |
20160 | { return this->find_first_of(__str.data(), __pos, __str.size()); } | |
20161 | # 1683 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20162 | size_type | |
20163 | find_first_of(const _CharT* __s, size_type __pos, size_type __n) const; | |
20164 | # 1696 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20165 | size_type | |
20166 | find_first_of(const _CharT* __s, size_type __pos = 0) const | |
20167 | { | |
20168 | ; | |
20169 | return this->find_first_of(__s, __pos, traits_type::length(__s)); | |
20170 | } | |
20171 | # 1715 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20172 | size_type | |
20173 | find_first_of(_CharT __c, size_type __pos = 0) const | |
20174 | { return this->find(__c, __pos); } | |
20175 | # 1729 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20176 | size_type | |
20177 | find_last_of(const basic_string& __str, size_type __pos = npos) const | |
20178 | { return this->find_last_of(__str.data(), __pos, __str.size()); } | |
20179 | # 1744 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20180 | size_type | |
20181 | find_last_of(const _CharT* __s, size_type __pos, size_type __n) const; | |
20182 | # 1757 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20183 | size_type | |
20184 | find_last_of(const _CharT* __s, size_type __pos = npos) const | |
20185 | { | |
20186 | ; | |
20187 | return this->find_last_of(__s, __pos, traits_type::length(__s)); | |
20188 | } | |
20189 | # 1776 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20190 | size_type | |
20191 | find_last_of(_CharT __c, size_type __pos = npos) const | |
20192 | { return this->rfind(__c, __pos); } | |
20193 | # 1790 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20194 | size_type | |
20195 | find_first_not_of(const basic_string& __str, size_type __pos = 0) const | |
20196 | { return this->find_first_not_of(__str.data(), __pos, __str.size()); } | |
20197 | # 1805 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20198 | size_type | |
20199 | find_first_not_of(const _CharT* __s, size_type __pos, | |
20200 | size_type __n) const; | |
20201 | # 1819 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20202 | size_type | |
20203 | find_first_not_of(const _CharT* __s, size_type __pos = 0) const | |
20204 | { | |
20205 | ; | |
20206 | return this->find_first_not_of(__s, __pos, traits_type::length(__s)); | |
20207 | } | |
20208 | # 1836 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20209 | size_type | |
20210 | find_first_not_of(_CharT __c, size_type __pos = 0) const; | |
20211 | # 1849 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20212 | size_type | |
20213 | find_last_not_of(const basic_string& __str, size_type __pos = npos) const | |
20214 | { return this->find_last_not_of(__str.data(), __pos, __str.size()); } | |
20215 | # 1865 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20216 | size_type | |
20217 | find_last_not_of(const _CharT* __s, size_type __pos, | |
20218 | size_type __n) const; | |
20219 | # 1878 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20220 | size_type | |
20221 | find_last_not_of(const _CharT* __s, size_type __pos = npos) const | |
20222 | { | |
20223 | ; | |
20224 | return this->find_last_not_of(__s, __pos, traits_type::length(__s)); | |
20225 | } | |
20226 | # 1895 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20227 | size_type | |
20228 | find_last_not_of(_CharT __c, size_type __pos = npos) const; | |
20229 | # 1910 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20230 | basic_string | |
20231 | substr(size_type __pos = 0, size_type __n = npos) const | |
20232 | { return basic_string(*this, | |
20233 | _M_check(__pos, "basic_string::substr"), __n); } | |
20234 | # 1928 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20235 | int | |
20236 | compare(const basic_string& __str) const | |
20237 | { | |
20238 | const size_type __size = this->size(); | |
20239 | const size_type __osize = __str.size(); | |
20240 | const size_type __len = std::min(__size, __osize); | |
20241 | ||
20242 | int __r = traits_type::compare(_M_data(), __str.data(), __len); | |
20243 | if (!__r) | |
20244 | __r = __size - __osize; | |
20245 | return __r; | |
20246 | } | |
20247 | # 1958 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20248 | int | |
20249 | compare(size_type __pos, size_type __n, const basic_string& __str) const; | |
20250 | # 1982 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20251 | int | |
20252 | compare(size_type __pos1, size_type __n1, const basic_string& __str, | |
20253 | size_type __pos2, size_type __n2) const; | |
20254 | # 2000 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20255 | int | |
20256 | compare(const _CharT* __s) const; | |
20257 | # 2023 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20258 | int | |
20259 | compare(size_type __pos, size_type __n1, const _CharT* __s) const; | |
20260 | # 2048 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20261 | int | |
20262 | compare(size_type __pos, size_type __n1, const _CharT* __s, | |
20263 | size_type __n2) const; | |
20264 | }; | |
20265 | ||
20266 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20267 | inline basic_string<_CharT, _Traits, _Alloc>:: | |
20268 | basic_string() | |
20269 | ||
20270 | : _M_dataplus(_S_empty_rep()._M_refdata(), _Alloc()) { } | |
20271 | # 2069 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20272 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20273 | basic_string<_CharT, _Traits, _Alloc> | |
20274 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
20275 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
20276 | { | |
20277 | basic_string<_CharT, _Traits, _Alloc> __str(__lhs); | |
20278 | __str.append(__rhs); | |
20279 | return __str; | |
20280 | } | |
20281 | ||
20282 | ||
20283 | ||
20284 | ||
20285 | ||
20286 | ||
20287 | ||
20288 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20289 | basic_string<_CharT,_Traits,_Alloc> | |
20290 | operator+(const _CharT* __lhs, | |
20291 | const basic_string<_CharT,_Traits,_Alloc>& __rhs); | |
20292 | ||
20293 | ||
20294 | ||
20295 | ||
20296 | ||
20297 | ||
20298 | ||
20299 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20300 | basic_string<_CharT,_Traits,_Alloc> | |
20301 | operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs); | |
20302 | ||
20303 | ||
20304 | ||
20305 | ||
20306 | ||
20307 | ||
20308 | ||
20309 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20310 | inline basic_string<_CharT, _Traits, _Alloc> | |
20311 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
20312 | const _CharT* __rhs) | |
20313 | { | |
20314 | basic_string<_CharT, _Traits, _Alloc> __str(__lhs); | |
20315 | __str.append(__rhs); | |
20316 | return __str; | |
20317 | } | |
20318 | ||
20319 | ||
20320 | ||
20321 | ||
20322 | ||
20323 | ||
20324 | ||
20325 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20326 | inline basic_string<_CharT, _Traits, _Alloc> | |
20327 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) | |
20328 | { | |
20329 | typedef basic_string<_CharT, _Traits, _Alloc> __string_type; | |
20330 | typedef typename __string_type::size_type __size_type; | |
20331 | __string_type __str(__lhs); | |
20332 | __str.append(__size_type(1), __rhs); | |
20333 | return __str; | |
20334 | } | |
20335 | # 2140 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20336 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20337 | inline bool | |
20338 | operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
20339 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
20340 | { return __lhs.compare(__rhs) == 0; } | |
20341 | ||
20342 | ||
20343 | ||
20344 | ||
20345 | ||
20346 | ||
20347 | ||
20348 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20349 | inline bool | |
20350 | operator==(const _CharT* __lhs, | |
20351 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
20352 | { return __rhs.compare(__lhs) == 0; } | |
20353 | ||
20354 | ||
20355 | ||
20356 | ||
20357 | ||
20358 | ||
20359 | ||
20360 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20361 | inline bool | |
20362 | operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
20363 | const _CharT* __rhs) | |
20364 | { return __lhs.compare(__rhs) == 0; } | |
20365 | # 2177 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20366 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20367 | inline bool | |
20368 | operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
20369 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
20370 | { return __rhs.compare(__lhs) != 0; } | |
20371 | ||
20372 | ||
20373 | ||
20374 | ||
20375 | ||
20376 | ||
20377 | ||
20378 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20379 | inline bool | |
20380 | operator!=(const _CharT* __lhs, | |
20381 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
20382 | { return __rhs.compare(__lhs) != 0; } | |
20383 | ||
20384 | ||
20385 | ||
20386 | ||
20387 | ||
20388 | ||
20389 | ||
20390 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20391 | inline bool | |
20392 | operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
20393 | const _CharT* __rhs) | |
20394 | { return __lhs.compare(__rhs) != 0; } | |
20395 | # 2214 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20396 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20397 | inline bool | |
20398 | operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
20399 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
20400 | { return __lhs.compare(__rhs) < 0; } | |
20401 | ||
20402 | ||
20403 | ||
20404 | ||
20405 | ||
20406 | ||
20407 | ||
20408 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20409 | inline bool | |
20410 | operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
20411 | const _CharT* __rhs) | |
20412 | { return __lhs.compare(__rhs) < 0; } | |
20413 | ||
20414 | ||
20415 | ||
20416 | ||
20417 | ||
20418 | ||
20419 | ||
20420 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20421 | inline bool | |
20422 | operator<(const _CharT* __lhs, | |
20423 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
20424 | { return __rhs.compare(__lhs) > 0; } | |
20425 | # 2251 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20426 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20427 | inline bool | |
20428 | operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
20429 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
20430 | { return __lhs.compare(__rhs) > 0; } | |
20431 | ||
20432 | ||
20433 | ||
20434 | ||
20435 | ||
20436 | ||
20437 | ||
20438 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20439 | inline bool | |
20440 | operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
20441 | const _CharT* __rhs) | |
20442 | { return __lhs.compare(__rhs) > 0; } | |
20443 | ||
20444 | ||
20445 | ||
20446 | ||
20447 | ||
20448 | ||
20449 | ||
20450 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20451 | inline bool | |
20452 | operator>(const _CharT* __lhs, | |
20453 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
20454 | { return __rhs.compare(__lhs) < 0; } | |
20455 | # 2288 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20456 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20457 | inline bool | |
20458 | operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
20459 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
20460 | { return __lhs.compare(__rhs) <= 0; } | |
20461 | ||
20462 | ||
20463 | ||
20464 | ||
20465 | ||
20466 | ||
20467 | ||
20468 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20469 | inline bool | |
20470 | operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
20471 | const _CharT* __rhs) | |
20472 | { return __lhs.compare(__rhs) <= 0; } | |
20473 | ||
20474 | ||
20475 | ||
20476 | ||
20477 | ||
20478 | ||
20479 | ||
20480 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20481 | inline bool | |
20482 | operator<=(const _CharT* __lhs, | |
20483 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
20484 | { return __rhs.compare(__lhs) >= 0; } | |
20485 | # 2325 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20486 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20487 | inline bool | |
20488 | operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
20489 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
20490 | { return __lhs.compare(__rhs) >= 0; } | |
20491 | ||
20492 | ||
20493 | ||
20494 | ||
20495 | ||
20496 | ||
20497 | ||
20498 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20499 | inline bool | |
20500 | operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
20501 | const _CharT* __rhs) | |
20502 | { return __lhs.compare(__rhs) >= 0; } | |
20503 | ||
20504 | ||
20505 | ||
20506 | ||
20507 | ||
20508 | ||
20509 | ||
20510 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20511 | inline bool | |
20512 | operator>=(const _CharT* __lhs, | |
20513 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
20514 | { return __rhs.compare(__lhs) <= 0; } | |
20515 | # 2362 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20516 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20517 | inline void | |
20518 | swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
20519 | basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
20520 | { __lhs.swap(__rhs); } | |
20521 | # 2379 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20522 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20523 | basic_istream<_CharT, _Traits>& | |
20524 | operator>>(basic_istream<_CharT, _Traits>& __is, | |
20525 | basic_string<_CharT, _Traits, _Alloc>& __str); | |
20526 | ||
20527 | template<> | |
20528 | basic_istream<char>& | |
20529 | operator>>(basic_istream<char>& __is, basic_string<char>& __str); | |
20530 | # 2397 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20531 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20532 | inline basic_ostream<_CharT, _Traits>& | |
20533 | operator<<(basic_ostream<_CharT, _Traits>& __os, | |
20534 | const basic_string<_CharT, _Traits, _Alloc>& __str) | |
20535 | { | |
20536 | ||
20537 | ||
20538 | return __ostream_insert(__os, __str.data(), __str.size()); | |
20539 | } | |
20540 | # 2420 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20541 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20542 | basic_istream<_CharT, _Traits>& | |
20543 | getline(basic_istream<_CharT, _Traits>& __is, | |
20544 | basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); | |
20545 | # 2437 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3 | |
20546 | template<typename _CharT, typename _Traits, typename _Alloc> | |
20547 | inline basic_istream<_CharT, _Traits>& | |
20548 | getline(basic_istream<_CharT, _Traits>& __is, | |
20549 | basic_string<_CharT, _Traits, _Alloc>& __str) | |
20550 | { return getline(__is, __str, __is.widen('\n')); } | |
20551 | ||
20552 | template<> | |
20553 | basic_istream<char>& | |
20554 | getline(basic_istream<char>& __in, basic_string<char>& __str, | |
20555 | char __delim); | |
20556 | ||
20557 | ||
20558 | template<> | |
20559 | basic_istream<wchar_t>& | |
20560 | getline(basic_istream<wchar_t>& __in, basic_string<wchar_t>& __str, | |
20561 | wchar_t __delim); | |
20562 | ||
20563 | ||
20564 | } | |
20565 | # 55 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/string" 2 3 | |
20566 | ||
20567 | ||
20568 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/algorithm" 1 3 | |
20569 | # 61 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/algorithm" 3 | |
20570 | #define _GLIBCXX_ALGORITHM 1 | |
20571 | ||
20572 | ||
20573 | # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/algorithm" 3 | |
20574 | ||
20575 | ||
20576 | ||
20577 | ||
20578 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 1 3 | |
20579 | # 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
20580 | #define _ALGO_H 1 | |
20581 | ||
20582 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_heap.h" 1 3 | |
20583 | # 61 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_heap.h" 3 | |
20584 | #define _STL_HEAP_H 1 | |
20585 | ||
20586 | ||
20587 | ||
20588 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
20589 | ||
20590 | ||
20591 | ||
20592 | ||
20593 | template<typename _RandomAccessIterator, typename _Distance> | |
20594 | bool | |
20595 | __is_heap(_RandomAccessIterator __first, _Distance __n) | |
20596 | { | |
20597 | _Distance __parent = 0; | |
20598 | for (_Distance __child = 1; __child < __n; ++__child) | |
20599 | { | |
20600 | if (__first[__parent] < __first[__child]) | |
20601 | return false; | |
20602 | if ((__child & 1) == 0) | |
20603 | ++__parent; | |
20604 | } | |
20605 | return true; | |
20606 | } | |
20607 | ||
20608 | template<typename _RandomAccessIterator, typename _Distance, | |
20609 | typename _StrictWeakOrdering> | |
20610 | bool | |
20611 | __is_heap(_RandomAccessIterator __first, _StrictWeakOrdering __comp, | |
20612 | _Distance __n) | |
20613 | { | |
20614 | _Distance __parent = 0; | |
20615 | for (_Distance __child = 1; __child < __n; ++__child) | |
20616 | { | |
20617 | if (__comp(__first[__parent], __first[__child])) | |
20618 | return false; | |
20619 | if ((__child & 1) == 0) | |
20620 | ++__parent; | |
20621 | } | |
20622 | return true; | |
20623 | } | |
20624 | ||
20625 | template<typename _RandomAccessIterator> | |
20626 | bool | |
20627 | __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) | |
20628 | { return std::__is_heap(__first, std::distance(__first, __last)); } | |
20629 | ||
20630 | template<typename _RandomAccessIterator, typename _StrictWeakOrdering> | |
20631 | bool | |
20632 | __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, | |
20633 | _StrictWeakOrdering __comp) | |
20634 | { return std::__is_heap(__first, __comp, std::distance(__first, __last)); } | |
20635 | ||
20636 | ||
20637 | ||
20638 | template<typename _RandomAccessIterator, typename _Distance, typename _Tp> | |
20639 | void | |
20640 | __push_heap(_RandomAccessIterator __first, | |
20641 | _Distance __holeIndex, _Distance __topIndex, _Tp __value) | |
20642 | { | |
20643 | _Distance __parent = (__holeIndex - 1) / 2; | |
20644 | while (__holeIndex > __topIndex && *(__first + __parent) < __value) | |
20645 | { | |
20646 | *(__first + __holeIndex) = *(__first + __parent); | |
20647 | __holeIndex = __parent; | |
20648 | __parent = (__holeIndex - 1) / 2; | |
20649 | } | |
20650 | *(__first + __holeIndex) = __value; | |
20651 | } | |
20652 | # 139 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_heap.h" 3 | |
20653 | template<typename _RandomAccessIterator> | |
20654 | inline void | |
20655 | push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) | |
20656 | { | |
20657 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
20658 | _ValueType; | |
20659 | typedef typename iterator_traits<_RandomAccessIterator>::difference_type | |
20660 | _DistanceType; | |
20661 | ||
20662 | ||
20663 | ||
20664 | ||
20665 | ||
20666 | ; | |
20667 | ||
20668 | ||
20669 | std::__push_heap(__first, _DistanceType((__last - __first) - 1), | |
20670 | _DistanceType(0), _ValueType(*(__last - 1))); | |
20671 | } | |
20672 | ||
20673 | template<typename _RandomAccessIterator, typename _Distance, typename _Tp, | |
20674 | typename _Compare> | |
20675 | void | |
20676 | __push_heap(_RandomAccessIterator __first, _Distance __holeIndex, | |
20677 | _Distance __topIndex, _Tp __value, _Compare __comp) | |
20678 | { | |
20679 | _Distance __parent = (__holeIndex - 1) / 2; | |
20680 | while (__holeIndex > __topIndex | |
20681 | && __comp(*(__first + __parent), __value)) | |
20682 | { | |
20683 | *(__first + __holeIndex) = *(__first + __parent); | |
20684 | __holeIndex = __parent; | |
20685 | __parent = (__holeIndex - 1) / 2; | |
20686 | } | |
20687 | *(__first + __holeIndex) = __value; | |
20688 | } | |
20689 | # 187 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_heap.h" 3 | |
20690 | template<typename _RandomAccessIterator, typename _Compare> | |
20691 | inline void | |
20692 | push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, | |
20693 | _Compare __comp) | |
20694 | { | |
20695 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
20696 | _ValueType; | |
20697 | typedef typename iterator_traits<_RandomAccessIterator>::difference_type | |
20698 | _DistanceType; | |
20699 | ||
20700 | ||
20701 | ||
20702 | ||
20703 | ; | |
20704 | ; | |
20705 | ||
20706 | std::__push_heap(__first, _DistanceType((__last - __first) - 1), | |
20707 | _DistanceType(0), _ValueType(*(__last - 1)), __comp); | |
20708 | } | |
20709 | ||
20710 | template<typename _RandomAccessIterator, typename _Distance, typename _Tp> | |
20711 | void | |
20712 | __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, | |
20713 | _Distance __len, _Tp __value) | |
20714 | { | |
20715 | const _Distance __topIndex = __holeIndex; | |
20716 | _Distance __secondChild = 2 * __holeIndex + 2; | |
20717 | while (__secondChild < __len) | |
20718 | { | |
20719 | if (*(__first + __secondChild) < *(__first + (__secondChild - 1))) | |
20720 | __secondChild--; | |
20721 | *(__first + __holeIndex) = *(__first + __secondChild); | |
20722 | __holeIndex = __secondChild; | |
20723 | __secondChild = 2 * (__secondChild + 1); | |
20724 | } | |
20725 | if (__secondChild == __len) | |
20726 | { | |
20727 | *(__first + __holeIndex) = *(__first + (__secondChild - 1)); | |
20728 | __holeIndex = __secondChild - 1; | |
20729 | } | |
20730 | std::__push_heap(__first, __holeIndex, __topIndex, __value); | |
20731 | } | |
20732 | ||
20733 | template<typename _RandomAccessIterator, typename _Tp> | |
20734 | inline void | |
20735 | __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, | |
20736 | _RandomAccessIterator __result, _Tp __value) | |
20737 | { | |
20738 | typedef typename iterator_traits<_RandomAccessIterator>::difference_type | |
20739 | _Distance; | |
20740 | *__result = *__first; | |
20741 | std::__adjust_heap(__first, _Distance(0), _Distance(__last - __first), | |
20742 | __value); | |
20743 | } | |
20744 | # 251 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_heap.h" 3 | |
20745 | template<typename _RandomAccessIterator> | |
20746 | inline void | |
20747 | pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) | |
20748 | { | |
20749 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
20750 | _ValueType; | |
20751 | ||
20752 | ||
20753 | ||
20754 | ||
20755 | ||
20756 | ; | |
20757 | ; | |
20758 | ||
20759 | std::__pop_heap(__first, __last - 1, __last - 1, | |
20760 | _ValueType(*(__last - 1))); | |
20761 | } | |
20762 | ||
20763 | template<typename _RandomAccessIterator, typename _Distance, | |
20764 | typename _Tp, typename _Compare> | |
20765 | void | |
20766 | __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, | |
20767 | _Distance __len, _Tp __value, _Compare __comp) | |
20768 | { | |
20769 | const _Distance __topIndex = __holeIndex; | |
20770 | _Distance __secondChild = 2 * __holeIndex + 2; | |
20771 | while (__secondChild < __len) | |
20772 | { | |
20773 | if (__comp(*(__first + __secondChild), | |
20774 | *(__first + (__secondChild - 1)))) | |
20775 | __secondChild--; | |
20776 | *(__first + __holeIndex) = *(__first + __secondChild); | |
20777 | __holeIndex = __secondChild; | |
20778 | __secondChild = 2 * (__secondChild + 1); | |
20779 | } | |
20780 | if (__secondChild == __len) | |
20781 | { | |
20782 | *(__first + __holeIndex) = *(__first + (__secondChild - 1)); | |
20783 | __holeIndex = __secondChild - 1; | |
20784 | } | |
20785 | std::__push_heap(__first, __holeIndex, __topIndex, __value, __comp); | |
20786 | } | |
20787 | ||
20788 | template<typename _RandomAccessIterator, typename _Tp, typename _Compare> | |
20789 | inline void | |
20790 | __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, | |
20791 | _RandomAccessIterator __result, _Tp __value, _Compare __comp) | |
20792 | { | |
20793 | typedef typename iterator_traits<_RandomAccessIterator>::difference_type | |
20794 | _Distance; | |
20795 | *__result = *__first; | |
20796 | std::__adjust_heap(__first, _Distance(0), _Distance(__last - __first), | |
20797 | __value, __comp); | |
20798 | } | |
20799 | # 317 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_heap.h" 3 | |
20800 | template<typename _RandomAccessIterator, typename _Compare> | |
20801 | inline void | |
20802 | pop_heap(_RandomAccessIterator __first, | |
20803 | _RandomAccessIterator __last, _Compare __comp) | |
20804 | { | |
20805 | ||
20806 | ||
20807 | ||
20808 | ; | |
20809 | ; | |
20810 | ||
20811 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
20812 | _ValueType; | |
20813 | std::__pop_heap(__first, __last - 1, __last - 1, | |
20814 | _ValueType(*(__last - 1)), __comp); | |
20815 | } | |
20816 | # 342 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_heap.h" 3 | |
20817 | template<typename _RandomAccessIterator> | |
20818 | void | |
20819 | make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) | |
20820 | { | |
20821 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
20822 | _ValueType; | |
20823 | typedef typename iterator_traits<_RandomAccessIterator>::difference_type | |
20824 | _DistanceType; | |
20825 | ||
20826 | ||
20827 | ||
20828 | ||
20829 | ||
20830 | ; | |
20831 | ||
20832 | if (__last - __first < 2) | |
20833 | return; | |
20834 | ||
20835 | const _DistanceType __len = __last - __first; | |
20836 | _DistanceType __parent = (__len - 2) / 2; | |
20837 | while (true) | |
20838 | { | |
20839 | std::__adjust_heap(__first, __parent, __len, | |
20840 | _ValueType(*(__first + __parent))); | |
20841 | if (__parent == 0) | |
20842 | return; | |
20843 | __parent--; | |
20844 | } | |
20845 | } | |
20846 | # 382 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_heap.h" 3 | |
20847 | template<typename _RandomAccessIterator, typename _Compare> | |
20848 | inline void | |
20849 | make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, | |
20850 | _Compare __comp) | |
20851 | { | |
20852 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
20853 | _ValueType; | |
20854 | typedef typename iterator_traits<_RandomAccessIterator>::difference_type | |
20855 | _DistanceType; | |
20856 | ||
20857 | ||
20858 | ||
20859 | ||
20860 | ; | |
20861 | ||
20862 | if (__last - __first < 2) | |
20863 | return; | |
20864 | ||
20865 | const _DistanceType __len = __last - __first; | |
20866 | _DistanceType __parent = (__len - 2) / 2; | |
20867 | while (true) | |
20868 | { | |
20869 | std::__adjust_heap(__first, __parent, __len, | |
20870 | _ValueType(*(__first + __parent)), __comp); | |
20871 | if (__parent == 0) | |
20872 | return; | |
20873 | __parent--; | |
20874 | } | |
20875 | } | |
20876 | # 420 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_heap.h" 3 | |
20877 | template<typename _RandomAccessIterator> | |
20878 | void | |
20879 | sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) | |
20880 | { | |
20881 | ||
20882 | ||
20883 | ||
20884 | ||
20885 | ||
20886 | ; | |
20887 | ||
20888 | ||
20889 | while (__last - __first > 1) | |
20890 | std::pop_heap(__first, _RandomAccessIterator(__last--)); | |
20891 | } | |
20892 | # 446 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_heap.h" 3 | |
20893 | template<typename _RandomAccessIterator, typename _Compare> | |
20894 | void | |
20895 | sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, | |
20896 | _Compare __comp) | |
20897 | { | |
20898 | ||
20899 | ||
20900 | ||
20901 | ; | |
20902 | ; | |
20903 | ||
20904 | while (__last - __first > 1) | |
20905 | std::pop_heap(__first, _RandomAccessIterator(__last--), __comp); | |
20906 | } | |
20907 | ||
20908 | } | |
20909 | # 66 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 2 3 | |
20910 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_tempbuf.h" 1 3 | |
20911 | # 63 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_tempbuf.h" 3 | |
20912 | #define _TEMPBUF_H 1 | |
20913 | ||
20914 | ||
20915 | ||
20916 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
20917 | # 76 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_tempbuf.h" 3 | |
20918 | template<typename _ForwardIterator, typename _Tp> | |
20919 | class _Temporary_buffer | |
20920 | { | |
20921 | ||
20922 | ||
20923 | ||
20924 | public: | |
20925 | typedef _Tp value_type; | |
20926 | typedef value_type* pointer; | |
20927 | typedef pointer iterator; | |
20928 | typedef ptrdiff_t size_type; | |
20929 | ||
20930 | protected: | |
20931 | size_type _M_original_len; | |
20932 | size_type _M_len; | |
20933 | pointer _M_buffer; | |
20934 | ||
20935 | void | |
20936 | _M_initialize_buffer(const _Tp&, __true_type) { } | |
20937 | ||
20938 | void | |
20939 | _M_initialize_buffer(const _Tp& __val, __false_type) | |
20940 | { std::uninitialized_fill_n(_M_buffer, _M_len, __val); } | |
20941 | ||
20942 | public: | |
20943 | ||
20944 | size_type | |
20945 | size() const | |
20946 | { return _M_len; } | |
20947 | ||
20948 | ||
20949 | size_type | |
20950 | requested_size() const | |
20951 | { return _M_original_len; } | |
20952 | ||
20953 | ||
20954 | iterator | |
20955 | begin() | |
20956 | { return _M_buffer; } | |
20957 | ||
20958 | ||
20959 | iterator | |
20960 | end() | |
20961 | { return _M_buffer + _M_len; } | |
20962 | ||
20963 | ||
20964 | ||
20965 | ||
20966 | ||
20967 | _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last); | |
20968 | ||
20969 | ~_Temporary_buffer() | |
20970 | { | |
20971 | std::_Destroy(_M_buffer, _M_buffer + _M_len); | |
20972 | std::return_temporary_buffer(_M_buffer); | |
20973 | } | |
20974 | ||
20975 | private: | |
20976 | ||
20977 | _Temporary_buffer(const _Temporary_buffer&); | |
20978 | ||
20979 | void | |
20980 | operator=(const _Temporary_buffer&); | |
20981 | }; | |
20982 | ||
20983 | ||
20984 | template<typename _ForwardIterator, typename _Tp> | |
20985 | _Temporary_buffer<_ForwardIterator, _Tp>:: | |
20986 | _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last) | |
20987 | : _M_original_len(std::distance(__first, __last)), | |
20988 | _M_len(0), _M_buffer(0) | |
20989 | { | |
20990 | ||
20991 | typedef typename std::__is_scalar<_Tp>::__type _Trivial; | |
20992 | ||
20993 | try | |
20994 | { | |
20995 | pair<pointer, size_type> __p(get_temporary_buffer< | |
20996 | value_type>(_M_original_len)); | |
20997 | _M_buffer = __p.first; | |
20998 | _M_len = __p.second; | |
20999 | if (_M_len > 0) | |
21000 | _M_initialize_buffer(*__first, _Trivial()); | |
21001 | } | |
21002 | catch(...) | |
21003 | { | |
21004 | std::return_temporary_buffer(_M_buffer); | |
21005 | _M_buffer = 0; | |
21006 | _M_len = 0; | |
21007 | throw; | |
21008 | } | |
21009 | } | |
21010 | ||
21011 | } | |
21012 | # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 2 3 | |
21013 | ||
21014 | ||
21015 | ||
21016 | ||
21017 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
21018 | # 85 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21019 | template<typename _Tp> | |
21020 | inline const _Tp& | |
21021 | __median(const _Tp& __a, const _Tp& __b, const _Tp& __c) | |
21022 | { | |
21023 | ||
21024 | ||
21025 | if (__a < __b) | |
21026 | if (__b < __c) | |
21027 | return __b; | |
21028 | else if (__a < __c) | |
21029 | return __c; | |
21030 | else | |
21031 | return __a; | |
21032 | else if (__a < __c) | |
21033 | return __a; | |
21034 | else if (__b < __c) | |
21035 | return __c; | |
21036 | else | |
21037 | return __b; | |
21038 | } | |
21039 | # 119 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21040 | template<typename _Tp, typename _Compare> | |
21041 | inline const _Tp& | |
21042 | __median(const _Tp& __a, const _Tp& __b, const _Tp& __c, _Compare __comp) | |
21043 | { | |
21044 | ||
21045 | ||
21046 | if (__comp(__a, __b)) | |
21047 | if (__comp(__b, __c)) | |
21048 | return __b; | |
21049 | else if (__comp(__a, __c)) | |
21050 | return __c; | |
21051 | else | |
21052 | return __a; | |
21053 | else if (__comp(__a, __c)) | |
21054 | return __a; | |
21055 | else if (__comp(__b, __c)) | |
21056 | return __c; | |
21057 | else | |
21058 | return __b; | |
21059 | } | |
21060 | # 151 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21061 | template<typename _InputIterator, typename _Function> | |
21062 | _Function | |
21063 | for_each(_InputIterator __first, _InputIterator __last, _Function __f) | |
21064 | { | |
21065 | ||
21066 | ||
21067 | ; | |
21068 | for ( ; __first != __last; ++__first) | |
21069 | __f(*__first); | |
21070 | return __f; | |
21071 | } | |
21072 | ||
21073 | ||
21074 | ||
21075 | ||
21076 | ||
21077 | ||
21078 | template<typename _InputIterator, typename _Tp> | |
21079 | inline _InputIterator | |
21080 | __find(_InputIterator __first, _InputIterator __last, | |
21081 | const _Tp& __val, input_iterator_tag) | |
21082 | { | |
21083 | while (__first != __last && !(*__first == __val)) | |
21084 | ++__first; | |
21085 | return __first; | |
21086 | } | |
21087 | ||
21088 | ||
21089 | ||
21090 | ||
21091 | ||
21092 | ||
21093 | template<typename _InputIterator, typename _Predicate> | |
21094 | inline _InputIterator | |
21095 | __find_if(_InputIterator __first, _InputIterator __last, | |
21096 | _Predicate __pred, input_iterator_tag) | |
21097 | { | |
21098 | while (__first != __last && !__pred(*__first)) | |
21099 | ++__first; | |
21100 | return __first; | |
21101 | } | |
21102 | ||
21103 | ||
21104 | ||
21105 | ||
21106 | ||
21107 | ||
21108 | template<typename _RandomAccessIterator, typename _Tp> | |
21109 | _RandomAccessIterator | |
21110 | __find(_RandomAccessIterator __first, _RandomAccessIterator __last, | |
21111 | const _Tp& __val, random_access_iterator_tag) | |
21112 | { | |
21113 | typename iterator_traits<_RandomAccessIterator>::difference_type | |
21114 | __trip_count = (__last - __first) >> 2; | |
21115 | ||
21116 | for ( ; __trip_count > 0 ; --__trip_count) | |
21117 | { | |
21118 | if (*__first == __val) | |
21119 | return __first; | |
21120 | ++__first; | |
21121 | ||
21122 | if (*__first == __val) | |
21123 | return __first; | |
21124 | ++__first; | |
21125 | ||
21126 | if (*__first == __val) | |
21127 | return __first; | |
21128 | ++__first; | |
21129 | ||
21130 | if (*__first == __val) | |
21131 | return __first; | |
21132 | ++__first; | |
21133 | } | |
21134 | ||
21135 | switch (__last - __first) | |
21136 | { | |
21137 | case 3: | |
21138 | if (*__first == __val) | |
21139 | return __first; | |
21140 | ++__first; | |
21141 | case 2: | |
21142 | if (*__first == __val) | |
21143 | return __first; | |
21144 | ++__first; | |
21145 | case 1: | |
21146 | if (*__first == __val) | |
21147 | return __first; | |
21148 | ++__first; | |
21149 | case 0: | |
21150 | default: | |
21151 | return __last; | |
21152 | } | |
21153 | } | |
21154 | ||
21155 | ||
21156 | ||
21157 | ||
21158 | ||
21159 | ||
21160 | template<typename _RandomAccessIterator, typename _Predicate> | |
21161 | _RandomAccessIterator | |
21162 | __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last, | |
21163 | _Predicate __pred, random_access_iterator_tag) | |
21164 | { | |
21165 | typename iterator_traits<_RandomAccessIterator>::difference_type | |
21166 | __trip_count = (__last - __first) >> 2; | |
21167 | ||
21168 | for ( ; __trip_count > 0 ; --__trip_count) | |
21169 | { | |
21170 | if (__pred(*__first)) | |
21171 | return __first; | |
21172 | ++__first; | |
21173 | ||
21174 | if (__pred(*__first)) | |
21175 | return __first; | |
21176 | ++__first; | |
21177 | ||
21178 | if (__pred(*__first)) | |
21179 | return __first; | |
21180 | ++__first; | |
21181 | ||
21182 | if (__pred(*__first)) | |
21183 | return __first; | |
21184 | ++__first; | |
21185 | } | |
21186 | ||
21187 | switch (__last - __first) | |
21188 | { | |
21189 | case 3: | |
21190 | if (__pred(*__first)) | |
21191 | return __first; | |
21192 | ++__first; | |
21193 | case 2: | |
21194 | if (__pred(*__first)) | |
21195 | return __first; | |
21196 | ++__first; | |
21197 | case 1: | |
21198 | if (__pred(*__first)) | |
21199 | return __first; | |
21200 | ++__first; | |
21201 | case 0: | |
21202 | default: | |
21203 | return __last; | |
21204 | } | |
21205 | } | |
21206 | ||
21207 | ||
21208 | ||
21209 | ||
21210 | ||
21211 | ||
21212 | template<typename _CharT> | |
21213 | typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, | |
21214 | istreambuf_iterator<_CharT> >::__type | |
21215 | find(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>, | |
21216 | const _CharT&); | |
21217 | # 316 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21218 | template<typename _InputIterator, typename _Tp> | |
21219 | inline _InputIterator | |
21220 | find(_InputIterator __first, _InputIterator __last, | |
21221 | const _Tp& __val) | |
21222 | { | |
21223 | ||
21224 | ||
21225 | ||
21226 | ||
21227 | ; | |
21228 | return std::__find(__first, __last, __val, | |
21229 | std::__iterator_category(__first)); | |
21230 | } | |
21231 | # 338 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21232 | template<typename _InputIterator, typename _Predicate> | |
21233 | inline _InputIterator | |
21234 | find_if(_InputIterator __first, _InputIterator __last, | |
21235 | _Predicate __pred) | |
21236 | { | |
21237 | ||
21238 | ||
21239 | ||
21240 | ||
21241 | ; | |
21242 | return std::__find_if(__first, __last, __pred, | |
21243 | std::__iterator_category(__first)); | |
21244 | } | |
21245 | # 360 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21246 | template<typename _ForwardIterator> | |
21247 | _ForwardIterator | |
21248 | adjacent_find(_ForwardIterator __first, _ForwardIterator __last) | |
21249 | { | |
21250 | ||
21251 | ||
21252 | ||
21253 | ||
21254 | ; | |
21255 | if (__first == __last) | |
21256 | return __last; | |
21257 | _ForwardIterator __next = __first; | |
21258 | while(++__next != __last) | |
21259 | { | |
21260 | if (*__first == *__next) | |
21261 | return __first; | |
21262 | __first = __next; | |
21263 | } | |
21264 | return __last; | |
21265 | } | |
21266 | # 391 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21267 | template<typename _ForwardIterator, typename _BinaryPredicate> | |
21268 | _ForwardIterator | |
21269 | adjacent_find(_ForwardIterator __first, _ForwardIterator __last, | |
21270 | _BinaryPredicate __binary_pred) | |
21271 | { | |
21272 | ||
21273 | ||
21274 | ||
21275 | ||
21276 | ||
21277 | ; | |
21278 | if (__first == __last) | |
21279 | return __last; | |
21280 | _ForwardIterator __next = __first; | |
21281 | while(++__next != __last) | |
21282 | { | |
21283 | if (__binary_pred(*__first, *__next)) | |
21284 | return __first; | |
21285 | __first = __next; | |
21286 | } | |
21287 | return __last; | |
21288 | } | |
21289 | # 422 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21290 | template<typename _InputIterator, typename _Tp> | |
21291 | typename iterator_traits<_InputIterator>::difference_type | |
21292 | count(_InputIterator __first, _InputIterator __last, const _Tp& __value) | |
21293 | { | |
21294 | ||
21295 | ||
21296 | ||
21297 | ||
21298 | ; | |
21299 | typename iterator_traits<_InputIterator>::difference_type __n = 0; | |
21300 | for ( ; __first != __last; ++__first) | |
21301 | if (*__first == __value) | |
21302 | ++__n; | |
21303 | return __n; | |
21304 | } | |
21305 | # 446 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21306 | template<typename _InputIterator, typename _Predicate> | |
21307 | typename iterator_traits<_InputIterator>::difference_type | |
21308 | count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) | |
21309 | { | |
21310 | ||
21311 | ||
21312 | ||
21313 | ||
21314 | ; | |
21315 | typename iterator_traits<_InputIterator>::difference_type __n = 0; | |
21316 | for ( ; __first != __last; ++__first) | |
21317 | if (__pred(*__first)) | |
21318 | ++__n; | |
21319 | return __n; | |
21320 | } | |
21321 | # 485 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21322 | template<typename _ForwardIterator1, typename _ForwardIterator2> | |
21323 | _ForwardIterator1 | |
21324 | search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, | |
21325 | _ForwardIterator2 __first2, _ForwardIterator2 __last2) | |
21326 | { | |
21327 | ||
21328 | ||
21329 | ||
21330 | ||
21331 | ||
21332 | ||
21333 | ; | |
21334 | ; | |
21335 | ||
21336 | if (__first1 == __last1 || __first2 == __last2) | |
21337 | return __first1; | |
21338 | ||
21339 | ||
21340 | _ForwardIterator2 __tmp(__first2); | |
21341 | ++__tmp; | |
21342 | if (__tmp == __last2) | |
21343 | return std::find(__first1, __last1, *__first2); | |
21344 | ||
21345 | ||
21346 | _ForwardIterator2 __p1, __p; | |
21347 | __p1 = __first2; ++__p1; | |
21348 | _ForwardIterator1 __current = __first1; | |
21349 | ||
21350 | while (__first1 != __last1) | |
21351 | { | |
21352 | __first1 = std::find(__first1, __last1, *__first2); | |
21353 | if (__first1 == __last1) | |
21354 | return __last1; | |
21355 | ||
21356 | __p = __p1; | |
21357 | __current = __first1; | |
21358 | if (++__current == __last1) | |
21359 | return __last1; | |
21360 | ||
21361 | while (*__current == *__p) | |
21362 | { | |
21363 | if (++__p == __last2) | |
21364 | return __first1; | |
21365 | if (++__current == __last1) | |
21366 | return __last1; | |
21367 | } | |
21368 | ++__first1; | |
21369 | } | |
21370 | return __first1; | |
21371 | } | |
21372 | # 556 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21373 | template<typename _ForwardIterator1, typename _ForwardIterator2, | |
21374 | typename _BinaryPredicate> | |
21375 | _ForwardIterator1 | |
21376 | search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, | |
21377 | _ForwardIterator2 __first2, _ForwardIterator2 __last2, | |
21378 | _BinaryPredicate __predicate) | |
21379 | { | |
21380 | ||
21381 | ||
21382 | ||
21383 | ||
21384 | ||
21385 | ||
21386 | ; | |
21387 | ; | |
21388 | ||
21389 | ||
21390 | if (__first1 == __last1 || __first2 == __last2) | |
21391 | return __first1; | |
21392 | ||
21393 | ||
21394 | _ForwardIterator2 __tmp(__first2); | |
21395 | ++__tmp; | |
21396 | if (__tmp == __last2) | |
21397 | { | |
21398 | while (__first1 != __last1 && !__predicate(*__first1, *__first2)) | |
21399 | ++__first1; | |
21400 | return __first1; | |
21401 | } | |
21402 | ||
21403 | ||
21404 | _ForwardIterator2 __p1, __p; | |
21405 | __p1 = __first2; ++__p1; | |
21406 | _ForwardIterator1 __current = __first1; | |
21407 | ||
21408 | while (__first1 != __last1) | |
21409 | { | |
21410 | while (__first1 != __last1) | |
21411 | { | |
21412 | if (__predicate(*__first1, *__first2)) | |
21413 | break; | |
21414 | ++__first1; | |
21415 | } | |
21416 | while (__first1 != __last1 && !__predicate(*__first1, *__first2)) | |
21417 | ++__first1; | |
21418 | if (__first1 == __last1) | |
21419 | return __last1; | |
21420 | ||
21421 | __p = __p1; | |
21422 | __current = __first1; | |
21423 | if (++__current == __last1) | |
21424 | return __last1; | |
21425 | ||
21426 | while (__predicate(*__current, *__p)) | |
21427 | { | |
21428 | if (++__p == __last2) | |
21429 | return __first1; | |
21430 | if (++__current == __last1) | |
21431 | return __last1; | |
21432 | } | |
21433 | ++__first1; | |
21434 | } | |
21435 | return __first1; | |
21436 | } | |
21437 | # 628 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21438 | template<typename _ForwardIterator, typename _Integer, typename _Tp> | |
21439 | _ForwardIterator | |
21440 | __search_n(_ForwardIterator __first, _ForwardIterator __last, | |
21441 | _Integer __count, const _Tp& __val, | |
21442 | std::forward_iterator_tag) | |
21443 | { | |
21444 | __first = std::find(__first, __last, __val); | |
21445 | while (__first != __last) | |
21446 | { | |
21447 | typename iterator_traits<_ForwardIterator>::difference_type | |
21448 | __n = __count; | |
21449 | _ForwardIterator __i = __first; | |
21450 | ++__i; | |
21451 | while (__i != __last && __n != 1 && *__i == __val) | |
21452 | { | |
21453 | ++__i; | |
21454 | --__n; | |
21455 | } | |
21456 | if (__n == 1) | |
21457 | return __first; | |
21458 | if (__i == __last) | |
21459 | return __last; | |
21460 | __first = std::find(++__i, __last, __val); | |
21461 | } | |
21462 | return __last; | |
21463 | } | |
21464 | # 662 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21465 | template<typename _RandomAccessIter, typename _Integer, typename _Tp> | |
21466 | _RandomAccessIter | |
21467 | __search_n(_RandomAccessIter __first, _RandomAccessIter __last, | |
21468 | _Integer __count, const _Tp& __val, | |
21469 | std::random_access_iterator_tag) | |
21470 | { | |
21471 | ||
21472 | typedef typename std::iterator_traits<_RandomAccessIter>::difference_type | |
21473 | _DistanceType; | |
21474 | ||
21475 | _DistanceType __tailSize = __last - __first; | |
21476 | const _DistanceType __pattSize = __count; | |
21477 | ||
21478 | if (__tailSize < __pattSize) | |
21479 | return __last; | |
21480 | ||
21481 | const _DistanceType __skipOffset = __pattSize - 1; | |
21482 | _RandomAccessIter __lookAhead = __first + __skipOffset; | |
21483 | __tailSize -= __pattSize; | |
21484 | ||
21485 | while (1) | |
21486 | { | |
21487 | ||
21488 | ||
21489 | while (!(*__lookAhead == __val)) | |
21490 | { | |
21491 | if (__tailSize < __pattSize) | |
21492 | return __last; | |
21493 | __lookAhead += __pattSize; | |
21494 | __tailSize -= __pattSize; | |
21495 | } | |
21496 | _DistanceType __remainder = __skipOffset; | |
21497 | for (_RandomAccessIter __backTrack = __lookAhead - 1; | |
21498 | *__backTrack == __val; --__backTrack) | |
21499 | { | |
21500 | if (--__remainder == 0) | |
21501 | return (__lookAhead - __skipOffset); | |
21502 | } | |
21503 | if (__remainder > __tailSize) | |
21504 | return __last; | |
21505 | __lookAhead += __remainder; | |
21506 | __tailSize -= __remainder; | |
21507 | } | |
21508 | } | |
21509 | # 720 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21510 | template<typename _ForwardIterator, typename _Integer, typename _Tp> | |
21511 | _ForwardIterator | |
21512 | search_n(_ForwardIterator __first, _ForwardIterator __last, | |
21513 | _Integer __count, const _Tp& __val) | |
21514 | { | |
21515 | ||
21516 | ||
21517 | ||
21518 | ||
21519 | ; | |
21520 | ||
21521 | if (__count <= 0) | |
21522 | return __first; | |
21523 | if (__count == 1) | |
21524 | return std::find(__first, __last, __val); | |
21525 | return std::__search_n(__first, __last, __count, __val, | |
21526 | std::__iterator_category(__first)); | |
21527 | } | |
21528 | # 747 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21529 | template<typename _ForwardIterator, typename _Integer, typename _Tp, | |
21530 | typename _BinaryPredicate> | |
21531 | _ForwardIterator | |
21532 | __search_n(_ForwardIterator __first, _ForwardIterator __last, | |
21533 | _Integer __count, const _Tp& __val, | |
21534 | _BinaryPredicate __binary_pred, std::forward_iterator_tag) | |
21535 | { | |
21536 | while (__first != __last && !__binary_pred(*__first, __val)) | |
21537 | ++__first; | |
21538 | ||
21539 | while (__first != __last) | |
21540 | { | |
21541 | typename iterator_traits<_ForwardIterator>::difference_type | |
21542 | __n = __count; | |
21543 | _ForwardIterator __i = __first; | |
21544 | ++__i; | |
21545 | while (__i != __last && __n != 1 && __binary_pred(*__i, __val)) | |
21546 | { | |
21547 | ++__i; | |
21548 | --__n; | |
21549 | } | |
21550 | if (__n == 1) | |
21551 | return __first; | |
21552 | if (__i == __last) | |
21553 | return __last; | |
21554 | __first = ++__i; | |
21555 | while (__first != __last && !__binary_pred(*__first, __val)) | |
21556 | ++__first; | |
21557 | } | |
21558 | return __last; | |
21559 | } | |
21560 | # 787 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21561 | template<typename _RandomAccessIter, typename _Integer, typename _Tp, | |
21562 | typename _BinaryPredicate> | |
21563 | _RandomAccessIter | |
21564 | __search_n(_RandomAccessIter __first, _RandomAccessIter __last, | |
21565 | _Integer __count, const _Tp& __val, | |
21566 | _BinaryPredicate __binary_pred, std::random_access_iterator_tag) | |
21567 | { | |
21568 | ||
21569 | typedef typename std::iterator_traits<_RandomAccessIter>::difference_type | |
21570 | _DistanceType; | |
21571 | ||
21572 | _DistanceType __tailSize = __last - __first; | |
21573 | const _DistanceType __pattSize = __count; | |
21574 | ||
21575 | if (__tailSize < __pattSize) | |
21576 | return __last; | |
21577 | ||
21578 | const _DistanceType __skipOffset = __pattSize - 1; | |
21579 | _RandomAccessIter __lookAhead = __first + __skipOffset; | |
21580 | __tailSize -= __pattSize; | |
21581 | ||
21582 | while (1) | |
21583 | { | |
21584 | ||
21585 | ||
21586 | while (!__binary_pred(*__lookAhead, __val)) | |
21587 | { | |
21588 | if (__tailSize < __pattSize) | |
21589 | return __last; | |
21590 | __lookAhead += __pattSize; | |
21591 | __tailSize -= __pattSize; | |
21592 | } | |
21593 | _DistanceType __remainder = __skipOffset; | |
21594 | for (_RandomAccessIter __backTrack = __lookAhead - 1; | |
21595 | __binary_pred(*__backTrack, __val); --__backTrack) | |
21596 | { | |
21597 | if (--__remainder == 0) | |
21598 | return (__lookAhead - __skipOffset); | |
21599 | } | |
21600 | if (__remainder > __tailSize) | |
21601 | return __last; | |
21602 | __lookAhead += __remainder; | |
21603 | __tailSize -= __remainder; | |
21604 | } | |
21605 | } | |
21606 | # 848 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21607 | template<typename _ForwardIterator, typename _Integer, typename _Tp, | |
21608 | typename _BinaryPredicate> | |
21609 | _ForwardIterator | |
21610 | search_n(_ForwardIterator __first, _ForwardIterator __last, | |
21611 | _Integer __count, const _Tp& __val, | |
21612 | _BinaryPredicate __binary_pred) | |
21613 | { | |
21614 | ||
21615 | ||
21616 | ||
21617 | ||
21618 | ; | |
21619 | ||
21620 | if (__count <= 0) | |
21621 | return __first; | |
21622 | if (__count == 1) | |
21623 | { | |
21624 | while (__first != __last && !__binary_pred(*__first, __val)) | |
21625 | ++__first; | |
21626 | return __first; | |
21627 | } | |
21628 | return std::__search_n(__first, __last, __count, __val, __binary_pred, | |
21629 | std::__iterator_category(__first)); | |
21630 | } | |
21631 | # 884 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21632 | template<typename _ForwardIterator1, typename _ForwardIterator2> | |
21633 | _ForwardIterator2 | |
21634 | swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, | |
21635 | _ForwardIterator2 __first2) | |
21636 | { | |
21637 | ||
21638 | ||
21639 | ||
21640 | ||
21641 | ||
21642 | ||
21643 | ||
21644 | ||
21645 | ||
21646 | ||
21647 | ||
21648 | ; | |
21649 | ||
21650 | for ( ; __first1 != __last1; ++__first1, ++__first2) | |
21651 | std::iter_swap(__first1, __first2); | |
21652 | return __first2; | |
21653 | } | |
21654 | # 922 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21655 | template<typename _InputIterator, typename _OutputIterator, | |
21656 | typename _UnaryOperation> | |
21657 | _OutputIterator | |
21658 | transform(_InputIterator __first, _InputIterator __last, | |
21659 | _OutputIterator __result, _UnaryOperation __unary_op) | |
21660 | { | |
21661 | ||
21662 | ||
21663 | ||
21664 | ||
21665 | ||
21666 | ; | |
21667 | ||
21668 | for ( ; __first != __last; ++__first, ++__result) | |
21669 | *__result = __unary_op(*__first); | |
21670 | return __result; | |
21671 | } | |
21672 | # 957 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21673 | template<typename _InputIterator1, typename _InputIterator2, | |
21674 | typename _OutputIterator, typename _BinaryOperation> | |
21675 | _OutputIterator | |
21676 | transform(_InputIterator1 __first1, _InputIterator1 __last1, | |
21677 | _InputIterator2 __first2, _OutputIterator __result, | |
21678 | _BinaryOperation __binary_op) | |
21679 | { | |
21680 | ||
21681 | ||
21682 | ||
21683 | ||
21684 | ||
21685 | ||
21686 | ; | |
21687 | ||
21688 | for ( ; __first1 != __last1; ++__first1, ++__first2, ++__result) | |
21689 | *__result = __binary_op(*__first1, *__first2); | |
21690 | return __result; | |
21691 | } | |
21692 | # 989 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21693 | template<typename _ForwardIterator, typename _Tp> | |
21694 | void | |
21695 | replace(_ForwardIterator __first, _ForwardIterator __last, | |
21696 | const _Tp& __old_value, const _Tp& __new_value) | |
21697 | { | |
21698 | ||
21699 | ||
21700 | ||
21701 | ||
21702 | ||
21703 | ||
21704 | ||
21705 | ; | |
21706 | ||
21707 | for ( ; __first != __last; ++__first) | |
21708 | if (*__first == __old_value) | |
21709 | *__first = __new_value; | |
21710 | } | |
21711 | # 1020 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21712 | template<typename _ForwardIterator, typename _Predicate, typename _Tp> | |
21713 | void | |
21714 | replace_if(_ForwardIterator __first, _ForwardIterator __last, | |
21715 | _Predicate __pred, const _Tp& __new_value) | |
21716 | { | |
21717 | ||
21718 | ||
21719 | ||
21720 | ||
21721 | ||
21722 | ||
21723 | ||
21724 | ; | |
21725 | ||
21726 | for ( ; __first != __last; ++__first) | |
21727 | if (__pred(*__first)) | |
21728 | *__first = __new_value; | |
21729 | } | |
21730 | # 1053 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21731 | template<typename _InputIterator, typename _OutputIterator, typename _Tp> | |
21732 | _OutputIterator | |
21733 | replace_copy(_InputIterator __first, _InputIterator __last, | |
21734 | _OutputIterator __result, | |
21735 | const _Tp& __old_value, const _Tp& __new_value) | |
21736 | { | |
21737 | ||
21738 | ||
21739 | ||
21740 | ||
21741 | ||
21742 | ||
21743 | ; | |
21744 | ||
21745 | for ( ; __first != __last; ++__first, ++__result) | |
21746 | if (*__first == __old_value) | |
21747 | *__result = __new_value; | |
21748 | else | |
21749 | *__result = *__first; | |
21750 | return __result; | |
21751 | } | |
21752 | # 1089 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21753 | template<typename _InputIterator, typename _OutputIterator, | |
21754 | typename _Predicate, typename _Tp> | |
21755 | _OutputIterator | |
21756 | replace_copy_if(_InputIterator __first, _InputIterator __last, | |
21757 | _OutputIterator __result, | |
21758 | _Predicate __pred, const _Tp& __new_value) | |
21759 | { | |
21760 | ||
21761 | ||
21762 | ||
21763 | ||
21764 | ||
21765 | ||
21766 | ; | |
21767 | ||
21768 | for ( ; __first != __last; ++__first, ++__result) | |
21769 | if (__pred(*__first)) | |
21770 | *__result = __new_value; | |
21771 | else | |
21772 | *__result = *__first; | |
21773 | return __result; | |
21774 | } | |
21775 | # 1123 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21776 | template<typename _ForwardIterator, typename _Generator> | |
21777 | void | |
21778 | generate(_ForwardIterator __first, _ForwardIterator __last, | |
21779 | _Generator __gen) | |
21780 | { | |
21781 | ||
21782 | ||
21783 | ||
21784 | ||
21785 | ; | |
21786 | ||
21787 | for ( ; __first != __last; ++__first) | |
21788 | *__first = __gen(); | |
21789 | } | |
21790 | # 1149 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21791 | template<typename _OutputIterator, typename _Size, typename _Generator> | |
21792 | _OutputIterator | |
21793 | generate_n(_OutputIterator __first, _Size __n, _Generator __gen) | |
21794 | { | |
21795 | ||
21796 | ||
21797 | ||
21798 | ||
21799 | ||
21800 | for ( ; __n > 0; --__n, ++__first) | |
21801 | *__first = __gen(); | |
21802 | return __first; | |
21803 | } | |
21804 | # 1176 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21805 | template<typename _InputIterator, typename _OutputIterator, typename _Tp> | |
21806 | _OutputIterator | |
21807 | remove_copy(_InputIterator __first, _InputIterator __last, | |
21808 | _OutputIterator __result, const _Tp& __value) | |
21809 | { | |
21810 | ||
21811 | ||
21812 | ||
21813 | ||
21814 | ||
21815 | ||
21816 | ; | |
21817 | ||
21818 | for ( ; __first != __last; ++__first) | |
21819 | if (!(*__first == __value)) | |
21820 | { | |
21821 | *__result = *__first; | |
21822 | ++__result; | |
21823 | } | |
21824 | return __result; | |
21825 | } | |
21826 | # 1212 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21827 | template<typename _InputIterator, typename _OutputIterator, | |
21828 | typename _Predicate> | |
21829 | _OutputIterator | |
21830 | remove_copy_if(_InputIterator __first, _InputIterator __last, | |
21831 | _OutputIterator __result, _Predicate __pred) | |
21832 | { | |
21833 | ||
21834 | ||
21835 | ||
21836 | ||
21837 | ||
21838 | ||
21839 | ; | |
21840 | ||
21841 | for ( ; __first != __last; ++__first) | |
21842 | if (!__pred(*__first)) | |
21843 | { | |
21844 | *__result = *__first; | |
21845 | ++__result; | |
21846 | } | |
21847 | return __result; | |
21848 | } | |
21849 | # 1251 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21850 | template<typename _ForwardIterator, typename _Tp> | |
21851 | _ForwardIterator | |
21852 | remove(_ForwardIterator __first, _ForwardIterator __last, | |
21853 | const _Tp& __value) | |
21854 | { | |
21855 | ||
21856 | ||
21857 | ||
21858 | ||
21859 | ||
21860 | ; | |
21861 | ||
21862 | __first = std::find(__first, __last, __value); | |
21863 | _ForwardIterator __i = __first; | |
21864 | return __first == __last ? __first | |
21865 | : std::remove_copy(++__i, __last, | |
21866 | __first, __value); | |
21867 | } | |
21868 | # 1286 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21869 | template<typename _ForwardIterator, typename _Predicate> | |
21870 | _ForwardIterator | |
21871 | remove_if(_ForwardIterator __first, _ForwardIterator __last, | |
21872 | _Predicate __pred) | |
21873 | { | |
21874 | ||
21875 | ||
21876 | ||
21877 | ||
21878 | ||
21879 | ; | |
21880 | ||
21881 | __first = std::find_if(__first, __last, __pred); | |
21882 | _ForwardIterator __i = __first; | |
21883 | return __first == __last ? __first | |
21884 | : std::remove_copy_if(++__i, __last, | |
21885 | __first, __pred); | |
21886 | } | |
21887 | # 1312 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21888 | template<typename _ForwardIterator, typename _OutputIterator> | |
21889 | _OutputIterator | |
21890 | __unique_copy(_ForwardIterator __first, _ForwardIterator __last, | |
21891 | _OutputIterator __result, | |
21892 | forward_iterator_tag, output_iterator_tag) | |
21893 | { | |
21894 | ||
21895 | _ForwardIterator __next = __first; | |
21896 | *__result = *__first; | |
21897 | while (++__next != __last) | |
21898 | if (!(*__first == *__next)) | |
21899 | { | |
21900 | __first = __next; | |
21901 | *++__result = *__first; | |
21902 | } | |
21903 | return ++__result; | |
21904 | } | |
21905 | # 1337 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21906 | template<typename _InputIterator, typename _OutputIterator> | |
21907 | _OutputIterator | |
21908 | __unique_copy(_InputIterator __first, _InputIterator __last, | |
21909 | _OutputIterator __result, | |
21910 | input_iterator_tag, output_iterator_tag) | |
21911 | { | |
21912 | ||
21913 | typename iterator_traits<_InputIterator>::value_type __value = *__first; | |
21914 | *__result = __value; | |
21915 | while (++__first != __last) | |
21916 | if (!(__value == *__first)) | |
21917 | { | |
21918 | __value = *__first; | |
21919 | *++__result = __value; | |
21920 | } | |
21921 | return ++__result; | |
21922 | } | |
21923 | # 1362 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21924 | template<typename _InputIterator, typename _ForwardIterator> | |
21925 | _ForwardIterator | |
21926 | __unique_copy(_InputIterator __first, _InputIterator __last, | |
21927 | _ForwardIterator __result, | |
21928 | input_iterator_tag, forward_iterator_tag) | |
21929 | { | |
21930 | ||
21931 | *__result = *__first; | |
21932 | while (++__first != __last) | |
21933 | if (!(*__result == *__first)) | |
21934 | *++__result = *__first; | |
21935 | return ++__result; | |
21936 | } | |
21937 | # 1384 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21938 | template<typename _ForwardIterator, typename _OutputIterator, | |
21939 | typename _BinaryPredicate> | |
21940 | _OutputIterator | |
21941 | __unique_copy(_ForwardIterator __first, _ForwardIterator __last, | |
21942 | _OutputIterator __result, _BinaryPredicate __binary_pred, | |
21943 | forward_iterator_tag, output_iterator_tag) | |
21944 | { | |
21945 | ||
21946 | ||
21947 | ||
21948 | ||
21949 | ||
21950 | _ForwardIterator __next = __first; | |
21951 | *__result = *__first; | |
21952 | while (++__next != __last) | |
21953 | if (!__binary_pred(*__first, *__next)) | |
21954 | { | |
21955 | __first = __next; | |
21956 | *++__result = *__first; | |
21957 | } | |
21958 | return ++__result; | |
21959 | } | |
21960 | # 1415 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21961 | template<typename _InputIterator, typename _OutputIterator, | |
21962 | typename _BinaryPredicate> | |
21963 | _OutputIterator | |
21964 | __unique_copy(_InputIterator __first, _InputIterator __last, | |
21965 | _OutputIterator __result, _BinaryPredicate __binary_pred, | |
21966 | input_iterator_tag, output_iterator_tag) | |
21967 | { | |
21968 | ||
21969 | ||
21970 | ||
21971 | ||
21972 | ||
21973 | typename iterator_traits<_InputIterator>::value_type __value = *__first; | |
21974 | *__result = __value; | |
21975 | while (++__first != __last) | |
21976 | if (!__binary_pred(__value, *__first)) | |
21977 | { | |
21978 | __value = *__first; | |
21979 | *++__result = __value; | |
21980 | } | |
21981 | return ++__result; | |
21982 | } | |
21983 | # 1446 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
21984 | template<typename _InputIterator, typename _ForwardIterator, | |
21985 | typename _BinaryPredicate> | |
21986 | _ForwardIterator | |
21987 | __unique_copy(_InputIterator __first, _InputIterator __last, | |
21988 | _ForwardIterator __result, _BinaryPredicate __binary_pred, | |
21989 | input_iterator_tag, forward_iterator_tag) | |
21990 | { | |
21991 | ||
21992 | ||
21993 | ||
21994 | ||
21995 | ||
21996 | *__result = *__first; | |
21997 | while (++__first != __last) | |
21998 | if (!__binary_pred(*__result, *__first)) | |
21999 | *++__result = *__first; | |
22000 | return ++__result; | |
22001 | } | |
22002 | # 1487 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22003 | template<typename _InputIterator, typename _OutputIterator> | |
22004 | inline _OutputIterator | |
22005 | unique_copy(_InputIterator __first, _InputIterator __last, | |
22006 | _OutputIterator __result) | |
22007 | { | |
22008 | ||
22009 | ||
22010 | ||
22011 | ||
22012 | ||
22013 | ||
22014 | ; | |
22015 | ||
22016 | if (__first == __last) | |
22017 | return __result; | |
22018 | return std::__unique_copy(__first, __last, __result, | |
22019 | std::__iterator_category(__first), | |
22020 | std::__iterator_category(__result)); | |
22021 | } | |
22022 | # 1527 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22023 | template<typename _InputIterator, typename _OutputIterator, | |
22024 | typename _BinaryPredicate> | |
22025 | inline _OutputIterator | |
22026 | unique_copy(_InputIterator __first, _InputIterator __last, | |
22027 | _OutputIterator __result, | |
22028 | _BinaryPredicate __binary_pred) | |
22029 | { | |
22030 | ||
22031 | ||
22032 | ||
22033 | ||
22034 | ; | |
22035 | ||
22036 | if (__first == __last) | |
22037 | return __result; | |
22038 | return std::__unique_copy(__first, __last, __result, __binary_pred, | |
22039 | std::__iterator_category(__first), | |
22040 | std::__iterator_category(__result)); | |
22041 | } | |
22042 | # 1560 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22043 | template<typename _ForwardIterator> | |
22044 | _ForwardIterator | |
22045 | unique(_ForwardIterator __first, _ForwardIterator __last) | |
22046 | { | |
22047 | ||
22048 | ||
22049 | ||
22050 | ||
22051 | ||
22052 | ; | |
22053 | ||
22054 | ||
22055 | __first = std::adjacent_find(__first, __last); | |
22056 | if (__first == __last) | |
22057 | return __last; | |
22058 | ||
22059 | ||
22060 | _ForwardIterator __dest = __first; | |
22061 | ++__first; | |
22062 | while (++__first != __last) | |
22063 | if (!(*__dest == *__first)) | |
22064 | *++__dest = *__first; | |
22065 | return ++__dest; | |
22066 | } | |
22067 | # 1599 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22068 | template<typename _ForwardIterator, typename _BinaryPredicate> | |
22069 | _ForwardIterator | |
22070 | unique(_ForwardIterator __first, _ForwardIterator __last, | |
22071 | _BinaryPredicate __binary_pred) | |
22072 | { | |
22073 | ||
22074 | ||
22075 | ||
22076 | ||
22077 | ||
22078 | ||
22079 | ; | |
22080 | ||
22081 | ||
22082 | __first = std::adjacent_find(__first, __last, __binary_pred); | |
22083 | if (__first == __last) | |
22084 | return __last; | |
22085 | ||
22086 | ||
22087 | _ForwardIterator __dest = __first; | |
22088 | ++__first; | |
22089 | while (++__first != __last) | |
22090 | if (!__binary_pred(*__dest, *__first)) | |
22091 | *++__dest = *__first; | |
22092 | return ++__dest; | |
22093 | } | |
22094 | # 1633 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22095 | template<typename _BidirectionalIterator> | |
22096 | void | |
22097 | __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last, | |
22098 | bidirectional_iterator_tag) | |
22099 | { | |
22100 | while (true) | |
22101 | if (__first == __last || __first == --__last) | |
22102 | return; | |
22103 | else | |
22104 | { | |
22105 | std::iter_swap(__first, __last); | |
22106 | ++__first; | |
22107 | } | |
22108 | } | |
22109 | # 1655 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22110 | template<typename _RandomAccessIterator> | |
22111 | void | |
22112 | __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last, | |
22113 | random_access_iterator_tag) | |
22114 | { | |
22115 | if (__first == __last) | |
22116 | return; | |
22117 | --__last; | |
22118 | while (__first < __last) | |
22119 | { | |
22120 | std::iter_swap(__first, __last); | |
22121 | ++__first; | |
22122 | --__last; | |
22123 | } | |
22124 | } | |
22125 | # 1682 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22126 | template<typename _BidirectionalIterator> | |
22127 | inline void | |
22128 | reverse(_BidirectionalIterator __first, _BidirectionalIterator __last) | |
22129 | { | |
22130 | ||
22131 | ||
22132 | ||
22133 | ; | |
22134 | std::__reverse(__first, __last, std::__iterator_category(__first)); | |
22135 | } | |
22136 | # 1708 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22137 | template<typename _BidirectionalIterator, typename _OutputIterator> | |
22138 | _OutputIterator | |
22139 | reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last, | |
22140 | _OutputIterator __result) | |
22141 | { | |
22142 | ||
22143 | ||
22144 | ||
22145 | ||
22146 | ||
22147 | ; | |
22148 | ||
22149 | while (__first != __last) | |
22150 | { | |
22151 | --__last; | |
22152 | *__result = *__last; | |
22153 | ++__result; | |
22154 | } | |
22155 | return __result; | |
22156 | } | |
22157 | # 1736 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22158 | template<typename _EuclideanRingElement> | |
22159 | _EuclideanRingElement | |
22160 | __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n) | |
22161 | { | |
22162 | while (__n != 0) | |
22163 | { | |
22164 | _EuclideanRingElement __t = __m % __n; | |
22165 | __m = __n; | |
22166 | __n = __t; | |
22167 | } | |
22168 | return __m; | |
22169 | } | |
22170 | ||
22171 | ||
22172 | ||
22173 | ||
22174 | ||
22175 | ||
22176 | template<typename _ForwardIterator> | |
22177 | void | |
22178 | __rotate(_ForwardIterator __first, | |
22179 | _ForwardIterator __middle, | |
22180 | _ForwardIterator __last, | |
22181 | forward_iterator_tag) | |
22182 | { | |
22183 | if (__first == __middle || __last == __middle) | |
22184 | return; | |
22185 | ||
22186 | _ForwardIterator __first2 = __middle; | |
22187 | do | |
22188 | { | |
22189 | swap(*__first, *__first2); | |
22190 | ++__first; | |
22191 | ++__first2; | |
22192 | if (__first == __middle) | |
22193 | __middle = __first2; | |
22194 | } | |
22195 | while (__first2 != __last); | |
22196 | ||
22197 | __first2 = __middle; | |
22198 | ||
22199 | while (__first2 != __last) | |
22200 | { | |
22201 | swap(*__first, *__first2); | |
22202 | ++__first; | |
22203 | ++__first2; | |
22204 | if (__first == __middle) | |
22205 | __middle = __first2; | |
22206 | else if (__first2 == __last) | |
22207 | __first2 = __middle; | |
22208 | } | |
22209 | } | |
22210 | ||
22211 | ||
22212 | ||
22213 | ||
22214 | ||
22215 | ||
22216 | template<typename _BidirectionalIterator> | |
22217 | void | |
22218 | __rotate(_BidirectionalIterator __first, | |
22219 | _BidirectionalIterator __middle, | |
22220 | _BidirectionalIterator __last, | |
22221 | bidirectional_iterator_tag) | |
22222 | { | |
22223 | ||
22224 | ||
22225 | ||
22226 | ||
22227 | if (__first == __middle || __last == __middle) | |
22228 | return; | |
22229 | ||
22230 | std::__reverse(__first, __middle, bidirectional_iterator_tag()); | |
22231 | std::__reverse(__middle, __last, bidirectional_iterator_tag()); | |
22232 | ||
22233 | while (__first != __middle && __middle != __last) | |
22234 | { | |
22235 | swap(*__first, *--__last); | |
22236 | ++__first; | |
22237 | } | |
22238 | ||
22239 | if (__first == __middle) | |
22240 | std::__reverse(__middle, __last, bidirectional_iterator_tag()); | |
22241 | else | |
22242 | std::__reverse(__first, __middle, bidirectional_iterator_tag()); | |
22243 | } | |
22244 | ||
22245 | ||
22246 | ||
22247 | ||
22248 | ||
22249 | ||
22250 | template<typename _RandomAccessIterator> | |
22251 | void | |
22252 | __rotate(_RandomAccessIterator __first, | |
22253 | _RandomAccessIterator __middle, | |
22254 | _RandomAccessIterator __last, | |
22255 | random_access_iterator_tag) | |
22256 | { | |
22257 | ||
22258 | ||
22259 | ||
22260 | ||
22261 | if (__first == __middle || __last == __middle) | |
22262 | return; | |
22263 | ||
22264 | typedef typename iterator_traits<_RandomAccessIterator>::difference_type | |
22265 | _Distance; | |
22266 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
22267 | _ValueType; | |
22268 | ||
22269 | const _Distance __n = __last - __first; | |
22270 | const _Distance __k = __middle - __first; | |
22271 | const _Distance __l = __n - __k; | |
22272 | ||
22273 | if (__k == __l) | |
22274 | { | |
22275 | std::swap_ranges(__first, __middle, __middle); | |
22276 | return; | |
22277 | } | |
22278 | ||
22279 | const _Distance __d = __gcd(__n, __k); | |
22280 | ||
22281 | for (_Distance __i = 0; __i < __d; __i++) | |
22282 | { | |
22283 | _ValueType __tmp = *__first; | |
22284 | _RandomAccessIterator __p = __first; | |
22285 | ||
22286 | if (__k < __l) | |
22287 | { | |
22288 | for (_Distance __j = 0; __j < __l / __d; __j++) | |
22289 | { | |
22290 | if (__p > __first + __l) | |
22291 | { | |
22292 | *__p = *(__p - __l); | |
22293 | __p -= __l; | |
22294 | } | |
22295 | ||
22296 | *__p = *(__p + __k); | |
22297 | __p += __k; | |
22298 | } | |
22299 | } | |
22300 | else | |
22301 | { | |
22302 | for (_Distance __j = 0; __j < __k / __d - 1; __j ++) | |
22303 | { | |
22304 | if (__p < __last - __k) | |
22305 | { | |
22306 | *__p = *(__p + __k); | |
22307 | __p += __k; | |
22308 | } | |
22309 | *__p = * (__p - __l); | |
22310 | __p -= __l; | |
22311 | } | |
22312 | } | |
22313 | ||
22314 | *__p = __tmp; | |
22315 | ++__first; | |
22316 | } | |
22317 | } | |
22318 | # 1915 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22319 | template<typename _ForwardIterator> | |
22320 | inline void | |
22321 | rotate(_ForwardIterator __first, _ForwardIterator __middle, | |
22322 | _ForwardIterator __last) | |
22323 | { | |
22324 | ||
22325 | ||
22326 | ||
22327 | ; | |
22328 | ; | |
22329 | ||
22330 | typedef typename iterator_traits<_ForwardIterator>::iterator_category | |
22331 | _IterType; | |
22332 | std::__rotate(__first, __middle, __last, _IterType()); | |
22333 | } | |
22334 | # 1948 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22335 | template<typename _ForwardIterator, typename _OutputIterator> | |
22336 | _OutputIterator | |
22337 | rotate_copy(_ForwardIterator __first, _ForwardIterator __middle, | |
22338 | _ForwardIterator __last, _OutputIterator __result) | |
22339 | { | |
22340 | ||
22341 | ||
22342 | ||
22343 | ||
22344 | ; | |
22345 | ; | |
22346 | ||
22347 | return std::copy(__first, __middle, | |
22348 | std::copy(__middle, __last, __result)); | |
22349 | } | |
22350 | # 1974 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22351 | template<typename _RandomAccessIterator> | |
22352 | inline void | |
22353 | random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last) | |
22354 | { | |
22355 | ||
22356 | ||
22357 | ||
22358 | ; | |
22359 | ||
22360 | if (__first != __last) | |
22361 | for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) | |
22362 | std::iter_swap(__i, __first + (std::rand() % ((__i - __first) + 1))); | |
22363 | } | |
22364 | # 2001 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22365 | template<typename _RandomAccessIterator, typename _RandomNumberGenerator> | |
22366 | void | |
22367 | random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, | |
22368 | _RandomNumberGenerator& __rand) | |
22369 | { | |
22370 | ||
22371 | ||
22372 | ||
22373 | ; | |
22374 | ||
22375 | if (__first == __last) | |
22376 | return; | |
22377 | for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) | |
22378 | std::iter_swap(__i, __first + __rand((__i - __first) + 1)); | |
22379 | } | |
22380 | ||
22381 | ||
22382 | ||
22383 | ||
22384 | ||
22385 | ||
22386 | ||
22387 | template<typename _ForwardIterator, typename _Predicate> | |
22388 | _ForwardIterator | |
22389 | __partition(_ForwardIterator __first, _ForwardIterator __last, | |
22390 | _Predicate __pred, | |
22391 | forward_iterator_tag) | |
22392 | { | |
22393 | if (__first == __last) | |
22394 | return __first; | |
22395 | ||
22396 | while (__pred(*__first)) | |
22397 | if (++__first == __last) | |
22398 | return __first; | |
22399 | ||
22400 | _ForwardIterator __next = __first; | |
22401 | ||
22402 | while (++__next != __last) | |
22403 | if (__pred(*__next)) | |
22404 | { | |
22405 | swap(*__first, *__next); | |
22406 | ++__first; | |
22407 | } | |
22408 | ||
22409 | return __first; | |
22410 | } | |
22411 | ||
22412 | ||
22413 | ||
22414 | ||
22415 | ||
22416 | ||
22417 | template<typename _BidirectionalIterator, typename _Predicate> | |
22418 | _BidirectionalIterator | |
22419 | __partition(_BidirectionalIterator __first, _BidirectionalIterator __last, | |
22420 | _Predicate __pred, | |
22421 | bidirectional_iterator_tag) | |
22422 | { | |
22423 | while (true) | |
22424 | { | |
22425 | while (true) | |
22426 | if (__first == __last) | |
22427 | return __first; | |
22428 | else if (__pred(*__first)) | |
22429 | ++__first; | |
22430 | else | |
22431 | break; | |
22432 | --__last; | |
22433 | while (true) | |
22434 | if (__first == __last) | |
22435 | return __first; | |
22436 | else if (!__pred(*__last)) | |
22437 | --__last; | |
22438 | else | |
22439 | break; | |
22440 | std::iter_swap(__first, __last); | |
22441 | ++__first; | |
22442 | } | |
22443 | } | |
22444 | # 2095 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22445 | template<typename _ForwardIterator, typename _Predicate> | |
22446 | inline _ForwardIterator | |
22447 | partition(_ForwardIterator __first, _ForwardIterator __last, | |
22448 | _Predicate __pred) | |
22449 | { | |
22450 | ||
22451 | ||
22452 | ||
22453 | ||
22454 | ||
22455 | ; | |
22456 | ||
22457 | return std::__partition(__first, __last, __pred, | |
22458 | std::__iterator_category(__first)); | |
22459 | } | |
22460 | ||
22461 | ||
22462 | ||
22463 | ||
22464 | ||
22465 | ||
22466 | ||
22467 | template<typename _ForwardIterator, typename _Predicate, typename _Distance> | |
22468 | _ForwardIterator | |
22469 | __inplace_stable_partition(_ForwardIterator __first, | |
22470 | _ForwardIterator __last, | |
22471 | _Predicate __pred, _Distance __len) | |
22472 | { | |
22473 | if (__len == 1) | |
22474 | return __pred(*__first) ? __last : __first; | |
22475 | _ForwardIterator __middle = __first; | |
22476 | std::advance(__middle, __len / 2); | |
22477 | _ForwardIterator __begin = std::__inplace_stable_partition(__first, | |
22478 | __middle, | |
22479 | __pred, | |
22480 | __len / 2); | |
22481 | _ForwardIterator __end = std::__inplace_stable_partition(__middle, __last, | |
22482 | __pred, | |
22483 | __len | |
22484 | - __len / 2); | |
22485 | std::rotate(__begin, __middle, __end); | |
22486 | std::advance(__begin, std::distance(__middle, __end)); | |
22487 | return __begin; | |
22488 | } | |
22489 | ||
22490 | ||
22491 | ||
22492 | ||
22493 | ||
22494 | ||
22495 | template<typename _ForwardIterator, typename _Pointer, typename _Predicate, | |
22496 | typename _Distance> | |
22497 | _ForwardIterator | |
22498 | __stable_partition_adaptive(_ForwardIterator __first, | |
22499 | _ForwardIterator __last, | |
22500 | _Predicate __pred, _Distance __len, | |
22501 | _Pointer __buffer, | |
22502 | _Distance __buffer_size) | |
22503 | { | |
22504 | if (__len <= __buffer_size) | |
22505 | { | |
22506 | _ForwardIterator __result1 = __first; | |
22507 | _Pointer __result2 = __buffer; | |
22508 | for ( ; __first != __last ; ++__first) | |
22509 | if (__pred(*__first)) | |
22510 | { | |
22511 | *__result1 = *__first; | |
22512 | ++__result1; | |
22513 | } | |
22514 | else | |
22515 | { | |
22516 | *__result2 = *__first; | |
22517 | ++__result2; | |
22518 | } | |
22519 | std::copy(__buffer, __result2, __result1); | |
22520 | return __result1; | |
22521 | } | |
22522 | else | |
22523 | { | |
22524 | _ForwardIterator __middle = __first; | |
22525 | std::advance(__middle, __len / 2); | |
22526 | _ForwardIterator __begin = | |
22527 | std::__stable_partition_adaptive(__first, __middle, __pred, | |
22528 | __len / 2, __buffer, | |
22529 | __buffer_size); | |
22530 | _ForwardIterator __end = | |
22531 | std::__stable_partition_adaptive(__middle, __last, __pred, | |
22532 | __len - __len / 2, | |
22533 | __buffer, __buffer_size); | |
22534 | std::rotate(__begin, __middle, __end); | |
22535 | std::advance(__begin, std::distance(__middle, __end)); | |
22536 | return __begin; | |
22537 | } | |
22538 | } | |
22539 | # 2206 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22540 | template<typename _ForwardIterator, typename _Predicate> | |
22541 | _ForwardIterator | |
22542 | stable_partition(_ForwardIterator __first, _ForwardIterator __last, | |
22543 | _Predicate __pred) | |
22544 | { | |
22545 | ||
22546 | ||
22547 | ||
22548 | ||
22549 | ||
22550 | ; | |
22551 | ||
22552 | if (__first == __last) | |
22553 | return __first; | |
22554 | else | |
22555 | { | |
22556 | typedef typename iterator_traits<_ForwardIterator>::value_type | |
22557 | _ValueType; | |
22558 | typedef typename iterator_traits<_ForwardIterator>::difference_type | |
22559 | _DistanceType; | |
22560 | ||
22561 | _Temporary_buffer<_ForwardIterator, _ValueType> __buf(__first, | |
22562 | __last); | |
22563 | if (__buf.size() > 0) | |
22564 | return | |
22565 | std::__stable_partition_adaptive(__first, __last, __pred, | |
22566 | _DistanceType(__buf.requested_size()), | |
22567 | __buf.begin(), __buf.size()); | |
22568 | else | |
22569 | return | |
22570 | std::__inplace_stable_partition(__first, __last, __pred, | |
22571 | _DistanceType(__buf.requested_size())); | |
22572 | } | |
22573 | } | |
22574 | ||
22575 | ||
22576 | ||
22577 | ||
22578 | ||
22579 | ||
22580 | template<typename _RandomAccessIterator, typename _Tp> | |
22581 | _RandomAccessIterator | |
22582 | __unguarded_partition(_RandomAccessIterator __first, | |
22583 | _RandomAccessIterator __last, _Tp __pivot) | |
22584 | { | |
22585 | while (true) | |
22586 | { | |
22587 | while (*__first < __pivot) | |
22588 | ++__first; | |
22589 | --__last; | |
22590 | while (__pivot < *__last) | |
22591 | --__last; | |
22592 | if (!(__first < __last)) | |
22593 | return __first; | |
22594 | std::iter_swap(__first, __last); | |
22595 | ++__first; | |
22596 | } | |
22597 | } | |
22598 | ||
22599 | ||
22600 | ||
22601 | ||
22602 | ||
22603 | ||
22604 | template<typename _RandomAccessIterator, typename _Tp, typename _Compare> | |
22605 | _RandomAccessIterator | |
22606 | __unguarded_partition(_RandomAccessIterator __first, | |
22607 | _RandomAccessIterator __last, | |
22608 | _Tp __pivot, _Compare __comp) | |
22609 | { | |
22610 | while (true) | |
22611 | { | |
22612 | while (__comp(*__first, __pivot)) | |
22613 | ++__first; | |
22614 | --__last; | |
22615 | while (__comp(__pivot, *__last)) | |
22616 | --__last; | |
22617 | if (!(__first < __last)) | |
22618 | return __first; | |
22619 | std::iter_swap(__first, __last); | |
22620 | ++__first; | |
22621 | } | |
22622 | } | |
22623 | ||
22624 | ||
22625 | ||
22626 | ||
22627 | ||
22628 | ||
22629 | ||
22630 | enum { _S_threshold = 16 }; | |
22631 | ||
22632 | ||
22633 | ||
22634 | ||
22635 | ||
22636 | ||
22637 | template<typename _RandomAccessIterator, typename _Tp> | |
22638 | void | |
22639 | __unguarded_linear_insert(_RandomAccessIterator __last, _Tp __val) | |
22640 | { | |
22641 | _RandomAccessIterator __next = __last; | |
22642 | --__next; | |
22643 | while (__val < *__next) | |
22644 | { | |
22645 | *__last = *__next; | |
22646 | __last = __next; | |
22647 | --__next; | |
22648 | } | |
22649 | *__last = __val; | |
22650 | } | |
22651 | ||
22652 | ||
22653 | ||
22654 | ||
22655 | ||
22656 | ||
22657 | template<typename _RandomAccessIterator, typename _Tp, typename _Compare> | |
22658 | void | |
22659 | __unguarded_linear_insert(_RandomAccessIterator __last, _Tp __val, | |
22660 | _Compare __comp) | |
22661 | { | |
22662 | _RandomAccessIterator __next = __last; | |
22663 | --__next; | |
22664 | while (__comp(__val, *__next)) | |
22665 | { | |
22666 | *__last = *__next; | |
22667 | __last = __next; | |
22668 | --__next; | |
22669 | } | |
22670 | *__last = __val; | |
22671 | } | |
22672 | ||
22673 | ||
22674 | ||
22675 | ||
22676 | ||
22677 | ||
22678 | template<typename _RandomAccessIterator> | |
22679 | void | |
22680 | __insertion_sort(_RandomAccessIterator __first, | |
22681 | _RandomAccessIterator __last) | |
22682 | { | |
22683 | if (__first == __last) | |
22684 | return; | |
22685 | ||
22686 | for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) | |
22687 | { | |
22688 | typename iterator_traits<_RandomAccessIterator>::value_type | |
22689 | __val = *__i; | |
22690 | if (__val < *__first) | |
22691 | { | |
22692 | std::copy_backward(__first, __i, __i + 1); | |
22693 | *__first = __val; | |
22694 | } | |
22695 | else | |
22696 | std::__unguarded_linear_insert(__i, __val); | |
22697 | } | |
22698 | } | |
22699 | ||
22700 | ||
22701 | ||
22702 | ||
22703 | ||
22704 | ||
22705 | template<typename _RandomAccessIterator, typename _Compare> | |
22706 | void | |
22707 | __insertion_sort(_RandomAccessIterator __first, | |
22708 | _RandomAccessIterator __last, _Compare __comp) | |
22709 | { | |
22710 | if (__first == __last) return; | |
22711 | ||
22712 | for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) | |
22713 | { | |
22714 | typename iterator_traits<_RandomAccessIterator>::value_type | |
22715 | __val = *__i; | |
22716 | if (__comp(__val, *__first)) | |
22717 | { | |
22718 | std::copy_backward(__first, __i, __i + 1); | |
22719 | *__first = __val; | |
22720 | } | |
22721 | else | |
22722 | std::__unguarded_linear_insert(__i, __val, __comp); | |
22723 | } | |
22724 | } | |
22725 | ||
22726 | ||
22727 | ||
22728 | ||
22729 | ||
22730 | ||
22731 | template<typename _RandomAccessIterator> | |
22732 | inline void | |
22733 | __unguarded_insertion_sort(_RandomAccessIterator __first, | |
22734 | _RandomAccessIterator __last) | |
22735 | { | |
22736 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
22737 | _ValueType; | |
22738 | ||
22739 | for (_RandomAccessIterator __i = __first; __i != __last; ++__i) | |
22740 | std::__unguarded_linear_insert(__i, _ValueType(*__i)); | |
22741 | } | |
22742 | ||
22743 | ||
22744 | ||
22745 | ||
22746 | ||
22747 | ||
22748 | template<typename _RandomAccessIterator, typename _Compare> | |
22749 | inline void | |
22750 | __unguarded_insertion_sort(_RandomAccessIterator __first, | |
22751 | _RandomAccessIterator __last, _Compare __comp) | |
22752 | { | |
22753 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
22754 | _ValueType; | |
22755 | ||
22756 | for (_RandomAccessIterator __i = __first; __i != __last; ++__i) | |
22757 | std::__unguarded_linear_insert(__i, _ValueType(*__i), __comp); | |
22758 | } | |
22759 | ||
22760 | ||
22761 | ||
22762 | ||
22763 | ||
22764 | ||
22765 | template<typename _RandomAccessIterator> | |
22766 | void | |
22767 | __final_insertion_sort(_RandomAccessIterator __first, | |
22768 | _RandomAccessIterator __last) | |
22769 | { | |
22770 | if (__last - __first > int(_S_threshold)) | |
22771 | { | |
22772 | std::__insertion_sort(__first, __first + int(_S_threshold)); | |
22773 | std::__unguarded_insertion_sort(__first + int(_S_threshold), __last); | |
22774 | } | |
22775 | else | |
22776 | std::__insertion_sort(__first, __last); | |
22777 | } | |
22778 | ||
22779 | ||
22780 | ||
22781 | ||
22782 | ||
22783 | ||
22784 | template<typename _RandomAccessIterator, typename _Compare> | |
22785 | void | |
22786 | __final_insertion_sort(_RandomAccessIterator __first, | |
22787 | _RandomAccessIterator __last, _Compare __comp) | |
22788 | { | |
22789 | if (__last - __first > int(_S_threshold)) | |
22790 | { | |
22791 | std::__insertion_sort(__first, __first + int(_S_threshold), __comp); | |
22792 | std::__unguarded_insertion_sort(__first + int(_S_threshold), __last, | |
22793 | __comp); | |
22794 | } | |
22795 | else | |
22796 | std::__insertion_sort(__first, __last, __comp); | |
22797 | } | |
22798 | ||
22799 | ||
22800 | ||
22801 | ||
22802 | ||
22803 | ||
22804 | template<typename _RandomAccessIterator> | |
22805 | void | |
22806 | __heap_select(_RandomAccessIterator __first, | |
22807 | _RandomAccessIterator __middle, | |
22808 | _RandomAccessIterator __last) | |
22809 | { | |
22810 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
22811 | _ValueType; | |
22812 | ||
22813 | std::make_heap(__first, __middle); | |
22814 | for (_RandomAccessIterator __i = __middle; __i < __last; ++__i) | |
22815 | if (*__i < *__first) | |
22816 | std::__pop_heap(__first, __middle, __i, _ValueType(*__i)); | |
22817 | } | |
22818 | ||
22819 | ||
22820 | ||
22821 | ||
22822 | ||
22823 | ||
22824 | template<typename _RandomAccessIterator, typename _Compare> | |
22825 | void | |
22826 | __heap_select(_RandomAccessIterator __first, | |
22827 | _RandomAccessIterator __middle, | |
22828 | _RandomAccessIterator __last, _Compare __comp) | |
22829 | { | |
22830 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
22831 | _ValueType; | |
22832 | ||
22833 | std::make_heap(__first, __middle, __comp); | |
22834 | for (_RandomAccessIterator __i = __middle; __i < __last; ++__i) | |
22835 | if (__comp(*__i, *__first)) | |
22836 | std::__pop_heap(__first, __middle, __i, _ValueType(*__i), __comp); | |
22837 | } | |
22838 | ||
22839 | ||
22840 | ||
22841 | ||
22842 | ||
22843 | ||
22844 | template<typename _Size> | |
22845 | inline _Size | |
22846 | __lg(_Size __n) | |
22847 | { | |
22848 | _Size __k; | |
22849 | for (__k = 0; __n != 1; __n >>= 1) | |
22850 | ++__k; | |
22851 | return __k; | |
22852 | } | |
22853 | # 2535 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22854 | template<typename _RandomAccessIterator> | |
22855 | inline void | |
22856 | partial_sort(_RandomAccessIterator __first, | |
22857 | _RandomAccessIterator __middle, | |
22858 | _RandomAccessIterator __last) | |
22859 | { | |
22860 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
22861 | _ValueType; | |
22862 | ||
22863 | ||
22864 | ||
22865 | ||
22866 | ||
22867 | ; | |
22868 | ; | |
22869 | ||
22870 | std::__heap_select(__first, __middle, __last); | |
22871 | std::sort_heap(__first, __middle); | |
22872 | } | |
22873 | # 2573 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22874 | template<typename _RandomAccessIterator, typename _Compare> | |
22875 | inline void | |
22876 | partial_sort(_RandomAccessIterator __first, | |
22877 | _RandomAccessIterator __middle, | |
22878 | _RandomAccessIterator __last, | |
22879 | _Compare __comp) | |
22880 | { | |
22881 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
22882 | _ValueType; | |
22883 | ||
22884 | ||
22885 | ||
22886 | ||
22887 | ||
22888 | ||
22889 | ; | |
22890 | ; | |
22891 | ||
22892 | std::__heap_select(__first, __middle, __last, __comp); | |
22893 | std::sort_heap(__first, __middle, __comp); | |
22894 | } | |
22895 | # 2612 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22896 | template<typename _InputIterator, typename _RandomAccessIterator> | |
22897 | _RandomAccessIterator | |
22898 | partial_sort_copy(_InputIterator __first, _InputIterator __last, | |
22899 | _RandomAccessIterator __result_first, | |
22900 | _RandomAccessIterator __result_last) | |
22901 | { | |
22902 | typedef typename iterator_traits<_InputIterator>::value_type | |
22903 | _InputValueType; | |
22904 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
22905 | _OutputValueType; | |
22906 | typedef typename iterator_traits<_RandomAccessIterator>::difference_type | |
22907 | _DistanceType; | |
22908 | ||
22909 | ||
22910 | ||
22911 | ||
22912 | ||
22913 | ||
22914 | ||
22915 | ||
22916 | ; | |
22917 | ; | |
22918 | ||
22919 | if (__result_first == __result_last) | |
22920 | return __result_last; | |
22921 | _RandomAccessIterator __result_real_last = __result_first; | |
22922 | while(__first != __last && __result_real_last != __result_last) | |
22923 | { | |
22924 | *__result_real_last = *__first; | |
22925 | ++__result_real_last; | |
22926 | ++__first; | |
22927 | } | |
22928 | std::make_heap(__result_first, __result_real_last); | |
22929 | while (__first != __last) | |
22930 | { | |
22931 | if (*__first < *__result_first) | |
22932 | std::__adjust_heap(__result_first, _DistanceType(0), | |
22933 | _DistanceType(__result_real_last | |
22934 | - __result_first), | |
22935 | _InputValueType(*__first)); | |
22936 | ++__first; | |
22937 | } | |
22938 | std::sort_heap(__result_first, __result_real_last); | |
22939 | return __result_real_last; | |
22940 | } | |
22941 | # 2677 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
22942 | template<typename _InputIterator, typename _RandomAccessIterator, typename _Compare> | |
22943 | _RandomAccessIterator | |
22944 | partial_sort_copy(_InputIterator __first, _InputIterator __last, | |
22945 | _RandomAccessIterator __result_first, | |
22946 | _RandomAccessIterator __result_last, | |
22947 | _Compare __comp) | |
22948 | { | |
22949 | typedef typename iterator_traits<_InputIterator>::value_type | |
22950 | _InputValueType; | |
22951 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
22952 | _OutputValueType; | |
22953 | typedef typename iterator_traits<_RandomAccessIterator>::difference_type | |
22954 | _DistanceType; | |
22955 | ||
22956 | ||
22957 | ||
22958 | ||
22959 | ||
22960 | ||
22961 | ||
22962 | ||
22963 | ||
22964 | ||
22965 | ||
22966 | ; | |
22967 | ; | |
22968 | ||
22969 | if (__result_first == __result_last) | |
22970 | return __result_last; | |
22971 | _RandomAccessIterator __result_real_last = __result_first; | |
22972 | while(__first != __last && __result_real_last != __result_last) | |
22973 | { | |
22974 | *__result_real_last = *__first; | |
22975 | ++__result_real_last; | |
22976 | ++__first; | |
22977 | } | |
22978 | std::make_heap(__result_first, __result_real_last, __comp); | |
22979 | while (__first != __last) | |
22980 | { | |
22981 | if (__comp(*__first, *__result_first)) | |
22982 | std::__adjust_heap(__result_first, _DistanceType(0), | |
22983 | _DistanceType(__result_real_last | |
22984 | - __result_first), | |
22985 | _InputValueType(*__first), | |
22986 | __comp); | |
22987 | ++__first; | |
22988 | } | |
22989 | std::sort_heap(__result_first, __result_real_last, __comp); | |
22990 | return __result_real_last; | |
22991 | } | |
22992 | ||
22993 | ||
22994 | ||
22995 | ||
22996 | ||
22997 | ||
22998 | template<typename _RandomAccessIterator, typename _Size> | |
22999 | void | |
23000 | __introsort_loop(_RandomAccessIterator __first, | |
23001 | _RandomAccessIterator __last, | |
23002 | _Size __depth_limit) | |
23003 | { | |
23004 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
23005 | _ValueType; | |
23006 | ||
23007 | while (__last - __first > int(_S_threshold)) | |
23008 | { | |
23009 | if (__depth_limit == 0) | |
23010 | { | |
23011 | std::partial_sort(__first, __last, __last); | |
23012 | return; | |
23013 | } | |
23014 | --__depth_limit; | |
23015 | _RandomAccessIterator __cut = | |
23016 | std::__unguarded_partition(__first, __last, | |
23017 | _ValueType(std::__median(*__first, | |
23018 | *(__first | |
23019 | + (__last | |
23020 | - __first) | |
23021 | / 2), | |
23022 | *(__last | |
23023 | - 1)))); | |
23024 | std::__introsort_loop(__cut, __last, __depth_limit); | |
23025 | __last = __cut; | |
23026 | } | |
23027 | } | |
23028 | ||
23029 | ||
23030 | ||
23031 | ||
23032 | ||
23033 | ||
23034 | template<typename _RandomAccessIterator, typename _Size, typename _Compare> | |
23035 | void | |
23036 | __introsort_loop(_RandomAccessIterator __first, | |
23037 | _RandomAccessIterator __last, | |
23038 | _Size __depth_limit, _Compare __comp) | |
23039 | { | |
23040 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
23041 | _ValueType; | |
23042 | ||
23043 | while (__last - __first > int(_S_threshold)) | |
23044 | { | |
23045 | if (__depth_limit == 0) | |
23046 | { | |
23047 | std::partial_sort(__first, __last, __last, __comp); | |
23048 | return; | |
23049 | } | |
23050 | --__depth_limit; | |
23051 | _RandomAccessIterator __cut = | |
23052 | std::__unguarded_partition(__first, __last, | |
23053 | _ValueType(std::__median(*__first, | |
23054 | *(__first | |
23055 | + (__last | |
23056 | - __first) | |
23057 | / 2), | |
23058 | *(__last - 1), | |
23059 | __comp)), | |
23060 | __comp); | |
23061 | std::__introsort_loop(__cut, __last, __depth_limit, __comp); | |
23062 | __last = __cut; | |
23063 | } | |
23064 | } | |
23065 | # 2814 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
23066 | template<typename _RandomAccessIterator> | |
23067 | inline void | |
23068 | sort(_RandomAccessIterator __first, _RandomAccessIterator __last) | |
23069 | { | |
23070 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
23071 | _ValueType; | |
23072 | ||
23073 | ||
23074 | ||
23075 | ||
23076 | ||
23077 | ; | |
23078 | ||
23079 | if (__first != __last) | |
23080 | { | |
23081 | std::__introsort_loop(__first, __last, | |
23082 | std::__lg(__last - __first) * 2); | |
23083 | std::__final_insertion_sort(__first, __last); | |
23084 | } | |
23085 | } | |
23086 | # 2849 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
23087 | template<typename _RandomAccessIterator, typename _Compare> | |
23088 | inline void | |
23089 | sort(_RandomAccessIterator __first, _RandomAccessIterator __last, | |
23090 | _Compare __comp) | |
23091 | { | |
23092 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
23093 | _ValueType; | |
23094 | ||
23095 | ||
23096 | ||
23097 | ||
23098 | ||
23099 | ||
23100 | ; | |
23101 | ||
23102 | if (__first != __last) | |
23103 | { | |
23104 | std::__introsort_loop(__first, __last, | |
23105 | std::__lg(__last - __first) * 2, __comp); | |
23106 | std::__final_insertion_sort(__first, __last, __comp); | |
23107 | } | |
23108 | } | |
23109 | # 2882 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
23110 | template<typename _ForwardIterator, typename _Tp> | |
23111 | _ForwardIterator | |
23112 | lower_bound(_ForwardIterator __first, _ForwardIterator __last, | |
23113 | const _Tp& __val) | |
23114 | { | |
23115 | typedef typename iterator_traits<_ForwardIterator>::value_type | |
23116 | _ValueType; | |
23117 | typedef typename iterator_traits<_ForwardIterator>::difference_type | |
23118 | _DistanceType; | |
23119 | ||
23120 | ||
23121 | ||
23122 | ||
23123 | ; | |
23124 | ||
23125 | _DistanceType __len = std::distance(__first, __last); | |
23126 | _DistanceType __half; | |
23127 | _ForwardIterator __middle; | |
23128 | ||
23129 | while (__len > 0) | |
23130 | { | |
23131 | __half = __len >> 1; | |
23132 | __middle = __first; | |
23133 | std::advance(__middle, __half); | |
23134 | if (*__middle < __val) | |
23135 | { | |
23136 | __first = __middle; | |
23137 | ++__first; | |
23138 | __len = __len - __half - 1; | |
23139 | } | |
23140 | else | |
23141 | __len = __half; | |
23142 | } | |
23143 | return __first; | |
23144 | } | |
23145 | # 2932 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
23146 | template<typename _ForwardIterator, typename _Tp, typename _Compare> | |
23147 | _ForwardIterator | |
23148 | lower_bound(_ForwardIterator __first, _ForwardIterator __last, | |
23149 | const _Tp& __val, _Compare __comp) | |
23150 | { | |
23151 | typedef typename iterator_traits<_ForwardIterator>::value_type | |
23152 | _ValueType; | |
23153 | typedef typename iterator_traits<_ForwardIterator>::difference_type | |
23154 | _DistanceType; | |
23155 | ||
23156 | ||
23157 | ||
23158 | ||
23159 | ||
23160 | ; | |
23161 | ||
23162 | _DistanceType __len = std::distance(__first, __last); | |
23163 | _DistanceType __half; | |
23164 | _ForwardIterator __middle; | |
23165 | ||
23166 | while (__len > 0) | |
23167 | { | |
23168 | __half = __len >> 1; | |
23169 | __middle = __first; | |
23170 | std::advance(__middle, __half); | |
23171 | if (__comp(*__middle, __val)) | |
23172 | { | |
23173 | __first = __middle; | |
23174 | ++__first; | |
23175 | __len = __len - __half - 1; | |
23176 | } | |
23177 | else | |
23178 | __len = __half; | |
23179 | } | |
23180 | return __first; | |
23181 | } | |
23182 | # 2979 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
23183 | template<typename _ForwardIterator, typename _Tp> | |
23184 | _ForwardIterator | |
23185 | upper_bound(_ForwardIterator __first, _ForwardIterator __last, | |
23186 | const _Tp& __val) | |
23187 | { | |
23188 | typedef typename iterator_traits<_ForwardIterator>::value_type | |
23189 | _ValueType; | |
23190 | typedef typename iterator_traits<_ForwardIterator>::difference_type | |
23191 | _DistanceType; | |
23192 | ||
23193 | ||
23194 | ||
23195 | ||
23196 | ; | |
23197 | ||
23198 | _DistanceType __len = std::distance(__first, __last); | |
23199 | _DistanceType __half; | |
23200 | _ForwardIterator __middle; | |
23201 | ||
23202 | while (__len > 0) | |
23203 | { | |
23204 | __half = __len >> 1; | |
23205 | __middle = __first; | |
23206 | std::advance(__middle, __half); | |
23207 | if (__val < *__middle) | |
23208 | __len = __half; | |
23209 | else | |
23210 | { | |
23211 | __first = __middle; | |
23212 | ++__first; | |
23213 | __len = __len - __half - 1; | |
23214 | } | |
23215 | } | |
23216 | return __first; | |
23217 | } | |
23218 | # 3029 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
23219 | template<typename _ForwardIterator, typename _Tp, typename _Compare> | |
23220 | _ForwardIterator | |
23221 | upper_bound(_ForwardIterator __first, _ForwardIterator __last, | |
23222 | const _Tp& __val, _Compare __comp) | |
23223 | { | |
23224 | typedef typename iterator_traits<_ForwardIterator>::value_type | |
23225 | _ValueType; | |
23226 | typedef typename iterator_traits<_ForwardIterator>::difference_type | |
23227 | _DistanceType; | |
23228 | ||
23229 | ||
23230 | ||
23231 | ||
23232 | ||
23233 | ; | |
23234 | ||
23235 | _DistanceType __len = std::distance(__first, __last); | |
23236 | _DistanceType __half; | |
23237 | _ForwardIterator __middle; | |
23238 | ||
23239 | while (__len > 0) | |
23240 | { | |
23241 | __half = __len >> 1; | |
23242 | __middle = __first; | |
23243 | std::advance(__middle, __half); | |
23244 | if (__comp(__val, *__middle)) | |
23245 | __len = __half; | |
23246 | else | |
23247 | { | |
23248 | __first = __middle; | |
23249 | ++__first; | |
23250 | __len = __len - __half - 1; | |
23251 | } | |
23252 | } | |
23253 | return __first; | |
23254 | } | |
23255 | ||
23256 | ||
23257 | ||
23258 | ||
23259 | ||
23260 | ||
23261 | template<typename _BidirectionalIterator, typename _Distance> | |
23262 | void | |
23263 | __merge_without_buffer(_BidirectionalIterator __first, | |
23264 | _BidirectionalIterator __middle, | |
23265 | _BidirectionalIterator __last, | |
23266 | _Distance __len1, _Distance __len2) | |
23267 | { | |
23268 | if (__len1 == 0 || __len2 == 0) | |
23269 | return; | |
23270 | if (__len1 + __len2 == 2) | |
23271 | { | |
23272 | if (*__middle < *__first) | |
23273 | std::iter_swap(__first, __middle); | |
23274 | return; | |
23275 | } | |
23276 | _BidirectionalIterator __first_cut = __first; | |
23277 | _BidirectionalIterator __second_cut = __middle; | |
23278 | _Distance __len11 = 0; | |
23279 | _Distance __len22 = 0; | |
23280 | if (__len1 > __len2) | |
23281 | { | |
23282 | __len11 = __len1 / 2; | |
23283 | std::advance(__first_cut, __len11); | |
23284 | __second_cut = std::lower_bound(__middle, __last, *__first_cut); | |
23285 | __len22 = std::distance(__middle, __second_cut); | |
23286 | } | |
23287 | else | |
23288 | { | |
23289 | __len22 = __len2 / 2; | |
23290 | std::advance(__second_cut, __len22); | |
23291 | __first_cut = std::upper_bound(__first, __middle, *__second_cut); | |
23292 | __len11 = std::distance(__first, __first_cut); | |
23293 | } | |
23294 | std::rotate(__first_cut, __middle, __second_cut); | |
23295 | _BidirectionalIterator __new_middle = __first_cut; | |
23296 | std::advance(__new_middle, std::distance(__middle, __second_cut)); | |
23297 | std::__merge_without_buffer(__first, __first_cut, __new_middle, | |
23298 | __len11, __len22); | |
23299 | std::__merge_without_buffer(__new_middle, __second_cut, __last, | |
23300 | __len1 - __len11, __len2 - __len22); | |
23301 | } | |
23302 | ||
23303 | ||
23304 | ||
23305 | ||
23306 | ||
23307 | ||
23308 | template<typename _BidirectionalIterator, typename _Distance, | |
23309 | typename _Compare> | |
23310 | void | |
23311 | __merge_without_buffer(_BidirectionalIterator __first, | |
23312 | _BidirectionalIterator __middle, | |
23313 | _BidirectionalIterator __last, | |
23314 | _Distance __len1, _Distance __len2, | |
23315 | _Compare __comp) | |
23316 | { | |
23317 | if (__len1 == 0 || __len2 == 0) | |
23318 | return; | |
23319 | if (__len1 + __len2 == 2) | |
23320 | { | |
23321 | if (__comp(*__middle, *__first)) | |
23322 | std::iter_swap(__first, __middle); | |
23323 | return; | |
23324 | } | |
23325 | _BidirectionalIterator __first_cut = __first; | |
23326 | _BidirectionalIterator __second_cut = __middle; | |
23327 | _Distance __len11 = 0; | |
23328 | _Distance __len22 = 0; | |
23329 | if (__len1 > __len2) | |
23330 | { | |
23331 | __len11 = __len1 / 2; | |
23332 | std::advance(__first_cut, __len11); | |
23333 | __second_cut = std::lower_bound(__middle, __last, *__first_cut, | |
23334 | __comp); | |
23335 | __len22 = std::distance(__middle, __second_cut); | |
23336 | } | |
23337 | else | |
23338 | { | |
23339 | __len22 = __len2 / 2; | |
23340 | std::advance(__second_cut, __len22); | |
23341 | __first_cut = std::upper_bound(__first, __middle, *__second_cut, | |
23342 | __comp); | |
23343 | __len11 = std::distance(__first, __first_cut); | |
23344 | } | |
23345 | std::rotate(__first_cut, __middle, __second_cut); | |
23346 | _BidirectionalIterator __new_middle = __first_cut; | |
23347 | std::advance(__new_middle, std::distance(__middle, __second_cut)); | |
23348 | std::__merge_without_buffer(__first, __first_cut, __new_middle, | |
23349 | __len11, __len22, __comp); | |
23350 | std::__merge_without_buffer(__new_middle, __second_cut, __last, | |
23351 | __len1 - __len11, __len2 - __len22, __comp); | |
23352 | } | |
23353 | ||
23354 | ||
23355 | ||
23356 | ||
23357 | ||
23358 | ||
23359 | template<typename _RandomAccessIterator> | |
23360 | void | |
23361 | __inplace_stable_sort(_RandomAccessIterator __first, | |
23362 | _RandomAccessIterator __last) | |
23363 | { | |
23364 | if (__last - __first < 15) | |
23365 | { | |
23366 | std::__insertion_sort(__first, __last); | |
23367 | return; | |
23368 | } | |
23369 | _RandomAccessIterator __middle = __first + (__last - __first) / 2; | |
23370 | std::__inplace_stable_sort(__first, __middle); | |
23371 | std::__inplace_stable_sort(__middle, __last); | |
23372 | std::__merge_without_buffer(__first, __middle, __last, | |
23373 | __middle - __first, | |
23374 | __last - __middle); | |
23375 | } | |
23376 | ||
23377 | ||
23378 | ||
23379 | ||
23380 | ||
23381 | ||
23382 | template<typename _RandomAccessIterator, typename _Compare> | |
23383 | void | |
23384 | __inplace_stable_sort(_RandomAccessIterator __first, | |
23385 | _RandomAccessIterator __last, _Compare __comp) | |
23386 | { | |
23387 | if (__last - __first < 15) | |
23388 | { | |
23389 | std::__insertion_sort(__first, __last, __comp); | |
23390 | return; | |
23391 | } | |
23392 | _RandomAccessIterator __middle = __first + (__last - __first) / 2; | |
23393 | std::__inplace_stable_sort(__first, __middle, __comp); | |
23394 | std::__inplace_stable_sort(__middle, __last, __comp); | |
23395 | std::__merge_without_buffer(__first, __middle, __last, | |
23396 | __middle - __first, | |
23397 | __last - __middle, | |
23398 | __comp); | |
23399 | } | |
23400 | # 3227 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
23401 | template<typename _InputIterator1, typename _InputIterator2, | |
23402 | typename _OutputIterator> | |
23403 | _OutputIterator | |
23404 | merge(_InputIterator1 __first1, _InputIterator1 __last1, | |
23405 | _InputIterator2 __first2, _InputIterator2 __last2, | |
23406 | _OutputIterator __result) | |
23407 | { | |
23408 | typedef typename iterator_traits<_InputIterator1>::value_type | |
23409 | _ValueType1; | |
23410 | typedef typename iterator_traits<_InputIterator2>::value_type | |
23411 | _ValueType2; | |
23412 | ||
23413 | ||
23414 | ||
23415 | ||
23416 | ||
23417 | ||
23418 | ||
23419 | ||
23420 | ||
23421 | ; | |
23422 | ; | |
23423 | ||
23424 | while (__first1 != __last1 && __first2 != __last2) | |
23425 | { | |
23426 | if (*__first2 < *__first1) | |
23427 | { | |
23428 | *__result = *__first2; | |
23429 | ++__first2; | |
23430 | } | |
23431 | else | |
23432 | { | |
23433 | *__result = *__first1; | |
23434 | ++__first1; | |
23435 | } | |
23436 | ++__result; | |
23437 | } | |
23438 | return std::copy(__first2, __last2, std::copy(__first1, __last1, | |
23439 | __result)); | |
23440 | } | |
23441 | # 3288 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
23442 | template<typename _InputIterator1, typename _InputIterator2, | |
23443 | typename _OutputIterator, typename _Compare> | |
23444 | _OutputIterator | |
23445 | merge(_InputIterator1 __first1, _InputIterator1 __last1, | |
23446 | _InputIterator2 __first2, _InputIterator2 __last2, | |
23447 | _OutputIterator __result, _Compare __comp) | |
23448 | { | |
23449 | typedef typename iterator_traits<_InputIterator1>::value_type | |
23450 | _ValueType1; | |
23451 | typedef typename iterator_traits<_InputIterator2>::value_type | |
23452 | _ValueType2; | |
23453 | ||
23454 | ||
23455 | ||
23456 | ||
23457 | ||
23458 | ||
23459 | ||
23460 | ||
23461 | ||
23462 | ||
23463 | ; | |
23464 | ; | |
23465 | ||
23466 | while (__first1 != __last1 && __first2 != __last2) | |
23467 | { | |
23468 | if (__comp(*__first2, *__first1)) | |
23469 | { | |
23470 | *__result = *__first2; | |
23471 | ++__first2; | |
23472 | } | |
23473 | else | |
23474 | { | |
23475 | *__result = *__first1; | |
23476 | ++__first1; | |
23477 | } | |
23478 | ++__result; | |
23479 | } | |
23480 | return std::copy(__first2, __last2, std::copy(__first1, __last1, | |
23481 | __result)); | |
23482 | } | |
23483 | ||
23484 | template<typename _RandomAccessIterator1, typename _RandomAccessIterator2, | |
23485 | typename _Distance> | |
23486 | void | |
23487 | __merge_sort_loop(_RandomAccessIterator1 __first, | |
23488 | _RandomAccessIterator1 __last, | |
23489 | _RandomAccessIterator2 __result, | |
23490 | _Distance __step_size) | |
23491 | { | |
23492 | const _Distance __two_step = 2 * __step_size; | |
23493 | ||
23494 | while (__last - __first >= __two_step) | |
23495 | { | |
23496 | __result = std::merge(__first, __first + __step_size, | |
23497 | __first + __step_size, __first + __two_step, | |
23498 | __result); | |
23499 | __first += __two_step; | |
23500 | } | |
23501 | ||
23502 | __step_size = std::min(_Distance(__last - __first), __step_size); | |
23503 | std::merge(__first, __first + __step_size, __first + __step_size, __last, | |
23504 | __result); | |
23505 | } | |
23506 | ||
23507 | template<typename _RandomAccessIterator1, typename _RandomAccessIterator2, | |
23508 | typename _Distance, typename _Compare> | |
23509 | void | |
23510 | __merge_sort_loop(_RandomAccessIterator1 __first, | |
23511 | _RandomAccessIterator1 __last, | |
23512 | _RandomAccessIterator2 __result, _Distance __step_size, | |
23513 | _Compare __comp) | |
23514 | { | |
23515 | const _Distance __two_step = 2 * __step_size; | |
23516 | ||
23517 | while (__last - __first >= __two_step) | |
23518 | { | |
23519 | __result = std::merge(__first, __first + __step_size, | |
23520 | __first + __step_size, __first + __two_step, | |
23521 | __result, | |
23522 | __comp); | |
23523 | __first += __two_step; | |
23524 | } | |
23525 | __step_size = std::min(_Distance(__last - __first), __step_size); | |
23526 | ||
23527 | std::merge(__first, __first + __step_size, | |
23528 | __first + __step_size, __last, | |
23529 | __result, | |
23530 | __comp); | |
23531 | } | |
23532 | ||
23533 | enum { _S_chunk_size = 7 }; | |
23534 | ||
23535 | template<typename _RandomAccessIterator, typename _Distance> | |
23536 | void | |
23537 | __chunk_insertion_sort(_RandomAccessIterator __first, | |
23538 | _RandomAccessIterator __last, | |
23539 | _Distance __chunk_size) | |
23540 | { | |
23541 | while (__last - __first >= __chunk_size) | |
23542 | { | |
23543 | std::__insertion_sort(__first, __first + __chunk_size); | |
23544 | __first += __chunk_size; | |
23545 | } | |
23546 | std::__insertion_sort(__first, __last); | |
23547 | } | |
23548 | ||
23549 | template<typename _RandomAccessIterator, typename _Distance, typename _Compare> | |
23550 | void | |
23551 | __chunk_insertion_sort(_RandomAccessIterator __first, | |
23552 | _RandomAccessIterator __last, | |
23553 | _Distance __chunk_size, _Compare __comp) | |
23554 | { | |
23555 | while (__last - __first >= __chunk_size) | |
23556 | { | |
23557 | std::__insertion_sort(__first, __first + __chunk_size, __comp); | |
23558 | __first += __chunk_size; | |
23559 | } | |
23560 | std::__insertion_sort(__first, __last, __comp); | |
23561 | } | |
23562 | ||
23563 | template<typename _RandomAccessIterator, typename _Pointer> | |
23564 | void | |
23565 | __merge_sort_with_buffer(_RandomAccessIterator __first, | |
23566 | _RandomAccessIterator __last, | |
23567 | _Pointer __buffer) | |
23568 | { | |
23569 | typedef typename iterator_traits<_RandomAccessIterator>::difference_type | |
23570 | _Distance; | |
23571 | ||
23572 | const _Distance __len = __last - __first; | |
23573 | const _Pointer __buffer_last = __buffer + __len; | |
23574 | ||
23575 | _Distance __step_size = _S_chunk_size; | |
23576 | std::__chunk_insertion_sort(__first, __last, __step_size); | |
23577 | ||
23578 | while (__step_size < __len) | |
23579 | { | |
23580 | std::__merge_sort_loop(__first, __last, __buffer, __step_size); | |
23581 | __step_size *= 2; | |
23582 | std::__merge_sort_loop(__buffer, __buffer_last, __first, __step_size); | |
23583 | __step_size *= 2; | |
23584 | } | |
23585 | } | |
23586 | ||
23587 | template<typename _RandomAccessIterator, typename _Pointer, typename _Compare> | |
23588 | void | |
23589 | __merge_sort_with_buffer(_RandomAccessIterator __first, | |
23590 | _RandomAccessIterator __last, | |
23591 | _Pointer __buffer, _Compare __comp) | |
23592 | { | |
23593 | typedef typename iterator_traits<_RandomAccessIterator>::difference_type | |
23594 | _Distance; | |
23595 | ||
23596 | const _Distance __len = __last - __first; | |
23597 | const _Pointer __buffer_last = __buffer + __len; | |
23598 | ||
23599 | _Distance __step_size = _S_chunk_size; | |
23600 | std::__chunk_insertion_sort(__first, __last, __step_size, __comp); | |
23601 | ||
23602 | while (__step_size < __len) | |
23603 | { | |
23604 | std::__merge_sort_loop(__first, __last, __buffer, | |
23605 | __step_size, __comp); | |
23606 | __step_size *= 2; | |
23607 | std::__merge_sort_loop(__buffer, __buffer_last, __first, | |
23608 | __step_size, __comp); | |
23609 | __step_size *= 2; | |
23610 | } | |
23611 | } | |
23612 | ||
23613 | ||
23614 | ||
23615 | ||
23616 | ||
23617 | ||
23618 | template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, | |
23619 | typename _BidirectionalIterator3> | |
23620 | _BidirectionalIterator3 | |
23621 | __merge_backward(_BidirectionalIterator1 __first1, | |
23622 | _BidirectionalIterator1 __last1, | |
23623 | _BidirectionalIterator2 __first2, | |
23624 | _BidirectionalIterator2 __last2, | |
23625 | _BidirectionalIterator3 __result) | |
23626 | { | |
23627 | if (__first1 == __last1) | |
23628 | return std::copy_backward(__first2, __last2, __result); | |
23629 | if (__first2 == __last2) | |
23630 | return std::copy_backward(__first1, __last1, __result); | |
23631 | --__last1; | |
23632 | --__last2; | |
23633 | while (true) | |
23634 | { | |
23635 | if (*__last2 < *__last1) | |
23636 | { | |
23637 | *--__result = *__last1; | |
23638 | if (__first1 == __last1) | |
23639 | return std::copy_backward(__first2, ++__last2, __result); | |
23640 | --__last1; | |
23641 | } | |
23642 | else | |
23643 | { | |
23644 | *--__result = *__last2; | |
23645 | if (__first2 == __last2) | |
23646 | return std::copy_backward(__first1, ++__last1, __result); | |
23647 | --__last2; | |
23648 | } | |
23649 | } | |
23650 | } | |
23651 | ||
23652 | ||
23653 | ||
23654 | ||
23655 | ||
23656 | ||
23657 | template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, | |
23658 | typename _BidirectionalIterator3, typename _Compare> | |
23659 | _BidirectionalIterator3 | |
23660 | __merge_backward(_BidirectionalIterator1 __first1, | |
23661 | _BidirectionalIterator1 __last1, | |
23662 | _BidirectionalIterator2 __first2, | |
23663 | _BidirectionalIterator2 __last2, | |
23664 | _BidirectionalIterator3 __result, | |
23665 | _Compare __comp) | |
23666 | { | |
23667 | if (__first1 == __last1) | |
23668 | return std::copy_backward(__first2, __last2, __result); | |
23669 | if (__first2 == __last2) | |
23670 | return std::copy_backward(__first1, __last1, __result); | |
23671 | --__last1; | |
23672 | --__last2; | |
23673 | while (true) | |
23674 | { | |
23675 | if (__comp(*__last2, *__last1)) | |
23676 | { | |
23677 | *--__result = *__last1; | |
23678 | if (__first1 == __last1) | |
23679 | return std::copy_backward(__first2, ++__last2, __result); | |
23680 | --__last1; | |
23681 | } | |
23682 | else | |
23683 | { | |
23684 | *--__result = *__last2; | |
23685 | if (__first2 == __last2) | |
23686 | return std::copy_backward(__first1, ++__last1, __result); | |
23687 | --__last2; | |
23688 | } | |
23689 | } | |
23690 | } | |
23691 | ||
23692 | ||
23693 | ||
23694 | ||
23695 | ||
23696 | ||
23697 | template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, | |
23698 | typename _Distance> | |
23699 | _BidirectionalIterator1 | |
23700 | __rotate_adaptive(_BidirectionalIterator1 __first, | |
23701 | _BidirectionalIterator1 __middle, | |
23702 | _BidirectionalIterator1 __last, | |
23703 | _Distance __len1, _Distance __len2, | |
23704 | _BidirectionalIterator2 __buffer, | |
23705 | _Distance __buffer_size) | |
23706 | { | |
23707 | _BidirectionalIterator2 __buffer_end; | |
23708 | if (__len1 > __len2 && __len2 <= __buffer_size) | |
23709 | { | |
23710 | __buffer_end = std::copy(__middle, __last, __buffer); | |
23711 | std::copy_backward(__first, __middle, __last); | |
23712 | return std::copy(__buffer, __buffer_end, __first); | |
23713 | } | |
23714 | else if (__len1 <= __buffer_size) | |
23715 | { | |
23716 | __buffer_end = std::copy(__first, __middle, __buffer); | |
23717 | std::copy(__middle, __last, __first); | |
23718 | return std::copy_backward(__buffer, __buffer_end, __last); | |
23719 | } | |
23720 | else | |
23721 | { | |
23722 | std::rotate(__first, __middle, __last); | |
23723 | std::advance(__first, std::distance(__middle, __last)); | |
23724 | return __first; | |
23725 | } | |
23726 | } | |
23727 | ||
23728 | ||
23729 | ||
23730 | ||
23731 | ||
23732 | ||
23733 | template<typename _BidirectionalIterator, typename _Distance, | |
23734 | typename _Pointer> | |
23735 | void | |
23736 | __merge_adaptive(_BidirectionalIterator __first, | |
23737 | _BidirectionalIterator __middle, | |
23738 | _BidirectionalIterator __last, | |
23739 | _Distance __len1, _Distance __len2, | |
23740 | _Pointer __buffer, _Distance __buffer_size) | |
23741 | { | |
23742 | if (__len1 <= __len2 && __len1 <= __buffer_size) | |
23743 | { | |
23744 | _Pointer __buffer_end = std::copy(__first, __middle, __buffer); | |
23745 | std::merge(__buffer, __buffer_end, __middle, __last, __first); | |
23746 | } | |
23747 | else if (__len2 <= __buffer_size) | |
23748 | { | |
23749 | _Pointer __buffer_end = std::copy(__middle, __last, __buffer); | |
23750 | std::__merge_backward(__first, __middle, __buffer, | |
23751 | __buffer_end, __last); | |
23752 | } | |
23753 | else | |
23754 | { | |
23755 | _BidirectionalIterator __first_cut = __first; | |
23756 | _BidirectionalIterator __second_cut = __middle; | |
23757 | _Distance __len11 = 0; | |
23758 | _Distance __len22 = 0; | |
23759 | if (__len1 > __len2) | |
23760 | { | |
23761 | __len11 = __len1 / 2; | |
23762 | std::advance(__first_cut, __len11); | |
23763 | __second_cut = std::lower_bound(__middle, __last, | |
23764 | *__first_cut); | |
23765 | __len22 = std::distance(__middle, __second_cut); | |
23766 | } | |
23767 | else | |
23768 | { | |
23769 | __len22 = __len2 / 2; | |
23770 | std::advance(__second_cut, __len22); | |
23771 | __first_cut = std::upper_bound(__first, __middle, | |
23772 | *__second_cut); | |
23773 | __len11 = std::distance(__first, __first_cut); | |
23774 | } | |
23775 | _BidirectionalIterator __new_middle = | |
23776 | std::__rotate_adaptive(__first_cut, __middle, __second_cut, | |
23777 | __len1 - __len11, __len22, __buffer, | |
23778 | __buffer_size); | |
23779 | std::__merge_adaptive(__first, __first_cut, __new_middle, __len11, | |
23780 | __len22, __buffer, __buffer_size); | |
23781 | std::__merge_adaptive(__new_middle, __second_cut, __last, | |
23782 | __len1 - __len11, | |
23783 | __len2 - __len22, __buffer, __buffer_size); | |
23784 | } | |
23785 | } | |
23786 | ||
23787 | ||
23788 | ||
23789 | ||
23790 | ||
23791 | ||
23792 | template<typename _BidirectionalIterator, typename _Distance, typename _Pointer, | |
23793 | typename _Compare> | |
23794 | void | |
23795 | __merge_adaptive(_BidirectionalIterator __first, | |
23796 | _BidirectionalIterator __middle, | |
23797 | _BidirectionalIterator __last, | |
23798 | _Distance __len1, _Distance __len2, | |
23799 | _Pointer __buffer, _Distance __buffer_size, | |
23800 | _Compare __comp) | |
23801 | { | |
23802 | if (__len1 <= __len2 && __len1 <= __buffer_size) | |
23803 | { | |
23804 | _Pointer __buffer_end = std::copy(__first, __middle, __buffer); | |
23805 | std::merge(__buffer, __buffer_end, __middle, __last, __first, __comp); | |
23806 | } | |
23807 | else if (__len2 <= __buffer_size) | |
23808 | { | |
23809 | _Pointer __buffer_end = std::copy(__middle, __last, __buffer); | |
23810 | std::__merge_backward(__first, __middle, __buffer, __buffer_end, | |
23811 | __last, __comp); | |
23812 | } | |
23813 | else | |
23814 | { | |
23815 | _BidirectionalIterator __first_cut = __first; | |
23816 | _BidirectionalIterator __second_cut = __middle; | |
23817 | _Distance __len11 = 0; | |
23818 | _Distance __len22 = 0; | |
23819 | if (__len1 > __len2) | |
23820 | { | |
23821 | __len11 = __len1 / 2; | |
23822 | std::advance(__first_cut, __len11); | |
23823 | __second_cut = std::lower_bound(__middle, __last, *__first_cut, | |
23824 | __comp); | |
23825 | __len22 = std::distance(__middle, __second_cut); | |
23826 | } | |
23827 | else | |
23828 | { | |
23829 | __len22 = __len2 / 2; | |
23830 | std::advance(__second_cut, __len22); | |
23831 | __first_cut = std::upper_bound(__first, __middle, *__second_cut, | |
23832 | __comp); | |
23833 | __len11 = std::distance(__first, __first_cut); | |
23834 | } | |
23835 | _BidirectionalIterator __new_middle = | |
23836 | std::__rotate_adaptive(__first_cut, __middle, __second_cut, | |
23837 | __len1 - __len11, __len22, __buffer, | |
23838 | __buffer_size); | |
23839 | std::__merge_adaptive(__first, __first_cut, __new_middle, __len11, | |
23840 | __len22, __buffer, __buffer_size, __comp); | |
23841 | std::__merge_adaptive(__new_middle, __second_cut, __last, | |
23842 | __len1 - __len11, | |
23843 | __len2 - __len22, __buffer, | |
23844 | __buffer_size, __comp); | |
23845 | } | |
23846 | } | |
23847 | # 3711 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
23848 | template<typename _BidirectionalIterator> | |
23849 | void | |
23850 | inplace_merge(_BidirectionalIterator __first, | |
23851 | _BidirectionalIterator __middle, | |
23852 | _BidirectionalIterator __last) | |
23853 | { | |
23854 | typedef typename iterator_traits<_BidirectionalIterator>::value_type | |
23855 | _ValueType; | |
23856 | typedef typename iterator_traits<_BidirectionalIterator>::difference_type | |
23857 | _DistanceType; | |
23858 | ||
23859 | ||
23860 | ||
23861 | ||
23862 | ||
23863 | ; | |
23864 | ; | |
23865 | ||
23866 | if (__first == __middle || __middle == __last) | |
23867 | return; | |
23868 | ||
23869 | _DistanceType __len1 = std::distance(__first, __middle); | |
23870 | _DistanceType __len2 = std::distance(__middle, __last); | |
23871 | ||
23872 | _Temporary_buffer<_BidirectionalIterator, _ValueType> __buf(__first, | |
23873 | __last); | |
23874 | if (__buf.begin() == 0) | |
23875 | std::__merge_without_buffer(__first, __middle, __last, __len1, __len2); | |
23876 | else | |
23877 | std::__merge_adaptive(__first, __middle, __last, __len1, __len2, | |
23878 | __buf.begin(), _DistanceType(__buf.size())); | |
23879 | } | |
23880 | # 3765 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
23881 | template<typename _BidirectionalIterator, typename _Compare> | |
23882 | void | |
23883 | inplace_merge(_BidirectionalIterator __first, | |
23884 | _BidirectionalIterator __middle, | |
23885 | _BidirectionalIterator __last, | |
23886 | _Compare __comp) | |
23887 | { | |
23888 | typedef typename iterator_traits<_BidirectionalIterator>::value_type | |
23889 | _ValueType; | |
23890 | typedef typename iterator_traits<_BidirectionalIterator>::difference_type | |
23891 | _DistanceType; | |
23892 | ||
23893 | ||
23894 | ||
23895 | ||
23896 | ||
23897 | ||
23898 | ; | |
23899 | ; | |
23900 | ||
23901 | if (__first == __middle || __middle == __last) | |
23902 | return; | |
23903 | ||
23904 | const _DistanceType __len1 = std::distance(__first, __middle); | |
23905 | const _DistanceType __len2 = std::distance(__middle, __last); | |
23906 | ||
23907 | _Temporary_buffer<_BidirectionalIterator, _ValueType> __buf(__first, | |
23908 | __last); | |
23909 | if (__buf.begin() == 0) | |
23910 | std::__merge_without_buffer(__first, __middle, __last, __len1, | |
23911 | __len2, __comp); | |
23912 | else | |
23913 | std::__merge_adaptive(__first, __middle, __last, __len1, __len2, | |
23914 | __buf.begin(), _DistanceType(__buf.size()), | |
23915 | __comp); | |
23916 | } | |
23917 | ||
23918 | template<typename _RandomAccessIterator, typename _Pointer, | |
23919 | typename _Distance> | |
23920 | void | |
23921 | __stable_sort_adaptive(_RandomAccessIterator __first, | |
23922 | _RandomAccessIterator __last, | |
23923 | _Pointer __buffer, _Distance __buffer_size) | |
23924 | { | |
23925 | const _Distance __len = (__last - __first + 1) / 2; | |
23926 | const _RandomAccessIterator __middle = __first + __len; | |
23927 | if (__len > __buffer_size) | |
23928 | { | |
23929 | std::__stable_sort_adaptive(__first, __middle, | |
23930 | __buffer, __buffer_size); | |
23931 | std::__stable_sort_adaptive(__middle, __last, | |
23932 | __buffer, __buffer_size); | |
23933 | } | |
23934 | else | |
23935 | { | |
23936 | std::__merge_sort_with_buffer(__first, __middle, __buffer); | |
23937 | std::__merge_sort_with_buffer(__middle, __last, __buffer); | |
23938 | } | |
23939 | std::__merge_adaptive(__first, __middle, __last, | |
23940 | _Distance(__middle - __first), | |
23941 | _Distance(__last - __middle), | |
23942 | __buffer, __buffer_size); | |
23943 | } | |
23944 | ||
23945 | template<typename _RandomAccessIterator, typename _Pointer, | |
23946 | typename _Distance, typename _Compare> | |
23947 | void | |
23948 | __stable_sort_adaptive(_RandomAccessIterator __first, | |
23949 | _RandomAccessIterator __last, | |
23950 | _Pointer __buffer, _Distance __buffer_size, | |
23951 | _Compare __comp) | |
23952 | { | |
23953 | const _Distance __len = (__last - __first + 1) / 2; | |
23954 | const _RandomAccessIterator __middle = __first + __len; | |
23955 | if (__len > __buffer_size) | |
23956 | { | |
23957 | std::__stable_sort_adaptive(__first, __middle, __buffer, | |
23958 | __buffer_size, __comp); | |
23959 | std::__stable_sort_adaptive(__middle, __last, __buffer, | |
23960 | __buffer_size, __comp); | |
23961 | } | |
23962 | else | |
23963 | { | |
23964 | std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp); | |
23965 | std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp); | |
23966 | } | |
23967 | std::__merge_adaptive(__first, __middle, __last, | |
23968 | _Distance(__middle - __first), | |
23969 | _Distance(__last - __middle), | |
23970 | __buffer, __buffer_size, | |
23971 | __comp); | |
23972 | } | |
23973 | # 3874 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
23974 | template<typename _RandomAccessIterator> | |
23975 | inline void | |
23976 | stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) | |
23977 | { | |
23978 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
23979 | _ValueType; | |
23980 | typedef typename iterator_traits<_RandomAccessIterator>::difference_type | |
23981 | _DistanceType; | |
23982 | ||
23983 | ||
23984 | ||
23985 | ||
23986 | ||
23987 | ; | |
23988 | ||
23989 | _Temporary_buffer<_RandomAccessIterator, _ValueType> __buf(__first, | |
23990 | __last); | |
23991 | if (__buf.begin() == 0) | |
23992 | std::__inplace_stable_sort(__first, __last); | |
23993 | else | |
23994 | std::__stable_sort_adaptive(__first, __last, __buf.begin(), | |
23995 | _DistanceType(__buf.size())); | |
23996 | } | |
23997 | # 3915 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
23998 | template<typename _RandomAccessIterator, typename _Compare> | |
23999 | inline void | |
24000 | stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, | |
24001 | _Compare __comp) | |
24002 | { | |
24003 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
24004 | _ValueType; | |
24005 | typedef typename iterator_traits<_RandomAccessIterator>::difference_type | |
24006 | _DistanceType; | |
24007 | ||
24008 | ||
24009 | ||
24010 | ||
24011 | ||
24012 | ||
24013 | ||
24014 | ; | |
24015 | ||
24016 | _Temporary_buffer<_RandomAccessIterator, _ValueType> __buf(__first, | |
24017 | __last); | |
24018 | if (__buf.begin() == 0) | |
24019 | std::__inplace_stable_sort(__first, __last, __comp); | |
24020 | else | |
24021 | std::__stable_sort_adaptive(__first, __last, __buf.begin(), | |
24022 | _DistanceType(__buf.size()), __comp); | |
24023 | } | |
24024 | ||
24025 | ||
24026 | template<typename _RandomAccessIterator, typename _Size> | |
24027 | void | |
24028 | __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth, | |
24029 | _RandomAccessIterator __last, _Size __depth_limit) | |
24030 | { | |
24031 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
24032 | _ValueType; | |
24033 | ||
24034 | while (__last - __first > 3) | |
24035 | { | |
24036 | if (__depth_limit == 0) | |
24037 | { | |
24038 | std::__heap_select(__first, __nth + 1, __last); | |
24039 | ||
24040 | std::iter_swap(__first, __nth); | |
24041 | return; | |
24042 | } | |
24043 | --__depth_limit; | |
24044 | _RandomAccessIterator __cut = | |
24045 | std::__unguarded_partition(__first, __last, | |
24046 | _ValueType(std::__median(*__first, | |
24047 | *(__first | |
24048 | + (__last | |
24049 | - __first) | |
24050 | / 2), | |
24051 | *(__last | |
24052 | - 1)))); | |
24053 | if (__cut <= __nth) | |
24054 | __first = __cut; | |
24055 | else | |
24056 | __last = __cut; | |
24057 | } | |
24058 | std::__insertion_sort(__first, __last); | |
24059 | } | |
24060 | ||
24061 | template<typename _RandomAccessIterator, typename _Size, typename _Compare> | |
24062 | void | |
24063 | __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth, | |
24064 | _RandomAccessIterator __last, _Size __depth_limit, | |
24065 | _Compare __comp) | |
24066 | { | |
24067 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
24068 | _ValueType; | |
24069 | ||
24070 | while (__last - __first > 3) | |
24071 | { | |
24072 | if (__depth_limit == 0) | |
24073 | { | |
24074 | std::__heap_select(__first, __nth + 1, __last, __comp); | |
24075 | ||
24076 | std::iter_swap(__first, __nth); | |
24077 | return; | |
24078 | } | |
24079 | --__depth_limit; | |
24080 | _RandomAccessIterator __cut = | |
24081 | std::__unguarded_partition(__first, __last, | |
24082 | _ValueType(std::__median(*__first, | |
24083 | *(__first | |
24084 | + (__last | |
24085 | - __first) | |
24086 | / 2), | |
24087 | *(__last - 1), | |
24088 | __comp)), | |
24089 | __comp); | |
24090 | if (__cut <= __nth) | |
24091 | __first = __cut; | |
24092 | else | |
24093 | __last = __cut; | |
24094 | } | |
24095 | std::__insertion_sort(__first, __last, __comp); | |
24096 | } | |
24097 | # 4030 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24098 | template<typename _RandomAccessIterator> | |
24099 | inline void | |
24100 | nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, | |
24101 | _RandomAccessIterator __last) | |
24102 | { | |
24103 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
24104 | _ValueType; | |
24105 | ||
24106 | ||
24107 | ||
24108 | ||
24109 | ||
24110 | ; | |
24111 | ; | |
24112 | ||
24113 | if (__first == __last || __nth == __last) | |
24114 | return; | |
24115 | ||
24116 | std::__introselect(__first, __nth, __last, | |
24117 | std::__lg(__last - __first) * 2); | |
24118 | } | |
24119 | # 4068 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24120 | template<typename _RandomAccessIterator, typename _Compare> | |
24121 | inline void | |
24122 | nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, | |
24123 | _RandomAccessIterator __last, _Compare __comp) | |
24124 | { | |
24125 | typedef typename iterator_traits<_RandomAccessIterator>::value_type | |
24126 | _ValueType; | |
24127 | ||
24128 | ||
24129 | ||
24130 | ||
24131 | ||
24132 | ||
24133 | ; | |
24134 | ; | |
24135 | ||
24136 | if (__first == __last || __nth == __last) | |
24137 | return; | |
24138 | ||
24139 | std::__introselect(__first, __nth, __last, | |
24140 | std::__lg(__last - __first) * 2, __comp); | |
24141 | } | |
24142 | # 4107 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24143 | template<typename _ForwardIterator, typename _Tp> | |
24144 | pair<_ForwardIterator, _ForwardIterator> | |
24145 | equal_range(_ForwardIterator __first, _ForwardIterator __last, | |
24146 | const _Tp& __val) | |
24147 | { | |
24148 | typedef typename iterator_traits<_ForwardIterator>::value_type | |
24149 | _ValueType; | |
24150 | typedef typename iterator_traits<_ForwardIterator>::difference_type | |
24151 | _DistanceType; | |
24152 | ||
24153 | ||
24154 | ||
24155 | ||
24156 | ||
24157 | ; | |
24158 | ||
24159 | _DistanceType __len = std::distance(__first, __last); | |
24160 | _DistanceType __half; | |
24161 | _ForwardIterator __middle, __left, __right; | |
24162 | ||
24163 | while (__len > 0) | |
24164 | { | |
24165 | __half = __len >> 1; | |
24166 | __middle = __first; | |
24167 | std::advance(__middle, __half); | |
24168 | if (*__middle < __val) | |
24169 | { | |
24170 | __first = __middle; | |
24171 | ++__first; | |
24172 | __len = __len - __half - 1; | |
24173 | } | |
24174 | else if (__val < *__middle) | |
24175 | __len = __half; | |
24176 | else | |
24177 | { | |
24178 | __left = std::lower_bound(__first, __middle, __val); | |
24179 | std::advance(__first, __len); | |
24180 | __right = std::upper_bound(++__middle, __first, __val); | |
24181 | return pair<_ForwardIterator, _ForwardIterator>(__left, __right); | |
24182 | } | |
24183 | } | |
24184 | return pair<_ForwardIterator, _ForwardIterator>(__first, __first); | |
24185 | } | |
24186 | # 4168 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24187 | template<typename _ForwardIterator, typename _Tp, typename _Compare> | |
24188 | pair<_ForwardIterator, _ForwardIterator> | |
24189 | equal_range(_ForwardIterator __first, _ForwardIterator __last, | |
24190 | const _Tp& __val, | |
24191 | _Compare __comp) | |
24192 | { | |
24193 | typedef typename iterator_traits<_ForwardIterator>::value_type | |
24194 | _ValueType; | |
24195 | typedef typename iterator_traits<_ForwardIterator>::difference_type | |
24196 | _DistanceType; | |
24197 | ||
24198 | ||
24199 | ||
24200 | ||
24201 | ||
24202 | ||
24203 | ||
24204 | ; | |
24205 | ||
24206 | _DistanceType __len = std::distance(__first, __last); | |
24207 | _DistanceType __half; | |
24208 | _ForwardIterator __middle, __left, __right; | |
24209 | ||
24210 | while (__len > 0) | |
24211 | { | |
24212 | __half = __len >> 1; | |
24213 | __middle = __first; | |
24214 | std::advance(__middle, __half); | |
24215 | if (__comp(*__middle, __val)) | |
24216 | { | |
24217 | __first = __middle; | |
24218 | ++__first; | |
24219 | __len = __len - __half - 1; | |
24220 | } | |
24221 | else if (__comp(__val, *__middle)) | |
24222 | __len = __half; | |
24223 | else | |
24224 | { | |
24225 | __left = std::lower_bound(__first, __middle, __val, __comp); | |
24226 | std::advance(__first, __len); | |
24227 | __right = std::upper_bound(++__middle, __first, __val, __comp); | |
24228 | return pair<_ForwardIterator, _ForwardIterator>(__left, __right); | |
24229 | } | |
24230 | } | |
24231 | return pair<_ForwardIterator, _ForwardIterator>(__first, __first); | |
24232 | } | |
24233 | # 4226 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24234 | template<typename _ForwardIterator, typename _Tp> | |
24235 | bool | |
24236 | binary_search(_ForwardIterator __first, _ForwardIterator __last, | |
24237 | const _Tp& __val) | |
24238 | { | |
24239 | typedef typename iterator_traits<_ForwardIterator>::value_type | |
24240 | _ValueType; | |
24241 | ||
24242 | ||
24243 | ||
24244 | ||
24245 | ; | |
24246 | ||
24247 | _ForwardIterator __i = std::lower_bound(__first, __last, __val); | |
24248 | return __i != __last && !(__val < *__i); | |
24249 | } | |
24250 | # 4258 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24251 | template<typename _ForwardIterator, typename _Tp, typename _Compare> | |
24252 | bool | |
24253 | binary_search(_ForwardIterator __first, _ForwardIterator __last, | |
24254 | const _Tp& __val, _Compare __comp) | |
24255 | { | |
24256 | typedef typename iterator_traits<_ForwardIterator>::value_type | |
24257 | _ValueType; | |
24258 | ||
24259 | ||
24260 | ||
24261 | ||
24262 | ||
24263 | ; | |
24264 | ||
24265 | _ForwardIterator __i = std::lower_bound(__first, __last, __val, __comp); | |
24266 | return __i != __last && !__comp(__val, *__i); | |
24267 | } | |
24268 | # 4297 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24269 | template<typename _InputIterator1, typename _InputIterator2> | |
24270 | bool | |
24271 | includes(_InputIterator1 __first1, _InputIterator1 __last1, | |
24272 | _InputIterator2 __first2, _InputIterator2 __last2) | |
24273 | { | |
24274 | typedef typename iterator_traits<_InputIterator1>::value_type | |
24275 | _ValueType1; | |
24276 | typedef typename iterator_traits<_InputIterator2>::value_type | |
24277 | _ValueType2; | |
24278 | ||
24279 | ||
24280 | ||
24281 | ||
24282 | ||
24283 | ||
24284 | ; | |
24285 | ; | |
24286 | ||
24287 | while (__first1 != __last1 && __first2 != __last2) | |
24288 | if (*__first2 < *__first1) | |
24289 | return false; | |
24290 | else if(*__first1 < *__first2) | |
24291 | ++__first1; | |
24292 | else | |
24293 | ++__first1, ++__first2; | |
24294 | ||
24295 | return __first2 == __last2; | |
24296 | } | |
24297 | # 4345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24298 | template<typename _InputIterator1, typename _InputIterator2, | |
24299 | typename _Compare> | |
24300 | bool | |
24301 | includes(_InputIterator1 __first1, _InputIterator1 __last1, | |
24302 | _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp) | |
24303 | { | |
24304 | typedef typename iterator_traits<_InputIterator1>::value_type | |
24305 | _ValueType1; | |
24306 | typedef typename iterator_traits<_InputIterator2>::value_type | |
24307 | _ValueType2; | |
24308 | ||
24309 | ||
24310 | ||
24311 | ||
24312 | ||
24313 | ||
24314 | ||
24315 | ||
24316 | ; | |
24317 | ; | |
24318 | ||
24319 | while (__first1 != __last1 && __first2 != __last2) | |
24320 | if (__comp(*__first2, *__first1)) | |
24321 | return false; | |
24322 | else if(__comp(*__first1, *__first2)) | |
24323 | ++__first1; | |
24324 | else | |
24325 | ++__first1, ++__first2; | |
24326 | ||
24327 | return __first2 == __last2; | |
24328 | } | |
24329 | # 4394 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24330 | template<typename _InputIterator1, typename _InputIterator2, | |
24331 | typename _OutputIterator> | |
24332 | _OutputIterator | |
24333 | set_union(_InputIterator1 __first1, _InputIterator1 __last1, | |
24334 | _InputIterator2 __first2, _InputIterator2 __last2, | |
24335 | _OutputIterator __result) | |
24336 | { | |
24337 | typedef typename iterator_traits<_InputIterator1>::value_type | |
24338 | _ValueType1; | |
24339 | typedef typename iterator_traits<_InputIterator2>::value_type | |
24340 | _ValueType2; | |
24341 | ||
24342 | ||
24343 | ||
24344 | ||
24345 | ||
24346 | ||
24347 | ||
24348 | ||
24349 | ||
24350 | ||
24351 | ; | |
24352 | ; | |
24353 | ||
24354 | while (__first1 != __last1 && __first2 != __last2) | |
24355 | { | |
24356 | if (*__first1 < *__first2) | |
24357 | { | |
24358 | *__result = *__first1; | |
24359 | ++__first1; | |
24360 | } | |
24361 | else if (*__first2 < *__first1) | |
24362 | { | |
24363 | *__result = *__first2; | |
24364 | ++__first2; | |
24365 | } | |
24366 | else | |
24367 | { | |
24368 | *__result = *__first1; | |
24369 | ++__first1; | |
24370 | ++__first2; | |
24371 | } | |
24372 | ++__result; | |
24373 | } | |
24374 | return std::copy(__first2, __last2, std::copy(__first1, __last1, | |
24375 | __result)); | |
24376 | } | |
24377 | # 4460 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24378 | template<typename _InputIterator1, typename _InputIterator2, | |
24379 | typename _OutputIterator, typename _Compare> | |
24380 | _OutputIterator | |
24381 | set_union(_InputIterator1 __first1, _InputIterator1 __last1, | |
24382 | _InputIterator2 __first2, _InputIterator2 __last2, | |
24383 | _OutputIterator __result, _Compare __comp) | |
24384 | { | |
24385 | typedef typename iterator_traits<_InputIterator1>::value_type | |
24386 | _ValueType1; | |
24387 | typedef typename iterator_traits<_InputIterator2>::value_type | |
24388 | _ValueType2; | |
24389 | ||
24390 | ||
24391 | ||
24392 | ||
24393 | ||
24394 | ||
24395 | ||
24396 | ||
24397 | ||
24398 | ||
24399 | ||
24400 | ||
24401 | ; | |
24402 | ; | |
24403 | ||
24404 | while (__first1 != __last1 && __first2 != __last2) | |
24405 | { | |
24406 | if (__comp(*__first1, *__first2)) | |
24407 | { | |
24408 | *__result = *__first1; | |
24409 | ++__first1; | |
24410 | } | |
24411 | else if (__comp(*__first2, *__first1)) | |
24412 | { | |
24413 | *__result = *__first2; | |
24414 | ++__first2; | |
24415 | } | |
24416 | else | |
24417 | { | |
24418 | *__result = *__first1; | |
24419 | ++__first1; | |
24420 | ++__first2; | |
24421 | } | |
24422 | ++__result; | |
24423 | } | |
24424 | return std::copy(__first2, __last2, std::copy(__first1, __last1, | |
24425 | __result)); | |
24426 | } | |
24427 | # 4526 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24428 | template<typename _InputIterator1, typename _InputIterator2, | |
24429 | typename _OutputIterator> | |
24430 | _OutputIterator | |
24431 | set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, | |
24432 | _InputIterator2 __first2, _InputIterator2 __last2, | |
24433 | _OutputIterator __result) | |
24434 | { | |
24435 | typedef typename iterator_traits<_InputIterator1>::value_type | |
24436 | _ValueType1; | |
24437 | typedef typename iterator_traits<_InputIterator2>::value_type | |
24438 | _ValueType2; | |
24439 | ||
24440 | ||
24441 | ||
24442 | ||
24443 | ||
24444 | ||
24445 | ||
24446 | ||
24447 | ; | |
24448 | ; | |
24449 | ||
24450 | while (__first1 != __last1 && __first2 != __last2) | |
24451 | if (*__first1 < *__first2) | |
24452 | ++__first1; | |
24453 | else if (*__first2 < *__first1) | |
24454 | ++__first2; | |
24455 | else | |
24456 | { | |
24457 | *__result = *__first1; | |
24458 | ++__first1; | |
24459 | ++__first2; | |
24460 | ++__result; | |
24461 | } | |
24462 | return __result; | |
24463 | } | |
24464 | # 4582 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24465 | template<typename _InputIterator1, typename _InputIterator2, | |
24466 | typename _OutputIterator, typename _Compare> | |
24467 | _OutputIterator | |
24468 | set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, | |
24469 | _InputIterator2 __first2, _InputIterator2 __last2, | |
24470 | _OutputIterator __result, _Compare __comp) | |
24471 | { | |
24472 | typedef typename iterator_traits<_InputIterator1>::value_type | |
24473 | _ValueType1; | |
24474 | typedef typename iterator_traits<_InputIterator2>::value_type | |
24475 | _ValueType2; | |
24476 | ||
24477 | ||
24478 | ||
24479 | ||
24480 | ||
24481 | ||
24482 | ||
24483 | ||
24484 | ||
24485 | ||
24486 | ; | |
24487 | ; | |
24488 | ||
24489 | while (__first1 != __last1 && __first2 != __last2) | |
24490 | if (__comp(*__first1, *__first2)) | |
24491 | ++__first1; | |
24492 | else if (__comp(*__first2, *__first1)) | |
24493 | ++__first2; | |
24494 | else | |
24495 | { | |
24496 | *__result = *__first1; | |
24497 | ++__first1; | |
24498 | ++__first2; | |
24499 | ++__result; | |
24500 | } | |
24501 | return __result; | |
24502 | } | |
24503 | # 4639 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24504 | template<typename _InputIterator1, typename _InputIterator2, | |
24505 | typename _OutputIterator> | |
24506 | _OutputIterator | |
24507 | set_difference(_InputIterator1 __first1, _InputIterator1 __last1, | |
24508 | _InputIterator2 __first2, _InputIterator2 __last2, | |
24509 | _OutputIterator __result) | |
24510 | { | |
24511 | typedef typename iterator_traits<_InputIterator1>::value_type | |
24512 | _ValueType1; | |
24513 | typedef typename iterator_traits<_InputIterator2>::value_type | |
24514 | _ValueType2; | |
24515 | ||
24516 | ||
24517 | ||
24518 | ||
24519 | ||
24520 | ||
24521 | ||
24522 | ||
24523 | ; | |
24524 | ; | |
24525 | ||
24526 | while (__first1 != __last1 && __first2 != __last2) | |
24527 | if (*__first1 < *__first2) | |
24528 | { | |
24529 | *__result = *__first1; | |
24530 | ++__first1; | |
24531 | ++__result; | |
24532 | } | |
24533 | else if (*__first2 < *__first1) | |
24534 | ++__first2; | |
24535 | else | |
24536 | { | |
24537 | ++__first1; | |
24538 | ++__first2; | |
24539 | } | |
24540 | return std::copy(__first1, __last1, __result); | |
24541 | } | |
24542 | # 4699 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24543 | template<typename _InputIterator1, typename _InputIterator2, | |
24544 | typename _OutputIterator, typename _Compare> | |
24545 | _OutputIterator | |
24546 | set_difference(_InputIterator1 __first1, _InputIterator1 __last1, | |
24547 | _InputIterator2 __first2, _InputIterator2 __last2, | |
24548 | _OutputIterator __result, _Compare __comp) | |
24549 | { | |
24550 | typedef typename iterator_traits<_InputIterator1>::value_type | |
24551 | _ValueType1; | |
24552 | typedef typename iterator_traits<_InputIterator2>::value_type | |
24553 | _ValueType2; | |
24554 | ||
24555 | ||
24556 | ||
24557 | ||
24558 | ||
24559 | ||
24560 | ||
24561 | ||
24562 | ||
24563 | ||
24564 | ; | |
24565 | ; | |
24566 | ||
24567 | while (__first1 != __last1 && __first2 != __last2) | |
24568 | if (__comp(*__first1, *__first2)) | |
24569 | { | |
24570 | *__result = *__first1; | |
24571 | ++__first1; | |
24572 | ++__result; | |
24573 | } | |
24574 | else if (__comp(*__first2, *__first1)) | |
24575 | ++__first2; | |
24576 | else | |
24577 | { | |
24578 | ++__first1; | |
24579 | ++__first2; | |
24580 | } | |
24581 | return std::copy(__first1, __last1, __result); | |
24582 | } | |
24583 | # 4756 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24584 | template<typename _InputIterator1, typename _InputIterator2, | |
24585 | typename _OutputIterator> | |
24586 | _OutputIterator | |
24587 | set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, | |
24588 | _InputIterator2 __first2, _InputIterator2 __last2, | |
24589 | _OutputIterator __result) | |
24590 | { | |
24591 | typedef typename iterator_traits<_InputIterator1>::value_type | |
24592 | _ValueType1; | |
24593 | typedef typename iterator_traits<_InputIterator2>::value_type | |
24594 | _ValueType2; | |
24595 | ||
24596 | ||
24597 | ||
24598 | ||
24599 | ||
24600 | ||
24601 | ||
24602 | ||
24603 | ||
24604 | ||
24605 | ; | |
24606 | ; | |
24607 | ||
24608 | while (__first1 != __last1 && __first2 != __last2) | |
24609 | if (*__first1 < *__first2) | |
24610 | { | |
24611 | *__result = *__first1; | |
24612 | ++__first1; | |
24613 | ++__result; | |
24614 | } | |
24615 | else if (*__first2 < *__first1) | |
24616 | { | |
24617 | *__result = *__first2; | |
24618 | ++__first2; | |
24619 | ++__result; | |
24620 | } | |
24621 | else | |
24622 | { | |
24623 | ++__first1; | |
24624 | ++__first2; | |
24625 | } | |
24626 | return std::copy(__first2, __last2, std::copy(__first1, | |
24627 | __last1, __result)); | |
24628 | } | |
24629 | # 4821 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24630 | template<typename _InputIterator1, typename _InputIterator2, | |
24631 | typename _OutputIterator, typename _Compare> | |
24632 | _OutputIterator | |
24633 | set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, | |
24634 | _InputIterator2 __first2, _InputIterator2 __last2, | |
24635 | _OutputIterator __result, | |
24636 | _Compare __comp) | |
24637 | { | |
24638 | typedef typename iterator_traits<_InputIterator1>::value_type | |
24639 | _ValueType1; | |
24640 | typedef typename iterator_traits<_InputIterator2>::value_type | |
24641 | _ValueType2; | |
24642 | ||
24643 | ||
24644 | ||
24645 | ||
24646 | ||
24647 | ||
24648 | ||
24649 | ||
24650 | ||
24651 | ||
24652 | ||
24653 | ||
24654 | ; | |
24655 | ; | |
24656 | ||
24657 | while (__first1 != __last1 && __first2 != __last2) | |
24658 | if (__comp(*__first1, *__first2)) | |
24659 | { | |
24660 | *__result = *__first1; | |
24661 | ++__first1; | |
24662 | ++__result; | |
24663 | } | |
24664 | else if (__comp(*__first2, *__first1)) | |
24665 | { | |
24666 | *__result = *__first2; | |
24667 | ++__first2; | |
24668 | ++__result; | |
24669 | } | |
24670 | else | |
24671 | { | |
24672 | ++__first1; | |
24673 | ++__first2; | |
24674 | } | |
24675 | return std::copy(__first2, __last2, std::copy(__first1, | |
24676 | __last1, __result)); | |
24677 | } | |
24678 | # 4879 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24679 | template<typename _ForwardIterator> | |
24680 | _ForwardIterator | |
24681 | max_element(_ForwardIterator __first, _ForwardIterator __last) | |
24682 | { | |
24683 | ||
24684 | ||
24685 | ||
24686 | ||
24687 | ; | |
24688 | ||
24689 | if (__first == __last) | |
24690 | return __first; | |
24691 | _ForwardIterator __result = __first; | |
24692 | while (++__first != __last) | |
24693 | if (*__result < *__first) | |
24694 | __result = __first; | |
24695 | return __result; | |
24696 | } | |
24697 | # 4906 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24698 | template<typename _ForwardIterator, typename _Compare> | |
24699 | _ForwardIterator | |
24700 | max_element(_ForwardIterator __first, _ForwardIterator __last, | |
24701 | _Compare __comp) | |
24702 | { | |
24703 | ||
24704 | ||
24705 | ||
24706 | ||
24707 | ||
24708 | ; | |
24709 | ||
24710 | if (__first == __last) return __first; | |
24711 | _ForwardIterator __result = __first; | |
24712 | while (++__first != __last) | |
24713 | if (__comp(*__result, *__first)) __result = __first; | |
24714 | return __result; | |
24715 | } | |
24716 | ||
24717 | ||
24718 | ||
24719 | ||
24720 | ||
24721 | ||
24722 | ||
24723 | template<typename _ForwardIterator> | |
24724 | _ForwardIterator | |
24725 | min_element(_ForwardIterator __first, _ForwardIterator __last) | |
24726 | { | |
24727 | ||
24728 | ||
24729 | ||
24730 | ||
24731 | ; | |
24732 | ||
24733 | if (__first == __last) | |
24734 | return __first; | |
24735 | _ForwardIterator __result = __first; | |
24736 | while (++__first != __last) | |
24737 | if (*__first < *__result) | |
24738 | __result = __first; | |
24739 | return __result; | |
24740 | } | |
24741 | # 4958 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24742 | template<typename _ForwardIterator, typename _Compare> | |
24743 | _ForwardIterator | |
24744 | min_element(_ForwardIterator __first, _ForwardIterator __last, | |
24745 | _Compare __comp) | |
24746 | { | |
24747 | ||
24748 | ||
24749 | ||
24750 | ||
24751 | ||
24752 | ; | |
24753 | ||
24754 | if (__first == __last) | |
24755 | return __first; | |
24756 | _ForwardIterator __result = __first; | |
24757 | while (++__first != __last) | |
24758 | if (__comp(*__first, *__result)) | |
24759 | __result = __first; | |
24760 | return __result; | |
24761 | } | |
24762 | # 4993 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24763 | template<typename _BidirectionalIterator> | |
24764 | bool | |
24765 | next_permutation(_BidirectionalIterator __first, | |
24766 | _BidirectionalIterator __last) | |
24767 | { | |
24768 | ||
24769 | ||
24770 | ||
24771 | ||
24772 | ||
24773 | ; | |
24774 | ||
24775 | if (__first == __last) | |
24776 | return false; | |
24777 | _BidirectionalIterator __i = __first; | |
24778 | ++__i; | |
24779 | if (__i == __last) | |
24780 | return false; | |
24781 | __i = __last; | |
24782 | --__i; | |
24783 | ||
24784 | for(;;) | |
24785 | { | |
24786 | _BidirectionalIterator __ii = __i; | |
24787 | --__i; | |
24788 | if (*__i < *__ii) | |
24789 | { | |
24790 | _BidirectionalIterator __j = __last; | |
24791 | while (!(*__i < *--__j)) | |
24792 | {} | |
24793 | std::iter_swap(__i, __j); | |
24794 | std::reverse(__ii, __last); | |
24795 | return true; | |
24796 | } | |
24797 | if (__i == __first) | |
24798 | { | |
24799 | std::reverse(__first, __last); | |
24800 | return false; | |
24801 | } | |
24802 | } | |
24803 | } | |
24804 | # 5049 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24805 | template<typename _BidirectionalIterator, typename _Compare> | |
24806 | bool | |
24807 | next_permutation(_BidirectionalIterator __first, | |
24808 | _BidirectionalIterator __last, _Compare __comp) | |
24809 | { | |
24810 | ||
24811 | ||
24812 | ||
24813 | ||
24814 | ||
24815 | ||
24816 | ; | |
24817 | ||
24818 | if (__first == __last) | |
24819 | return false; | |
24820 | _BidirectionalIterator __i = __first; | |
24821 | ++__i; | |
24822 | if (__i == __last) | |
24823 | return false; | |
24824 | __i = __last; | |
24825 | --__i; | |
24826 | ||
24827 | for(;;) | |
24828 | { | |
24829 | _BidirectionalIterator __ii = __i; | |
24830 | --__i; | |
24831 | if (__comp(*__i, *__ii)) | |
24832 | { | |
24833 | _BidirectionalIterator __j = __last; | |
24834 | while (!__comp(*__i, *--__j)) | |
24835 | {} | |
24836 | std::iter_swap(__i, __j); | |
24837 | std::reverse(__ii, __last); | |
24838 | return true; | |
24839 | } | |
24840 | if (__i == __first) | |
24841 | { | |
24842 | std::reverse(__first, __last); | |
24843 | return false; | |
24844 | } | |
24845 | } | |
24846 | } | |
24847 | # 5104 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24848 | template<typename _BidirectionalIterator> | |
24849 | bool | |
24850 | prev_permutation(_BidirectionalIterator __first, | |
24851 | _BidirectionalIterator __last) | |
24852 | { | |
24853 | ||
24854 | ||
24855 | ||
24856 | ||
24857 | ||
24858 | ; | |
24859 | ||
24860 | if (__first == __last) | |
24861 | return false; | |
24862 | _BidirectionalIterator __i = __first; | |
24863 | ++__i; | |
24864 | if (__i == __last) | |
24865 | return false; | |
24866 | __i = __last; | |
24867 | --__i; | |
24868 | ||
24869 | for(;;) | |
24870 | { | |
24871 | _BidirectionalIterator __ii = __i; | |
24872 | --__i; | |
24873 | if (*__ii < *__i) | |
24874 | { | |
24875 | _BidirectionalIterator __j = __last; | |
24876 | while (!(*--__j < *__i)) | |
24877 | {} | |
24878 | std::iter_swap(__i, __j); | |
24879 | std::reverse(__ii, __last); | |
24880 | return true; | |
24881 | } | |
24882 | if (__i == __first) | |
24883 | { | |
24884 | std::reverse(__first, __last); | |
24885 | return false; | |
24886 | } | |
24887 | } | |
24888 | } | |
24889 | # 5160 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24890 | template<typename _BidirectionalIterator, typename _Compare> | |
24891 | bool | |
24892 | prev_permutation(_BidirectionalIterator __first, | |
24893 | _BidirectionalIterator __last, _Compare __comp) | |
24894 | { | |
24895 | ||
24896 | ||
24897 | ||
24898 | ||
24899 | ||
24900 | ||
24901 | ; | |
24902 | ||
24903 | if (__first == __last) | |
24904 | return false; | |
24905 | _BidirectionalIterator __i = __first; | |
24906 | ++__i; | |
24907 | if (__i == __last) | |
24908 | return false; | |
24909 | __i = __last; | |
24910 | --__i; | |
24911 | ||
24912 | for(;;) | |
24913 | { | |
24914 | _BidirectionalIterator __ii = __i; | |
24915 | --__i; | |
24916 | if (__comp(*__ii, *__i)) | |
24917 | { | |
24918 | _BidirectionalIterator __j = __last; | |
24919 | while (!__comp(*--__j, *__i)) | |
24920 | {} | |
24921 | std::iter_swap(__i, __j); | |
24922 | std::reverse(__ii, __last); | |
24923 | return true; | |
24924 | } | |
24925 | if (__i == __first) | |
24926 | { | |
24927 | std::reverse(__first, __last); | |
24928 | return false; | |
24929 | } | |
24930 | } | |
24931 | } | |
24932 | # 5219 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24933 | template<typename _InputIterator, typename _ForwardIterator> | |
24934 | _InputIterator | |
24935 | find_first_of(_InputIterator __first1, _InputIterator __last1, | |
24936 | _ForwardIterator __first2, _ForwardIterator __last2) | |
24937 | { | |
24938 | ||
24939 | ||
24940 | ||
24941 | ||
24942 | ||
24943 | ||
24944 | ; | |
24945 | ; | |
24946 | ||
24947 | for ( ; __first1 != __last1; ++__first1) | |
24948 | for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) | |
24949 | if (*__first1 == *__iter) | |
24950 | return __first1; | |
24951 | return __last1; | |
24952 | } | |
24953 | # 5255 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24954 | template<typename _InputIterator, typename _ForwardIterator, | |
24955 | typename _BinaryPredicate> | |
24956 | _InputIterator | |
24957 | find_first_of(_InputIterator __first1, _InputIterator __last1, | |
24958 | _ForwardIterator __first2, _ForwardIterator __last2, | |
24959 | _BinaryPredicate __comp) | |
24960 | { | |
24961 | ||
24962 | ||
24963 | ||
24964 | ||
24965 | ||
24966 | ||
24967 | ; | |
24968 | ; | |
24969 | ||
24970 | for ( ; __first1 != __last1; ++__first1) | |
24971 | for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) | |
24972 | if (__comp(*__first1, *__iter)) | |
24973 | return __first1; | |
24974 | return __last1; | |
24975 | } | |
24976 | # 5285 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
24977 | template<typename _ForwardIterator1, typename _ForwardIterator2> | |
24978 | _ForwardIterator1 | |
24979 | __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, | |
24980 | _ForwardIterator2 __first2, _ForwardIterator2 __last2, | |
24981 | forward_iterator_tag, forward_iterator_tag) | |
24982 | { | |
24983 | if (__first2 == __last2) | |
24984 | return __last1; | |
24985 | else | |
24986 | { | |
24987 | _ForwardIterator1 __result = __last1; | |
24988 | while (1) | |
24989 | { | |
24990 | _ForwardIterator1 __new_result | |
24991 | = std::search(__first1, __last1, __first2, __last2); | |
24992 | if (__new_result == __last1) | |
24993 | return __result; | |
24994 | else | |
24995 | { | |
24996 | __result = __new_result; | |
24997 | __first1 = __new_result; | |
24998 | ++__first1; | |
24999 | } | |
25000 | } | |
25001 | } | |
25002 | } | |
25003 | ||
25004 | template<typename _ForwardIterator1, typename _ForwardIterator2, | |
25005 | typename _BinaryPredicate> | |
25006 | _ForwardIterator1 | |
25007 | __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, | |
25008 | _ForwardIterator2 __first2, _ForwardIterator2 __last2, | |
25009 | forward_iterator_tag, forward_iterator_tag, | |
25010 | _BinaryPredicate __comp) | |
25011 | { | |
25012 | if (__first2 == __last2) | |
25013 | return __last1; | |
25014 | else | |
25015 | { | |
25016 | _ForwardIterator1 __result = __last1; | |
25017 | while (1) | |
25018 | { | |
25019 | _ForwardIterator1 __new_result | |
25020 | = std::search(__first1, __last1, __first2, __last2, __comp); | |
25021 | if (__new_result == __last1) | |
25022 | return __result; | |
25023 | else | |
25024 | { | |
25025 | __result = __new_result; | |
25026 | __first1 = __new_result; | |
25027 | ++__first1; | |
25028 | } | |
25029 | } | |
25030 | } | |
25031 | } | |
25032 | ||
25033 | ||
25034 | template<typename _BidirectionalIterator1, typename _BidirectionalIterator2> | |
25035 | _BidirectionalIterator1 | |
25036 | __find_end(_BidirectionalIterator1 __first1, | |
25037 | _BidirectionalIterator1 __last1, | |
25038 | _BidirectionalIterator2 __first2, | |
25039 | _BidirectionalIterator2 __last2, | |
25040 | bidirectional_iterator_tag, bidirectional_iterator_tag) | |
25041 | { | |
25042 | ||
25043 | ||
25044 | ||
25045 | ||
25046 | ||
25047 | ||
25048 | typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1; | |
25049 | typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2; | |
25050 | ||
25051 | _RevIterator1 __rlast1(__first1); | |
25052 | _RevIterator2 __rlast2(__first2); | |
25053 | _RevIterator1 __rresult = std::search(_RevIterator1(__last1), __rlast1, | |
25054 | _RevIterator2(__last2), __rlast2); | |
25055 | ||
25056 | if (__rresult == __rlast1) | |
25057 | return __last1; | |
25058 | else | |
25059 | { | |
25060 | _BidirectionalIterator1 __result = __rresult.base(); | |
25061 | std::advance(__result, -std::distance(__first2, __last2)); | |
25062 | return __result; | |
25063 | } | |
25064 | } | |
25065 | ||
25066 | template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, | |
25067 | typename _BinaryPredicate> | |
25068 | _BidirectionalIterator1 | |
25069 | __find_end(_BidirectionalIterator1 __first1, | |
25070 | _BidirectionalIterator1 __last1, | |
25071 | _BidirectionalIterator2 __first2, | |
25072 | _BidirectionalIterator2 __last2, | |
25073 | bidirectional_iterator_tag, bidirectional_iterator_tag, | |
25074 | _BinaryPredicate __comp) | |
25075 | { | |
25076 | ||
25077 | ||
25078 | ||
25079 | ||
25080 | ||
25081 | ||
25082 | typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1; | |
25083 | typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2; | |
25084 | ||
25085 | _RevIterator1 __rlast1(__first1); | |
25086 | _RevIterator2 __rlast2(__first2); | |
25087 | _RevIterator1 __rresult = std::search(_RevIterator1(__last1), __rlast1, | |
25088 | _RevIterator2(__last2), __rlast2, | |
25089 | __comp); | |
25090 | ||
25091 | if (__rresult == __rlast1) | |
25092 | return __last1; | |
25093 | else | |
25094 | { | |
25095 | _BidirectionalIterator1 __result = __rresult.base(); | |
25096 | std::advance(__result, -std::distance(__first2, __last2)); | |
25097 | return __result; | |
25098 | } | |
25099 | } | |
25100 | # 5435 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
25101 | template<typename _ForwardIterator1, typename _ForwardIterator2> | |
25102 | inline _ForwardIterator1 | |
25103 | find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, | |
25104 | _ForwardIterator2 __first2, _ForwardIterator2 __last2) | |
25105 | { | |
25106 | ||
25107 | ||
25108 | ||
25109 | ||
25110 | ||
25111 | ||
25112 | ; | |
25113 | ; | |
25114 | ||
25115 | return std::__find_end(__first1, __last1, __first2, __last2, | |
25116 | std::__iterator_category(__first1), | |
25117 | std::__iterator_category(__first2)); | |
25118 | } | |
25119 | # 5480 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 3 | |
25120 | template<typename _ForwardIterator1, typename _ForwardIterator2, | |
25121 | typename _BinaryPredicate> | |
25122 | inline _ForwardIterator1 | |
25123 | find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, | |
25124 | _ForwardIterator2 __first2, _ForwardIterator2 __last2, | |
25125 | _BinaryPredicate __comp) | |
25126 | { | |
25127 | ||
25128 | ||
25129 | ||
25130 | ||
25131 | ||
25132 | ||
25133 | ; | |
25134 | ; | |
25135 | ||
25136 | return std::__find_end(__first1, __last1, __first2, __last2, | |
25137 | std::__iterator_category(__first1), | |
25138 | std::__iterator_category(__first2), | |
25139 | __comp); | |
25140 | } | |
25141 | ||
25142 | } | |
25143 | # 69 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/algorithm" 2 3 | |
25144 | # 58 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/string" 2 3 | |
25145 | # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.tcc" 1 3 | |
25146 | # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.tcc" 3 | |
25147 | #define _BASIC_STRING_TCC 1 | |
25148 | ||
25149 | ||
25150 | # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.tcc" 3 | |
25151 | ||
25152 | namespace std __attribute__ ((__visibility__ ("default"))) { | |
25153 | ||
25154 | template<typename _Type> | |
25155 | inline bool | |
25156 | __is_null_pointer(_Type* __ptr) | |
25157 | { return __ptr == 0; } | |
25158 | ||
25159 | template<typename _Type> | |
25160 | inline bool | |
25161 | __is_null_pointer(_Type) | |
25162 | { return false; } | |
25163 | ||
25164 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25165 | const typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
25166 | basic_string<_CharT, _Traits, _Alloc>:: | |
25167 | _Rep::_S_max_size = (((npos - sizeof(_Rep_base))/sizeof(_CharT)) - 1) / 4; | |
25168 | ||
25169 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25170 | const _CharT | |
25171 | basic_string<_CharT, _Traits, _Alloc>:: | |
25172 | _Rep::_S_terminal = _CharT(); | |
25173 | ||
25174 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25175 | const typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
25176 | basic_string<_CharT, _Traits, _Alloc>::npos; | |
25177 | ||
25178 | ||
25179 | ||
25180 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25181 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
25182 | basic_string<_CharT, _Traits, _Alloc>::_Rep::_S_empty_rep_storage[ | |
25183 | (sizeof(_Rep_base) + sizeof(_CharT) + sizeof(size_type) - 1) / | |
25184 | sizeof(size_type)]; | |
25185 | ||
25186 | ||
25187 | ||
25188 | ||
25189 | ||
25190 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25191 | template<typename _InIterator> | |
25192 | _CharT* | |
25193 | basic_string<_CharT, _Traits, _Alloc>:: | |
25194 | _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, | |
25195 | input_iterator_tag) | |
25196 | { | |
25197 | ||
25198 | if (__beg == __end && __a == _Alloc()) | |
25199 | return _S_empty_rep()._M_refdata(); | |
25200 | ||
25201 | ||
25202 | _CharT __buf[128]; | |
25203 | size_type __len = 0; | |
25204 | while (__beg != __end && __len < sizeof(__buf) / sizeof(_CharT)) | |
25205 | { | |
25206 | __buf[__len++] = *__beg; | |
25207 | ++__beg; | |
25208 | } | |
25209 | _Rep* __r = _Rep::_S_create(__len, size_type(0), __a); | |
25210 | _M_copy(__r->_M_refdata(), __buf, __len); | |
25211 | try | |
25212 | { | |
25213 | while (__beg != __end) | |
25214 | { | |
25215 | if (__len == __r->_M_capacity) | |
25216 | { | |
25217 | ||
25218 | _Rep* __another = _Rep::_S_create(__len + 1, __len, __a); | |
25219 | _M_copy(__another->_M_refdata(), __r->_M_refdata(), __len); | |
25220 | __r->_M_destroy(__a); | |
25221 | __r = __another; | |
25222 | } | |
25223 | __r->_M_refdata()[__len++] = *__beg; | |
25224 | ++__beg; | |
25225 | } | |
25226 | } | |
25227 | catch(...) | |
25228 | { | |
25229 | __r->_M_destroy(__a); | |
25230 | throw; | |
25231 | } | |
25232 | __r->_M_set_length_and_sharable(__len); | |
25233 | return __r->_M_refdata(); | |
25234 | } | |
25235 | ||
25236 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25237 | template <typename _InIterator> | |
25238 | _CharT* | |
25239 | basic_string<_CharT, _Traits, _Alloc>:: | |
25240 | _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, | |
25241 | forward_iterator_tag) | |
25242 | { | |
25243 | ||
25244 | if (__beg == __end && __a == _Alloc()) | |
25245 | return _S_empty_rep()._M_refdata(); | |
25246 | ||
25247 | ||
25248 | if (__builtin_expect(__is_null_pointer(__beg) && __beg != __end, 0)) | |
25249 | __throw_logic_error(("basic_string::_S_construct NULL not valid")); | |
25250 | ||
25251 | const size_type __dnew = static_cast<size_type>(std::distance(__beg, | |
25252 | __end)); | |
25253 | ||
25254 | _Rep* __r = _Rep::_S_create(__dnew, size_type(0), __a); | |
25255 | try | |
25256 | { _S_copy_chars(__r->_M_refdata(), __beg, __end); } | |
25257 | catch(...) | |
25258 | { | |
25259 | __r->_M_destroy(__a); | |
25260 | throw; | |
25261 | } | |
25262 | __r->_M_set_length_and_sharable(__dnew); | |
25263 | return __r->_M_refdata(); | |
25264 | } | |
25265 | ||
25266 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25267 | _CharT* | |
25268 | basic_string<_CharT, _Traits, _Alloc>:: | |
25269 | _S_construct(size_type __n, _CharT __c, const _Alloc& __a) | |
25270 | { | |
25271 | ||
25272 | if (__n == 0 && __a == _Alloc()) | |
25273 | return _S_empty_rep()._M_refdata(); | |
25274 | ||
25275 | ||
25276 | _Rep* __r = _Rep::_S_create(__n, size_type(0), __a); | |
25277 | if (__n) | |
25278 | _M_assign(__r->_M_refdata(), __n, __c); | |
25279 | ||
25280 | __r->_M_set_length_and_sharable(__n); | |
25281 | return __r->_M_refdata(); | |
25282 | } | |
25283 | ||
25284 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25285 | basic_string<_CharT, _Traits, _Alloc>:: | |
25286 | basic_string(const basic_string& __str) | |
25287 | : _M_dataplus(__str._M_rep()->_M_grab(_Alloc(__str.get_allocator()), | |
25288 | __str.get_allocator()), | |
25289 | __str.get_allocator()) | |
25290 | { } | |
25291 | ||
25292 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25293 | basic_string<_CharT, _Traits, _Alloc>:: | |
25294 | basic_string(const _Alloc& __a) | |
25295 | : _M_dataplus(_S_construct(size_type(), _CharT(), __a), __a) | |
25296 | { } | |
25297 | ||
25298 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25299 | basic_string<_CharT, _Traits, _Alloc>:: | |
25300 | basic_string(const basic_string& __str, size_type __pos, size_type __n) | |
25301 | : _M_dataplus(_S_construct(__str._M_data() | |
25302 | + __str._M_check(__pos, | |
25303 | "basic_string::basic_string"), | |
25304 | __str._M_data() + __str._M_limit(__pos, __n) | |
25305 | + __pos, _Alloc()), _Alloc()) | |
25306 | { } | |
25307 | ||
25308 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25309 | basic_string<_CharT, _Traits, _Alloc>:: | |
25310 | basic_string(const basic_string& __str, size_type __pos, | |
25311 | size_type __n, const _Alloc& __a) | |
25312 | : _M_dataplus(_S_construct(__str._M_data() | |
25313 | + __str._M_check(__pos, | |
25314 | "basic_string::basic_string"), | |
25315 | __str._M_data() + __str._M_limit(__pos, __n) | |
25316 | + __pos, __a), __a) | |
25317 | { } | |
25318 | ||
25319 | ||
25320 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25321 | basic_string<_CharT, _Traits, _Alloc>:: | |
25322 | basic_string(const _CharT* __s, size_type __n, const _Alloc& __a) | |
25323 | : _M_dataplus(_S_construct(__s, __s + __n, __a), __a) | |
25324 | { } | |
25325 | ||
25326 | ||
25327 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25328 | basic_string<_CharT, _Traits, _Alloc>:: | |
25329 | basic_string(const _CharT* __s, const _Alloc& __a) | |
25330 | : _M_dataplus(_S_construct(__s, __s ? __s + traits_type::length(__s) : | |
25331 | __s + npos, __a), __a) | |
25332 | { } | |
25333 | ||
25334 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25335 | basic_string<_CharT, _Traits, _Alloc>:: | |
25336 | basic_string(size_type __n, _CharT __c, const _Alloc& __a) | |
25337 | : _M_dataplus(_S_construct(__n, __c, __a), __a) | |
25338 | { } | |
25339 | ||
25340 | ||
25341 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25342 | template<typename _InputIterator> | |
25343 | basic_string<_CharT, _Traits, _Alloc>:: | |
25344 | basic_string(_InputIterator __beg, _InputIterator __end, const _Alloc& __a) | |
25345 | : _M_dataplus(_S_construct(__beg, __end, __a), __a) | |
25346 | { } | |
25347 | ||
25348 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25349 | basic_string<_CharT, _Traits, _Alloc>& | |
25350 | basic_string<_CharT, _Traits, _Alloc>:: | |
25351 | assign(const basic_string& __str) | |
25352 | { | |
25353 | if (_M_rep() != __str._M_rep()) | |
25354 | { | |
25355 | ||
25356 | const allocator_type __a = this->get_allocator(); | |
25357 | _CharT* __tmp = __str._M_rep()->_M_grab(__a, __str.get_allocator()); | |
25358 | _M_rep()->_M_dispose(__a); | |
25359 | _M_data(__tmp); | |
25360 | } | |
25361 | return *this; | |
25362 | } | |
25363 | ||
25364 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25365 | basic_string<_CharT, _Traits, _Alloc>& | |
25366 | basic_string<_CharT, _Traits, _Alloc>:: | |
25367 | assign(const _CharT* __s, size_type __n) | |
25368 | { | |
25369 | ; | |
25370 | _M_check_length(this->size(), __n, "basic_string::assign"); | |
25371 | if (_M_disjunct(__s) || _M_rep()->_M_is_shared()) | |
25372 | return _M_replace_safe(size_type(0), this->size(), __s, __n); | |
25373 | else | |
25374 | { | |
25375 | ||
25376 | const size_type __pos = __s - _M_data(); | |
25377 | if (__pos >= __n) | |
25378 | _M_copy(_M_data(), __s, __n); | |
25379 | else if (__pos) | |
25380 | _M_move(_M_data(), __s, __n); | |
25381 | _M_rep()->_M_set_length_and_sharable(__n); | |
25382 | return *this; | |
25383 | } | |
25384 | } | |
25385 | ||
25386 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25387 | basic_string<_CharT, _Traits, _Alloc>& | |
25388 | basic_string<_CharT, _Traits, _Alloc>:: | |
25389 | append(size_type __n, _CharT __c) | |
25390 | { | |
25391 | if (__n) | |
25392 | { | |
25393 | _M_check_length(size_type(0), __n, "basic_string::append"); | |
25394 | const size_type __len = __n + this->size(); | |
25395 | if (__len > this->capacity() || _M_rep()->_M_is_shared()) | |
25396 | this->reserve(__len); | |
25397 | _M_assign(_M_data() + this->size(), __n, __c); | |
25398 | _M_rep()->_M_set_length_and_sharable(__len); | |
25399 | } | |
25400 | return *this; | |
25401 | } | |
25402 | ||
25403 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25404 | basic_string<_CharT, _Traits, _Alloc>& | |
25405 | basic_string<_CharT, _Traits, _Alloc>:: | |
25406 | append(const _CharT* __s, size_type __n) | |
25407 | { | |
25408 | ; | |
25409 | if (__n) | |
25410 | { | |
25411 | _M_check_length(size_type(0), __n, "basic_string::append"); | |
25412 | const size_type __len = __n + this->size(); | |
25413 | if (__len > this->capacity() || _M_rep()->_M_is_shared()) | |
25414 | { | |
25415 | if (_M_disjunct(__s)) | |
25416 | this->reserve(__len); | |
25417 | else | |
25418 | { | |
25419 | const size_type __off = __s - _M_data(); | |
25420 | this->reserve(__len); | |
25421 | __s = _M_data() + __off; | |
25422 | } | |
25423 | } | |
25424 | _M_copy(_M_data() + this->size(), __s, __n); | |
25425 | _M_rep()->_M_set_length_and_sharable(__len); | |
25426 | } | |
25427 | return *this; | |
25428 | } | |
25429 | ||
25430 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25431 | basic_string<_CharT, _Traits, _Alloc>& | |
25432 | basic_string<_CharT, _Traits, _Alloc>:: | |
25433 | append(const basic_string& __str) | |
25434 | { | |
25435 | const size_type __size = __str.size(); | |
25436 | if (__size) | |
25437 | { | |
25438 | const size_type __len = __size + this->size(); | |
25439 | if (__len > this->capacity() || _M_rep()->_M_is_shared()) | |
25440 | this->reserve(__len); | |
25441 | _M_copy(_M_data() + this->size(), __str._M_data(), __size); | |
25442 | _M_rep()->_M_set_length_and_sharable(__len); | |
25443 | } | |
25444 | return *this; | |
25445 | } | |
25446 | ||
25447 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25448 | basic_string<_CharT, _Traits, _Alloc>& | |
25449 | basic_string<_CharT, _Traits, _Alloc>:: | |
25450 | append(const basic_string& __str, size_type __pos, size_type __n) | |
25451 | { | |
25452 | __str._M_check(__pos, "basic_string::append"); | |
25453 | __n = __str._M_limit(__pos, __n); | |
25454 | if (__n) | |
25455 | { | |
25456 | const size_type __len = __n + this->size(); | |
25457 | if (__len > this->capacity() || _M_rep()->_M_is_shared()) | |
25458 | this->reserve(__len); | |
25459 | _M_copy(_M_data() + this->size(), __str._M_data() + __pos, __n); | |
25460 | _M_rep()->_M_set_length_and_sharable(__len); | |
25461 | } | |
25462 | return *this; | |
25463 | } | |
25464 | ||
25465 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25466 | basic_string<_CharT, _Traits, _Alloc>& | |
25467 | basic_string<_CharT, _Traits, _Alloc>:: | |
25468 | insert(size_type __pos, const _CharT* __s, size_type __n) | |
25469 | { | |
25470 | ; | |
25471 | _M_check(__pos, "basic_string::insert"); | |
25472 | _M_check_length(size_type(0), __n, "basic_string::insert"); | |
25473 | if (_M_disjunct(__s) || _M_rep()->_M_is_shared()) | |
25474 | return _M_replace_safe(__pos, size_type(0), __s, __n); | |
25475 | else | |
25476 | { | |
25477 | ||
25478 | const size_type __off = __s - _M_data(); | |
25479 | _M_mutate(__pos, 0, __n); | |
25480 | __s = _M_data() + __off; | |
25481 | _CharT* __p = _M_data() + __pos; | |
25482 | if (__s + __n <= __p) | |
25483 | _M_copy(__p, __s, __n); | |
25484 | else if (__s >= __p) | |
25485 | _M_copy(__p, __s + __n, __n); | |
25486 | else | |
25487 | { | |
25488 | const size_type __nleft = __p - __s; | |
25489 | _M_copy(__p, __s, __nleft); | |
25490 | _M_copy(__p + __nleft, __p + __n, __n - __nleft); | |
25491 | } | |
25492 | return *this; | |
25493 | } | |
25494 | } | |
25495 | ||
25496 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25497 | basic_string<_CharT, _Traits, _Alloc>& | |
25498 | basic_string<_CharT, _Traits, _Alloc>:: | |
25499 | replace(size_type __pos, size_type __n1, const _CharT* __s, | |
25500 | size_type __n2) | |
25501 | { | |
25502 | ; | |
25503 | _M_check(__pos, "basic_string::replace"); | |
25504 | __n1 = _M_limit(__pos, __n1); | |
25505 | _M_check_length(__n1, __n2, "basic_string::replace"); | |
25506 | bool __left; | |
25507 | if (_M_disjunct(__s) || _M_rep()->_M_is_shared()) | |
25508 | return _M_replace_safe(__pos, __n1, __s, __n2); | |
25509 | else if ((__left = __s + __n2 <= _M_data() + __pos) | |
25510 | || _M_data() + __pos + __n1 <= __s) | |
25511 | { | |
25512 | ||
25513 | size_type __off = __s - _M_data(); | |
25514 | __left ? __off : (__off += __n2 - __n1); | |
25515 | _M_mutate(__pos, __n1, __n2); | |
25516 | _M_copy(_M_data() + __pos, _M_data() + __off, __n2); | |
25517 | return *this; | |
25518 | } | |
25519 | else | |
25520 | { | |
25521 | ||
25522 | const basic_string __tmp(__s, __n2); | |
25523 | return _M_replace_safe(__pos, __n1, __tmp._M_data(), __n2); | |
25524 | } | |
25525 | } | |
25526 | ||
25527 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25528 | void | |
25529 | basic_string<_CharT, _Traits, _Alloc>::_Rep:: | |
25530 | _M_destroy(const _Alloc& __a) throw () | |
25531 | { | |
25532 | const size_type __size = sizeof(_Rep_base) + | |
25533 | (this->_M_capacity + 1) * sizeof(_CharT); | |
25534 | _Raw_bytes_alloc(__a).deallocate(reinterpret_cast<char*>(this), __size); | |
25535 | } | |
25536 | ||
25537 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25538 | void | |
25539 | basic_string<_CharT, _Traits, _Alloc>:: | |
25540 | _M_leak_hard() | |
25541 | { | |
25542 | ||
25543 | if (_M_rep() == &_S_empty_rep()) | |
25544 | return; | |
25545 | ||
25546 | if (_M_rep()->_M_is_shared()) | |
25547 | _M_mutate(0, 0, 0); | |
25548 | _M_rep()->_M_set_leaked(); | |
25549 | } | |
25550 | ||
25551 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25552 | void | |
25553 | basic_string<_CharT, _Traits, _Alloc>:: | |
25554 | _M_mutate(size_type __pos, size_type __len1, size_type __len2) | |
25555 | { | |
25556 | const size_type __old_size = this->size(); | |
25557 | const size_type __new_size = __old_size + __len2 - __len1; | |
25558 | const size_type __how_much = __old_size - __pos - __len1; | |
25559 | ||
25560 | if (__new_size > this->capacity() || _M_rep()->_M_is_shared()) | |
25561 | { | |
25562 | ||
25563 | const allocator_type __a = get_allocator(); | |
25564 | _Rep* __r = _Rep::_S_create(__new_size, this->capacity(), __a); | |
25565 | ||
25566 | if (__pos) | |
25567 | _M_copy(__r->_M_refdata(), _M_data(), __pos); | |
25568 | if (__how_much) | |
25569 | _M_copy(__r->_M_refdata() + __pos + __len2, | |
25570 | _M_data() + __pos + __len1, __how_much); | |
25571 | ||
25572 | _M_rep()->_M_dispose(__a); | |
25573 | _M_data(__r->_M_refdata()); | |
25574 | } | |
25575 | else if (__how_much && __len1 != __len2) | |
25576 | { | |
25577 | ||
25578 | _M_move(_M_data() + __pos + __len2, | |
25579 | _M_data() + __pos + __len1, __how_much); | |
25580 | } | |
25581 | _M_rep()->_M_set_length_and_sharable(__new_size); | |
25582 | } | |
25583 | ||
25584 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25585 | void | |
25586 | basic_string<_CharT, _Traits, _Alloc>:: | |
25587 | reserve(size_type __res) | |
25588 | { | |
25589 | if (__res != this->capacity() || _M_rep()->_M_is_shared()) | |
25590 | { | |
25591 | ||
25592 | if (__res < this->size()) | |
25593 | __res = this->size(); | |
25594 | const allocator_type __a = get_allocator(); | |
25595 | _CharT* __tmp = _M_rep()->_M_clone(__a, __res - this->size()); | |
25596 | _M_rep()->_M_dispose(__a); | |
25597 | _M_data(__tmp); | |
25598 | } | |
25599 | } | |
25600 | ||
25601 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25602 | void | |
25603 | basic_string<_CharT, _Traits, _Alloc>:: | |
25604 | swap(basic_string& __s) | |
25605 | { | |
25606 | if (_M_rep()->_M_is_leaked()) | |
25607 | _M_rep()->_M_set_sharable(); | |
25608 | if (__s._M_rep()->_M_is_leaked()) | |
25609 | __s._M_rep()->_M_set_sharable(); | |
25610 | if (this->get_allocator() == __s.get_allocator()) | |
25611 | { | |
25612 | _CharT* __tmp = _M_data(); | |
25613 | _M_data(__s._M_data()); | |
25614 | __s._M_data(__tmp); | |
25615 | } | |
25616 | ||
25617 | else | |
25618 | { | |
25619 | const basic_string __tmp1(_M_ibegin(), _M_iend(), | |
25620 | __s.get_allocator()); | |
25621 | const basic_string __tmp2(__s._M_ibegin(), __s._M_iend(), | |
25622 | this->get_allocator()); | |
25623 | *this = __tmp2; | |
25624 | __s = __tmp1; | |
25625 | } | |
25626 | } | |
25627 | ||
25628 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25629 | typename basic_string<_CharT, _Traits, _Alloc>::_Rep* | |
25630 | basic_string<_CharT, _Traits, _Alloc>::_Rep:: | |
25631 | _S_create(size_type __capacity, size_type __old_capacity, | |
25632 | const _Alloc& __alloc) | |
25633 | { | |
25634 | ||
25635 | ||
25636 | if (__capacity > _S_max_size) | |
25637 | __throw_length_error(("basic_string::_S_create")); | |
25638 | # 559 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.tcc" 3 | |
25639 | const size_type __pagesize = 4096; | |
25640 | const size_type __malloc_header_size = 4 * sizeof(void*); | |
25641 | ||
25642 | ||
25643 | ||
25644 | ||
25645 | ||
25646 | ||
25647 | ||
25648 | if (__capacity > __old_capacity && __capacity < 2 * __old_capacity) | |
25649 | __capacity = 2 * __old_capacity; | |
25650 | ||
25651 | ||
25652 | ||
25653 | ||
25654 | size_type __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep); | |
25655 | ||
25656 | const size_type __adj_size = __size + __malloc_header_size; | |
25657 | if (__adj_size > __pagesize && __capacity > __old_capacity) | |
25658 | { | |
25659 | const size_type __extra = __pagesize - __adj_size % __pagesize; | |
25660 | __capacity += __extra / sizeof(_CharT); | |
25661 | ||
25662 | if (__capacity > _S_max_size) | |
25663 | __capacity = _S_max_size; | |
25664 | __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep); | |
25665 | } | |
25666 | ||
25667 | ||
25668 | ||
25669 | void* __place = _Raw_bytes_alloc(__alloc).allocate(__size); | |
25670 | _Rep *__p = new (__place) _Rep; | |
25671 | __p->_M_capacity = __capacity; | |
25672 | ||
25673 | ||
25674 | ||
25675 | ||
25676 | ||
25677 | ||
25678 | ||
25679 | __p->_M_set_sharable(); | |
25680 | return __p; | |
25681 | } | |
25682 | ||
25683 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25684 | _CharT* | |
25685 | basic_string<_CharT, _Traits, _Alloc>::_Rep:: | |
25686 | _M_clone(const _Alloc& __alloc, size_type __res) | |
25687 | { | |
25688 | ||
25689 | const size_type __requested_cap = this->_M_length + __res; | |
25690 | _Rep* __r = _Rep::_S_create(__requested_cap, this->_M_capacity, | |
25691 | __alloc); | |
25692 | if (this->_M_length) | |
25693 | _M_copy(__r->_M_refdata(), _M_refdata(), this->_M_length); | |
25694 | ||
25695 | __r->_M_set_length_and_sharable(this->_M_length); | |
25696 | return __r->_M_refdata(); | |
25697 | } | |
25698 | ||
25699 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25700 | void | |
25701 | basic_string<_CharT, _Traits, _Alloc>:: | |
25702 | resize(size_type __n, _CharT __c) | |
25703 | { | |
25704 | const size_type __size = this->size(); | |
25705 | _M_check_length(__size, __n, "basic_string::resize"); | |
25706 | if (__size < __n) | |
25707 | this->append(__n - __size, __c); | |
25708 | else if (__n < __size) | |
25709 | this->erase(__n); | |
25710 | ||
25711 | } | |
25712 | ||
25713 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25714 | template<typename _InputIterator> | |
25715 | basic_string<_CharT, _Traits, _Alloc>& | |
25716 | basic_string<_CharT, _Traits, _Alloc>:: | |
25717 | _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1, | |
25718 | _InputIterator __k2, __false_type) | |
25719 | { | |
25720 | const basic_string __s(__k1, __k2); | |
25721 | const size_type __n1 = __i2 - __i1; | |
25722 | _M_check_length(__n1, __s.size(), "basic_string::_M_replace_dispatch"); | |
25723 | return _M_replace_safe(__i1 - _M_ibegin(), __n1, __s._M_data(), | |
25724 | __s.size()); | |
25725 | } | |
25726 | ||
25727 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25728 | basic_string<_CharT, _Traits, _Alloc>& | |
25729 | basic_string<_CharT, _Traits, _Alloc>:: | |
25730 | _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, | |
25731 | _CharT __c) | |
25732 | { | |
25733 | _M_check_length(__n1, __n2, "basic_string::_M_replace_aux"); | |
25734 | _M_mutate(__pos1, __n1, __n2); | |
25735 | if (__n2) | |
25736 | _M_assign(_M_data() + __pos1, __n2, __c); | |
25737 | return *this; | |
25738 | } | |
25739 | ||
25740 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25741 | basic_string<_CharT, _Traits, _Alloc>& | |
25742 | basic_string<_CharT, _Traits, _Alloc>:: | |
25743 | _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s, | |
25744 | size_type __n2) | |
25745 | { | |
25746 | _M_mutate(__pos1, __n1, __n2); | |
25747 | if (__n2) | |
25748 | _M_copy(_M_data() + __pos1, __s, __n2); | |
25749 | return *this; | |
25750 | } | |
25751 | ||
25752 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25753 | basic_string<_CharT, _Traits, _Alloc> | |
25754 | operator+(const _CharT* __lhs, | |
25755 | const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
25756 | { | |
25757 | ; | |
25758 | typedef basic_string<_CharT, _Traits, _Alloc> __string_type; | |
25759 | typedef typename __string_type::size_type __size_type; | |
25760 | const __size_type __len = _Traits::length(__lhs); | |
25761 | __string_type __str; | |
25762 | __str.reserve(__len + __rhs.size()); | |
25763 | __str.append(__lhs, __len); | |
25764 | __str.append(__rhs); | |
25765 | return __str; | |
25766 | } | |
25767 | ||
25768 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25769 | basic_string<_CharT, _Traits, _Alloc> | |
25770 | operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) | |
25771 | { | |
25772 | typedef basic_string<_CharT, _Traits, _Alloc> __string_type; | |
25773 | typedef typename __string_type::size_type __size_type; | |
25774 | __string_type __str; | |
25775 | const __size_type __len = __rhs.size(); | |
25776 | __str.reserve(__len + 1); | |
25777 | __str.append(__size_type(1), __lhs); | |
25778 | __str.append(__rhs); | |
25779 | return __str; | |
25780 | } | |
25781 | ||
25782 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25783 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
25784 | basic_string<_CharT, _Traits, _Alloc>:: | |
25785 | copy(_CharT* __s, size_type __n, size_type __pos) const | |
25786 | { | |
25787 | _M_check(__pos, "basic_string::copy"); | |
25788 | __n = _M_limit(__pos, __n); | |
25789 | ; | |
25790 | if (__n) | |
25791 | _M_copy(__s, _M_data() + __pos, __n); | |
25792 | ||
25793 | return __n; | |
25794 | } | |
25795 | ||
25796 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25797 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
25798 | basic_string<_CharT, _Traits, _Alloc>:: | |
25799 | find(const _CharT* __s, size_type __pos, size_type __n) const | |
25800 | { | |
25801 | ; | |
25802 | const size_type __size = this->size(); | |
25803 | const _CharT* __data = _M_data(); | |
25804 | ||
25805 | if (__n == 0) | |
25806 | return __pos <= __size ? __pos : npos; | |
25807 | ||
25808 | if (__n <= __size) | |
25809 | { | |
25810 | for (; __pos <= __size - __n; ++__pos) | |
25811 | if (traits_type::eq(__data[__pos], __s[0]) | |
25812 | && traits_type::compare(__data + __pos + 1, | |
25813 | __s + 1, __n - 1) == 0) | |
25814 | return __pos; | |
25815 | } | |
25816 | return npos; | |
25817 | } | |
25818 | ||
25819 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25820 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
25821 | basic_string<_CharT, _Traits, _Alloc>:: | |
25822 | find(_CharT __c, size_type __pos) const | |
25823 | { | |
25824 | size_type __ret = npos; | |
25825 | const size_type __size = this->size(); | |
25826 | if (__pos < __size) | |
25827 | { | |
25828 | const _CharT* __data = _M_data(); | |
25829 | const size_type __n = __size - __pos; | |
25830 | const _CharT* __p = traits_type::find(__data + __pos, __n, __c); | |
25831 | if (__p) | |
25832 | __ret = __p - __data; | |
25833 | } | |
25834 | return __ret; | |
25835 | } | |
25836 | ||
25837 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25838 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
25839 | basic_string<_CharT, _Traits, _Alloc>:: | |
25840 | rfind(const _CharT* __s, size_type __pos, size_type __n) const | |
25841 | { | |
25842 | ; | |
25843 | const size_type __size = this->size(); | |
25844 | if (__n <= __size) | |
25845 | { | |
25846 | __pos = std::min(size_type(__size - __n), __pos); | |
25847 | const _CharT* __data = _M_data(); | |
25848 | do | |
25849 | { | |
25850 | if (traits_type::compare(__data + __pos, __s, __n) == 0) | |
25851 | return __pos; | |
25852 | } | |
25853 | while (__pos-- > 0); | |
25854 | } | |
25855 | return npos; | |
25856 | } | |
25857 | ||
25858 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25859 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
25860 | basic_string<_CharT, _Traits, _Alloc>:: | |
25861 | rfind(_CharT __c, size_type __pos) const | |
25862 | { | |
25863 | size_type __size = this->size(); | |
25864 | if (__size) | |
25865 | { | |
25866 | if (--__size > __pos) | |
25867 | __size = __pos; | |
25868 | for (++__size; __size-- > 0; ) | |
25869 | if (traits_type::eq(_M_data()[__size], __c)) | |
25870 | return __size; | |
25871 | } | |
25872 | return npos; | |
25873 | } | |
25874 | ||
25875 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25876 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
25877 | basic_string<_CharT, _Traits, _Alloc>:: | |
25878 | find_first_of(const _CharT* __s, size_type __pos, size_type __n) const | |
25879 | { | |
25880 | ; | |
25881 | for (; __n && __pos < this->size(); ++__pos) | |
25882 | { | |
25883 | const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]); | |
25884 | if (__p) | |
25885 | return __pos; | |
25886 | } | |
25887 | return npos; | |
25888 | } | |
25889 | ||
25890 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25891 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
25892 | basic_string<_CharT, _Traits, _Alloc>:: | |
25893 | find_last_of(const _CharT* __s, size_type __pos, size_type __n) const | |
25894 | { | |
25895 | ; | |
25896 | size_type __size = this->size(); | |
25897 | if (__size && __n) | |
25898 | { | |
25899 | if (--__size > __pos) | |
25900 | __size = __pos; | |
25901 | do | |
25902 | { | |
25903 | if (traits_type::find(__s, __n, _M_data()[__size])) | |
25904 | return __size; | |
25905 | } | |
25906 | while (__size-- != 0); | |
25907 | } | |
25908 | return npos; | |
25909 | } | |
25910 | ||
25911 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25912 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
25913 | basic_string<_CharT, _Traits, _Alloc>:: | |
25914 | find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const | |
25915 | { | |
25916 | ; | |
25917 | for (; __pos < this->size(); ++__pos) | |
25918 | if (!traits_type::find(__s, __n, _M_data()[__pos])) | |
25919 | return __pos; | |
25920 | return npos; | |
25921 | } | |
25922 | ||
25923 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25924 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
25925 | basic_string<_CharT, _Traits, _Alloc>:: | |
25926 | find_first_not_of(_CharT __c, size_type __pos) const | |
25927 | { | |
25928 | for (; __pos < this->size(); ++__pos) | |
25929 | if (!traits_type::eq(_M_data()[__pos], __c)) | |
25930 | return __pos; | |
25931 | return npos; | |
25932 | } | |
25933 | ||
25934 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25935 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
25936 | basic_string<_CharT, _Traits, _Alloc>:: | |
25937 | find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const | |
25938 | { | |
25939 | ; | |
25940 | size_type __size = this->size(); | |
25941 | if (__size) | |
25942 | { | |
25943 | if (--__size > __pos) | |
25944 | __size = __pos; | |
25945 | do | |
25946 | { | |
25947 | if (!traits_type::find(__s, __n, _M_data()[__size])) | |
25948 | return __size; | |
25949 | } | |
25950 | while (__size--); | |
25951 | } | |
25952 | return npos; | |
25953 | } | |
25954 | ||
25955 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25956 | typename basic_string<_CharT, _Traits, _Alloc>::size_type | |
25957 | basic_string<_CharT, _Traits, _Alloc>:: | |
25958 | find_last_not_of(_CharT __c, size_type __pos) const | |
25959 | { | |
25960 | size_type __size = this->size(); | |
25961 | if (__size) | |
25962 | { | |
25963 | if (--__size > __pos) | |
25964 | __size = __pos; | |
25965 | do | |
25966 | { | |
25967 | if (!traits_type::eq(_M_data()[__size], __c)) | |
25968 | return __size; | |
25969 | } | |
25970 | while (__size--); | |
25971 | } | |
25972 | return npos; | |
25973 | } | |
25974 | ||
25975 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25976 | int | |
25977 | basic_string<_CharT, _Traits, _Alloc>:: | |
25978 | compare(size_type __pos, size_type __n, const basic_string& __str) const | |
25979 | { | |
25980 | _M_check(__pos, "basic_string::compare"); | |
25981 | __n = _M_limit(__pos, __n); | |
25982 | const size_type __osize = __str.size(); | |
25983 | const size_type __len = std::min(__n, __osize); | |
25984 | int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len); | |
25985 | if (!__r) | |
25986 | __r = __n - __osize; | |
25987 | return __r; | |
25988 | } | |
25989 | ||
25990 | template<typename _CharT, typename _Traits, typename _Alloc> | |
25991 | int | |
25992 | basic_string<_CharT, _Traits, _Alloc>:: | |
25993 | compare(size_type __pos1, size_type __n1, const basic_string& __str, | |
25994 | size_type __pos2, size_type __n2) const | |
25995 | { | |
25996 | _M_check(__pos1, "basic_string::compare"); | |
25997 | __str._M_check(__pos2, "basic_string::compare"); | |
25998 | __n1 = _M_limit(__pos1, __n1); | |
25999 | __n2 = __str._M_limit(__pos2, __n2); | |
26000 | const size_type __len = std::min(__n1, __n2); | |
26001 | int __r = traits_type::compare(_M_data() + __pos1, | |
26002 | __str.data() + __pos2, __len); | |
26003 | if (!__r) | |
26004 | __r = __n1 - __n2; | |
26005 | return __r; | |
26006 | } | |
26007 | ||
26008 | template<typename _CharT, typename _Traits, typename _Alloc> | |
26009 | int | |
26010 | basic_string<_CharT, _Traits, _Alloc>:: | |
26011 | compare(const _CharT* __s) const | |
26012 | { | |
26013 | ; | |
26014 | const size_type __size = this->size(); | |
26015 | const size_type __osize = traits_type::length(__s); | |
26016 | const size_type __len = std::min(__size, __osize); | |
26017 | int __r = traits_type::compare(_M_data(), __s, __len); | |
26018 | if (!__r) | |
26019 | __r = __size - __osize; | |
26020 | return __r; | |
26021 | } | |
26022 | ||
26023 | template<typename _CharT, typename _Traits, typename _Alloc> | |
26024 | int | |
26025 | basic_string <_CharT, _Traits, _Alloc>:: | |
26026 | compare(size_type __pos, size_type __n1, const _CharT* __s) const | |
26027 | { | |
26028 | ; | |
26029 | _M_check(__pos, "basic_string::compare"); | |
26030 | __n1 = _M_limit(__pos, __n1); | |
26031 | const size_type __osize = traits_type::length(__s); | |
26032 | const size_type __len = std::min(__n1, __osize); | |
26033 | int __r = traits_type::compare(_M_data() + __pos, __s, __len); | |
26034 | if (!__r) | |
26035 | __r = __n1 - __osize; | |
26036 | return __r; | |
26037 | } | |
26038 | ||
26039 | template<typename _CharT, typename _Traits, typename _Alloc> | |
26040 | int | |
26041 | basic_string <_CharT, _Traits, _Alloc>:: | |
26042 | compare(size_type __pos, size_type __n1, const _CharT* __s, | |
26043 | size_type __n2) const | |
26044 | { | |
26045 | ; | |
26046 | _M_check(__pos, "basic_string::compare"); | |
26047 | __n1 = _M_limit(__pos, __n1); | |
26048 | const size_type __len = std::min(__n1, __n2); | |
26049 | int __r = traits_type::compare(_M_data() + __pos, __s, __len); | |
26050 | if (!__r) | |
26051 | __r = __n1 - __n2; | |
26052 | return __r; | |
26053 | } | |
26054 | ||
26055 | ||
26056 | ||
26057 | ||
26058 | ||
26059 | extern template class basic_string<char>; | |
26060 | extern template | |
26061 | basic_istream<char>& | |
26062 | operator>>(basic_istream<char>&, string&); | |
26063 | extern template | |
26064 | basic_ostream<char>& | |
26065 | operator<<(basic_ostream<char>&, const string&); | |
26066 | extern template | |
26067 | basic_istream<char>& | |
26068 | getline(basic_istream<char>&, string&, char); | |
26069 | extern template | |
26070 | basic_istream<char>& | |
26071 | getline(basic_istream<char>&, string&); | |
26072 | ||
26073 | ||
26074 | extern template class basic_string<wchar_t>; | |
26075 | extern template | |
26076 | basic_istream<wchar_t>& | |
26077 | operator>>(basic_istream<wchar_t>&, wstring&); | |
26078 | extern template | |
26079 | basic_ostream<wchar_t>& | |
26080 | operator<<(basic_ostream<wchar_t>&, const wstring&); | |
26081 | extern template | |
26082 | basic_istream<wchar_t>& | |
26083 | getline(basic_istream<wchar_t>&, wstring&, wchar_t); | |
26084 | extern template | |
26085 | basic_istream<wchar_t>& | |
26086 | getline(basic_istream<wchar_t>&, wstring&); | |
26087 | ||
26088 | ||
26089 | ||
26090 | } | |
26091 | # 59 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/string" 2 3 | |
26092 | # 40 "LogFactory.h" 2 | |
26093 | ||
26094 | namespace aria2 { | |
26095 | ||
26096 | class Logger; | |
26097 | ||
26098 | class LogFactory { | |
26099 | private: | |
26100 | static std::string filename; | |
26101 | static Logger* logger; | |
26102 | public: | |
26103 | ||
26104 | ||
26105 | ||
26106 | ||
26107 | static Logger* getInstance(); | |
26108 | ||
26109 | ||
26110 | ||
26111 | ||
26112 | static void setLogFile(const std::string& name) { | |
26113 | filename = name; | |
26114 | } | |
26115 | ||
26116 | ||
26117 | ||
26118 | ||
26119 | static void release(); | |
26120 | }; | |
26121 | ||
26122 | } | |
26123 | # 37 "Command.cc" 2 | |
26124 | # 1 "Logger.h" 1 | |
26125 | # 36 "Logger.h" | |
26126 | #define _D_LOGGER_H_ | |
26127 | ||
26128 | ||
26129 | ||
26130 | namespace aria2 { | |
26131 | ||
26132 | class Exception; | |
26133 | ||
26134 | class Logger { | |
26135 | public: | |
26136 | virtual ~Logger() {} | |
26137 | virtual void debug(const char* msg, ...) const = 0; | |
26138 | virtual void debug(const char* msg, Exception* ex, ...) const = 0; | |
26139 | virtual void info(const char* msg, ...) const = 0; | |
26140 | virtual void info(const char* msg, Exception* ex, ...) const = 0; | |
26141 | virtual void notice(const char* msg, ...) const = 0; | |
26142 | virtual void notice(const char* msg, Exception* ex, ...) const = 0; | |
26143 | virtual void warn(const char* msg, ...) const = 0; | |
26144 | virtual void warn(const char* msg, Exception* ex, ...) const = 0; | |
26145 | virtual void error(const char* msg, ...) const = 0; | |
26146 | virtual void error(const char* msg, Exception* ex, ...) const = 0; | |
26147 | ||
26148 | enum LEVEL { | |
26149 | DEBUG = 1 << 0, | |
26150 | INFO = 1 << 1, | |
26151 | NOTICE = 1 << 2, | |
26152 | WARN = 1 << 3, | |
26153 | ERROR = 1 << 4, | |
26154 | }; | |
26155 | }; | |
26156 | ||
26157 | } | |
26158 | # 38 "Command.cc" 2 | |
26159 | ||
26160 | namespace aria2 { | |
26161 | ||
26162 | int32_t Command::uuidGen = 0; | |
26163 | ||
26164 | Command::Command(int32_t cuid):uuid(uuidGen++), | |
26165 | status(STATUS_INACTIVE), | |
26166 | cuid(cuid), | |
26167 | logger(LogFactory::getInstance()) {} | |
26168 | ||
26169 | void Command::transitStatus() | |
26170 | { | |
26171 | switch(status) { | |
26172 | case STATUS_REALTIME: | |
26173 | break; | |
26174 | default: | |
26175 | status = STATUS_INACTIVE; | |
26176 | } | |
26177 | } | |
26178 | ||
26179 | } |