5 #define __STDC_HOSTED__ 1
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
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
98 #define __OPTIMIZE__ 1
99 #define __FINITE_MATH_ONLY__ 0
104 #define __tune_k8__ 1
107 #define __3dNOW_A__ 1
111 #define __SSE_MATH__ 1
112 #define __SSE2_MATH__ 1
115 #define __gnu_linux__ 1
124 #define _GNU_SOURCE 1
125 #define HAVE_CONFIG_H 1
126 #define LOCALEDIR "/usr/share/locale"
127 #define HAVE_CONFIG_H 1
132 #define _D_COMMAND_H_
141 #define ENABLE_MESSAGE_DIGEST 1
146 #define HAVE_ALLOCA 1
150 #define HAVE_ALLOCA_H 1
153 #define HAVE_ARGZ_COUNT 1
156 #define HAVE_ARGZ_H 1
159 #define HAVE_ARGZ_NEXT 1
162 #define HAVE_ARGZ_STRINGIFY 1
165 #define HAVE_ARPA_INET_H 1
168 #define HAVE_ASPRINTF 1
171 #define HAVE_BASENAME 1
174 #define HAVE_BUILTIN_EXPECT 1
176 #define HAVE_DAEMON 1
184 #define HAVE_DECL_FEOF_UNLOCKED 1
188 #define HAVE_DECL_FGETS_UNLOCKED 1
192 #define HAVE_DECL_GETC_UNLOCKED 1
196 #define HAVE_DECL__SNPRINTF 0
200 #define HAVE_DECL__SNWPRINTF 0
206 #define HAVE_EVP_DIGESTINIT_EX 1
209 #define HAVE_EVP_SHA256 1
212 #define HAVE_FCNTL_H 1
215 #define HAVE_FTRUNCATE 1
218 #define HAVE_FWPRINTF 1
221 #define HAVE_GAI_STRERROR 1
224 #define HAVE_GETADDRINFO 1
227 #define HAVE_GETCWD 1
230 #define HAVE_GETEGID 1
233 #define HAVE_GETEUID 1
236 #define HAVE_GETGID 1
239 #define HAVE_GETPAGESIZE 1
245 #define HAVE_GETTIMEOFDAY 1
248 #define HAVE_GETUID 1
254 #define HAVE_INET_ATON 1
257 #define HAVE_INET_NTOA 1
260 #define HAVE_INTMAX_T 1
263 #define HAVE_INTTYPES_H 1
267 #define HAVE_INTTYPES_H_WITH_UINTMAX 1
273 #define HAVE_LANGINFO_CODESET 1
276 #define HAVE_LANGINFO_H 1
279 #define HAVE_LC_MESSAGES 1
281 #define HAVE_LIBGEN_H 1
287 #define HAVE_LIBINTL_H 1
290 #define HAVE_LIBSSL 1
293 #define HAVE_LIBXML2 1
296 #define HAVE_LIMITS_H 1
299 #define HAVE_LOCALE_H 1
302 #define HAVE_LOCALTIME_R 1
305 #define HAVE_LONG_LONG_INT 1
309 #define HAVE_MALLOC 1
312 #define HAVE_MALLOC_H 1
315 #define HAVE_MEMCHR 1
318 #define HAVE_MEMORY_H 1
321 #define HAVE_MEMPCPY 1
324 #define HAVE_MEMSET 1
333 #define HAVE_MUNMAP 1
336 #define HAVE_NETDB_H 1
339 #define HAVE_NETINET_IN_H 1
342 #define HAVE_NL_LANGINFO 1
346 #define HAVE_NL_LOCALE_NAME 1
352 #define HAVE_POSIX_MEMALIGN 1
355 #define HAVE_POSIX_PRINTF 1
358 #define HAVE_PTHREAD_MUTEX_RECURSIVE 1
361 #define HAVE_PTHREAD_RWLOCK 1
364 #define HAVE_PUTENV 1
367 #define HAVE_RANDOM 1
371 #define HAVE_REALLOC 1
377 #define HAVE_SELECT 1
380 #define HAVE_SETENV 1
383 #define HAVE_SETLOCALE 1
386 #define HAVE_SIGACTION 1
392 #define HAVE_SNPRINTF 1
395 #define HAVE_SOCKET 1
398 #define HAVE_SRANDOM 1
405 #define HAVE_STDBOOL_H 1
408 #define HAVE_STDDEF_H 1
411 #define HAVE_STDINT_H 1
415 #define HAVE_STDINT_H_WITH_UINTMAX 1
418 #define HAVE_STDIO_EXT_H 1
421 #define HAVE_STDLIB_H 1
424 #define HAVE_STPCPY 1
427 #define HAVE_STRCASECMP 1
430 #define HAVE_STRCHR 1
433 #define HAVE_STRCSPN 1
436 #define HAVE_STRDUP 1
439 #define HAVE_STRERROR 1
442 #define HAVE_STRINGS_H 1
445 #define HAVE_STRING_H 1
448 #define HAVE_STRPTIME 1
451 #define HAVE_STRSTR 1
454 #define HAVE_STRTOL 1
457 #define HAVE_STRTOUL 1
460 #define HAVE_SYS_PARAM_H 1
463 #define HAVE_SYS_SELECT_H 1
466 #define HAVE_SYS_SOCKET_H 1
469 #define HAVE_SYS_STAT_H 1
472 #define HAVE_SYS_TIME_H 1
475 #define HAVE_SYS_TYPES_H 1
478 #define HAVE_TIMEGM 1
481 #define HAVE_TSEARCH 1
484 #define HAVE_UINTMAX_T 1
487 #define HAVE_UNISTD_H 1
490 #define HAVE_UNSETENV 1
493 #define HAVE_UNSIGNED_LONG_LONG_INT 1
496 #define HAVE_USLEEP 1
500 #define HAVE_VISIBILITY 1
503 #define HAVE_VPRINTF 1
506 #define HAVE_WCHAR_T 1
509 #define HAVE_WCSLEN 1
515 #define HAVE_WINT_T 1
517 #define HAVE___ARGZ_COUNT 1
520 #define HAVE___ARGZ_NEXT 1
523 #define HAVE___ARGZ_STRINGIFY 1
526 #define HAVE___FSETLOCKING 1
532 #define INTDIV0_RAISES_SIGFPE 1
536 #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
539 #define PACKAGE "aria2c"
542 #define PACKAGE_BUGREPORT "t-tujikawa@users.sourceforge.net"
545 #define PACKAGE_NAME "aria2c"
548 #define PACKAGE_STRING "aria2c 0.13.0"
551 #define PACKAGE_TARNAME "aria2c"
554 #define PACKAGE_VERSION "0.13.0"
556 #define SELECT_TYPE_ARG1 int
559 #define SELECT_TYPE_ARG234 (fd_set *)
562 #define SELECT_TYPE_ARG5 (struct timeval *)
566 #define SIZE_MAX (((1UL << 63) - 1) * 2 + 1)
568 #define STDC_HEADERS 1
571 #define TARGET "x86_64-pc-linux-gnu"
574 #define TIME_WITH_SYS_TIME 1
580 #define USE_POSIX_THREADS 1
584 #define USE_POSIX_THREADS_WEAK 1
586 #define VERSION "0.13.0"
588 #define __EXTENSIONS__ 1
591 #define _POSIX_PTHREAD_SEMANTICS 1
594 #define _TANDEM_SOURCE 1
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
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))
636 #define dngettext(Domainname,Msgid1,Msgid2,N) ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
638 #define dcngettext(Domainname,Msgid1,Msgid2,N,Category) ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
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
646 #define _(String) gettext(String)
649 #define __STDC_LIMIT_MACROS
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
656 # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/deque" 3
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
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
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
677 # 1 "/usr/include/features.h" 1 3 4
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
693 #undef __USE_POSIX199309
694 #undef __USE_POSIX199506
696 #undef __USE_XOPEN_EXTENDED
699 #undef __USE_LARGEFILE
700 #undef __USE_LARGEFILE64
701 #undef __USE_FILE_OFFSET64
707 #undef __USE_REENTRANT
708 #undef __USE_FORTIFY_LEVEL
710 #undef __KERNEL_STRICT_NAMES
715 #define __KERNEL_STRICT_NAMES
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
726 #define _POSIX_SOURCE 1
727 #undef _POSIX_C_SOURCE
728 #define _POSIX_C_SOURCE 200112L
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
736 #define _BSD_SOURCE 1
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
748 #define __USE_ISOC95 1
749 # 210 "/usr/include/gentoo-multilib/amd64/features.h" 3 4
750 #define __USE_POSIX 1
754 #define __USE_POSIX2 1
758 #define __USE_POSIX199309 1
762 #define __USE_POSIX199506 1
766 #define __USE_XOPEN2K 1
770 #define __USE_XOPEN 1
772 #define __USE_XOPEN_EXTENDED 1
773 #define __USE_UNIX98 1
774 #undef _LARGEFILE_SOURCE
775 #define _LARGEFILE_SOURCE 1
777 #define __USE_XOPEN2K 1
779 #define __USE_ISOC99 1
780 # 249 "/usr/include/gentoo-multilib/amd64/features.h" 3 4
781 #define __USE_LARGEFILE 1
785 #define __USE_LARGEFILE64 1
805 #define __USE_ATFILE 1
810 # 292 "/usr/include/gentoo-multilib/amd64/features.h" 3 4
811 #define __USE_FORTIFY_LEVEL 0
815 #define __STDC_IEC_559__ 1
816 #define __STDC_IEC_559_COMPLEX__ 1
819 #define __STDC_ISO_10646__ 200009L
827 #undef __GNU_LIBRARY__
828 #define __GNU_LIBRARY__ 6
833 #define __GLIBC_MINOR__ 7
835 #define __GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
843 #define __GLIBC_HAVE_LONG_LONG 1
849 # 1 "/usr/include/sys/cdefs.h" 1 3 4
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
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
873 #define __CONCAT(x,y) x ## y
874 #define __STRING(x) #x
877 #define __ptr_t void *
878 #define __long_double_t long double
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)
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)
916 # 177 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
917 #define __REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias))
919 #define __REDIRECT_NTH(name,proto,alias) name proto __THROW __asm__ (__ASMNAME (#alias))
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__))
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))
955 #define __attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__))
956 # 282 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
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
974 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
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)
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
1002 # 1 "/usr/include/gentoo-multilib/amd64/gnu/stubs.h" 1 3 4
1006 # 1 "/usr/include/bits/wordsize.h" 1 3 4
1014 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
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
1026 # 1 "/usr/include/gnu/stubs-64.h" 1 3 4
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
1039 #define __stub_lchmod
1040 #define __stub_putmsg
1041 #define __stub_revoke
1042 #define __stub_setlogin
1043 #define __stub_sigreturn
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
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
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
1065 #define __GLIBCXX__ 20080201
1068 #define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1
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 }
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
1090 #undef _GLIBCXX_LONG_DOUBLE_COMPAT
1094 namespace std __attribute__ ((__visibility__ ("default"))) {
1102 #define _GLIBCXX_LDBL_NAMESPACE
1103 #define _GLIBCXX_BEGIN_LDBL_NAMESPACE
1104 #define _GLIBCXX_END_LDBL_NAMESPACE
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
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
1125 #define __N(msgid) (msgid)
1136 #define _GLIBCXX_HAVE_ACOSF 1
1139 #define _GLIBCXX_HAVE_ACOSL 1
1142 #define _GLIBCXX_HAVE_ASINF 1
1145 #define _GLIBCXX_HAVE_ASINL 1
1148 #define _GLIBCXX_HAVE_ATAN2F 1
1151 #define _GLIBCXX_HAVE_ATAN2L 1
1154 #define _GLIBCXX_HAVE_ATANF 1
1157 #define _GLIBCXX_HAVE_ATANL 1
1160 #define _GLIBCXX_HAVE_CEILF 1
1163 #define _GLIBCXX_HAVE_CEILL 1
1166 #define _GLIBCXX_HAVE_COMPLEX_H 1
1169 #define _GLIBCXX_HAVE_COPYSIGN 1
1172 #define _GLIBCXX_HAVE_COPYSIGNF 1
1175 #define _GLIBCXX_HAVE_COPYSIGNL 1
1178 #define _GLIBCXX_HAVE_COSF 1
1181 #define _GLIBCXX_HAVE_COSHF 1
1184 #define _GLIBCXX_HAVE_COSHL 1
1187 #define _GLIBCXX_HAVE_COSL 1
1190 #define _GLIBCXX_HAVE_ENDIAN_H 1
1193 #define _GLIBCXX_HAVE_EXPF 1
1196 #define _GLIBCXX_HAVE_EXPL 1
1199 #define _GLIBCXX_HAVE_FABSF 1
1202 #define _GLIBCXX_HAVE_FABSL 1
1205 #define _GLIBCXX_HAVE_FENV_H 1
1208 #define _GLIBCXX_HAVE_FINITE 1
1211 #define _GLIBCXX_HAVE_FINITEF 1
1214 #define _GLIBCXX_HAVE_FINITEL 1
1217 #define _GLIBCXX_HAVE_FLOAT_H 1
1220 #define _GLIBCXX_HAVE_FLOORF 1
1223 #define _GLIBCXX_HAVE_FLOORL 1
1226 #define _GLIBCXX_HAVE_FMODF 1
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
1234 #define _GLIBCXX_HAVE_FREXPL 1
1237 #define _GLIBCXX_HAVE_GCONV_H 1
1240 #define _GLIBCXX_HAVE_GETIPINFO 1
1243 #define _GLIBCXX_HAVE_GETPAGESIZE 1
1247 #define _GLIBCXX_HAVE_GTHR_DEFAULT 1
1250 #define _GLIBCXX_HAVE_HYPOT 1
1253 #define _GLIBCXX_HAVE_HYPOTF 1
1256 #define _GLIBCXX_HAVE_HYPOTL 1
1259 #define _GLIBCXX_HAVE_ICONV 1
1262 #define _GLIBCXX_HAVE_ICONV_CLOSE 1
1265 #define _GLIBCXX_HAVE_ICONV_OPEN 1
1271 #define _GLIBCXX_HAVE_INT64_T 1
1274 #define _GLIBCXX_HAVE_INTTYPES_H 1
1277 #define _GLIBCXX_HAVE_ISINF 1
1280 #define _GLIBCXX_HAVE_ISINFF 1
1283 #define _GLIBCXX_HAVE_ISINFL 1
1286 #define _GLIBCXX_HAVE_ISNAN 1
1289 #define _GLIBCXX_HAVE_ISNANF 1
1292 #define _GLIBCXX_HAVE_ISNANL 1
1295 #define _GLIBCXX_HAVE_ISWBLANK 1
1298 #define _GLIBCXX_HAVE_LC_MESSAGES 1
1301 #define _GLIBCXX_HAVE_LDEXPF 1
1304 #define _GLIBCXX_HAVE_LDEXPL 1
1310 #define _GLIBCXX_HAVE_LIBM 1
1313 #define _GLIBCXX_HAVE_LIMIT_AS 1
1316 #define _GLIBCXX_HAVE_LIMIT_DATA 1
1319 #define _GLIBCXX_HAVE_LIMIT_FSIZE 1
1322 #define _GLIBCXX_HAVE_LIMIT_RSS 1
1325 #define _GLIBCXX_HAVE_LIMIT_VMEM 0
1328 #define _GLIBCXX_HAVE_LOCALE_H 1
1331 #define _GLIBCXX_HAVE_LOG10F 1
1334 #define _GLIBCXX_HAVE_LOG10L 1
1337 #define _GLIBCXX_HAVE_LOGF 1
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
1345 #define _GLIBCXX_HAVE_MEMORY_H 1
1348 #define _GLIBCXX_HAVE_MMAP 1
1351 #define _GLIBCXX_HAVE_MODF 1
1354 #define _GLIBCXX_HAVE_MODFF 1
1357 #define _GLIBCXX_HAVE_MODFL 1
1363 #define _GLIBCXX_HAVE_NL_LANGINFO 1
1366 #define _GLIBCXX_HAVE_POLL 1
1369 #define _GLIBCXX_HAVE_POWF 1
1372 #define _GLIBCXX_HAVE_POWL 1
1378 #define _GLIBCXX_HAVE_SETENV 1
1381 #define _GLIBCXX_HAVE_SIGSETJMP 1
1384 #define _GLIBCXX_HAVE_SINCOS 1
1387 #define _GLIBCXX_HAVE_SINCOSF 1
1390 #define _GLIBCXX_HAVE_SINCOSL 1
1393 #define _GLIBCXX_HAVE_SINF 1
1396 #define _GLIBCXX_HAVE_SINHF 1
1399 #define _GLIBCXX_HAVE_SINHL 1
1402 #define _GLIBCXX_HAVE_SINL 1
1405 #define _GLIBCXX_HAVE_SQRTF 1
1408 #define _GLIBCXX_HAVE_SQRTL 1
1411 #define _GLIBCXX_HAVE_STDBOOL_H 1
1414 #define _GLIBCXX_HAVE_STDINT_H 1
1417 #define _GLIBCXX_HAVE_STDLIB_H 1
1420 #define _GLIBCXX_HAVE_STRERROR_L 1
1423 #define _GLIBCXX_HAVE_STRERROR_R 1
1426 #define _GLIBCXX_HAVE_STRINGS_H 1
1429 #define _GLIBCXX_HAVE_STRING_H 1
1432 #define _GLIBCXX_HAVE_STRTOF 1
1435 #define _GLIBCXX_HAVE_STRTOLD 1
1438 #define _GLIBCXX_HAVE_STRXFRM_L 1
1444 #define _GLIBCXX_HAVE_SYS_IOCTL_H 1
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
1452 #define _GLIBCXX_HAVE_SYS_SEM_H 1
1455 #define _GLIBCXX_HAVE_SYS_STAT_H 1
1458 #define _GLIBCXX_HAVE_SYS_TIME_H 1
1461 #define _GLIBCXX_HAVE_SYS_TYPES_H 1
1464 #define _GLIBCXX_HAVE_SYS_UIO_H 1
1470 #define _GLIBCXX_HAVE_S_ISREG 1
1473 #define _GLIBCXX_HAVE_TANF 1
1476 #define _GLIBCXX_HAVE_TANHF 1
1479 #define _GLIBCXX_HAVE_TANHL 1
1482 #define _GLIBCXX_HAVE_TANL 1
1485 #define _GLIBCXX_HAVE_TLS 1
1488 #define _GLIBCXX_HAVE_UNISTD_H 1
1491 #define _GLIBCXX_HAVE_VFWSCANF 1
1494 #define _GLIBCXX_HAVE_VSWSCANF 1
1497 #define _GLIBCXX_HAVE_VWSCANF 1
1500 #define _GLIBCXX_HAVE_WCHAR_H 1
1503 #define _GLIBCXX_HAVE_WCSTOF 1
1506 #define _GLIBCXX_HAVE_WCTYPE_H 1
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
1514 #define _GLIBCXX_HAVE___BUILTIN_COS 1
1517 #define _GLIBCXX_HAVE___BUILTIN_COSF 1
1520 #define _GLIBCXX_HAVE___BUILTIN_COSL 1
1523 #define _GLIBCXX_HAVE___BUILTIN_FABS 1
1526 #define _GLIBCXX_HAVE___BUILTIN_FABSF 1
1529 #define _GLIBCXX_HAVE___BUILTIN_FABSL 1
1532 #define _GLIBCXX_HAVE___BUILTIN_LABS 1
1535 #define _GLIBCXX_HAVE___BUILTIN_SIN 1
1538 #define _GLIBCXX_HAVE___BUILTIN_SINF 1
1541 #define _GLIBCXX_HAVE___BUILTIN_SINL 1
1544 #define _GLIBCXX_HAVE___BUILTIN_SQRT 1
1547 #define _GLIBCXX_HAVE___BUILTIN_SQRTF 1
1550 #define _GLIBCXX_HAVE___BUILTIN_SQRTL 1
1553 #define _GLIBCXX_HAVE___SIGNBIT 1
1556 #define _GLIBCXX_HAVE___SIGNBITF 1
1559 #define _GLIBCXX_HAVE___SIGNBITL 1
1565 #define _GLIBCXX_PACKAGE_BUGREPORT ""
1568 #define _GLIBCXX_PACKAGE_NAME "package-unused"
1571 #define _GLIBCXX_PACKAGE_STRING "package-unused version-unused"
1574 #define _GLIBCXX_PACKAGE_TARNAME "libstdc++"
1577 #define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused"
1580 #define STDC_HEADERS 1
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
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
1604 #define _GLIBCXX_SYMVER_GNU 1
1611 #define _GLIBCXX_USE_C99 1
1616 #define _GLIBCXX_USE_C99_COMPLEX 1
1621 #define _GLIBCXX_USE_C99_COMPLEX_TR1 1
1625 #define _GLIBCXX_USE_C99_CTYPE_TR1 1
1629 #define _GLIBCXX_USE_C99_FENV_TR1 1
1633 #define _GLIBCXX_USE_C99_INTTYPES_TR1 1
1637 #define _GLIBCXX_USE_C99_MATH 1
1641 #define _GLIBCXX_USE_C99_MATH_TR1 1
1645 #define _GLIBCXX_USE_C99_STDINT_TR1 1
1648 #define _GLIBCXX_USE_ICONV 1
1651 #define _GLIBCXX_USE_LFS 1
1654 #define _GLIBCXX_USE_LONG_LONG 1
1661 #define _GLIBCXX_USE_RANDOM_TR1 1
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
1673 namespace std __attribute__ ((__visibility__ ("default"))) {
1677 __throw_bad_exception(void) __attribute__((__noreturn__));
1681 __throw_bad_alloc(void) __attribute__((__noreturn__));
1685 __throw_bad_cast(void) __attribute__((__noreturn__));
1688 __throw_bad_typeid(void) __attribute__((__noreturn__));
1692 __throw_logic_error(const char*) __attribute__((__noreturn__));
1695 __throw_domain_error(const char*) __attribute__((__noreturn__));
1698 __throw_invalid_argument(const char*) __attribute__((__noreturn__));
1701 __throw_length_error(const char*) __attribute__((__noreturn__));
1704 __throw_out_of_range(const char*) __attribute__((__noreturn__));
1707 __throw_runtime_error(const char*) __attribute__((__noreturn__));
1710 __throw_range_error(const char*) __attribute__((__noreturn__));
1713 __throw_overflow_error(const char*) __attribute__((__noreturn__));
1716 __throw_underflow_error(const char*) __attribute__((__noreturn__));
1720 __throw_ios_failure(const char*) __attribute__((__noreturn__));
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
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
1734 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstring" 3
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
1742 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstddef" 3
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
1750 #define _ANSI_STDDEF_H
1752 #define __STDDEF_H__
1753 # 141 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4
1759 #define _BSD_PTRDIFF_T_
1760 #define ___int_ptrdiff_t_h
1761 #define _GCC_PTRDIFF_T
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
1772 #define _SYS_SIZE_T_H
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
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
1805 #define _BSD_WCHAR_T_
1806 #define _WCHAR_T_DEFINED_
1807 #define _WCHAR_T_DEFINED
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
1821 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4
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
1830 namespace std __attribute__ ((__visibility__ ("default"))) {
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
1845 # 1 "/usr/include/gentoo-multilib/amd64/string.h" 1 3 4
1846 # 24 "/usr/include/gentoo-multilib/amd64/string.h" 3 4
1849 # 1 "/usr/include/features.h" 1 3 4
1850 # 27 "/usr/include/gentoo-multilib/amd64/string.h" 2 3 4
1855 #define __need_size_t
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
1868 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4
1874 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
1875 # 34 "/usr/include/gentoo-multilib/amd64/string.h" 2 3 4
1880 extern void *memcpy (void *__restrict __dest,
1881 __const void *__restrict __src, size_t __n)
1882 throw () __attribute__ ((__nonnull__ (1, 2)));
1885 extern void *memmove (void *__dest, __const void *__src, size_t __n)
1886 throw () __attribute__ ((__nonnull__ (1, 2)));
1893 extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
1894 int __c, size_t __n)
1895 throw () __attribute__ ((__nonnull__ (1, 2)));
1901 extern void *memset (void *__s, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1)));
1904 extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
1905 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1908 extern void *memchr (__const void *__s, int __c, size_t __n)
1909 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1915 extern void *rawmemchr (__const void *__s, int __c)
1916 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1919 extern void *memrchr (__const void *__s, int __c, size_t __n)
1920 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
1926 extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
1927 throw () __attribute__ ((__nonnull__ (1, 2)));
1929 extern char *strncpy (char *__restrict __dest,
1930 __const char *__restrict __src, size_t __n)
1931 throw () __attribute__ ((__nonnull__ (1, 2)));
1934 extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
1935 throw () __attribute__ ((__nonnull__ (1, 2)));
1937 extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
1938 size_t __n) throw () __attribute__ ((__nonnull__ (1, 2)));
1941 extern int strcmp (__const char *__s1, __const char *__s2)
1942 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1944 extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
1945 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1948 extern int strcoll (__const char *__s1, __const char *__s2)
1949 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
1951 extern size_t strxfrm (char *__restrict __dest,
1952 __const char *__restrict __src, size_t __n)
1953 throw () __attribute__ ((__nonnull__ (2)));
1960 # 1 "/usr/include/xlocale.h" 1 3 4
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
1976 typedef struct __locale_struct
1979 struct locale_data *__locales[13];
1982 const unsigned short int *__ctype_b;
1983 const int *__ctype_tolower;
1984 const int *__ctype_toupper;
1987 const char *__names[13];
1989 # 9 "/usr/include/xlocale.h" 2 3 4
1990 # 119 "/usr/include/gentoo-multilib/amd64/string.h" 2 3 4
1993 extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
1994 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
1996 extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
1997 __locale_t __l) throw () __attribute__ ((__nonnull__ (2, 4)));
2002 extern char *strdup (__const char *__s)
2003 throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
2010 extern char *strndup (__const char *__string, size_t __n)
2011 throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
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
2022 extern char *strchr (__const char *__s, int __c)
2023 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
2025 extern char *strrchr (__const char *__s, int __c)
2026 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
2032 extern char *strchrnul (__const char *__s, int __c)
2033 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
2039 extern size_t strcspn (__const char *__s, __const char *__reject)
2040 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2043 extern size_t strspn (__const char *__s, __const char *__accept)
2044 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2046 extern char *strpbrk (__const char *__s, __const char *__accept)
2047 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2049 extern char *strstr (__const char *__haystack, __const char *__needle)
2050 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2054 extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
2055 throw () __attribute__ ((__nonnull__ (2)));
2060 extern char *__strtok_r (char *__restrict __s,
2061 __const char *__restrict __delim,
2062 char **__restrict __save_ptr)
2063 throw () __attribute__ ((__nonnull__ (2, 3)));
2065 extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
2066 char **__restrict __save_ptr)
2067 throw () __attribute__ ((__nonnull__ (2, 3)));
2072 extern char *strcasestr (__const char *__haystack, __const char *__needle)
2073 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
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)));
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)));
2097 extern size_t strlen (__const char *__s)
2098 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
2104 extern size_t strnlen (__const char *__string, size_t __maxlen)
2105 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
2111 extern char *strerror (int __errnum) throw ();
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)));
2121 extern char *strerror_l (int __errnum, __locale_t __l) throw ();
2127 extern void __bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1)));
2131 extern void bcopy (__const void *__src, void *__dest, size_t __n)
2132 throw () __attribute__ ((__nonnull__ (1, 2)));
2135 extern void bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1)));
2138 extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
2139 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2142 extern char *index (__const char *__s, int __c)
2143 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
2146 extern char *rindex (__const char *__s, int __c)
2147 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
2151 extern int ffs (int __i) throw () __attribute__ ((__const__));
2156 extern int ffsl (long int __l) throw () __attribute__ ((__const__));
2158 __extension__ extern int ffsll (long long int __ll)
2159 throw () __attribute__ ((__const__));
2164 extern int strcasecmp (__const char *__s1, __const char *__s2)
2165 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2168 extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
2169 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2175 extern int strcasecmp_l (__const char *__s1, __const char *__s2,
2177 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
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)));
2187 extern char *strsep (char **__restrict __stringp,
2188 __const char *__restrict __delim)
2189 throw () __attribute__ ((__nonnull__ (1, 2)));
2194 extern int strverscmp (__const char *__s1, __const char *__s2)
2195 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
2198 extern char *strsignal (int __sig) throw ();
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)));
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)));
2216 extern char *strfry (char *__string) throw () __attribute__ ((__nonnull__ (1)));
2219 extern void *memfrob (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1)));
2226 extern char *basename (__const char *__filename) throw () __attribute__ ((__nonnull__ (1)));
2227 # 432 "/usr/include/gentoo-multilib/amd64/string.h" 3 4
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
2256 namespace std __attribute__ ((__visibility__ ("default"))) {
2279 memchr(void* __p, int __c, size_t __n)
2280 { return memchr(const_cast<const void*>(__p), __c, __n); }
2285 strchr(char* __s1, int __n)
2286 { return __builtin_strchr(const_cast<const char*>(__s1), __n); }
2291 strpbrk(char* __s1, const char* __s2)
2292 { return __builtin_strpbrk(const_cast<const char*>(__s1), __s2); }
2297 strrchr(char* __s1, int __n)
2298 { return __builtin_strrchr(const_cast<const char*>(__s1), __n); }
2303 strstr(char* __s1, const char* __s2)
2304 { return __builtin_strstr(const_cast<const char*>(__s1), __s2); }
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
2313 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/climits" 3
2315 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/limits.h" 1 3 4
2322 #define _GCC_LIMITS_H_
2326 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/syslimits.h" 1 3 4
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
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
2347 # 1 "/usr/include/features.h" 1 3 4
2348 # 28 "/usr/include/gentoo-multilib/amd64/limits.h" 2 3 4
2354 #define MB_LEN_MAX 16
2355 # 133 "/usr/include/gentoo-multilib/amd64/limits.h" 3 4
2356 #define LLONG_MIN (-LLONG_MAX-1)
2359 #define LLONG_MAX __LONG_LONG_MAX__
2362 #define ULLONG_MAX (LLONG_MAX * 2ULL + 1)
2368 # 1 "/usr/include/bits/posix1_lim.h" 1 3 4
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
2384 #define _POSIX_AIO_LISTIO_MAX 2
2387 #define _POSIX_AIO_MAX 1
2390 #define _POSIX_ARG_MAX 4096
2394 #define _POSIX_CHILD_MAX 25
2400 #define _POSIX_DELAYTIMER_MAX 32
2404 #define _POSIX_HOST_NAME_MAX 255
2407 #define _POSIX_LINK_MAX 8
2410 #define _POSIX_LOGIN_NAME_MAX 9
2413 #define _POSIX_MAX_CANON 255
2417 #define _POSIX_MAX_INPUT 255
2420 #define _POSIX_MQ_OPEN_MAX 8
2423 #define _POSIX_MQ_PRIO_MAX 32
2426 #define _POSIX_NAME_MAX 14
2430 #define _POSIX_NGROUPS_MAX 8
2437 #define _POSIX_OPEN_MAX 20
2444 #define _POSIX_FD_SETSIZE _POSIX_OPEN_MAX
2447 #define _POSIX_PATH_MAX 256
2450 #define _POSIX_PIPE_BUF 512
2454 #define _POSIX_RE_DUP_MAX 255
2457 #define _POSIX_RTSIG_MAX 8
2460 #define _POSIX_SEM_NSEMS_MAX 256
2463 #define _POSIX_SEM_VALUE_MAX 32767
2466 #define _POSIX_SIGQUEUE_MAX 32
2469 #define _POSIX_SSIZE_MAX 32767
2472 #define _POSIX_STREAM_MAX 8
2475 #define _POSIX_SYMLINK_MAX 255
2479 #define _POSIX_SYMLOOP_MAX 8
2482 #define _POSIX_TIMER_MAX 32
2485 #define _POSIX_TTY_NAME_MAX 9
2488 #define _POSIX_TZNAME_MAX 6
2491 #define _POSIX_QLIMIT 1
2495 #define _POSIX_HIWAT _POSIX_PIPE_BUF
2498 #define _POSIX_UIO_MAXIOV 16
2501 #define _POSIX_CLOCKRES_MIN 20000000
2505 # 1 "/usr/include/bits/local_lim.h" 1 3 4
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
2518 #define __undef_LINK_MAX
2521 #define __undef_OPEN_MAX
2525 # 1 "/usr/include/linux/limits.h" 1 3 4
2527 #define _LINUX_LIMITS_H
2529 #define NR_OPEN 1024
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
2543 #define RTSIG_MAX 32
2544 # 37 "/usr/include/gentoo-multilib/amd64/bits/local_lim.h" 2 3 4
2549 #undef __undef_NR_OPEN
2554 #undef __undef_LINK_MAX
2559 #undef __undef_OPEN_MAX
2563 #define _POSIX_THREAD_KEYS_MAX 128
2565 #define PTHREAD_KEYS_MAX 1024
2568 #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
2570 #define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
2573 #define _POSIX_THREAD_THREADS_MAX 64
2575 #undef PTHREAD_THREADS_MAX
2579 #define AIO_PRIO_DELTA_MAX 20
2582 #define PTHREAD_STACK_MIN 16384
2585 #define DELAYTIMER_MAX 2147483647
2588 #define TTY_NAME_MAX 32
2591 #define LOGIN_NAME_MAX 256
2594 #define HOST_NAME_MAX 64
2597 #define MQ_PRIO_MAX 32768
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
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
2612 # 1 "/usr/include/bits/posix2_lim.h" 1 3 4
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
2626 #define _POSIX2_BC_BASE_MAX 99
2629 #define _POSIX2_BC_DIM_MAX 2048
2632 #define _POSIX2_BC_SCALE_MAX 99
2635 #define _POSIX2_BC_STRING_MAX 1000
2639 #define _POSIX2_COLL_WEIGHTS_MAX 2
2643 #define _POSIX2_EXPR_NEST_MAX 32
2646 #define _POSIX2_LINE_MAX 2048
2650 #define _POSIX2_RE_DUP_MAX 255
2654 #define _POSIX2_CHARCLASS_NAME_MAX 14
2662 #define BC_BASE_MAX _POSIX2_BC_BASE_MAX
2665 #define BC_DIM_MAX _POSIX2_BC_DIM_MAX
2668 #define BC_SCALE_MAX _POSIX2_BC_SCALE_MAX
2671 #define BC_STRING_MAX _POSIX2_BC_STRING_MAX
2674 #define COLL_WEIGHTS_MAX 255
2677 #define EXPR_NEST_MAX _POSIX2_EXPR_NEST_MAX
2680 #define LINE_MAX _POSIX2_LINE_MAX
2683 #define CHARCLASS_NAME_MAX 2048
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
2693 # 1 "/usr/include/bits/xopen_lim.h" 1 3 4
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
2705 #define __need_IOV_MAX
2706 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4
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
2725 #define NL_ARGMAX _POSIX_ARG_MAX
2728 #define NL_LANGMAX _POSIX2_LINE_MAX
2731 #define NL_MSGMAX INT_MAX
2735 #define NL_NMAX INT_MAX
2738 #define NL_SETMAX INT_MAX
2741 #define NL_TEXTMAX INT_MAX
2745 # 110 "/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h" 3 4
2747 # 133 "/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h" 3 4
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
2758 #define _LIMITS_H___
2762 #define CHAR_BIT __CHAR_BIT__
2771 #define SCHAR_MIN (-SCHAR_MAX - 1)
2773 #define SCHAR_MAX __SCHAR_MAX__
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
2783 #define CHAR_MIN SCHAR_MIN
2785 #define CHAR_MAX SCHAR_MAX
2790 #define SHRT_MIN (-SHRT_MAX - 1)
2792 #define SHRT_MAX __SHRT_MAX__
2799 #define USHRT_MAX (SHRT_MAX * 2 + 1)
2804 #define INT_MIN (-INT_MAX - 1)
2806 #define INT_MAX __INT_MAX__
2810 #define UINT_MAX (INT_MAX * 2U + 1U)
2815 #define LONG_MIN (-LONG_MAX - 1L)
2817 #define LONG_MAX __LONG_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__
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
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
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
2854 #define __need_size_t
2856 #define __need_wchar_t
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
2870 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4
2876 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
2877 # 34 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4
2886 # 1 "/usr/include/bits/waitflags.h" 1 3 4
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
2902 #define WCONTINUED 8
2903 #define WNOWAIT 0x01000000
2905 #define __WNOTHREAD 0x20000000
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
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)
2924 #define __WTERMSIG(status) ((status) & 0x7f)
2927 #define __WSTOPSIG(status) __WEXITSTATUS(status)
2930 #define __WIFEXITED(status) (__WTERMSIG(status) == 0)
2933 #define __WIFSIGNALED(status) (((signed char) (((status) & 0x7f) + 1) >> 1) > 0)
2937 #define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
2942 #define __WIFCONTINUED(status) ((status) == __W_CONTINUED)
2946 #define __WCOREDUMP(status) ((status) & __WCOREFLAG)
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
2957 # 1 "/usr/include/endian.h" 1 3 4
2965 # 1 "/usr/include/gentoo-multilib/amd64/endian.h" 1 3 4
2966 # 20 "/usr/include/gentoo-multilib/amd64/endian.h" 3 4
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
2977 # 1 "/usr/include/bits/endian.h" 1 3 4
2985 # 1 "/usr/include/gentoo-multilib/amd64/bits/endian.h" 1 3 4
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
2999 #define __FLOAT_WORD_ORDER __BYTE_ORDER
3003 #define LITTLE_ENDIAN __LITTLE_ENDIAN
3004 #define BIG_ENDIAN __BIG_ENDIAN
3005 #define PDP_ENDIAN __PDP_ENDIAN
3006 #define BYTE_ORDER __BYTE_ORDER
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
3020 unsigned int __w_termsig:7;
3021 unsigned int __w_coredump:1;
3022 unsigned int __w_retcode:8;
3031 } __wait_terminated;
3035 unsigned int __w_stopval:8;
3036 unsigned int __w_stopsig:8;
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))
3067 #define WIFCONTINUED(status) __WIFCONTINUED(__WAIT_INT(status))
3086 #define __ldiv_t_defined 1
3093 __extension__ typedef struct
3098 #define __lldiv_t_defined 1
3104 #define RAND_MAX 2147483647
3109 #define EXIT_FAILURE 1
3110 #define EXIT_SUCCESS 0
3114 #define MB_CUR_MAX (__ctype_get_mb_cur_max ())
3115 extern size_t __ctype_get_mb_cur_max (void) throw () ;
3120 extern double atof (__const char *__nptr)
3121 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
3123 extern int atoi (__const char *__nptr)
3124 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
3126 extern long int atol (__const char *__nptr)
3127 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
3133 __extension__ extern long long int atoll (__const char *__nptr)
3134 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
3140 extern double strtod (__const char *__restrict __nptr,
3141 char **__restrict __endptr)
3142 throw () __attribute__ ((__nonnull__ (1))) ;
3148 extern float strtof (__const char *__restrict __nptr,
3149 char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))) ;
3151 extern long double strtold (__const char *__restrict __nptr,
3152 char **__restrict __endptr)
3153 throw () __attribute__ ((__nonnull__ (1))) ;
3159 extern long int strtol (__const char *__restrict __nptr,
3160 char **__restrict __endptr, int __base)
3161 throw () __attribute__ ((__nonnull__ (1))) ;
3163 extern unsigned long int strtoul (__const char *__restrict __nptr,
3164 char **__restrict __endptr, int __base)
3165 throw () __attribute__ ((__nonnull__ (1))) ;
3171 extern long long int strtoq (__const char *__restrict __nptr,
3172 char **__restrict __endptr, int __base)
3173 throw () __attribute__ ((__nonnull__ (1))) ;
3176 extern unsigned long long int strtouq (__const char *__restrict __nptr,
3177 char **__restrict __endptr, int __base)
3178 throw () __attribute__ ((__nonnull__ (1))) ;
3185 extern long long int strtoll (__const char *__restrict __nptr,
3186 char **__restrict __endptr, int __base)
3187 throw () __attribute__ ((__nonnull__ (1))) ;
3190 extern unsigned long long int strtoull (__const char *__restrict __nptr,
3191 char **__restrict __endptr, int __base)
3192 throw () __attribute__ ((__nonnull__ (1))) ;
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
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))) ;
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))) ;
3210 extern long long int strtoll_l (__const char *__restrict __nptr,
3211 char **__restrict __endptr, int __base,
3213 throw () __attribute__ ((__nonnull__ (1, 4))) ;
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))) ;
3221 extern double strtod_l (__const char *__restrict __nptr,
3222 char **__restrict __endptr, __locale_t __loc)
3223 throw () __attribute__ ((__nonnull__ (1, 3))) ;
3225 extern float strtof_l (__const char *__restrict __nptr,
3226 char **__restrict __endptr, __locale_t __loc)
3227 throw () __attribute__ ((__nonnull__ (1, 3))) ;
3229 extern long double strtold_l (__const char *__restrict __nptr,
3230 char **__restrict __endptr,
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 () ;
3237 extern long int a64l (__const char *__s)
3238 throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
3243 # 1 "/usr/include/sys/types.h" 1 3 4
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
3255 # 1 "/usr/include/features.h" 1 3 4
3256 # 28 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
3260 # 1 "/usr/include/bits/types.h" 1 3 4
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
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
3282 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
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
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;
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;
3305 typedef signed long int __int64_t;
3306 typedef unsigned long int __uint64_t;
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
3333 #define __STD_TYPE typedef
3337 # 1 "/usr/include/bits/typesizes.h" 1 3 4
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
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
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
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;
3409 typedef int __daddr_t;
3410 typedef long int __swblk_t;
3411 typedef int __key_t;
3414 typedef int __clockid_t;
3417 typedef void * __timer_t;
3420 typedef long int __blksize_t;
3425 typedef long int __blkcnt_t;
3426 typedef long int __blkcnt64_t;
3429 typedef unsigned long int __fsblkcnt_t;
3430 typedef unsigned long int __fsblkcnt64_t;
3433 typedef unsigned long int __fsfilcnt_t;
3434 typedef unsigned long int __fsfilcnt64_t;
3436 typedef long int __ssize_t;
3440 typedef __off64_t __loff_t;
3441 typedef __quad_t *__qaddr_t;
3442 typedef char *__caddr_t;
3445 typedef long int __intptr_t;
3448 typedef unsigned int __socklen_t;
3452 # 9 "/usr/include/bits/types.h" 2 3 4
3453 # 32 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
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
3468 typedef __loff_t loff_t;
3472 typedef __ino_t ino_t;
3476 #define __ino_t_defined
3479 typedef __ino64_t ino64_t;
3480 #define __ino64_t_defined
3484 typedef __dev_t dev_t;
3485 #define __dev_t_defined
3489 typedef __gid_t gid_t;
3490 #define __gid_t_defined
3494 typedef __mode_t mode_t;
3495 #define __mode_t_defined
3499 typedef __nlink_t nlink_t;
3500 #define __nlink_t_defined
3504 typedef __uid_t uid_t;
3505 #define __uid_t_defined
3510 typedef __off_t off_t;
3514 #define __off_t_defined
3517 typedef __off64_t off64_t;
3518 #define __off64_t_defined
3522 typedef __pid_t pid_t;
3523 #define __pid_t_defined
3527 typedef __id_t id_t;
3528 #define __id_t_defined
3532 typedef __ssize_t ssize_t;
3533 #define __ssize_t_defined
3538 typedef __daddr_t daddr_t;
3539 typedef __caddr_t caddr_t;
3540 #define __daddr_t_defined
3545 typedef __key_t key_t;
3546 #define __key_t_defined
3550 #define __need_clock_t
3552 #define __need_time_t
3553 #define __need_timer_t
3554 #define __need_clockid_t
3555 # 1 "/usr/include/time.h" 1 3 4
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
3567 # 1 "/usr/include/bits/types.h" 1 3 4
3568 # 58 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
3572 typedef __clock_t clock_t;
3579 #undef __need_clock_t
3582 #define __time_t_defined 1
3584 # 1 "/usr/include/bits/types.h" 1 3 4
3585 # 74 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
3589 typedef __time_t time_t;
3596 #undef __need_time_t
3600 #define __clockid_t_defined 1
3602 # 1 "/usr/include/bits/types.h" 1 3 4
3603 # 91 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
3606 typedef __clockid_t clockid_t;
3609 #undef __clockid_time_t
3613 #define __timer_t_defined 1
3615 # 1 "/usr/include/bits/types.h" 1 3 4
3616 # 103 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
3619 typedef __timer_t timer_t;
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
3630 typedef __useconds_t useconds_t;
3631 #define __useconds_t_defined
3634 typedef __suseconds_t suseconds_t;
3635 #define __suseconds_t_defined
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
3651 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4
3657 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
3658 # 148 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
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)))
3668 #define __u_intN_t(N,MODE) typedef unsigned int u_int ##N ##_t __attribute__ ((__mode__ (MODE)))
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__)));
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__)));
3684 typedef int register_t __attribute__ ((__mode__ (__word__)));
3690 #define __BIT_TYPES_DEFINED__ 1
3695 # 1 "/usr/include/endian.h" 1 3 4
3696 # 218 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
3699 # 1 "/usr/include/sys/select.h" 1 3 4
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
3711 # 1 "/usr/include/features.h" 1 3 4
3712 # 26 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4
3715 # 1 "/usr/include/bits/types.h" 1 3 4
3716 # 29 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4
3719 # 1 "/usr/include/bits/select.h" 1 3 4
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)
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
3743 # 1 "/usr/include/bits/sigset.h" 1 3 4
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
3755 typedef int __sig_atomic_t;
3759 #define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
3762 unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
3764 # 9 "/usr/include/bits/sigset.h" 2 3 4
3765 # 35 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4
3768 #define __sigset_t_defined
3769 typedef __sigset_t sigset_t;
3773 #define __need_time_t
3774 #define __need_timespec
3775 # 1 "/usr/include/time.h" 1 3 4
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
3798 #define __timespec_defined 1
3800 # 1 "/usr/include/bits/types.h" 1 3 4
3801 # 118 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
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
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
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
3837 __suseconds_t tv_usec;
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;
3849 #define __NFDBITS (8 * sizeof (__fd_mask))
3850 #define __FDELT(d) ((d) / __NFDBITS)
3851 #define __FDMASK(d) ((__fd_mask) 1 << ((d) % __NFDBITS))
3859 __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))];
3860 #define __FDS_BITS(set) ((set)->fds_bits)
3868 #define FD_SETSIZE __FD_SETSIZE
3872 typedef __fd_mask fd_mask;
3875 #define NFDBITS __NFDBITS
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)
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);
3901 # 9 "/usr/include/sys/select.h" 2 3 4
3902 # 221 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
3905 # 1 "/usr/include/sys/sysmacros.h" 1 3 4
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
3917 # 1 "/usr/include/features.h" 1 3 4
3918 # 25 "/usr/include/gentoo-multilib/amd64/sys/sysmacros.h" 2 3 4
3925 extern unsigned int gnu_dev_major (unsigned long long int __dev)
3928 extern unsigned int gnu_dev_minor (unsigned long long int __dev)
3931 extern unsigned long long int gnu_dev_makedev (unsigned int __major,
3932 unsigned int __minor)
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
3944 typedef __blksize_t blksize_t;
3945 #define __blksize_t_defined
3951 typedef __blkcnt_t blkcnt_t;
3952 #define __blkcnt_t_defined
3955 typedef __fsblkcnt_t fsblkcnt_t;
3956 #define __fsblkcnt_t_defined
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;
3970 # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
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
3982 # 1 "/usr/include/bits/wordsize.h" 1 3 4
3990 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
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
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;
4021 typedef struct __pthread_internal_list
4023 struct __pthread_internal_list *__prev;
4024 struct __pthread_internal_list *__next;
4026 # 76 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4
4029 struct __pthread_mutex_s
4032 unsigned int __count;
4035 unsigned int __nusers;
4042 __pthread_list_t __list;
4043 #define __PTHREAD_MUTEX_HAVE_PREV 1
4044 # 101 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4
4054 } pthread_mutexattr_t;
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;
4069 unsigned int __nwaiters;
4070 unsigned int __broadcast_seq;
4073 __extension__ long long int __align;
4080 } pthread_condattr_t;
4084 typedef unsigned int pthread_key_t;
4088 typedef int pthread_once_t;
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;
4107 unsigned long int __pad1;
4108 unsigned long int __pad2;
4111 unsigned int __flags;
4113 # 187 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4
4122 } pthread_rwlockattr_t;
4128 typedef volatile int pthread_spinlock_t;
4137 } pthread_barrier_t;
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
4149 # 9 "/usr/include/sys/types.h" 2 3 4
4150 # 321 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4
4157 extern long int random (void) throw ();
4160 extern void srandom (unsigned int __seed) throw ();
4166 extern char *initstate (unsigned int __seed, char *__statebuf,
4167 size_t __statelen) throw () __attribute__ ((__nonnull__ (2)));
4171 extern char *setstate (char *__statebuf) throw () __attribute__ ((__nonnull__ (1)));
4190 extern int random_r (struct random_data *__restrict __buf,
4191 int32_t *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2)));
4193 extern int srandom_r (unsigned int __seed, struct random_data *__buf)
4194 throw () __attribute__ ((__nonnull__ (2)));
4196 extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
4198 struct random_data *__restrict __buf)
4199 throw () __attribute__ ((__nonnull__ (2, 4)));
4201 extern int setstate_r (char *__restrict __statebuf,
4202 struct random_data *__restrict __buf)
4203 throw () __attribute__ ((__nonnull__ (1, 2)));
4210 extern int rand (void) throw ();
4212 extern void srand (unsigned int __seed) throw ();
4217 extern int rand_r (unsigned int *__seed) throw ();
4225 extern double drand48 (void) throw ();
4226 extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1)));
4229 extern long int lrand48 (void) throw ();
4230 extern long int nrand48 (unsigned short int __xsubi[3])
4231 throw () __attribute__ ((__nonnull__ (1)));
4234 extern long int mrand48 (void) throw ();
4235 extern long int jrand48 (unsigned short int __xsubi[3])
4236 throw () __attribute__ ((__nonnull__ (1)));
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)));
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;
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)));
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)));
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)));
4283 extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
4284 throw () __attribute__ ((__nonnull__ (2)));
4286 extern int seed48_r (unsigned short int __seed16v[3],
4287 struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2)));
4289 extern int lcong48_r (unsigned short int __param[7],
4290 struct drand48_data *__buffer)
4291 throw () __attribute__ ((__nonnull__ (1, 2)));
4298 #define __malloc_and_calloc_defined
4301 extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)) ;
4303 extern void *calloc (size_t __nmemb, size_t __size)
4304 throw () __attribute__ ((__malloc__)) ;
4315 extern void *realloc (void *__ptr, size_t __size)
4316 throw () __attribute__ ((__warn_unused_result__));
4318 extern void free (void *__ptr) throw ();
4323 extern void cfree (void *__ptr) throw ();
4327 # 1 "/usr/include/alloca.h" 1 3 4
4335 # 1 "/usr/include/gentoo-multilib/amd64/alloca.h" 1 3 4
4336 # 20 "/usr/include/gentoo-multilib/amd64/alloca.h" 3 4
4339 # 1 "/usr/include/features.h" 1 3 4
4340 # 23 "/usr/include/gentoo-multilib/amd64/alloca.h" 2 3 4
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
4354 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4
4360 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
4361 # 26 "/usr/include/gentoo-multilib/amd64/alloca.h" 2 3 4
4369 extern void *alloca (size_t __size) throw ();
4372 #define alloca(size) __builtin_alloca (size)
4376 # 9 "/usr/include/alloca.h" 2 3 4
4377 # 498 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4
4382 extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) ;
4387 extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
4388 throw () __attribute__ ((__nonnull__ (1))) ;
4393 extern void abort (void) throw () __attribute__ ((__noreturn__));
4397 extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1)));
4403 extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
4404 throw () __attribute__ ((__nonnull__ (1)));
4411 extern void exit (int __status) throw () __attribute__ ((__noreturn__));
4418 extern void _Exit (int __status) throw () __attribute__ ((__noreturn__));
4425 extern char *getenv (__const char *__name) throw () __attribute__ ((__nonnull__ (1))) ;
4430 extern char *__secure_getenv (__const char *__name)
4431 throw () __attribute__ ((__nonnull__ (1))) ;
4437 extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1)));
4443 extern int setenv (__const char *__name, __const char *__value, int __replace)
4444 throw () __attribute__ ((__nonnull__ (2)));
4447 extern int unsetenv (__const char *__name) throw ();
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))) ;
4476 extern int system (__const char *__command) ;
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 () ;
4493 #define __COMPAR_FN_T
4494 typedef int (*__compar_fn_t) (__const void *, __const void *);
4497 typedef __compar_fn_t comparison_fn_t;
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))) ;
4510 extern void qsort (void *__base, size_t __nmemb, size_t __size,
4511 __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
4515 extern int abs (int __x) throw () __attribute__ ((__const__)) ;
4516 extern long int labs (long int __x) throw () __attribute__ ((__const__)) ;
4520 __extension__ extern long long int llabs (long long int __x)
4521 throw () __attribute__ ((__const__)) ;
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__)) ;
4537 __extension__ extern lldiv_t lldiv (long long int __numer,
4538 long long int __denom)
4539 throw () __attribute__ ((__const__)) ;
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))) ;
4548 extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
4549 int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ;
4554 extern char *gcvt (double __value, int __ndigit, char *__buf)
4555 throw () __attribute__ ((__nonnull__ (3))) ;
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))) ;
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)));
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)));
4594 extern int mblen (__const char *__s, size_t __n) throw () ;
4597 extern int mbtowc (wchar_t *__restrict __pwc,
4598 __const char *__restrict __s, size_t __n) throw () ;
4601 extern int wctomb (char *__s, wchar_t __wchar) throw () ;
4605 extern size_t mbstowcs (wchar_t *__restrict __pwcs,
4606 __const char *__restrict __s, size_t __n) throw ();
4608 extern size_t wcstombs (char *__restrict __s,
4609 __const wchar_t *__restrict __pwcs, size_t __n)
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))) ;
4630 extern void setkey (__const char *__key) throw () __attribute__ ((__nonnull__ (1)));
4638 extern int posix_openpt (int __oflag) ;
4646 extern int grantpt (int __fd) throw ();
4650 extern int unlockpt (int __fd) throw ();
4655 extern char *ptsname (int __fd) throw () ;
4662 extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
4663 throw () __attribute__ ((__nonnull__ (2)));
4666 extern int getpt (void);
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
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
4712 namespace std __attribute__ ((__visibility__ ("default"))) {
4751 abs(long __i) { return labs(__i); }
4754 div(long __i, long __j) { return ldiv(__i, __j); }
4769 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
4782 abs(long long __x) { return __x >= 0 ? __x : -__x; }
4788 div(long long __n, long long __d)
4789 { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
4792 # 194 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdlib" 3
4802 namespace std __attribute__ ((__visibility__ ("default"))) {
4805 using ::__gnu_cxx::lldiv_t;
4807 using ::__gnu_cxx::_Exit;
4808 using ::__gnu_cxx::abs;
4810 using ::__gnu_cxx::llabs;
4811 using ::__gnu_cxx::div;
4812 using ::__gnu_cxx::lldiv;
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;
4821 # 69 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 2 3
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
4828 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/iosfwd" 3
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
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
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
4844 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdio" 3
4849 # 1 "/usr/include/stdio.h" 1 3 4
4857 # 1 "/usr/include/gentoo-multilib/amd64/stdio.h" 1 3 4
4858 # 27 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
4860 # 1 "/usr/include/features.h" 1 3 4
4861 # 29 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4
4865 #define __need_size_t
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
4878 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4
4884 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
4885 # 35 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4
4887 # 1 "/usr/include/bits/types.h" 1 3 4
4888 # 37 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4
4890 #define __need___FILE
4901 typedef struct _IO_FILE FILE;
4909 #define __FILE_defined 1
4917 typedef struct _IO_FILE __FILE;
4919 #define ____FILE_defined 1
4921 #undef __need___FILE
4925 #define _STDIO_USES_IOSTREAM
4927 # 1 "/usr/include/libio.h" 1 3 4
4935 # 1 "/usr/include/gentoo-multilib/amd64/libio.h" 1 3 4
4936 # 30 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
4939 # 1 "/usr/include/_G_config.h" 1 3 4
4947 # 1 "/usr/include/gentoo-multilib/amd64/_G_config.h" 1 3 4
4952 #define _G_config_h 1
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
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
4974 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4
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
4986 # 1 "/usr/include/wchar.h" 1 3 4
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
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
5019 __mbstate_t __state;
5024 __mbstate_t __state;
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__)));
5040 #define _G_HAVE_BOOL 1
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
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
5057 #define _G_IO_IO_FILE_VERSION 0x20001
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)
5065 #define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE)
5067 #define _G_BUFSIZ 8192
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_
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
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
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
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
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)
5123 #define _IO_UNIFIED_JUMPTABLES 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
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
5166 #define _IO_FLAGS2_MMAP 1
5167 #define _IO_FLAGS2_NOTCANCEL 2
5171 #define _IO_FLAGS2_USER_WBUF 8
5177 #define _IO_SKIPWS 01
5179 #define _IO_RIGHT 04
5180 #define _IO_INTERNAL 010
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
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;
5205 struct _IO_marker *_next;
5206 struct _IO_FILE *_sbuf;
5211 # 203 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
5215 enum __codecvt_result
5222 # 271 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
5225 #define _IO_file_flags _flags
5231 char* _IO_read_base;
5232 char* _IO_write_base;
5233 char* _IO_write_ptr;
5234 char* _IO_write_end;
5238 char *_IO_save_base;
5239 char *_IO_backup_base;
5242 struct _IO_marker *_markers;
5244 struct _IO_FILE *_chain;
5252 __off_t _old_offset;
5254 #define __HAVE_COLUMN
5256 unsigned short _cur_column;
5257 signed char _vtable_offset;
5263 # 319 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
5265 # 328 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
5274 char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
5282 struct _IO_FILE_plus;
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_;
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);
5300 typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
5309 typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
5312 typedef int __io_close_fn (void *__cookie);
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;
5326 __io_write_fn *write;
5328 __io_close_fn *close;
5329 } _IO_cookie_io_functions_t;
5330 typedef _IO_cookie_io_functions_t cookie_io_functions_t;
5332 struct _IO_cookie_file;
5335 extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write,
5336 void *__cookie, _IO_cookie_io_functions_t __fns);
5344 extern int __underflow (_IO_FILE *);
5345 extern int __uflow (_IO_FILE *);
5346 extern int __overflow (_IO_FILE *, int);
5354 #define _IO_BE(expr,res) __builtin_expect ((expr), res)
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++)
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)
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)
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 ();
5376 extern int _IO_peekc_locked (_IO_FILE *__fp);
5379 #define _IO_PENDING_OUTPUT_COUNT(_fp) ((_fp)->_IO_write_ptr - (_fp)->_IO_write_base)
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)
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,
5398 extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t);
5399 extern size_t _IO_sgetn (_IO_FILE *, void *, size_t);
5401 extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int);
5402 extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int);
5404 extern void _IO_free_backup_area (_IO_FILE *) throw ();
5405 # 550 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
5407 # 9 "/usr/include/libio.h" 2 3 4
5408 # 76 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4
5413 typedef __gnuc_va_list va_list;
5414 #define _VA_LIST_DEFINED
5424 typedef _G_fpos_t fpos_t;
5430 typedef _G_fpos64_t fpos64_t;
5441 #define BUFSIZ _IO_BUFSIZ
5442 # 121 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
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
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
5463 #define TMP_MAX 238328
5464 #define FILENAME_MAX 4096
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
5480 extern struct _IO_FILE *stdin;
5481 extern struct _IO_FILE *stdout;
5482 extern struct _IO_FILE *stderr;
5485 #define stdout stdout
5486 #define stderr stderr
5490 extern int remove (__const char *__filename) throw ();
5492 extern int rename (__const char *__old, __const char *__new) throw ();
5497 extern int renameat (int __oldfd, __const char *__old, int __newfd,
5498 __const char *__new) throw ();
5507 extern FILE *tmpfile (void) ;
5508 # 182 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
5509 extern FILE *tmpfile64 (void) ;
5513 extern char *tmpnam (char *__s) throw () ;
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__)) ;
5531 extern int fclose (FILE *__stream);
5536 extern int fflush (FILE *__stream);
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);
5551 extern FILE *fopen (__const char *__restrict __filename,
5552 __const char *__restrict __modes) ;
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
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) ;
5572 extern FILE *fdopen (int __fd, __const char *__modes) throw () ;
5578 extern FILE *fopencookie (void *__restrict __magic_cookie,
5579 __const char *__restrict __modes,
5580 _IO_cookie_io_functions_t __io_funcs) throw () ;
5583 extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes)
5589 extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) throw () ;
5596 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw ();
5600 extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
5601 int __modes, size_t __n) throw ();
5607 extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
5608 size_t __size) throw ();
5611 extern void setlinebuf (FILE *__stream) throw ();
5620 extern int fprintf (FILE *__restrict __stream,
5621 __const char *__restrict __format, ...);
5626 extern int printf (__const char *__restrict __format, ...);
5628 extern int sprintf (char *__restrict __s,
5629 __const char *__restrict __format, ...) throw ();
5635 extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
5636 __gnuc_va_list __arg);
5641 extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg);
5643 extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
5644 __gnuc_va_list __arg) throw ();
5650 extern int snprintf (char *__restrict __s, size_t __maxlen,
5651 __const char *__restrict __format, ...)
5652 throw () __attribute__ ((__format__ (__printf__, 3, 4)));
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)));
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))) ;
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)));
5692 extern int fscanf (FILE *__restrict __stream,
5693 __const char *__restrict __format, ...) ;
5698 extern int scanf (__const char *__restrict __format, ...) ;
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
5711 extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format,
5712 __gnuc_va_list __arg)
5713 __attribute__ ((__format__ (__scanf__, 2, 0))) ;
5719 extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg)
5720 __attribute__ ((__format__ (__scanf__, 1, 0))) ;
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
5736 extern int fgetc (FILE *__stream);
5737 extern int getc (FILE *__stream);
5743 extern int getchar (void);
5748 #define getc(_fp) _IO_getc (_fp)
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);
5770 extern int fputc (int __c, FILE *__stream);
5771 extern int putc (int __c, FILE *__stream);
5777 extern int putchar (int __c);
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);
5792 extern int putc_unlocked (int __c, FILE *__stream);
5793 extern int putchar_unlocked (int __c);
5800 extern int getw (FILE *__stream);
5803 extern int putw (int __w, FILE *__stream);
5812 extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
5820 extern char *gets (char *__s) ;
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) ;
5839 extern __ssize_t getline (char **__restrict __lineptr,
5840 size_t *__restrict __n,
5841 FILE *__restrict __stream) ;
5850 extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
5856 extern int puts (__const char *__s);
5863 extern int ungetc (int __c, FILE *__stream);
5870 extern size_t fread (void *__restrict __ptr, size_t __size,
5871 size_t __n, FILE *__restrict __stream) ;
5876 extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
5877 size_t __n, FILE *__restrict __s) ;
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) ;
5895 extern int fseek (FILE *__stream, long int __off, int __whence);
5900 extern long int ftell (FILE *__stream) ;
5905 extern void rewind (FILE *__stream);
5907 # 742 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
5908 extern int fseeko (FILE *__stream, __off_t __off, int __whence);
5913 extern __off_t ftello (FILE *__stream) ;
5914 # 761 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
5921 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
5926 extern int fsetpos (FILE *__stream, __const fpos_t *__pos);
5927 # 784 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
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);
5939 extern void clearerr (FILE *__stream) throw ();
5941 extern int feof (FILE *__stream) throw () ;
5943 extern int ferror (FILE *__stream) throw () ;
5948 extern void clearerr_unlocked (FILE *__stream) throw ();
5949 extern int feof_unlocked (FILE *__stream) throw () ;
5950 extern int ferror_unlocked (FILE *__stream) throw () ;
5959 extern void perror (__const char *__s);
5966 # 1 "/usr/include/bits/sys_errlist.h" 1 3 4
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[];
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
5988 extern int fileno (FILE *__stream) throw () ;
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) ;
6001 extern int pclose (FILE *__stream);
6007 extern char *ctermid (char *__s) throw ();
6013 extern char *cuserid (char *__s);
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)));
6035 extern void flockfile (FILE *__stream) throw ();
6039 extern int ftrylockfile (FILE *__stream) throw () ;
6042 extern void funlockfile (FILE *__stream) throw ();
6043 # 912 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
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
6091 namespace std __attribute__ ((__visibility__ ("default"))) {
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
6159 namespace std __attribute__ ((__visibility__ ("default"))) {
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;
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
6174 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/clocale" 3
6177 # 1 "/usr/include/locale.h" 1 3 4
6185 # 1 "/usr/include/gentoo-multilib/amd64/locale.h" 1 3 4
6186 # 24 "/usr/include/gentoo-multilib/amd64/locale.h" 3 4
6189 # 1 "/usr/include/features.h" 1 3 4
6190 # 27 "/usr/include/gentoo-multilib/amd64/locale.h" 2 3 4
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
6204 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4
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
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
6236 __LC_TELEPHONE = 10,
6237 __LC_MEASUREMENT = 11,
6238 __LC_IDENTIFICATION = 12
6240 # 9 "/usr/include/bits/locale.h" 2 3 4
6241 # 31 "/usr/include/gentoo-multilib/amd64/locale.h" 2 3 4
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
6269 char *decimal_point;
6270 char *thousands_sep;
6282 char *int_curr_symbol;
6283 char *currency_symbol;
6284 char *mon_decimal_point;
6285 char *mon_thousands_sep;
6287 char *positive_sign;
6288 char *negative_sign;
6289 char int_frac_digits;
6294 char p_sep_by_space;
6298 char n_sep_by_space;
6309 char int_p_cs_precedes;
6311 char int_p_sep_by_space;
6313 char int_n_cs_precedes;
6315 char int_n_sep_by_space;
6322 char int_p_sign_posn;
6323 char int_n_sign_posn;
6324 # 121 "/usr/include/gentoo-multilib/amd64/locale.h" 3 4
6329 extern char *setlocale (int __category, __const char *__locale) throw ();
6332 extern struct lconv *localeconv (void) throw ();
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
6339 typedef __locale_t locale_t;
6345 extern __locale_t newlocale (int __category_mask, __const char *__locale,
6346 __locale_t __base) throw ();
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 ();
6370 extern void freelocale (__locale_t __dataset) throw ();
6377 extern __locale_t uselocale (__locale_t __dataset) throw ();
6381 #define LC_GLOBAL_LOCALE ((__locale_t) -1L)
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
6393 namespace std __attribute__ ((__visibility__ ("default"))) {
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
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
6414 # 1 "/usr/include/nl_types.h" 1 3 4
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
6426 # 1 "/usr/include/features.h" 1 3 4
6427 # 23 "/usr/include/gentoo-multilib/amd64/nl_types.h" 2 3 4
6433 #define NL_CAT_LOCALE 1
6439 typedef void *nl_catd;
6442 typedef int nl_item;
6448 extern nl_catd catopen (__const char *__cat_name, int __flag) __attribute__ ((__nonnull__ (1)));
6452 extern char *catgets (nl_catd __catalog, int __set, int __number,
6453 __const char *__string) throw () __attribute__ ((__nonnull__ (1)));
6456 extern int catclose (nl_catd __catalog) throw () __attribute__ ((__nonnull__ (1)));
6459 # 9 "/usr/include/nl_types.h" 2 3 4
6460 # 25 "/usr/include/gentoo-multilib/amd64/langinfo.h" 2 3 4
6462 # 1 "/usr/include/bits/locale.h" 1 3 4
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
6481 #define _NL_ITEM(category,index) (((category) << 16) | (index))
6484 #define _NL_ITEM_CATEGORY(item) ((int) (item) >> 16)
6485 #define _NL_ITEM_INDEX(item) ((int) (item) & 0xffff)
6493 ABDAY_1 = (((__LC_TIME) << 16) | (0)),
6494 #define ABDAY_1 ABDAY_1
6496 #define ABDAY_2 ABDAY_2
6498 #define ABDAY_3 ABDAY_3
6500 #define ABDAY_4 ABDAY_4
6502 #define ABDAY_5 ABDAY_5
6504 #define ABDAY_6 ABDAY_6
6506 #define ABDAY_7 ABDAY_7
6526 #define ABMON_1 ABMON_1
6528 #define ABMON_2 ABMON_2
6530 #define ABMON_3 ABMON_3
6532 #define ABMON_4 ABMON_4
6534 #define ABMON_5 ABMON_5
6536 #define ABMON_6 ABMON_6
6538 #define ABMON_7 ABMON_7
6540 #define ABMON_8 ABMON_8
6542 #define ABMON_9 ABMON_9
6544 #define ABMON_10 ABMON_10
6546 #define ABMON_11 ABMON_11
6548 #define ABMON_12 ABMON_12
6570 #define MON_10 MON_10
6572 #define MON_11 MON_11
6574 #define MON_12 MON_12
6577 #define AM_STR AM_STR
6579 #define PM_STR PM_STR
6582 #define D_T_FMT D_T_FMT
6588 #define T_FMT_AMPM T_FMT_AMPM
6594 #define ERA_YEAR __ERA_YEAR
6597 #define ERA_D_FMT ERA_D_FMT
6599 #define ALT_DIGITS ALT_DIGITS
6601 #define ERA_D_T_FMT ERA_D_T_FMT
6603 #define ERA_T_FMT ERA_T_FMT
6605 _NL_TIME_ERA_NUM_ENTRIES,
6606 _NL_TIME_ERA_ENTRIES,
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,
6676 #define _DATE_FMT _DATE_FMT
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,
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,
6710 _NL_CTYPE_CLASS = (((__LC_CTYPE) << 16) | (0)),
6720 _NL_CTYPE_CLASS_NAMES,
6721 _NL_CTYPE_MAP_NAMES,
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,
6802 __INT_CURR_SYMBOL = (((__LC_MONETARY) << 16) | (0)),
6804 #define INT_CURR_SYMBOL __INT_CURR_SYMBOL
6808 #define CURRENCY_SYMBOL __CURRENCY_SYMBOL
6810 __MON_DECIMAL_POINT,
6812 #define MON_DECIMAL_POINT __MON_DECIMAL_POINT
6814 __MON_THOUSANDS_SEP,
6816 #define MON_THOUSANDS_SEP __MON_THOUSANDS_SEP
6820 #define MON_GROUPING __MON_GROUPING
6824 #define POSITIVE_SIGN __POSITIVE_SIGN
6828 #define NEGATIVE_SIGN __NEGATIVE_SIGN
6832 #define INT_FRAC_DIGITS __INT_FRAC_DIGITS
6836 #define FRAC_DIGITS __FRAC_DIGITS
6840 #define P_CS_PRECEDES __P_CS_PRECEDES
6844 #define P_SEP_BY_SPACE __P_SEP_BY_SPACE
6848 #define N_CS_PRECEDES __N_CS_PRECEDES
6852 #define N_SEP_BY_SPACE __N_SEP_BY_SPACE
6856 #define P_SIGN_POSN __P_SIGN_POSN
6860 #define N_SIGN_POSN __N_SIGN_POSN
6862 _NL_MONETARY_CRNCYSTR,
6863 #define CRNCYSTR _NL_MONETARY_CRNCYSTR
6864 __INT_P_CS_PRECEDES,
6866 #define INT_P_CS_PRECEDES __INT_P_CS_PRECEDES
6868 __INT_P_SEP_BY_SPACE,
6870 #define INT_P_SEP_BY_SPACE __INT_P_SEP_BY_SPACE
6872 __INT_N_CS_PRECEDES,
6874 #define INT_N_CS_PRECEDES __INT_N_CS_PRECEDES
6876 __INT_N_SEP_BY_SPACE,
6878 #define INT_N_SEP_BY_SPACE __INT_N_SEP_BY_SPACE
6882 #define INT_P_SIGN_POSN __INT_P_SIGN_POSN
6886 #define INT_N_SIGN_POSN __INT_N_SIGN_POSN
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,
6916 __DECIMAL_POINT = (((__LC_NUMERIC) << 16) | (0)),
6918 #define DECIMAL_POINT __DECIMAL_POINT
6920 RADIXCHAR = __DECIMAL_POINT,
6921 #define RADIXCHAR RADIXCHAR
6924 #define THOUSANDS_SEP __THOUSANDS_SEP
6926 THOUSEP = __THOUSANDS_SEP,
6927 #define THOUSEP THOUSEP
6930 #define GROUPING __GROUPING
6932 _NL_NUMERIC_DECIMAL_POINT_WC,
6933 _NL_NUMERIC_THOUSANDS_SEP_WC,
6934 _NL_NUMERIC_CODESET,
6937 __YESEXPR = (((__LC_MESSAGES) << 16) | (0)),
6938 #define YESEXPR __YESEXPR
6940 #define NOEXPR __NOEXPR
6943 #define YESSTR __YESSTR
6947 #define NOSTR __NOSTR
6949 _NL_MESSAGES_CODESET,
6950 _NL_NUM_LC_MESSAGES,
6952 _NL_PAPER_HEIGHT = (((__LC_PAPER) << 16) | (0)),
6957 _NL_NAME_NAME_FMT = (((__LC_NAME) << 16) | (0)),
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,
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,
6988 _NL_MEASUREMENT_MEASUREMENT = (((__LC_MEASUREMENT) << 16) | (0)),
6989 _NL_MEASUREMENT_CODESET,
6990 _NL_NUM_LC_MEASUREMENT,
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,
7016 #define _NL_LOCALE_NAME(category) _NL_ITEM ((category), -1)
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 ();
7028 # 1 "/usr/include/xlocale.h" 1 3 4
7029 # 591 "/usr/include/gentoo-multilib/amd64/langinfo.h" 2 3 4
7032 extern char *nl_langinfo_l (nl_item __item, __locale_t l);
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
7046 # 1 "/usr/include/gentoo-multilib/amd64/iconv.h" 1 3 4
7047 # 20 "/usr/include/gentoo-multilib/amd64/iconv.h" 3 4
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
7064 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4
7070 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
7071 # 25 "/usr/include/gentoo-multilib/amd64/iconv.h" 2 3 4
7077 typedef void *iconv_t;
7085 extern iconv_t iconv_open (__const char *__tocode, __const char *__fromcode);
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);
7099 extern int iconv_close (iconv_t __cd);
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
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
7116 # 1 "/usr/include/features.h" 1 3 4
7117 # 25 "/usr/include/gentoo-multilib/amd64/libintl.h" 2 3 4
7121 #define __USE_GNU_GETTEXT 1
7125 #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 1 : -1)
7133 extern char *((const char *) (__const char *__msgid))
7134 throw () __attribute__ ((__format_arg__ (1)));
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)));
7145 extern char *((const char *) (__const char *__msgid))
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)));
7155 extern char *((unsigned long int __n) == 1 ? (const char *) (__const char *__msgid1) : (const char *) (__const char *__msgid2))
7157 throw () __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2)));
7161 extern char *((unsigned long int __n) == 1 ? (const char *) (__const char *__msgid1) : (const char *) (__const char *__msgid2))
7163 throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
7167 extern char *((unsigned long int __n) == 1 ? (const char *) (__const char *__msgid1) : (const char *) (__const char *__msgid2))
7170 throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
7176 extern char *((const char *) (__const char *__domainname)) throw ();
7180 extern char *((const char *) (__const char *__dirname)) throw ();
7185 extern char *((const char *) (__const char *__codeset)) throw ();
7186 # 122 "/usr/include/gentoo-multilib/amd64/libintl.h" 3 4
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
7195 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdarg" 3
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
7201 #define _ANSI_STDARG_H_
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)
7209 #define va_copy(d,s) __builtin_va_copy(d,s)
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
7222 #define _VA_LIST_T_H
7226 # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cstdarg" 2 3
7233 namespace std __attribute__ ((__visibility__ ("default"))) {
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
7240 #define _GLIBCXX_C_LOCALE_GNU 1
7242 #define _GLIBCXX_NUM_CATEGORIES 6
7245 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
7247 extern "C" __typeof(uselocale) __uselocale;
7252 namespace std __attribute__ ((__visibility__ ("default"))) {
7254 typedef __locale_t __c_locale;
7261 __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)),
7263 const int __size __attribute__ ((__unused__)),
7264 const char* __fmt, ...)
7267 __c_locale __old = __gnu_cxx::__uselocale(__cloc);
7276 __builtin_va_start(__args,__fmt);
7279 const int __ret = std::vsnprintf(__out, __size, __fmt, __args);
7284 __builtin_va_end(__args);
7287 __gnu_cxx::__uselocale(__old);
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
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
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
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
7320 #define __GTHREADS 1
7327 # 1 "/usr/include/pthread.h" 1 3 4
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
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
7351 # 1 "/usr/include/gentoo-multilib/amd64/sched.h" 1 3 4
7352 # 21 "/usr/include/gentoo-multilib/amd64/sched.h" 3 4
7355 # 1 "/usr/include/features.h" 1 3 4
7356 # 24 "/usr/include/gentoo-multilib/amd64/sched.h" 2 3 4
7359 # 1 "/usr/include/bits/types.h" 1 3 4
7360 # 27 "/usr/include/gentoo-multilib/amd64/sched.h" 2 3 4
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
7374 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4
7380 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
7381 # 30 "/usr/include/gentoo-multilib/amd64/sched.h" 2 3 4
7383 #define __need_timespec
7384 # 1 "/usr/include/time.h" 1 3 4
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
7407 # 1 "/usr/include/bits/sched.h" 1 3 4
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
7421 #define SCHED_BATCH 3
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
7434 #define CLONE_PARENT 0x00008000
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
7442 #define CLONE_CHILD_CLEARTID 0x00200000
7444 #define CLONE_DETACHED 0x00400000
7445 #define CLONE_UNTRACED 0x00800000
7447 #define CLONE_CHILD_SETTID 0x01000000
7449 #define CLONE_STOPPED 0x02000000
7455 int __sched_priority;
7462 extern int clone (int (*__fn) (void *__arg), void *__child_stack,
7463 int __flags, void *__arg, ...) throw ();
7466 extern int unshare (int __flags) throw ();
7469 extern int sched_getcpu (void) throw ();
7478 #define __defined_schedparam 1
7480 struct __sched_param
7482 int __sched_priority;
7484 #undef __need_schedparam
7489 #define __cpu_set_t_defined
7491 #define __CPU_SETSIZE 1024
7492 #define __NCPUBITS (8 * sizeof (__cpu_mask))
7495 typedef unsigned long int __cpu_mask;
7498 #define __CPUELT(cpu) ((cpu) / __NCPUBITS)
7499 #define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))
7504 __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
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; })
7515 #define __CPU_CLR_S(cpu,setsize,cpusetp) ({ size_t __cpu = (cpu); __cpu < 8 * (setsize) ? ((cpusetp)->__bits[__CPUELT (__cpu)] &= ~__CPUMASK (__cpu)) : 0; })
7519 #define __CPU_ISSET_S(cpu,setsize,cpusetp) ({ size_t __cpu = (cpu); __cpu < 8 * (setsize) ? (((cpusetp)->__bits[__CPUELT (__cpu)] & __CPUMASK (__cpu))) != 0 : 0; })
7524 #define __CPU_COUNT_S(setsize,cpusetp) __sched_cpucount (setsize, cpusetp)
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)
7534 #define __CPU_ALLOC(count) __sched_cpualloc (count)
7535 #define __CPU_FREE(cpuset) __sched_cpufree (cpuset)
7539 extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
7541 extern cpu_set_t *__sched_cpualloc (size_t __count) throw () ;
7542 extern void __sched_cpufree (cpu_set_t *__set) throw ();
7545 # 9 "/usr/include/bits/sched.h" 2 3 4
7546 # 36 "/usr/include/gentoo-multilib/amd64/sched.h" 2 3 4
7548 #define sched_priority __sched_priority
7554 extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param)
7558 extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw ();
7561 extern int sched_setscheduler (__pid_t __pid, int __policy,
7562 __const struct sched_param *__param) throw ();
7565 extern int sched_getscheduler (__pid_t __pid) throw ();
7568 extern int sched_yield (void) throw ();
7571 extern int sched_get_priority_max (int __algorithm) throw ();
7574 extern int sched_get_priority_min (int __algorithm) throw ();
7577 extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw ();
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)
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)
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)
7594 #define CPU_ZERO_S(setsize,cpusetp) __CPU_ZERO_S (setsize, cpusetp)
7595 #define CPU_COUNT_S(setsize,cpusetp) __CPU_COUNT_S (setsize, cpusetp)
7597 #define CPU_EQUAL(cpusetp1,cpusetp2) __CPU_EQUAL_S (sizeof (cpu_set_t), cpusetp1, cpusetp2)
7599 #define CPU_EQUAL_S(setsize,cpusetp1,cpusetp2) __CPU_EQUAL_S (setsize, cpusetp1, cpusetp2)
7602 #define CPU_AND(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, &)
7604 #define CPU_OR(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, |)
7606 #define CPU_XOR(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, ^)
7608 #define CPU_AND_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, &)
7610 #define CPU_OR_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, |)
7612 #define CPU_XOR_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, ^)
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)
7621 extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
7622 __const cpu_set_t *__cpuset) throw ();
7625 extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,
7626 cpu_set_t *__cpuset) throw ();
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
7640 # 1 "/usr/include/gentoo-multilib/amd64/time.h" 1 3 4
7641 # 28 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
7643 # 1 "/usr/include/features.h" 1 3 4
7644 # 30 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
7652 #define __need_size_t
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
7665 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4
7671 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
7672 # 40 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
7676 # 1 "/usr/include/bits/time.h" 1 3 4
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
7694 #define CLOCKS_PER_SEC 1000000l
7695 # 46 "/usr/include/gentoo-multilib/amd64/bits/time.h" 3 4
7696 #define CLOCK_REALTIME 0
7698 #define CLOCK_MONOTONIC 1
7700 #define CLOCK_PROCESS_CPUTIME_ID 2
7702 #define CLOCK_THREAD_CPUTIME_ID 3
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
7737 __const char *tm_zone;
7753 struct timespec it_interval;
7754 struct timespec it_value;
7759 # 181 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
7763 extern clock_t clock (void) throw ();
7766 extern time_t time (time_t *__timer) throw ();
7769 extern double difftime (time_t __time1, time_t __time0)
7770 throw () __attribute__ ((__const__));
7773 extern time_t mktime (struct tm *__tp) throw ();
7779 extern size_t strftime (char *__restrict __s, size_t __maxsize,
7780 __const char *__restrict __format,
7781 __const struct tm *__restrict __tp) throw ();
7787 extern char *strptime (__const char *__restrict __s,
7788 __const char *__restrict __fmt, struct tm *__tp)
7795 # 1 "/usr/include/xlocale.h" 1 3 4
7796 # 217 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
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 ();
7803 extern char *strptime_l (__const char *__restrict __s,
7804 __const char *__restrict __fmt, struct tm *__tp,
7805 __locale_t __loc) throw ();
7812 extern struct tm *gmtime (__const time_t *__timer) throw ();
7816 extern struct tm *localtime (__const time_t *__timer) throw ();
7822 extern struct tm *gmtime_r (__const time_t *__restrict __timer,
7823 struct tm *__restrict __tp) throw ();
7827 extern struct tm *localtime_r (__const time_t *__restrict __timer,
7828 struct tm *__restrict __tp) throw ();
7834 extern char *asctime (__const struct tm *__tp) throw ();
7837 extern char *ctime (__const time_t *__timer) throw ();
7845 extern char *asctime_r (__const struct tm *__restrict __tp,
7846 char *__restrict __buf) throw ();
7849 extern char *ctime_r (__const time_t *__restrict __timer,
7850 char *__restrict __buf) throw ();
7855 extern char *__tzname[2];
7856 extern int __daylight;
7857 extern long int __timezone;
7862 extern char *tzname[2];
7866 extern void tzset (void) throw ();
7870 extern int daylight;
7871 extern long int timezone;
7877 extern int stime (__const time_t *__when) throw ();
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 ();
7888 extern time_t timelocal (struct tm *__tp) throw ();
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);
7898 extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw ();
7901 extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw ();
7904 extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
7912 extern int clock_nanosleep (clockid_t __clock_id, int __flags,
7913 __const struct timespec *__req,
7914 struct timespec *__rem);
7917 extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) throw ();
7922 extern int timer_create (clockid_t __clock_id,
7923 struct sigevent *__restrict __evp,
7924 timer_t *__restrict __timerid) throw ();
7927 extern int timer_delete (timer_t __timerid) throw ();
7930 extern int timer_settime (timer_t __timerid, int __flags,
7931 __const struct itimerspec *__restrict __value,
7932 struct itimerspec *__restrict __ovalue) throw ();
7935 extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
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);
7950 # 9 "/usr/include/time.h" 2 3 4
7951 # 27 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4
7953 #define __need_sigset_t
7954 # 1 "/usr/include/signal.h" 1 3 4
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
7969 # 1 "/usr/include/bits/sigset.h" 1 3 4
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
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
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
8004 # 1 "/usr/include/bits/wordsize.h" 1 3 4
8012 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
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
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
8035 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
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
8048 PTHREAD_CREATE_JOINABLE,
8049 #define PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE
8050 PTHREAD_CREATE_DETACHED
8051 #define PTHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED
8058 PTHREAD_MUTEX_TIMED_NP,
8059 PTHREAD_MUTEX_RECURSIVE_NP,
8060 PTHREAD_MUTEX_ERRORCHECK_NP,
8061 PTHREAD_MUTEX_ADAPTIVE_NP
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
8071 , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP
8080 PTHREAD_MUTEX_STALLED_NP,
8081 PTHREAD_MUTEX_ROBUST_NP
8091 PTHREAD_PRIO_INHERIT,
8092 PTHREAD_PRIO_PROTECT
8099 #define PTHREAD_MUTEX_INITIALIZER { { 0, 0, 0, 0, 0, 0, { 0, 0 } } }
8102 #define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP { { 0, 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0, 0 } } }
8104 #define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP { { 0, 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, 0, { 0, 0 } } }
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
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
8117 #define PTHREAD_RWLOCK_INITIALIZER { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
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
8125 PTHREAD_INHERIT_SCHED,
8126 #define PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED
8127 PTHREAD_EXPLICIT_SCHED
8128 #define PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED
8135 PTHREAD_SCOPE_SYSTEM,
8136 #define PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM
8137 PTHREAD_SCOPE_PROCESS
8138 #define PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS
8145 PTHREAD_PROCESS_PRIVATE,
8146 #define PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE
8147 PTHREAD_PROCESS_SHARED
8148 #define PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED
8154 #define PTHREAD_COND_INITIALIZER { { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }
8158 struct _pthread_cleanup_buffer
8160 void (*__routine) (void *);
8163 struct _pthread_cleanup_buffer *__prev;
8169 PTHREAD_CANCEL_ENABLE,
8170 #define PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE
8171 PTHREAD_CANCEL_DISABLE
8172 #define PTHREAD_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE
8176 PTHREAD_CANCEL_DEFERRED,
8177 #define PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED
8178 PTHREAD_CANCEL_ASYNCHRONOUS
8179 #define PTHREAD_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS
8181 #define PTHREAD_CANCELED ((void *) -1)
8185 #define PTHREAD_ONCE_INIT 0
8192 #define PTHREAD_BARRIER_SERIAL_THREAD -1
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)));
8210 extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
8218 extern int pthread_join (pthread_t __th, void **__thread_return);
8223 extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) throw ();
8231 extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
8232 __const struct timespec *__abstime);
8239 extern int pthread_detach (pthread_t __th) throw ();
8243 extern pthread_t pthread_self (void) throw () __attribute__ ((__const__));
8246 extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) throw ();
8254 extern int pthread_attr_init (pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (1)));
8257 extern int pthread_attr_destroy (pthread_attr_t *__attr)
8258 throw () __attribute__ ((__nonnull__ (1)));
8261 extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr,
8263 throw () __attribute__ ((__nonnull__ (1, 2)));
8266 extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
8268 throw () __attribute__ ((__nonnull__ (1)));
8272 extern int pthread_attr_getguardsize (__const pthread_attr_t *__attr,
8273 size_t *__guardsize)
8274 throw () __attribute__ ((__nonnull__ (1, 2)));
8277 extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
8279 throw () __attribute__ ((__nonnull__ (1)));
8283 extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict
8285 struct sched_param *__restrict __param)
8286 throw () __attribute__ ((__nonnull__ (1, 2)));
8289 extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
8290 __const struct sched_param *__restrict
8291 __param) throw () __attribute__ ((__nonnull__ (1, 2)));
8294 extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict
8295 __attr, int *__restrict __policy)
8296 throw () __attribute__ ((__nonnull__ (1, 2)));
8299 extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
8300 throw () __attribute__ ((__nonnull__ (1)));
8303 extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict
8304 __attr, int *__restrict __inherit)
8305 throw () __attribute__ ((__nonnull__ (1, 2)));
8308 extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
8310 throw () __attribute__ ((__nonnull__ (1)));
8314 extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr,
8315 int *__restrict __scope)
8316 throw () __attribute__ ((__nonnull__ (1, 2)));
8319 extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
8320 throw () __attribute__ ((__nonnull__ (1)));
8323 extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict
8324 __attr, void **__restrict __stackaddr)
8325 throw () __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__));
8331 extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
8333 throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__));
8336 extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict
8337 __attr, size_t *__restrict __stacksize)
8338 throw () __attribute__ ((__nonnull__ (1, 2)));
8343 extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
8345 throw () __attribute__ ((__nonnull__ (1)));
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)));
8357 extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
8358 size_t __stacksize) throw () __attribute__ ((__nonnull__ (1)));
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)));
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)));
8380 extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr)
8381 throw () __attribute__ ((__nonnull__ (2)));
8389 extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
8390 __const struct sched_param *__param)
8391 throw () __attribute__ ((__nonnull__ (3)));
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)));
8400 extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
8406 extern int pthread_getconcurrency (void) throw ();
8409 extern int pthread_setconcurrency (int __level) throw ();
8417 extern int pthread_yield (void) throw ();
8422 extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize,
8423 __const cpu_set_t *__cpuset)
8424 throw () __attribute__ ((__nonnull__ (3)));
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);
8438 extern int pthread_setcanceltype (int __type, int *__oldtype);
8441 extern int pthread_cancel (pthread_t __th);
8446 extern void pthread_testcancel (void);
8455 __jmp_buf __cancel_jmp_buf;
8456 int __mask_was_saved;
8457 } __cancel_jmp_buf[1];
8459 } __pthread_unwind_buf_t __attribute__ ((__aligned__));
8463 #define __cleanup_fct_attribute
8468 struct __pthread_cleanup_frame
8470 void (*__cancel_routine) (void *);
8479 class __pthread_cleanup_class
8481 void (*__cancel_routine) (void *);
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,
8493 void __restore () const { pthread_setcanceltype (__cancel_type, 0); }
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)
8502 #define pthread_cleanup_pop(execute) __clframe.__setdoit (execute); } while (0)
8510 #define pthread_cleanup_push_defer_np(routine,arg) do { __pthread_cleanup_class __clframe (routine, arg); __clframe.__defer ()
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 ();
8527 extern int pthread_mutex_init (pthread_mutex_t *__mutex,
8528 __const pthread_mutexattr_t *__mutexattr)
8529 throw () __attribute__ ((__nonnull__ (1)));
8532 extern int pthread_mutex_destroy (pthread_mutex_t *__mutex)
8533 throw () __attribute__ ((__nonnull__ (1)));
8536 extern int pthread_mutex_trylock (pthread_mutex_t *__mutex)
8537 throw () __attribute__ ((__nonnull__ (1)));
8540 extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
8541 throw () __attribute__ ((__nonnull__ (1)));
8545 extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
8546 __const struct timespec *__restrict
8547 __abstime) throw () __attribute__ ((__nonnull__ (1, 2)));
8551 extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
8552 throw () __attribute__ ((__nonnull__ (1)));
8557 extern int pthread_mutex_getprioceiling (__const pthread_mutex_t *
8559 int *__restrict __prioceiling)
8560 throw () __attribute__ ((__nonnull__ (1, 2)));
8564 extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
8566 int *__restrict __old_ceiling)
8567 throw () __attribute__ ((__nonnull__ (1, 3)));
8573 extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex)
8574 throw () __attribute__ ((__nonnull__ (1)));
8582 extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr)
8583 throw () __attribute__ ((__nonnull__ (1)));
8586 extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
8587 throw () __attribute__ ((__nonnull__ (1)));
8590 extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t *
8592 int *__restrict __pshared)
8593 throw () __attribute__ ((__nonnull__ (1, 2)));
8596 extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
8598 throw () __attribute__ ((__nonnull__ (1)));
8602 extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__restrict
8603 __attr, int *__restrict __kind)
8604 throw () __attribute__ ((__nonnull__ (1, 2)));
8609 extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
8610 throw () __attribute__ ((__nonnull__ (1)));
8613 extern int pthread_mutexattr_getprotocol (__const pthread_mutexattr_t *
8615 int *__restrict __protocol)
8616 throw () __attribute__ ((__nonnull__ (1, 2)));
8620 extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
8622 throw () __attribute__ ((__nonnull__ (1)));
8625 extern int pthread_mutexattr_getprioceiling (__const pthread_mutexattr_t *
8627 int *__restrict __prioceiling)
8628 throw () __attribute__ ((__nonnull__ (1, 2)));
8631 extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
8633 throw () __attribute__ ((__nonnull__ (1)));
8638 extern int pthread_mutexattr_getrobust_np (__const pthread_mutexattr_t *__attr,
8640 throw () __attribute__ ((__nonnull__ (1, 2)));
8643 extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr,
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)));
8652 extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
8653 throw () __attribute__ ((__nonnull__ (1)));
8656 extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock)
8657 throw () __attribute__ ((__nonnull__ (1)));
8660 extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
8661 throw () __attribute__ ((__nonnull__ (1)));
8665 extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
8666 __const struct timespec *__restrict
8667 __abstime) throw () __attribute__ ((__nonnull__ (1, 2)));
8671 extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
8672 throw () __attribute__ ((__nonnull__ (1)));
8675 extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
8676 throw () __attribute__ ((__nonnull__ (1)));
8680 extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
8681 __const struct timespec *__restrict
8682 __abstime) throw () __attribute__ ((__nonnull__ (1, 2)));
8686 extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
8687 throw () __attribute__ ((__nonnull__ (1)));
8693 extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr)
8694 throw () __attribute__ ((__nonnull__ (1)));
8697 extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
8698 throw () __attribute__ ((__nonnull__ (1)));
8701 extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t *
8703 int *__restrict __pshared)
8704 throw () __attribute__ ((__nonnull__ (1, 2)));
8707 extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
8709 throw () __attribute__ ((__nonnull__ (1)));
8712 extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t *
8714 int *__restrict __pref)
8715 throw () __attribute__ ((__nonnull__ (1, 2)));
8718 extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
8719 int __pref) throw () __attribute__ ((__nonnull__ (1)));
8727 extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
8728 __const pthread_condattr_t *__restrict
8729 __cond_attr) throw () __attribute__ ((__nonnull__ (1)));
8732 extern int pthread_cond_destroy (pthread_cond_t *__cond)
8733 throw () __attribute__ ((__nonnull__ (1)));
8736 extern int pthread_cond_signal (pthread_cond_t *__cond)
8737 throw () __attribute__ ((__nonnull__ (1)));
8740 extern int pthread_cond_broadcast (pthread_cond_t *__cond)
8741 throw () __attribute__ ((__nonnull__ (1)));
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)));
8760 extern int pthread_condattr_init (pthread_condattr_t *__attr)
8761 throw () __attribute__ ((__nonnull__ (1)));
8764 extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
8765 throw () __attribute__ ((__nonnull__ (1)));
8768 extern int pthread_condattr_getpshared (__const pthread_condattr_t *
8770 int *__restrict __pshared)
8771 throw () __attribute__ ((__nonnull__ (1, 2)));
8774 extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
8775 int __pshared) throw () __attribute__ ((__nonnull__ (1)));
8779 extern int pthread_condattr_getclock (__const pthread_condattr_t *
8781 __clockid_t *__restrict __clock_id)
8782 throw () __attribute__ ((__nonnull__ (1, 2)));
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)));
8793 extern int pthread_spin_destroy (pthread_spinlock_t *__lock)
8794 throw () __attribute__ ((__nonnull__ (1)));
8797 extern int pthread_spin_lock (pthread_spinlock_t *__lock)
8798 throw () __attribute__ ((__nonnull__ (1)));
8801 extern int pthread_spin_trylock (pthread_spinlock_t *__lock)
8802 throw () __attribute__ ((__nonnull__ (1)));
8805 extern int pthread_spin_unlock (pthread_spinlock_t *__lock)
8806 throw () __attribute__ ((__nonnull__ (1)));
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)));
8819 extern int pthread_barrier_destroy (pthread_barrier_t *__barrier)
8820 throw () __attribute__ ((__nonnull__ (1)));
8823 extern int pthread_barrier_wait (pthread_barrier_t *__barrier)
8824 throw () __attribute__ ((__nonnull__ (1)));
8828 extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr)
8829 throw () __attribute__ ((__nonnull__ (1)));
8832 extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
8833 throw () __attribute__ ((__nonnull__ (1)));
8836 extern int pthread_barrierattr_getpshared (__const pthread_barrierattr_t *
8838 int *__restrict __pshared)
8839 throw () __attribute__ ((__nonnull__ (1, 2)));
8842 extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
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)));
8851 extern int pthread_key_delete (pthread_key_t __key) throw ();
8854 extern void *pthread_getspecific (pthread_key_t __key) throw ();
8857 extern int pthread_setspecific (pthread_key_t __key,
8858 __const void *__pointer) throw () ;
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
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
8882 # 1 "/usr/include/gentoo-multilib/amd64/unistd.h" 1 3 4
8883 # 24 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
8886 # 1 "/usr/include/features.h" 1 3 4
8887 # 27 "/usr/include/gentoo-multilib/amd64/unistd.h" 2 3 4
8895 #define _POSIX_VERSION 200112L
8901 #define _POSIX2_VERSION 200112L
8905 #define _POSIX2_C_BIND 200112L
8909 #define _POSIX2_C_DEV 200112L
8913 #define _POSIX2_SW_DEV 200112L
8917 #define _POSIX2_LOCALEDEF 200112L
8921 #define _XOPEN_VERSION 600
8929 #define _XOPEN_XCU_VERSION 4
8932 #define _XOPEN_XPG2 1
8933 #define _XOPEN_XPG3 1
8934 #define _XOPEN_XPG4 1
8937 #define _XOPEN_UNIX 1
8940 #define _XOPEN_CRYPT 1
8944 #define _XOPEN_ENH_I18N 1
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
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
8962 #define _POSIX_JOB_CONTROL 1
8965 #define _POSIX_SAVED_IDS 1
8968 #define _POSIX_PRIORITY_SCHEDULING 200112L
8971 #define _POSIX_SYNCHRONIZED_IO 200112L
8974 #define _POSIX_FSYNC 200112L
8977 #define _POSIX_MAPPED_FILES 200112L
8980 #define _POSIX_MEMLOCK 200112L
8983 #define _POSIX_MEMLOCK_RANGE 200112L
8986 #define _POSIX_MEMORY_PROTECTION 200112L
8989 #define _POSIX_CHOWN_RESTRICTED 1
8993 #define _POSIX_VDISABLE '\0'
8996 #define _POSIX_NO_TRUNC 1
8999 #define _XOPEN_REALTIME 1
9002 #define _XOPEN_REALTIME_THREADS 1
9005 #define _XOPEN_SHM 1
9008 #define _POSIX_THREADS 200112L
9011 #define _POSIX_REENTRANT_FUNCTIONS 1
9012 #define _POSIX_THREAD_SAFE_FUNCTIONS 200112L
9015 #define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L
9018 #define _POSIX_THREAD_ATTR_STACKSIZE 200112L
9021 #define _POSIX_THREAD_ATTR_STACKADDR 200112L
9024 #define _POSIX_THREAD_PRIO_INHERIT 200112L
9028 #define _POSIX_THREAD_PRIO_PROTECT 200112L
9031 #define _POSIX_SEMAPHORES 200112L
9034 #define _POSIX_REALTIME_SIGNALS 200112L
9037 #define _POSIX_ASYNCHRONOUS_IO 200112L
9038 #define _POSIX_ASYNC_IO 1
9040 #define _LFS_ASYNCHRONOUS_IO 1
9042 #define _POSIX_PRIORITIZED_IO 200112L
9045 #define _LFS64_ASYNCHRONOUS_IO 1
9048 #define _LFS_LARGEFILE 1
9049 #define _LFS64_LARGEFILE 1
9050 #define _LFS64_STDIO 1
9053 #define _POSIX_SHARED_MEMORY_OBJECTS 200112L
9056 #define _POSIX_CPUTIME 0
9059 #define _POSIX_THREAD_CPUTIME 0
9062 #define _POSIX_REGEXP 1
9065 #define _POSIX_READER_WRITER_LOCKS 200112L
9068 #define _POSIX_SHELL 1
9071 #define _POSIX_TIMEOUTS 200112L
9074 #define _POSIX_SPIN_LOCKS 200112L
9077 #define _POSIX_SPAWN 200112L
9080 #define _POSIX_TIMERS 200112L
9083 #define _POSIX_BARRIERS 200112L
9086 #define _POSIX_MESSAGE_PASSING 200112L
9089 #define _POSIX_THREAD_PROCESS_SHARED 200112L
9092 #define _POSIX_MONOTONIC_CLOCK 0
9095 #define _POSIX_CLOCK_SELECTION 200112L
9098 #define _POSIX_ADVISORY_INFO 200112L
9101 #define _POSIX_IPV6 200112L
9104 #define _POSIX_RAW_SOCKETS 200112L
9107 #define _POSIX2_CHAR_TERM 200112L
9110 #define _POSIX_SPORADIC_SERVER -1
9111 #define _POSIX_THREAD_SPORADIC_SERVER -1
9114 #define _POSIX_TRACE -1
9115 #define _POSIX_TRACE_EVENT_FILTER -1
9116 #define _POSIX_TRACE_INHERIT -1
9117 #define _POSIX_TRACE_LOG -1
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
9126 # 1 "/usr/include/bits/environments.h" 1 3 4
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
9144 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
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
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
9171 #define STDIN_FILENO 0
9172 #define STDOUT_FILENO 1
9173 #define STDERR_FILENO 2
9178 # 1 "/usr/include/bits/types.h" 1 3 4
9179 # 189 "/usr/include/gentoo-multilib/amd64/unistd.h" 2 3 4
9186 #define __need_size_t
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
9199 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4
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
9215 typedef __socklen_t socklen_t;
9216 #define __socklen_t_defined
9228 extern int access (__const char *__name, int __type) throw () __attribute__ ((__nonnull__ (1)));
9233 extern int euidaccess (__const char *__name, int __type)
9234 throw () __attribute__ ((__nonnull__ (1)));
9237 extern int eaccess (__const char *__name, int __type)
9238 throw () __attribute__ ((__nonnull__ (1)));
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)
9262 extern int close (int __fd);
9269 extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ;
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,
9285 extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n,
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) ;
9292 extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n,
9293 __off64_t __offset) ;
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);
9312 extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval)
9320 extern int usleep (__useconds_t __useconds);
9321 # 429 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
9322 extern int pause (void);
9326 extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
9327 throw () __attribute__ ((__nonnull__ (1))) ;
9331 extern int fchown (int __fd, __uid_t __owner, __gid_t __group) throw () ;
9336 extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group)
9337 throw () __attribute__ ((__nonnull__ (1))) ;
9344 extern int fchownat (int __fd, __const char *__file, __uid_t __owner,
9345 __gid_t __group, int __flag)
9346 throw () __attribute__ ((__nonnull__ (2))) ;
9350 extern int chdir (__const char *__path) throw () __attribute__ ((__nonnull__ (1))) ;
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 () ;
9362 extern char *get_current_dir_name (void) throw ();
9369 extern char *getwd (char *__buf)
9370 throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) ;
9375 extern int dup (int __fd) throw () ;
9378 extern int dup2 (int __fd, int __fd2) throw ();
9381 extern char **__environ;
9383 extern char **environ;
9389 extern int execve (__const char *__path, char *__const __argv[],
9390 char *__const __envp[]) throw () __attribute__ ((__nonnull__ (1)));
9395 extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[])
9401 extern int execv (__const char *__path, char *__const __argv[])
9402 throw () __attribute__ ((__nonnull__ (1)));
9406 extern int execle (__const char *__path, __const char *__arg, ...)
9407 throw () __attribute__ ((__nonnull__ (1)));
9411 extern int execl (__const char *__path, __const char *__arg, ...)
9412 throw () __attribute__ ((__nonnull__ (1)));
9416 extern int execvp (__const char *__file, char *__const __argv[])
9417 throw () __attribute__ ((__nonnull__ (1)));
9422 extern int execlp (__const char *__file, __const char *__arg, ...)
9423 throw () __attribute__ ((__nonnull__ (1)));
9428 extern int nice (int __inc) throw () ;
9433 extern void _exit (int __status) __attribute__ ((__noreturn__));
9439 # 1 "/usr/include/bits/confname.h" 1 3 4
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
9452 #define _PC_LINK_MAX _PC_LINK_MAX
9454 #define _PC_MAX_CANON _PC_MAX_CANON
9456 #define _PC_MAX_INPUT _PC_MAX_INPUT
9458 #define _PC_NAME_MAX _PC_NAME_MAX
9460 #define _PC_PATH_MAX _PC_PATH_MAX
9462 #define _PC_PIPE_BUF _PC_PIPE_BUF
9463 _PC_CHOWN_RESTRICTED,
9464 #define _PC_CHOWN_RESTRICTED _PC_CHOWN_RESTRICTED
9466 #define _PC_NO_TRUNC _PC_NO_TRUNC
9468 #define _PC_VDISABLE _PC_VDISABLE
9470 #define _PC_SYNC_IO _PC_SYNC_IO
9472 #define _PC_ASYNC_IO _PC_ASYNC_IO
9474 #define _PC_PRIO_IO _PC_PRIO_IO
9476 #define _PC_SOCK_MAXBUF _PC_SOCK_MAXBUF
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
9486 #define _PC_REC_XFER_ALIGN _PC_REC_XFER_ALIGN
9488 #define _PC_ALLOC_SIZE_MIN _PC_ALLOC_SIZE_MIN
9490 #define _PC_SYMLINK_MAX _PC_SYMLINK_MAX
9492 #define _PC_2_SYMLINKS _PC_2_SYMLINKS
9499 #define _SC_ARG_MAX _SC_ARG_MAX
9501 #define _SC_CHILD_MAX _SC_CHILD_MAX
9503 #define _SC_CLK_TCK _SC_CLK_TCK
9505 #define _SC_NGROUPS_MAX _SC_NGROUPS_MAX
9507 #define _SC_OPEN_MAX _SC_OPEN_MAX
9509 #define _SC_STREAM_MAX _SC_STREAM_MAX
9511 #define _SC_TZNAME_MAX _SC_TZNAME_MAX
9513 #define _SC_JOB_CONTROL _SC_JOB_CONTROL
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
9521 #define _SC_TIMERS _SC_TIMERS
9522 _SC_ASYNCHRONOUS_IO,
9523 #define _SC_ASYNCHRONOUS_IO _SC_ASYNCHRONOUS_IO
9525 #define _SC_PRIORITIZED_IO _SC_PRIORITIZED_IO
9526 _SC_SYNCHRONIZED_IO,
9527 #define _SC_SYNCHRONIZED_IO _SC_SYNCHRONIZED_IO
9529 #define _SC_FSYNC _SC_FSYNC
9531 #define _SC_MAPPED_FILES _SC_MAPPED_FILES
9533 #define _SC_MEMLOCK _SC_MEMLOCK
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
9541 #define _SC_SEMAPHORES _SC_SEMAPHORES
9542 _SC_SHARED_MEMORY_OBJECTS,
9543 #define _SC_SHARED_MEMORY_OBJECTS _SC_SHARED_MEMORY_OBJECTS
9545 #define _SC_AIO_LISTIO_MAX _SC_AIO_LISTIO_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
9551 #define _SC_DELAYTIMER_MAX _SC_DELAYTIMER_MAX
9553 #define _SC_MQ_OPEN_MAX _SC_MQ_OPEN_MAX
9555 #define _SC_MQ_PRIO_MAX _SC_MQ_PRIO_MAX
9557 #define _SC_VERSION _SC_VERSION
9559 #define _SC_PAGESIZE _SC_PAGESIZE
9560 #define _SC_PAGE_SIZE _SC_PAGESIZE
9562 #define _SC_RTSIG_MAX _SC_RTSIG_MAX
9564 #define _SC_SEM_NSEMS_MAX _SC_SEM_NSEMS_MAX
9566 #define _SC_SEM_VALUE_MAX _SC_SEM_VALUE_MAX
9568 #define _SC_SIGQUEUE_MAX _SC_SIGQUEUE_MAX
9570 #define _SC_TIMER_MAX _SC_TIMER_MAX
9575 #define _SC_BC_BASE_MAX _SC_BC_BASE_MAX
9577 #define _SC_BC_DIM_MAX _SC_BC_DIM_MAX
9579 #define _SC_BC_SCALE_MAX _SC_BC_SCALE_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
9587 #define _SC_EXPR_NEST_MAX _SC_EXPR_NEST_MAX
9589 #define _SC_LINE_MAX _SC_LINE_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
9596 #define _SC_2_VERSION _SC_2_VERSION
9598 #define _SC_2_C_BIND _SC_2_C_BIND
9600 #define _SC_2_C_DEV _SC_2_C_DEV
9602 #define _SC_2_FORT_DEV _SC_2_FORT_DEV
9604 #define _SC_2_FORT_RUN _SC_2_FORT_RUN
9606 #define _SC_2_SW_DEV _SC_2_SW_DEV
9608 #define _SC_2_LOCALEDEF _SC_2_LOCALEDEF
9611 #define _SC_PII _SC_PII
9613 #define _SC_PII_XTI _SC_PII_XTI
9615 #define _SC_PII_SOCKET _SC_PII_SOCKET
9617 #define _SC_PII_INTERNET _SC_PII_INTERNET
9619 #define _SC_PII_OSI _SC_PII_OSI
9621 #define _SC_POLL _SC_POLL
9623 #define _SC_SELECT _SC_SELECT
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
9633 #define _SC_PII_OSI_COTS _SC_PII_OSI_COTS
9635 #define _SC_PII_OSI_CLTS _SC_PII_OSI_CLTS
9637 #define _SC_PII_OSI_M _SC_PII_OSI_M
9639 #define _SC_T_IOV_MAX _SC_T_IOV_MAX
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
9651 #define _SC_LOGIN_NAME_MAX _SC_LOGIN_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
9675 _SC_NPROCESSORS_CONF,
9676 #define _SC_NPROCESSORS_CONF _SC_NPROCESSORS_CONF
9677 _SC_NPROCESSORS_ONLN,
9678 #define _SC_NPROCESSORS_ONLN _SC_NPROCESSORS_ONLN
9680 #define _SC_PHYS_PAGES _SC_PHYS_PAGES
9682 #define _SC_AVPHYS_PAGES _SC_AVPHYS_PAGES
9684 #define _SC_ATEXIT_MAX _SC_ATEXIT_MAX
9686 #define _SC_PASS_MAX _SC_PASS_MAX
9689 #define _SC_XOPEN_VERSION _SC_XOPEN_VERSION
9690 _SC_XOPEN_XCU_VERSION,
9691 #define _SC_XOPEN_XCU_VERSION _SC_XOPEN_XCU_VERSION
9693 #define _SC_XOPEN_UNIX _SC_XOPEN_UNIX
9695 #define _SC_XOPEN_CRYPT _SC_XOPEN_CRYPT
9697 #define _SC_XOPEN_ENH_I18N _SC_XOPEN_ENH_I18N
9699 #define _SC_XOPEN_SHM _SC_XOPEN_SHM
9702 #define _SC_2_CHAR_TERM _SC_2_CHAR_TERM
9704 #define _SC_2_C_VERSION _SC_2_C_VERSION
9706 #define _SC_2_UPE _SC_2_UPE
9709 #define _SC_XOPEN_XPG2 _SC_XOPEN_XPG2
9711 #define _SC_XOPEN_XPG3 _SC_XOPEN_XPG3
9713 #define _SC_XOPEN_XPG4 _SC_XOPEN_XPG4
9716 #define _SC_CHAR_BIT _SC_CHAR_BIT
9718 #define _SC_CHAR_MAX _SC_CHAR_MAX
9720 #define _SC_CHAR_MIN _SC_CHAR_MIN
9722 #define _SC_INT_MAX _SC_INT_MAX
9724 #define _SC_INT_MIN _SC_INT_MIN
9726 #define _SC_LONG_BIT _SC_LONG_BIT
9728 #define _SC_WORD_BIT _SC_WORD_BIT
9730 #define _SC_MB_LEN_MAX _SC_MB_LEN_MAX
9732 #define _SC_NZERO _SC_NZERO
9734 #define _SC_SSIZE_MAX _SC_SSIZE_MAX
9736 #define _SC_SCHAR_MAX _SC_SCHAR_MAX
9738 #define _SC_SCHAR_MIN _SC_SCHAR_MIN
9740 #define _SC_SHRT_MAX _SC_SHRT_MAX
9742 #define _SC_SHRT_MIN _SC_SHRT_MIN
9744 #define _SC_UCHAR_MAX _SC_UCHAR_MAX
9746 #define _SC_UINT_MAX _SC_UINT_MAX
9748 #define _SC_ULONG_MAX _SC_ULONG_MAX
9750 #define _SC_USHRT_MAX _SC_USHRT_MAX
9753 #define _SC_NL_ARGMAX _SC_NL_ARGMAX
9755 #define _SC_NL_LANGMAX _SC_NL_LANGMAX
9757 #define _SC_NL_MSGMAX _SC_NL_MSGMAX
9759 #define _SC_NL_NMAX _SC_NL_NMAX
9761 #define _SC_NL_SETMAX _SC_NL_SETMAX
9763 #define _SC_NL_TEXTMAX _SC_NL_TEXTMAX
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
9775 #define _SC_XOPEN_LEGACY _SC_XOPEN_LEGACY
9777 #define _SC_XOPEN_REALTIME _SC_XOPEN_REALTIME
9778 _SC_XOPEN_REALTIME_THREADS,
9779 #define _SC_XOPEN_REALTIME_THREADS _SC_XOPEN_REALTIME_THREADS
9782 #define _SC_ADVISORY_INFO _SC_ADVISORY_INFO
9784 #define _SC_BARRIERS _SC_BARRIERS
9786 #define _SC_BASE _SC_BASE
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
9794 #define _SC_CPUTIME _SC_CPUTIME
9796 #define _SC_THREAD_CPUTIME _SC_THREAD_CPUTIME
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
9804 #define _SC_FD_MGMT _SC_FD_MGMT
9806 #define _SC_FIFO _SC_FIFO
9808 #define _SC_PIPE _SC_PIPE
9809 _SC_FILE_ATTRIBUTES,
9810 #define _SC_FILE_ATTRIBUTES _SC_FILE_ATTRIBUTES
9812 #define _SC_FILE_LOCKING _SC_FILE_LOCKING
9814 #define _SC_FILE_SYSTEM _SC_FILE_SYSTEM
9815 _SC_MONOTONIC_CLOCK,
9816 #define _SC_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCK
9818 #define _SC_MULTI_PROCESS _SC_MULTI_PROCESS
9820 #define _SC_SINGLE_PROCESS _SC_SINGLE_PROCESS
9822 #define _SC_NETWORKING _SC_NETWORKING
9823 _SC_READER_WRITER_LOCKS,
9824 #define _SC_READER_WRITER_LOCKS _SC_READER_WRITER_LOCKS
9826 #define _SC_SPIN_LOCKS _SC_SPIN_LOCKS
9828 #define _SC_REGEXP _SC_REGEXP
9830 #define _SC_REGEX_VERSION _SC_REGEX_VERSION
9832 #define _SC_SHELL _SC_SHELL
9834 #define _SC_SIGNALS _SC_SIGNALS
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
9846 #define _SC_TIMEOUTS _SC_TIMEOUTS
9847 _SC_TYPED_MEMORY_OBJECTS,
9848 #define _SC_TYPED_MEMORY_OBJECTS _SC_TYPED_MEMORY_OBJECTS
9850 #define _SC_USER_GROUPS _SC_USER_GROUPS
9852 #define _SC_USER_GROUPS_R _SC_USER_GROUPS_R
9854 #define _SC_2_PBS _SC_2_PBS
9855 _SC_2_PBS_ACCOUNTING,
9856 #define _SC_2_PBS_ACCOUNTING _SC_2_PBS_ACCOUNTING
9858 #define _SC_2_PBS_LOCATE _SC_2_PBS_LOCATE
9860 #define _SC_2_PBS_MESSAGE _SC_2_PBS_MESSAGE
9862 #define _SC_2_PBS_TRACK _SC_2_PBS_TRACK
9864 #define _SC_SYMLOOP_MAX _SC_SYMLOOP_MAX
9866 #define _SC_STREAMS _SC_STREAMS
9867 _SC_2_PBS_CHECKPOINT,
9868 #define _SC_2_PBS_CHECKPOINT _SC_2_PBS_CHECKPOINT
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
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
9880 #define _SC_HOST_NAME_MAX _SC_HOST_NAME_MAX
9882 #define _SC_TRACE _SC_TRACE
9883 _SC_TRACE_EVENT_FILTER,
9884 #define _SC_TRACE_EVENT_FILTER _SC_TRACE_EVENT_FILTER
9886 #define _SC_TRACE_INHERIT _SC_TRACE_INHERIT
9888 #define _SC_TRACE_LOG _SC_TRACE_LOG
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
9922 _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
9923 #define _SC_IPV6 _SC_IPV6
9925 #define _SC_RAW_SOCKETS _SC_RAW_SOCKETS
9932 #define _CS_PATH _CS_PATH
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
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
9943 _CS_LFS_CFLAGS = 1000,
9944 #define _CS_LFS_CFLAGS _CS_LFS_CFLAGS
9946 #define _CS_LFS_LDFLAGS _CS_LFS_LDFLAGS
9948 #define _CS_LFS_LIBS _CS_LFS_LIBS
9950 #define _CS_LFS_LINTFLAGS _CS_LFS_LINTFLAGS
9952 #define _CS_LFS64_CFLAGS _CS_LFS64_CFLAGS
9954 #define _CS_LFS64_LDFLAGS _CS_LFS64_LDFLAGS
9956 #define _CS_LFS64_LIBS _CS_LFS64_LIBS
9957 _CS_LFS64_LINTFLAGS,
9958 #define _CS_LFS64_LINTFLAGS _CS_LFS64_LINTFLAGS
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
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
10026 # 9 "/usr/include/bits/confname.h" 2 3 4
10027 # 555 "/usr/include/gentoo-multilib/amd64/unistd.h" 2 3 4
10030 extern long int pathconf (__const char *__path, int __name)
10031 throw () __attribute__ ((__nonnull__ (1)));
10034 extern long int fpathconf (int __fd, int __name) throw ();
10037 extern long int sysconf (int __name) throw ();
10041 extern size_t confstr (int __name, char *__buf, size_t __len) throw ();
10046 extern __pid_t getpid (void) throw ();
10049 extern __pid_t getppid (void) throw ();
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 ();
10058 extern __pid_t getpgid (__pid_t __pid) throw ();
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 ();
10073 extern __pid_t getsid (__pid_t __pid) throw ();
10077 extern __uid_t getuid (void) throw ();
10080 extern __uid_t geteuid (void) throw ();
10083 extern __gid_t getgid (void) throw ();
10086 extern __gid_t getegid (void) throw ();
10091 extern int getgroups (int __size, __gid_t __list[]) throw () ;
10095 extern int group_member (__gid_t __gid) throw ();
10102 extern int setuid (__uid_t __uid) throw ();
10107 extern int setreuid (__uid_t __ruid, __uid_t __euid) throw ();
10112 extern int seteuid (__uid_t __uid) throw ();
10119 extern int setgid (__gid_t __gid) throw ();
10124 extern int setregid (__gid_t __rgid, __gid_t __egid) throw ();
10129 extern int setegid (__gid_t __gid) throw ();
10135 extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid)
10140 extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid)
10145 extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid)
10150 extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid)
10158 extern __pid_t fork (void) throw ();
10165 extern __pid_t vfork (void) throw ();
10171 extern char *ttyname (int __fd) throw ();
10175 extern int ttyname_r (int __fd, char *__buf, size_t __buflen)
10176 throw () __attribute__ ((__nonnull__ (2))) ;
10180 extern int isatty (int __fd) throw ();
10186 extern int ttyslot (void) throw ();
10191 extern int link (__const char *__from, __const char *__to)
10192 throw () __attribute__ ((__nonnull__ (1, 2))) ;
10197 extern int linkat (int __fromfd, __const char *__from, int __tofd,
10198 __const char *__to, int __flags)
10199 throw () __attribute__ ((__nonnull__ (2, 4))) ;
10204 extern int symlink (__const char *__from, __const char *__to)
10205 throw () __attribute__ ((__nonnull__ (1, 2))) ;
10210 extern ssize_t readlink (__const char *__restrict __path,
10211 char *__restrict __buf, size_t __len)
10212 throw () __attribute__ ((__nonnull__ (1, 2))) ;
10217 extern int symlinkat (__const char *__from, int __tofd,
10218 __const char *__to) throw () __attribute__ ((__nonnull__ (1, 3))) ;
10221 extern ssize_t readlinkat (int __fd, __const char *__restrict __path,
10222 char *__restrict __buf, size_t __len)
10223 throw () __attribute__ ((__nonnull__ (2, 3))) ;
10227 extern int unlink (__const char *__name) throw () __attribute__ ((__nonnull__ (1)));
10231 extern int unlinkat (int __fd, __const char *__name, int __flag)
10232 throw () __attribute__ ((__nonnull__ (2)));
10236 extern int rmdir (__const char *__path) throw () __attribute__ ((__nonnull__ (1)));
10240 extern __pid_t tcgetpgrp (int __fd) throw ();
10243 extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) throw ();
10250 extern char *getlogin (void);
10258 extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1)));
10263 extern int setlogin (__const char *__name) throw () __attribute__ ((__nonnull__ (1)));
10271 #define __need_getopt
10272 # 1 "/usr/include/getopt.h" 1 3 4
10280 # 1 "/usr/include/gentoo-multilib/amd64/getopt.h" 1 3 4
10281 # 50 "/usr/include/gentoo-multilib/amd64/getopt.h" 3 4
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
10296 # 152 "/usr/include/gentoo-multilib/amd64/getopt.h" 3 4
10297 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
10299 # 171 "/usr/include/gentoo-multilib/amd64/getopt.h" 3 4
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
10314 extern int gethostname (char *__name, size_t __len) throw () __attribute__ ((__nonnull__ (1)));
10321 extern int sethostname (__const char *__name, size_t __len)
10322 throw () __attribute__ ((__nonnull__ (1))) ;
10326 extern int sethostid (long int __id) throw () ;
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))) ;
10341 extern int vhangup (void) throw ();
10344 extern int revoke (__const char *__file) throw () __attribute__ ((__nonnull__ (1))) ;
10352 extern int profil (unsigned short int *__sample_buffer, size_t __size,
10353 size_t __offset, unsigned int __scale)
10354 throw () __attribute__ ((__nonnull__ (1)));
10360 extern int acct (__const char *__name) throw ();
10364 extern char *getusershell (void) throw ();
10365 extern void endusershell (void) throw ();
10366 extern void setusershell (void) throw ();
10372 extern int daemon (int __nochdir, int __noclose) throw () ;
10379 extern int chroot (__const char *__path) throw () __attribute__ ((__nonnull__ (1))) ;
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);
10392 extern long int gethostid (void);
10395 extern void sync (void) throw ();
10400 extern int getpagesize (void) throw () __attribute__ ((__const__));
10405 extern int getdtablesize (void) throw ();
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 () ;
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
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);
10450 extern char *crypt (__const char *__key, __const char *__salt)
10451 throw () __attribute__ ((__nonnull__ (1, 2)));
10455 extern void encrypt (char *__block, int __edflag) throw () __attribute__ ((__nonnull__ (1)));
10462 extern void swab (__const void *__restrict __from, void *__restrict __to,
10463 ssize_t __n) throw () __attribute__ ((__nonnull__ (1, 2)));
10471 extern char *ctermid (char *__s) throw ();
10472 # 1103 "/usr/include/gentoo-multilib/amd64/unistd.h" 3 4
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
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;
10482 #define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER
10483 #define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT
10487 #define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
10494 #define __gthrw_pragma(pragma)
10496 #define __gthrw2(name,name2,type) static __typeof(type) name __attribute__ ((__weakref__(#name2))); __gthrw_pragma(weak type)
10499 #define __gthrw_(name) __gthrw_ ## name
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")));
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
10526 __gthread_active_p (void)
10528 static void *const __gthread_active_ptr
10529 = __extension__ (void *) &__gthrw_pthread_cancel;
10530 return __gthread_active_ptr != 0;
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
10534 __gthread_once (__gthread_once_t *once, void (*func) (void))
10536 if (__gthread_active_p ())
10537 return __gthrw_pthread_once (once, func);
10543 __gthread_key_create (__gthread_key_t *key, void (*dtor) (void *))
10545 return __gthrw_pthread_key_create (key, dtor);
10549 __gthread_key_delete (__gthread_key_t key)
10551 return __gthrw_pthread_key_delete (key);
10554 static inline void *
10555 __gthread_getspecific (__gthread_key_t key)
10557 return __gthrw_pthread_getspecific (key);
10561 __gthread_setspecific (__gthread_key_t key, const void *ptr)
10563 return __gthrw_pthread_setspecific (key, ptr);
10567 __gthread_mutex_lock (__gthread_mutex_t *mutex)
10569 if (__gthread_active_p ())
10570 return __gthrw_pthread_mutex_lock (mutex);
10576 __gthread_mutex_trylock (__gthread_mutex_t *mutex)
10578 if (__gthread_active_p ())
10579 return __gthrw_pthread_mutex_trylock (mutex);
10585 __gthread_mutex_unlock (__gthread_mutex_t *mutex)
10587 if (__gthread_active_p ())
10588 return __gthrw_pthread_mutex_unlock (mutex);
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
10594 __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex)
10596 return __gthread_mutex_lock (mutex);
10600 __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex)
10602 return __gthread_mutex_trylock (mutex);
10606 __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex)
10608 return __gthread_mutex_unlock (mutex);
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
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
10621 namespace std __attribute__ ((__visibility__ ("default"))) {
10623 typedef __gthread_mutex_t __c_lock;
10626 typedef FILE __c_file;
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
10635 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cctype" 3
10638 # 1 "/usr/include/ctype.h" 1 3 4
10646 # 1 "/usr/include/gentoo-multilib/amd64/ctype.h" 1 3 4
10647 # 25 "/usr/include/gentoo-multilib/amd64/ctype.h" 3 4
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
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
10662 #define _ISbit(bit) ((bit) < 8 ? ((1 << (bit)) << 8) : ((1 << (bit)) >> 8))
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))
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));
10688 #define __isctype(c,type) ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type)
10691 #define __isascii(c) (((c) & ~0x7f) == 0)
10692 #define __toascii(c) ((c) & 0x7f)
10694 #define __exctype(name) extern int name (int) __THROW
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 ();
10716 extern int tolower (int __c) throw ();
10719 extern int toupper (int __c) throw ();
10728 extern int isblank (int) throw ();
10735 extern int isctype (int __c, int __mask) throw ();
10742 extern int isascii (int __c) throw ();
10746 extern int toascii (int __c) throw ();
10750 extern int _toupper (int) throw ();
10751 extern int _tolower (int) throw ();
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
10762 #define __isctype_l(c,type,locale) ((locale)->__ctype_b[(int) (c)] & (unsigned short int) type)
10765 #define __exctype_l(name) extern int name (int, __locale_t) __THROW
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 ();
10784 extern int isblank_l (int, __locale_t) throw ();
10788 extern int __tolower_l (int __c, __locale_t __l) throw ();
10789 extern int tolower_l (int __c, __locale_t __l) throw ();
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
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
10814 namespace std __attribute__ ((__visibility__ ("default"))) {
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
10837 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stringfwd.h" 3
10841 namespace std __attribute__ ((__visibility__ ("default"))) {
10843 template<typename _Alloc>
10846 template<class _CharT>
10847 struct char_traits;
10849 template<typename _CharT, typename _Traits = char_traits<_CharT>,
10850 typename _Alloc = allocator<_CharT> >
10851 class basic_string;
10853 template<> struct char_traits<char>;
10855 typedef basic_string<char> string;
10858 template<> struct char_traits<wchar_t>;
10860 typedef basic_string<wchar_t> wstring;
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
10870 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/postypes.h" 3
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
10877 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cwchar" 3
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
10886 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/ctime" 3
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
10903 namespace std __attribute__ ((__visibility__ ("default"))) {
10920 # 53 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cwchar" 2 3
10923 # 1 "/usr/include/wchar.h" 1 3 4
10931 # 1 "/usr/include/gentoo-multilib/amd64/wchar.h" 1 3 4
10932 # 27 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
10934 # 1 "/usr/include/features.h" 1 3 4
10935 # 29 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4
10940 #define __need___FILE
10942 #define __need_FILE
10944 # 1 "/usr/include/stdio.h" 1 3 4
10945 # 38 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4
10947 #define __need___va_list
10950 # 1 "/usr/include/bits/wchar.h" 1 3 4
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
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
10968 #define __need_size_t
10969 #define __need_wchar_t
10970 #define __need_NULL
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
10991 typedef unsigned int wint_t;
10993 #undef __need_wint_t
10994 # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4
10997 #define NULL __null
10998 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/stddef.h" 3 4
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
11016 typedef __mbstate_t mbstate_t;
11024 #define WCHAR_MIN __WCHAR_MIN
11025 #define WCHAR_MAX __WCHAR_MAX
11029 #define WEOF (0xffffffffu)
11030 # 124 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
11046 extern wchar_t *wcscpy (wchar_t *__restrict __dest,
11047 __const wchar_t *__restrict __src) throw ();
11049 extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
11050 __const wchar_t *__restrict __src, size_t __n)
11054 extern wchar_t *wcscat (wchar_t *__restrict __dest,
11055 __const wchar_t *__restrict __src) throw ();
11057 extern wchar_t *wcsncat (wchar_t *__restrict __dest,
11058 __const wchar_t *__restrict __src, size_t __n)
11062 extern int wcscmp (__const wchar_t *__s1, __const wchar_t *__s2)
11063 throw () __attribute__ ((__pure__));
11065 extern int wcsncmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n)
11066 throw () __attribute__ ((__pure__));
11071 extern int wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2) throw ();
11074 extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
11075 size_t __n) throw ();
11079 # 1 "/usr/include/xlocale.h" 1 3 4
11080 # 173 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4
11082 extern int wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
11083 __locale_t __loc) throw ();
11085 extern int wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
11086 size_t __n, __locale_t __loc) throw ();
11092 extern int wcscoll (__const wchar_t *__s1, __const wchar_t *__s2) throw ();
11096 extern size_t wcsxfrm (wchar_t *__restrict __s1,
11097 __const wchar_t *__restrict __s2, size_t __n) throw ();
11106 extern int wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2,
11107 __locale_t __loc) throw ();
11112 extern size_t wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2,
11113 size_t __n, __locale_t __loc) throw ();
11116 extern wchar_t *wcsdup (__const wchar_t *__s) throw () __attribute__ ((__malloc__));
11121 extern wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc)
11122 throw () __attribute__ ((__pure__));
11124 extern wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc)
11125 throw () __attribute__ ((__pure__));
11131 extern wchar_t *wcschrnul (__const wchar_t *__s, wchar_t __wc)
11132 throw () __attribute__ ((__pure__));
11138 extern size_t wcscspn (__const wchar_t *__wcs, __const wchar_t *__reject)
11139 throw () __attribute__ ((__pure__));
11142 extern size_t wcsspn (__const wchar_t *__wcs, __const wchar_t *__accept)
11143 throw () __attribute__ ((__pure__));
11145 extern wchar_t *wcspbrk (__const wchar_t *__wcs, __const wchar_t *__accept)
11146 throw () __attribute__ ((__pure__));
11148 extern wchar_t *wcsstr (__const wchar_t *__haystack, __const wchar_t *__needle)
11149 throw () __attribute__ ((__pure__));
11152 extern wchar_t *wcstok (wchar_t *__restrict __s,
11153 __const wchar_t *__restrict __delim,
11154 wchar_t **__restrict __ptr) throw ();
11157 extern size_t wcslen (__const wchar_t *__s) throw () __attribute__ ((__pure__));
11162 extern wchar_t *wcswcs (__const wchar_t *__haystack, __const wchar_t *__needle)
11163 throw () __attribute__ ((__pure__));
11168 extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen)
11169 throw () __attribute__ ((__pure__));
11175 extern wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c, size_t __n)
11176 throw () __attribute__ ((__pure__));
11179 extern int wmemcmp (__const wchar_t *__restrict __s1,
11180 __const wchar_t *__restrict __s2, size_t __n)
11181 throw () __attribute__ ((__pure__));
11184 extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
11185 __const wchar_t *__restrict __s2, size_t __n) throw ();
11189 extern wchar_t *wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n)
11193 extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw ();
11199 extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
11200 __const wchar_t *__restrict __s2, size_t __n)
11208 extern wint_t btowc (int __c) throw ();
11212 extern int wctob (wint_t __c) throw ();
11216 extern int mbsinit (__const mbstate_t *__ps) throw () __attribute__ ((__pure__));
11220 extern size_t mbrtowc (wchar_t *__restrict __pwc,
11221 __const char *__restrict __s, size_t __n,
11222 mbstate_t *__p) throw ();
11225 extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
11226 mbstate_t *__restrict __ps) throw ();
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 ();
11234 # 352 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
11238 extern size_t mbsrtowcs (wchar_t *__restrict __dst,
11239 __const char **__restrict __src, size_t __len,
11240 mbstate_t *__restrict __ps) throw ();
11244 extern size_t wcsrtombs (char *__restrict __dst,
11245 __const wchar_t **__restrict __src, size_t __len,
11246 mbstate_t *__restrict __ps) throw ();
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 ();
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 ();
11269 extern int wcwidth (wchar_t __c) throw ();
11273 extern int wcswidth (__const wchar_t *__s, size_t __n) throw ();
11280 extern double wcstod (__const wchar_t *__restrict __nptr,
11281 wchar_t **__restrict __endptr) throw ();
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 ();
11298 extern long int wcstol (__const wchar_t *__restrict __nptr,
11299 wchar_t **__restrict __endptr, int __base) throw ();
11303 extern unsigned long int wcstoul (__const wchar_t *__restrict __nptr,
11304 wchar_t **__restrict __endptr, int __base)
11313 extern long long int wcstoll (__const wchar_t *__restrict __nptr,
11314 wchar_t **__restrict __endptr, int __base)
11320 extern unsigned long long int wcstoull (__const wchar_t *__restrict __nptr,
11321 wchar_t **__restrict __endptr,
11322 int __base) throw ();
11330 extern long long int wcstoq (__const wchar_t *__restrict __nptr,
11331 wchar_t **__restrict __endptr, int __base)
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
11346 extern long int wcstol_l (__const wchar_t *__restrict __nptr,
11347 wchar_t **__restrict __endptr, int __base,
11348 __locale_t __loc) throw ();
11350 extern unsigned long int wcstoul_l (__const wchar_t *__restrict __nptr,
11351 wchar_t **__restrict __endptr,
11352 int __base, __locale_t __loc) throw ();
11355 extern long long int wcstoll_l (__const wchar_t *__restrict __nptr,
11356 wchar_t **__restrict __endptr,
11357 int __base, __locale_t __loc) throw ();
11360 extern unsigned long long int wcstoull_l (__const wchar_t *__restrict __nptr,
11361 wchar_t **__restrict __endptr,
11362 int __base, __locale_t __loc)
11365 extern double wcstod_l (__const wchar_t *__restrict __nptr,
11366 wchar_t **__restrict __endptr, __locale_t __loc)
11369 extern float wcstof_l (__const wchar_t *__restrict __nptr,
11370 wchar_t **__restrict __endptr, __locale_t __loc)
11373 extern long double wcstold_l (__const wchar_t *__restrict __nptr,
11374 wchar_t **__restrict __endptr,
11375 __locale_t __loc) throw ();
11382 extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) throw ();
11386 extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n)
11388 # 527 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
11389 extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) throw ();
11396 extern int fwide (__FILE *__fp, int __mode) throw ();
11403 extern int fwprintf (__FILE *__restrict __stream,
11404 __const wchar_t *__restrict __format, ...)
11410 extern int wprintf (__const wchar_t *__restrict __format, ...)
11413 extern int swprintf (wchar_t *__restrict __s, size_t __n,
11414 __const wchar_t *__restrict __format, ...)
11421 extern int vfwprintf (__FILE *__restrict __s,
11422 __const wchar_t *__restrict __format,
11423 __gnuc_va_list __arg)
11429 extern int vwprintf (__const wchar_t *__restrict __format,
11430 __gnuc_va_list __arg)
11434 extern int vswprintf (wchar_t *__restrict __s, size_t __n,
11435 __const wchar_t *__restrict __format,
11436 __gnuc_va_list __arg)
11444 extern int fwscanf (__FILE *__restrict __stream,
11445 __const wchar_t *__restrict __format, ...)
11451 extern int wscanf (__const wchar_t *__restrict __format, ...)
11454 extern int swscanf (__const wchar_t *__restrict __s,
11455 __const wchar_t *__restrict __format, ...)
11457 # 627 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
11467 extern int vfwscanf (__FILE *__restrict __s,
11468 __const wchar_t *__restrict __format,
11469 __gnuc_va_list __arg)
11475 extern int vwscanf (__const wchar_t *__restrict __format,
11476 __gnuc_va_list __arg)
11479 extern int vswscanf (__const wchar_t *__restrict __s,
11480 __const wchar_t *__restrict __format,
11481 __gnuc_va_list __arg)
11483 # 683 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
11493 extern wint_t fgetwc (__FILE *__stream);
11494 extern wint_t getwc (__FILE *__stream);
11500 extern wint_t getwchar (void);
11507 extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
11508 extern wint_t putwc (wchar_t __wc, __FILE *__stream);
11514 extern wint_t putwchar (wchar_t __wc);
11522 extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
11523 __FILE *__restrict __stream);
11529 extern int fputws (__const wchar_t *__restrict __ws,
11530 __FILE *__restrict __stream);
11537 extern wint_t ungetwc (wint_t __wc, __FILE *__stream);
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);
11549 extern wint_t fgetwc_unlocked (__FILE *__stream);
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);
11571 extern int fputws_unlocked (__const wchar_t *__restrict __ws,
11572 __FILE *__restrict __stream);
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 ();
11586 # 1 "/usr/include/xlocale.h" 1 3 4
11587 # 809 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4
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
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"))) {
11674 namespace std __attribute__ ((__visibility__ ("default"))) {
11743 wcschr(wchar_t* __p, wchar_t __c)
11744 { return wcschr(const_cast<const wchar_t*>(__p), __c); }
11749 wcspbrk(wchar_t* __s1, const wchar_t* __s2)
11750 { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
11755 wcsrchr(wchar_t* __p, wchar_t __c)
11756 { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
11761 wcsstr(wchar_t* __s1, const wchar_t* __s2)
11762 { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
11767 wmemchr(wchar_t* __p, wchar_t __c, size_t __n)
11768 { return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
11778 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
11786 # 264 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/cwchar" 3
11793 namespace std __attribute__ ((__visibility__ ("default"))) {
11795 using ::__gnu_cxx::wcstold;
11796 using ::__gnu_cxx::wcstoll;
11797 using ::__gnu_cxx::wcstoull;
11800 # 47 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/postypes.h" 2 3
11803 # 1 "/usr/include/stdint.h" 1 3 4
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
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
11827 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
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;
11839 typedef unsigned int uint32_t;
11840 #define __uint32_t_defined
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;
11849 typedef long int int_least64_t;
11856 typedef unsigned char uint_least8_t;
11857 typedef unsigned short int uint_least16_t;
11858 typedef unsigned int uint_least32_t;
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;
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;
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)
11887 #define INT8_MAX (127)
11888 #define INT16_MAX (32767)
11889 #define INT32_MAX (2147483647)
11890 #define INT64_MAX (__INT64_C(9223372036854775807))
11893 #define UINT8_MAX (255)
11894 #define UINT16_MAX (65535)
11895 #define UINT32_MAX (4294967295U)
11896 #define UINT64_MAX (__UINT64_C(18446744073709551615))
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)
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))
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))
11918 #define INT_FAST8_MIN (-128)
11920 #define INT_FAST16_MIN (-9223372036854775807L-1)
11921 #define INT_FAST32_MIN (-9223372036854775807L-1)
11926 #define INT_FAST64_MIN (-__INT64_C(9223372036854775807)-1)
11928 #define INT_FAST8_MAX (127)
11930 #define INT_FAST16_MAX (9223372036854775807L)
11931 #define INT_FAST32_MAX (9223372036854775807L)
11936 #define INT_FAST64_MAX (__INT64_C(9223372036854775807))
11939 #define UINT_FAST8_MAX (255)
11941 #define UINT_FAST16_MAX (18446744073709551615UL)
11942 #define UINT_FAST32_MAX (18446744073709551615UL)
11947 #define UINT_FAST64_MAX (__UINT64_C(18446744073709551615))
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)
11958 #define INTMAX_MAX (__INT64_C(9223372036854775807))
11961 #define UINTMAX_MAX (__UINT64_C(18446744073709551615))
11968 #define PTRDIFF_MIN (-9223372036854775807L-1)
11969 #define PTRDIFF_MAX (9223372036854775807L)
11976 #define SIG_ATOMIC_MIN (-2147483647-1)
11977 #define SIG_ATOMIC_MAX (2147483647)
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
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;
11997 typedef ptrdiff_t streamsize;
11999 template<typename _StateT>
12001 # 94 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/postypes.h" 3
12002 template<typename _StateT>
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() { }
12021 operator streamoff() const { return _M_off; }
12025 state(_StateT __st)
12026 { _M_state = __st; }
12031 { return _M_state; }
12038 operator+=(streamoff __off)
12049 operator-=(streamoff __off)
12062 operator+(streamoff __off) const
12076 operator-(streamoff __off) const
12089 operator-(const fpos& __other) const
12090 { return _M_off - __other._M_off; }
12098 template<typename _StateT>
12100 operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
12101 { return streamoff(__lhs) == streamoff(__rhs); }
12103 template<typename _StateT>
12105 operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
12106 { return streamoff(__lhs) != streamoff(__rhs); }
12112 typedef fpos<mbstate_t> streampos;
12114 typedef fpos<mbstate_t> wstreampos;
12117 # 50 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/iosfwd" 2 3
12120 namespace std __attribute__ ((__visibility__ ("default"))) {
12122 template<typename _CharT, typename _Traits = char_traits<_CharT> >
12125 template<typename _CharT, typename _Traits = char_traits<_CharT> >
12126 class basic_streambuf;
12128 template<typename _CharT, typename _Traits = char_traits<_CharT> >
12129 class basic_istream;
12131 template<typename _CharT, typename _Traits = char_traits<_CharT> >
12132 class basic_ostream;
12134 template<typename _CharT, typename _Traits = char_traits<_CharT> >
12135 class basic_iostream;
12137 template<typename _CharT, typename _Traits = char_traits<_CharT>,
12138 typename _Alloc = allocator<_CharT> >
12139 class basic_stringbuf;
12141 template<typename _CharT, typename _Traits = char_traits<_CharT>,
12142 typename _Alloc = allocator<_CharT> >
12143 class basic_istringstream;
12145 template<typename _CharT, typename _Traits = char_traits<_CharT>,
12146 typename _Alloc = allocator<_CharT> >
12147 class basic_ostringstream;
12149 template<typename _CharT, typename _Traits = char_traits<_CharT>,
12150 typename _Alloc = allocator<_CharT> >
12151 class basic_stringstream;
12153 template<typename _CharT, typename _Traits = char_traits<_CharT> >
12154 class basic_filebuf;
12156 template<typename _CharT, typename _Traits = char_traits<_CharT> >
12157 class basic_ifstream;
12159 template<typename _CharT, typename _Traits = char_traits<_CharT> >
12160 class basic_ofstream;
12162 template<typename _CharT, typename _Traits = char_traits<_CharT> >
12163 class basic_fstream;
12165 template<typename _CharT, typename _Traits = char_traits<_CharT> >
12166 class istreambuf_iterator;
12168 template<typename _CharT, typename _Traits = char_traits<_CharT> >
12169 class ostreambuf_iterator;
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;
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;
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
12212 namespace std __attribute__ ((__visibility__ ("default"))) {
12215 template<class _T1, class _T2>
12218 typedef _T1 first_type;
12219 typedef _T2 second_type;
12229 : first(), second() { }
12232 pair(const _T1& __a, const _T2& __b)
12233 : first(__a), second(__b) { }
12236 template<class _U1, class _U2>
12237 pair(const pair<_U1, _U2>& __p)
12238 : first(__p.first), second(__p.second) { }
12242 template<class _T1, class _T2>
12244 operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
12245 { return __x.first == __y.first && __x.second == __y.second; }
12248 template<class _T1, class _T2>
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); }
12255 template<class _T1, class _T2>
12257 operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
12258 { return !(__x == __y); }
12261 template<class _T1, class _T2>
12263 operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
12264 { return __y < __x; }
12267 template<class _T1, class _T2>
12269 operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
12270 { return !(__y < __x); }
12273 template<class _T1, class _T2>
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); }
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
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"))) {
12294 template<typename _Iterator, typename _Container>
12295 class __normal_iterator;
12299 namespace std __attribute__ ((__visibility__ ("default"))) {
12305 typedef char __one;
12306 typedef char __two[2];
12308 template<typename _Tp>
12309 __one __test_type(int _Tp::*);
12310 template<typename _Tp>
12311 __two& __test_type(...);
12315 struct __true_type { };
12316 struct __false_type { };
12319 struct __truth_type
12320 { typedef __false_type __type; };
12323 struct __truth_type<true>
12324 { typedef __true_type __type; };
12328 template<class _Sp, class _Tp>
12331 enum { __value = bool(_Sp::__value) || bool(_Tp::__value) };
12332 typedef typename __truth_type<__value>::__type __type;
12336 template<typename, typename>
12339 enum { __value = 0 };
12340 typedef __false_type __type;
12343 template<typename _Tp>
12344 struct __are_same<_Tp, _Tp>
12346 enum { __value = 1 };
12347 typedef __true_type __type;
12351 template<typename _Tp>
12354 enum { __value = 0 };
12355 typedef __false_type __type;
12359 struct __is_void<void>
12361 enum { __value = 1 };
12362 typedef __true_type __type;
12368 template<typename _Tp>
12369 struct __is_integer
12371 enum { __value = 0 };
12372 typedef __false_type __type;
12379 struct __is_integer<bool>
12381 enum { __value = 1 };
12382 typedef __true_type __type;
12386 struct __is_integer<char>
12388 enum { __value = 1 };
12389 typedef __true_type __type;
12393 struct __is_integer<signed char>
12395 enum { __value = 1 };
12396 typedef __true_type __type;
12400 struct __is_integer<unsigned char>
12402 enum { __value = 1 };
12403 typedef __true_type __type;
12408 struct __is_integer<wchar_t>
12410 enum { __value = 1 };
12411 typedef __true_type __type;
12416 struct __is_integer<short>
12418 enum { __value = 1 };
12419 typedef __true_type __type;
12423 struct __is_integer<unsigned short>
12425 enum { __value = 1 };
12426 typedef __true_type __type;
12430 struct __is_integer<int>
12432 enum { __value = 1 };
12433 typedef __true_type __type;
12437 struct __is_integer<unsigned int>
12439 enum { __value = 1 };
12440 typedef __true_type __type;
12444 struct __is_integer<long>
12446 enum { __value = 1 };
12447 typedef __true_type __type;
12451 struct __is_integer<unsigned long>
12453 enum { __value = 1 };
12454 typedef __true_type __type;
12458 struct __is_integer<long long>
12460 enum { __value = 1 };
12461 typedef __true_type __type;
12465 struct __is_integer<unsigned long long>
12467 enum { __value = 1 };
12468 typedef __true_type __type;
12474 template<typename _Tp>
12475 struct __is_floating
12477 enum { __value = 0 };
12478 typedef __false_type __type;
12483 struct __is_floating<float>
12485 enum { __value = 1 };
12486 typedef __true_type __type;
12490 struct __is_floating<double>
12492 enum { __value = 1 };
12493 typedef __true_type __type;
12497 struct __is_floating<long double>
12499 enum { __value = 1 };
12500 typedef __true_type __type;
12506 template<typename _Tp>
12507 struct __is_pointer
12509 enum { __value = 0 };
12510 typedef __false_type __type;
12513 template<typename _Tp>
12514 struct __is_pointer<_Tp*>
12516 enum { __value = 1 };
12517 typedef __true_type __type;
12523 template<typename _Tp>
12524 struct __is_normal_iterator
12526 enum { __value = 0 };
12527 typedef __false_type __type;
12530 template<typename _Iterator, typename _Container>
12531 struct __is_normal_iterator< __gnu_cxx::__normal_iterator<_Iterator,
12534 enum { __value = 1 };
12535 typedef __true_type __type;
12541 template<typename _Tp>
12542 struct __is_arithmetic
12543 : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
12549 template<typename _Tp>
12550 struct __is_fundamental
12551 : public __traitor<__is_void<_Tp>, __is_arithmetic<_Tp> >
12557 template<typename _Tp>
12559 : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> >
12563 template<typename _Tp>
12568 __value = (sizeof(__detail::__test_type<_Tp>(0))
12569 != sizeof(__detail::__one))
12576 template<typename _Tp>
12581 struct __first { };
12582 template<typename _Up>
12589 __value = sizeof(__first<_Tp>) == sizeof(__second<_Tp>)
12596 template<typename _Tp>
12599 enum { __value = 0 };
12600 typedef __false_type __type;
12604 struct __is_char<char>
12606 enum { __value = 1 };
12607 typedef __true_type __type;
12612 struct __is_char<wchar_t>
12614 enum { __value = 1 };
12615 typedef __true_type __type;
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
12626 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/ext/type_traits.h" 3
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
12634 # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/utility" 3
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
12641 namespace std __attribute__ ((__visibility__ ("default"))) {
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>
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>
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>
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>
12663 operator>=(const _Tp& __x, const _Tp& __y)
12664 { return !(__x < __y); }
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
12673 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
12676 template<bool, typename>
12680 template<typename _Tp>
12681 struct __enable_if<true, _Tp>
12682 { typedef _Tp __type; };
12686 template<bool _Cond, typename _Iftrue, typename _Iffalse>
12687 struct __conditional_type
12688 { typedef _Iftrue __type; };
12690 template<typename _Iftrue, typename _Iffalse>
12691 struct __conditional_type<false, _Iftrue, _Iffalse>
12692 { typedef _Iffalse __type; };
12696 template<typename _Tp>
12697 struct __add_unsigned
12700 typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
12703 typedef typename __if_type::__type __type;
12707 struct __add_unsigned<char>
12708 { typedef unsigned char __type; };
12711 struct __add_unsigned<signed char>
12712 { typedef unsigned char __type; };
12715 struct __add_unsigned<short>
12716 { typedef unsigned short __type; };
12719 struct __add_unsigned<int>
12720 { typedef unsigned int __type; };
12723 struct __add_unsigned<long>
12724 { typedef unsigned long __type; };
12727 struct __add_unsigned<long long>
12728 { typedef unsigned long long __type; };
12732 struct __add_unsigned<bool>;
12735 struct __add_unsigned<wchar_t>;
12739 template<typename _Tp>
12740 struct __remove_unsigned
12743 typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
12746 typedef typename __if_type::__type __type;
12750 struct __remove_unsigned<char>
12751 { typedef signed char __type; };
12754 struct __remove_unsigned<unsigned char>
12755 { typedef signed char __type; };
12758 struct __remove_unsigned<unsigned short>
12759 { typedef short __type; };
12762 struct __remove_unsigned<unsigned int>
12763 { typedef int __type; };
12766 struct __remove_unsigned<unsigned long>
12767 { typedef long __type; };
12770 struct __remove_unsigned<unsigned long long>
12771 { typedef long long __type; };
12775 struct __remove_unsigned<bool>;
12778 struct __remove_unsigned<wchar_t>;
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
12787 # 68 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_iterator_base_types.h" 3
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 {};
12793 struct output_iterator_tag {};
12795 struct forward_iterator_tag : public input_iterator_tag {};
12798 struct bidirectional_iterator_tag : public forward_iterator_tag {};
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&>
12808 typedef _Category iterator_category;
12810 typedef _Tp value_type;
12812 typedef _Distance difference_type;
12814 typedef _Pointer pointer;
12816 typedef _Reference reference;
12825 template<typename _Iterator>
12826 struct iterator_traits
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;
12835 template<typename _Tp>
12836 struct iterator_traits<_Tp*>
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;
12845 template<typename _Tp>
12846 struct iterator_traits<const _Tp*>
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;
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(); }
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
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
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
12888 namespace std __attribute__ ((__visibility__ ("default"))) {
12890 template<typename _InputIterator>
12891 inline typename iterator_traits<_InputIterator>::difference_type
12892 __distance(_InputIterator __first, _InputIterator __last,
12893 input_iterator_tag)
12898 typename iterator_traits<_InputIterator>::difference_type __n = 0;
12899 while (__first != __last)
12907 template<typename _RandomAccessIterator>
12908 inline typename iterator_traits<_RandomAccessIterator>::difference_type
12909 __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
12910 random_access_iterator_tag)
12915 return __last - __first;
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)
12923 return std::__distance(__first, __last,
12924 std::__iterator_category(__first));
12927 template<typename _InputIterator, typename _Distance>
12929 __advance(_InputIterator& __i, _Distance __n, input_iterator_tag)
12937 template<typename _BidirectionalIterator, typename _Distance>
12939 __advance(_BidirectionalIterator& __i, _Distance __n,
12940 bidirectional_iterator_tag)
12953 template<typename _RandomAccessIterator, typename _Distance>
12955 __advance(_RandomAccessIterator& __i, _Distance __n,
12956 random_access_iterator_tag)
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>
12966 advance(_InputIterator& __i, _Distance __n)
12969 typename iterator_traits<_InputIterator>::difference_type __d = __n;
12970 std::__advance(__i, __d, std::__iterator_category(__i));
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
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>
12996 typedef _Iterator iterator_type;
12997 typedef typename iterator_traits<_Iterator>::difference_type
12999 typedef typename iterator_traits<_Iterator>::reference reference;
13000 typedef typename iterator_traits<_Iterator>::pointer pointer;
13009 reverse_iterator() : current() { }
13015 reverse_iterator(iterator_type __x) : current(__x) { }
13020 reverse_iterator(const reverse_iterator& __x)
13021 : current(__x.current) { }
13027 template<typename _Iter>
13028 reverse_iterator(const reverse_iterator<_Iter>& __x)
13029 : current(__x.base()) { }
13036 { return current; }
13046 _Iterator __tmp = current;
13057 { return &(operator*()); }
13079 reverse_iterator __tmp = *this;
13104 reverse_iterator __tmp = *this;
13115 operator+(difference_type __n) const
13116 { return reverse_iterator(current - __n); }
13124 operator+=(difference_type __n)
13136 operator-(difference_type __n) const
13137 { return reverse_iterator(current + __n); }
13145 operator-=(difference_type __n)
13157 operator[](difference_type __n) const
13158 { return *(*this + __n); }
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>
13163 operator==(const reverse_iterator<_Iterator>& __x,
13164 const reverse_iterator<_Iterator>& __y)
13165 { return __x.base() == __y.base(); }
13167 template<typename _Iterator>
13169 operator<(const reverse_iterator<_Iterator>& __x,
13170 const reverse_iterator<_Iterator>& __y)
13171 { return __y.base() < __x.base(); }
13173 template<typename _Iterator>
13175 operator!=(const reverse_iterator<_Iterator>& __x,
13176 const reverse_iterator<_Iterator>& __y)
13177 { return !(__x == __y); }
13179 template<typename _Iterator>
13181 operator>(const reverse_iterator<_Iterator>& __x,
13182 const reverse_iterator<_Iterator>& __y)
13183 { return __y < __x; }
13185 template<typename _Iterator>
13187 operator<=(const reverse_iterator<_Iterator>& __x,
13188 const reverse_iterator<_Iterator>& __y)
13189 { return !(__y < __x); }
13191 template<typename _Iterator>
13193 operator>=(const reverse_iterator<_Iterator>& __x,
13194 const reverse_iterator<_Iterator>& __y)
13195 { return !(__x < __y); }
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(); }
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); }
13211 template<typename _IteratorL, typename _IteratorR>
13213 operator==(const reverse_iterator<_IteratorL>& __x,
13214 const reverse_iterator<_IteratorR>& __y)
13215 { return __x.base() == __y.base(); }
13217 template<typename _IteratorL, typename _IteratorR>
13219 operator<(const reverse_iterator<_IteratorL>& __x,
13220 const reverse_iterator<_IteratorR>& __y)
13221 { return __y.base() < __x.base(); }
13223 template<typename _IteratorL, typename _IteratorR>
13225 operator!=(const reverse_iterator<_IteratorL>& __x,
13226 const reverse_iterator<_IteratorR>& __y)
13227 { return !(__x == __y); }
13229 template<typename _IteratorL, typename _IteratorR>
13231 operator>(const reverse_iterator<_IteratorL>& __x,
13232 const reverse_iterator<_IteratorR>& __y)
13233 { return __y < __x; }
13235 template<typename _IteratorL, typename _IteratorR>
13237 operator<=(const reverse_iterator<_IteratorL>& __x,
13238 const reverse_iterator<_IteratorR>& __y)
13239 { return !(__y < __x); }
13241 template<typename _IteratorL, typename _IteratorR>
13243 operator>=(const reverse_iterator<_IteratorL>& __x,
13244 const reverse_iterator<_IteratorR>& __y)
13245 { return !(__x < __y); }
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>
13258 _Container* container;
13262 typedef _Container container_type;
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)
13271 container->push_back(__value);
13276 back_insert_iterator&
13281 back_insert_iterator&
13286 back_insert_iterator
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>
13301 _Container* container;
13305 typedef _Container container_type;
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)
13313 container->push_front(__value);
13318 front_insert_iterator&
13323 front_insert_iterator&
13328 front_insert_iterator
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>
13343 _Container* container;
13344 typename _Container::iterator iter;
13348 typedef _Container container_type;
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
13358 operator=(const typename _Container::const_reference __value)
13360 iter = container->insert(iter, __value);
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)
13385 return insert_iterator<_Container>(__x,
13386 typename _Container::iterator(__i));
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
13399 _Iterator _M_current;
13402 typedef typename iterator_traits<_Iterator>::iterator_category
13404 typedef typename iterator_traits<_Iterator>::value_type value_type;
13405 typedef typename iterator_traits<_Iterator>::difference_type
13407 typedef typename iterator_traits<_Iterator>::reference reference;
13408 typedef typename iterator_traits<_Iterator>::pointer pointer;
13410 __normal_iterator() : _M_current(_Iterator()) { }
13413 __normal_iterator(const _Iterator& __i) : _M_current(__i) { }
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()) { }
13426 { return *_M_current; }
13430 { return _M_current; }
13441 { return __normal_iterator(_M_current++); }
13453 { return __normal_iterator(_M_current--); }
13457 operator[](const difference_type& __n) const
13458 { return _M_current[__n]; }
13461 operator+=(const difference_type& __n)
13462 { _M_current += __n; return *this; }
13465 operator+(const difference_type& __n) const
13466 { return __normal_iterator(_M_current + __n); }
13469 operator-=(const difference_type& __n)
13470 { _M_current -= __n; return *this; }
13473 operator-(const difference_type& __n) const
13474 { return __normal_iterator(_M_current - __n); }
13478 { return _M_current; }
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>
13483 operator==(const __normal_iterator<_IteratorL, _Container>& __lhs,
13484 const __normal_iterator<_IteratorR, _Container>& __rhs)
13485 { return __lhs.base() == __rhs.base(); }
13487 template<typename _Iterator, typename _Container>
13489 operator==(const __normal_iterator<_Iterator, _Container>& __lhs,
13490 const __normal_iterator<_Iterator, _Container>& __rhs)
13491 { return __lhs.base() == __rhs.base(); }
13493 template<typename _IteratorL, typename _IteratorR, typename _Container>
13495 operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
13496 const __normal_iterator<_IteratorR, _Container>& __rhs)
13497 { return __lhs.base() != __rhs.base(); }
13499 template<typename _Iterator, typename _Container>
13501 operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
13502 const __normal_iterator<_Iterator, _Container>& __rhs)
13503 { return __lhs.base() != __rhs.base(); }
13506 template<typename _IteratorL, typename _IteratorR, typename _Container>
13508 operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
13509 const __normal_iterator<_IteratorR, _Container>& __rhs)
13510 { return __lhs.base() < __rhs.base(); }
13512 template<typename _Iterator, typename _Container>
13514 operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
13515 const __normal_iterator<_Iterator, _Container>& __rhs)
13516 { return __lhs.base() < __rhs.base(); }
13518 template<typename _IteratorL, typename _IteratorR, typename _Container>
13520 operator>(const __normal_iterator<_IteratorL, _Container>& __lhs,
13521 const __normal_iterator<_IteratorR, _Container>& __rhs)
13522 { return __lhs.base() > __rhs.base(); }
13524 template<typename _Iterator, typename _Container>
13526 operator>(const __normal_iterator<_Iterator, _Container>& __lhs,
13527 const __normal_iterator<_Iterator, _Container>& __rhs)
13528 { return __lhs.base() > __rhs.base(); }
13530 template<typename _IteratorL, typename _IteratorR, typename _Container>
13532 operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs,
13533 const __normal_iterator<_IteratorR, _Container>& __rhs)
13534 { return __lhs.base() <= __rhs.base(); }
13536 template<typename _Iterator, typename _Container>
13538 operator<=(const __normal_iterator<_Iterator, _Container>& __lhs,
13539 const __normal_iterator<_Iterator, _Container>& __rhs)
13540 { return __lhs.base() <= __rhs.base(); }
13542 template<typename _IteratorL, typename _IteratorR, typename _Container>
13544 operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs,
13545 const __normal_iterator<_IteratorR, _Container>& __rhs)
13546 { return __lhs.base() >= __rhs.base(); }
13548 template<typename _Iterator, typename _Container>
13550 operator>=(const __normal_iterator<_Iterator, _Container>& __lhs,
13551 const __normal_iterator<_Iterator, _Container>& __rhs)
13552 { return __lhs.base() >= __rhs.base(); }
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(); }
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(); }
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); }
13577 # 77 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algobase.h" 2 3
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
13585 namespace __debug { }
13588 namespace __gnu_cxx
13590 namespace __debug { };
13593 namespace __gnu_debug
13595 using namespace std::__debug;
13596 using namespace __gnu_cxx::__debug;
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
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>
13622 swap(_Tp& __a, _Tp& __b)
13635 template<bool _BoolType>
13638 template<typename _ForwardIterator1, typename _ForwardIterator2>
13640 iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
13642 typedef typename iterator_traits<_ForwardIterator1>::value_type
13644 _ValueType1 __tmp = *__a;
13651 struct __iter_swap<true>
13653 template<typename _ForwardIterator1, typename _ForwardIterator2>
13655 iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
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>
13663 iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
13665 typedef typename iterator_traits<_ForwardIterator1>::value_type
13667 typedef typename iterator_traits<_ForwardIterator2>::value_type
13680 typedef typename iterator_traits<_ForwardIterator1>::reference
13682 typedef typename iterator_traits<_ForwardIterator2>::reference
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);
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>
13692 min(const _Tp& __a, const _Tp& __b)
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>
13704 max(const _Tp& __a, const _Tp& __b)
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>
13716 min(const _Tp& __a, const _Tp& __b, _Compare __comp)
13719 if (__comp(__b, __a))
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>
13726 max(const _Tp& __a, const _Tp& __b, _Compare __comp)
13729 if (__comp(__a, __b))
13740 template<bool, typename>
13743 template<typename _II, typename _OI>
13745 copy(_II __first, _II __last, _OI __result)
13747 for (; __first != __last; ++__result, ++__first)
13748 *__result = *__first;
13753 template<bool _BoolType>
13754 struct __copy<_BoolType, random_access_iterator_tag>
13756 template<typename _II, typename _OI>
13758 copy(_II __first, _II __last, _OI __result)
13760 typedef typename iterator_traits<_II>::difference_type _Distance;
13761 for(_Distance __n = __last - __first; __n > 0; --__n)
13763 *__result = *__first;
13772 struct __copy<true, random_access_iterator_tag>
13774 template<typename _Tp>
13776 copy(const _Tp* __first, const _Tp* __last, _Tp* __result)
13778 std::memmove(__result, __first, sizeof(_Tp) * (__last - __first));
13779 return __result + (__last - __first);
13783 template<typename _II, typename _OI>
13785 __copy_aux(_II __first, _II __last, _OI __result)
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);
13795 return std::__copy<__simple, _Category>::copy(__first, __last, __result);
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>);
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>);
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>,
13814 template<bool, bool>
13815 struct __copy_normal
13817 template<typename _II, typename _OI>
13819 __copy_n(_II __first, _II __last, _OI __result)
13820 { return std::__copy_aux(__first, __last, __result); }
13824 struct __copy_normal<true, false>
13826 template<typename _II, typename _OI>
13828 __copy_n(_II __first, _II __last, _OI __result)
13829 { return std::__copy_aux(__first.base(), __last.base(), __result); }
13833 struct __copy_normal<false, true>
13835 template<typename _II, typename _OI>
13837 __copy_n(_II __first, _II __last, _OI __result)
13838 { return _OI(std::__copy_aux(__first, __last, __result.base())); }
13842 struct __copy_normal<true, true>
13844 template<typename _II, typename _OI>
13846 __copy_n(_II __first, _II __last, _OI __result)
13847 { return _OI(std::__copy_aux(__first.base(), __last.base(),
13848 __result.base())); }
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)
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,
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>);
13875 template<bool, typename>
13876 struct __copy_backward
13878 template<typename _BI1, typename _BI2>
13880 __copy_b(_BI1 __first, _BI1 __last, _BI2 __result)
13882 while (__first != __last)
13883 *--__result = *--__last;
13888 template<bool _BoolType>
13889 struct __copy_backward<_BoolType, random_access_iterator_tag>
13891 template<typename _BI1, typename _BI2>
13893 __copy_b(_BI1 __first, _BI1 __last, _BI2 __result)
13895 typename iterator_traits<_BI1>::difference_type __n;
13896 for (__n = __last - __first; __n > 0; --__n)
13897 *--__result = *--__last;
13903 struct __copy_backward<true, random_access_iterator_tag>
13905 template<typename _Tp>
13907 __copy_b(const _Tp* __first, const _Tp* __last, _Tp* __result)
13909 const ptrdiff_t _Num = __last - __first;
13910 std::memmove(__result - _Num, __first, sizeof(_Tp) * _Num);
13911 return __result - _Num;
13915 template<typename _BI1, typename _BI2>
13917 __copy_backward_aux(_BI1 __first, _BI1 __last, _BI2 __result)
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);
13927 return std::__copy_backward<__simple, _Category>::__copy_b(__first,
13932 template<bool, bool>
13933 struct __copy_backward_normal
13935 template<typename _BI1, typename _BI2>
13937 __copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result)
13938 { return std::__copy_backward_aux(__first, __last, __result); }
13942 struct __copy_backward_normal<true, false>
13944 template<typename _BI1, typename _BI2>
13946 __copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result)
13947 { return std::__copy_backward_aux(__first.base(), __last.base(),
13952 struct __copy_backward_normal<false, true>
13954 template<typename _BI1, typename _BI2>
13956 __copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result)
13957 { return _BI2(std::__copy_backward_aux(__first, __last,
13958 __result.base())); }
13962 struct __copy_backward_normal<true, true>
13964 template<typename _BI1, typename _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())); }
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>
13973 copy_backward(_BI1 __first, _BI1 __last, _BI2 __result)
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,
13993 template<typename _ForwardIterator, typename _Tp>
13995 fill(_ForwardIterator __first, _ForwardIterator __last,
13996 const _Tp& __value)
13998 for (; __first != __last; ++__first)
13999 *__first = __value;
14004 struct __fill<true>
14006 template<typename _ForwardIterator, typename _Tp>
14008 fill(_ForwardIterator __first, _ForwardIterator __last,
14009 const _Tp& __value)
14011 const _Tp __tmp = __value;
14012 for (; __first != __last; ++__first)
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>
14019 fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value)
14026 const bool __scalar = __is_scalar<_Tp>::__value;
14027 std::__fill<__scalar>::fill(__first, __last, __value);
14032 fill(unsigned char* __first, unsigned char* __last, const unsigned char& __c)
14035 const unsigned char __tmp = __c;
14036 std::memset(__first, __tmp, __last - __first);
14040 fill(signed char* __first, signed char* __last, const signed char& __c)
14043 const signed char __tmp = __c;
14044 std::memset(__first, static_cast<unsigned char>(__tmp), __last - __first);
14048 fill(char* __first, char* __last, const char& __c)
14051 const char __tmp = __c;
14052 std::memset(__first, static_cast<unsigned char>(__tmp), __last - __first);
14058 template<typename _OutputIterator, typename _Size, typename _Tp>
14059 static _OutputIterator
14060 fill_n(_OutputIterator __first, _Size __n, const _Tp& __value)
14062 for (; __n > 0; --__n, ++__first)
14063 *__first = __value;
14069 struct __fill_n<true>
14071 template<typename _OutputIterator, typename _Size, typename _Tp>
14072 static _OutputIterator
14073 fill_n(_OutputIterator __first, _Size __n, const _Tp& __value)
14075 const _Tp __tmp = __value;
14076 for (; __n > 0; --__n, ++__first)
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>
14084 fill_n(_OutputIterator __first, _Size __n, const _Tp& __value)
14089 const bool __scalar = __is_scalar<_Tp>::__value;
14090 return std::__fill_n<__scalar>::fill_n(__first, __n, __value);
14093 template<typename _Size>
14094 inline unsigned char*
14095 fill_n(unsigned char* __first, _Size __n, const unsigned char& __c)
14097 std::fill(__first, __first + __n, __c);
14098 return __first + __n;
14101 template<typename _Size>
14102 inline signed char*
14103 fill_n(signed char* __first, _Size __n, const signed char& __c)
14105 std::fill(__first, __first + __n, __c);
14106 return __first + __n;
14109 template<typename _Size>
14111 fill_n(char* __first, _Size __n, const char& __c)
14113 std::fill(__first, __first + __n, __c);
14114 return __first + __n;
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)
14130 while (__first1 != __last1 && *__first1 == *__first2)
14135 return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
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)
14149 while (__first1 != __last1 && __binary_pred(*__first1, *__first2))
14154 return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
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>
14159 equal(_InputIterator1 __first1, _InputIterator1 __last1,
14160 _InputIterator2 __first2)
14170 for (; __first1 != __last1; ++__first1, ++__first2)
14171 if (!(*__first1 == *__first2))
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>
14179 equal(_InputIterator1 __first1, _InputIterator1 __last1,
14180 _InputIterator2 __first2,
14181 _BinaryPredicate __binary_pred)
14188 for (; __first1 != __last1; ++__first1, ++__first2)
14189 if (!__binary_pred(*__first1, *__first2))
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>
14196 lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
14197 _InputIterator2 __first2, _InputIterator2 __last2)
14211 for (; __first1 != __last1 && __first2 != __last2;
14212 ++__first1, ++__first2)
14214 if (*__first1 < *__first2)
14216 if (*__first2 < *__first1)
14219 return __first1 == __last1 && __first2 != __last2;
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,
14225 lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
14226 _InputIterator2 __first2, _InputIterator2 __last2,
14235 for (; __first1 != __last1 && __first2 != __last2;
14236 ++__first1, ++__first2)
14238 if (__comp(*__first1, *__first2))
14240 if (__comp(*__first2, *__first1))
14243 return __first1 == __last1 && __first2 != __last2;
14247 lexicographical_compare(const unsigned char* __first1,
14248 const unsigned char* __last1,
14249 const unsigned char* __first2,
14250 const unsigned char* __last2)
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;
14263 lexicographical_compare(const char* __first1, const char* __last1,
14264 const char* __first2, const char* __last2)
14270 return std::lexicographical_compare((const signed char*) __first1,
14271 (const signed char*) __last1,
14272 (const signed char*) __first2,
14273 (const signed char*) __last2);
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
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
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
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
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__
14307 #pragma GCC visibility push(default)
14315 # 56 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/exception" 3
14319 exception() throw() { }
14320 virtual ~exception() throw();
14324 virtual const char* what() const throw();
14329 class bad_exception : public exception
14332 bad_exception() throw() { }
14336 virtual ~bad_exception() throw();
14339 virtual const char* what() const throw();
14343 typedef void (*terminate_handler) ();
14346 typedef void (*unexpected_handler) ();
14349 terminate_handler set_terminate(terminate_handler) throw();
14353 void terminate() __attribute__ ((__noreturn__));
14356 unexpected_handler set_unexpected(unexpected_handler) throw();
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();
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 ();
14373 #pragma GCC visibility pop
14374 # 46 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/new" 2 3
14376 #pragma GCC visibility push(default)
14387 class bad_alloc : public exception
14390 bad_alloc() throw() { }
14394 virtual ~bad_alloc() throw();
14397 virtual const char* what() const throw();
14400 struct nothrow_t { };
14402 extern const nothrow_t nothrow;
14406 typedef void (*new_handler)();
14410 new_handler set_new_handler(new_handler) throw();
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();
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; }
14427 inline void operator delete (void*, void*) throw() { }
14428 inline void operator delete[](void*, void*) throw() { }
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
14436 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
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
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;
14453 template<typename _Tp1>
14455 { typedef new_allocator<_Tp1> other; };
14457 new_allocator() throw() { }
14459 new_allocator(const new_allocator&) throw() { }
14461 template<typename _Tp1>
14462 new_allocator(const new_allocator<_Tp1>&) throw() { }
14464 ~new_allocator() throw() { }
14467 address(reference __x) const { return &__x; }
14470 address(const_reference __x) const { return &__x; }
14475 allocate(size_type __n, const void* = 0)
14477 if (__builtin_expect(__n > this->max_size(), false))
14478 std::__throw_bad_alloc();
14480 return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
14485 deallocate(pointer __p, size_type)
14486 { ::operator delete(__p); }
14489 max_size() const throw()
14490 { return size_t(-1) / sizeof(_Tp); }
14495 construct(pointer __p, const _Tp& __val)
14496 { ::new(__p) _Tp(__val); }
14499 destroy(pointer __p) { __p->~_Tp(); }
14502 template<typename _Tp>
14504 operator==(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
14507 template<typename _Tp>
14509 operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
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
14519 namespace std __attribute__ ((__visibility__ ("default"))) {
14521 template<typename _Tp>
14526 class allocator<void>
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;
14535 template<typename _Tp1>
14537 { typedef allocator<_Tp1> other; };
14546 template<typename _Tp>
14547 class allocator: public __gnu_cxx::new_allocator<_Tp>
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;
14558 template<typename _Tp1>
14560 { typedef allocator<_Tp1> other; };
14562 allocator() throw() { }
14564 allocator(const allocator& __a) throw()
14565 : __gnu_cxx::new_allocator<_Tp>(__a) { }
14567 template<typename _Tp1>
14568 allocator(const allocator<_Tp1>&) throw() { }
14570 ~allocator() throw() { }
14575 template<typename _T1, typename _T2>
14577 operator==(const allocator<_T1>&, const allocator<_T2>&)
14580 template<typename _Tp>
14582 operator==(const allocator<_Tp>&, const allocator<_Tp>&)
14585 template<typename _T1, typename _T2>
14587 operator!=(const allocator<_T1>&, const allocator<_T2>&)
14590 template<typename _Tp>
14592 operator!=(const allocator<_Tp>&, const allocator<_Tp>&)
14599 extern template class allocator<char>;
14600 extern template class allocator<wchar_t>;
14604 #undef __glibcxx_base_allocator
14607 template<typename _Alloc, bool = std::__is_empty<_Alloc>::__value>
14608 struct __alloc_swap
14609 { static void _S_do_it(_Alloc&, _Alloc&) { } };
14611 template<typename _Alloc>
14612 struct __alloc_swap<_Alloc, false>
14615 _S_do_it(_Alloc& __one, _Alloc& __two)
14618 if (__one != __two)
14619 swap(__one, __two);
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
14632 namespace std __attribute__ ((__visibility__ ("default"))) {
14640 template<typename _T1, typename _T2>
14642 _Construct(_T1* __p, const _T2& __value)
14646 ::new(static_cast<void*>(__p)) _T1(__value);
14655 template<typename _T1>
14657 _Construct(_T1* __p)
14661 ::new(static_cast<void*>(__p)) _T1();
14669 template<typename _Tp>
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>
14676 __destroy_aux(_ForwardIterator __first, _ForwardIterator __last,
14679 for (; __first != __last; ++__first)
14680 std::_Destroy(&*__first);
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>
14685 __destroy_aux(_ForwardIterator, _ForwardIterator, __true_type)
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>
14690 _Destroy(_ForwardIterator __first, _ForwardIterator __last)
14692 typedef typename iterator_traits<_ForwardIterator>::value_type
14694 typedef typename std::__is_scalar<_Value_type>::__type
14695 _Has_trivial_destructor;
14697 std::__destroy_aux(__first, __last, _Has_trivial_destructor());
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;
14702 template<typename _ForwardIterator, typename _Allocator>
14704 _Destroy(_ForwardIterator __first, _ForwardIterator __last,
14705 _Allocator __alloc)
14707 for (; __first != __last; ++__first)
14708 __alloc.destroy(&*__first);
14711 template<typename _ForwardIterator, typename _Tp>
14713 _Destroy(_ForwardIterator __first, _ForwardIterator __last,
14716 _Destroy(__first, __last);
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
14727 namespace std __attribute__ ((__visibility__ ("default"))) {
14730 template<typename _InputIterator, typename _ForwardIterator>
14731 inline _ForwardIterator
14732 __uninitialized_copy_aux(_InputIterator __first, _InputIterator __last,
14733 _ForwardIterator __result,
14735 { return std::copy(__first, __last, __result); }
14737 template<typename _InputIterator, typename _ForwardIterator>
14738 inline _ForwardIterator
14739 __uninitialized_copy_aux(_InputIterator __first, _InputIterator __last,
14740 _ForwardIterator __result,
14743 _ForwardIterator __cur = __result;
14746 for (; __first != __last; ++__first, ++__cur)
14747 std::_Construct(&*__cur, *__first);
14752 std::_Destroy(__result, __cur);
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)
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,
14769 uninitialized_copy(const char* __first, const char* __last, char* __result)
14771 std::memmove(__result, __first, __last - __first);
14772 return __result + (__last - __first);
14776 uninitialized_copy(const wchar_t* __first, const wchar_t* __last,
14779 std::memmove(__result, __first, sizeof(wchar_t) * (__last - __first));
14780 return __result + (__last - __first);
14785 template<typename _ForwardIterator, typename _Tp>
14787 __uninitialized_fill_aux(_ForwardIterator __first,
14788 _ForwardIterator __last,
14789 const _Tp& __x, __true_type)
14790 { std::fill(__first, __last, __x); }
14792 template<typename _ForwardIterator, typename _Tp>
14794 __uninitialized_fill_aux(_ForwardIterator __first, _ForwardIterator __last,
14795 const _Tp& __x, __false_type)
14797 _ForwardIterator __cur = __first;
14800 for (; __cur != __last; ++__cur)
14801 std::_Construct(&*__cur, __x);
14805 std::_Destroy(__first, __cur);
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>
14812 uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last,
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());
14822 template<typename _ForwardIterator, typename _Size, typename _Tp>
14824 __uninitialized_fill_n_aux(_ForwardIterator __first, _Size __n,
14825 const _Tp& __x, __true_type)
14826 { std::fill_n(__first, __n, __x); }
14828 template<typename _ForwardIterator, typename _Size, typename _Tp>
14830 __uninitialized_fill_n_aux(_ForwardIterator __first, _Size __n,
14831 const _Tp& __x, __false_type)
14833 _ForwardIterator __cur = __first;
14836 for (; __n > 0; --__n, ++__cur)
14837 std::_Construct(&*__cur, __x);
14841 std::_Destroy(__first, __cur);
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>
14848 uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x)
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());
14861 template<typename _InputIterator, typename _ForwardIterator,
14862 typename _Allocator>
14864 __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
14865 _ForwardIterator __result,
14866 _Allocator __alloc)
14868 _ForwardIterator __cur = __result;
14871 for (; __first != __last; ++__first, ++__cur)
14872 __alloc.construct(&*__cur, *__first);
14877 std::_Destroy(__result, __cur, __alloc);
14882 template<typename _InputIterator, typename _ForwardIterator, typename _Tp>
14883 inline _ForwardIterator
14884 __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
14885 _ForwardIterator __result,
14887 { return std::uninitialized_copy(__first, __last, __result); }
14889 template<typename _ForwardIterator, typename _Tp, typename _Allocator>
14891 __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
14892 const _Tp& __x, _Allocator __alloc)
14894 _ForwardIterator __cur = __first;
14897 for (; __cur != __last; ++__cur)
14898 __alloc.construct(&*__cur, __x);
14902 std::_Destroy(__first, __cur, __alloc);
14907 template<typename _ForwardIterator, typename _Tp, typename _Tp2>
14909 __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
14910 const _Tp& __x, allocator<_Tp2>)
14911 { std::uninitialized_fill(__first, __last, __x); }
14913 template<typename _ForwardIterator, typename _Size, typename _Tp,
14914 typename _Allocator>
14916 __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
14918 _Allocator __alloc)
14920 _ForwardIterator __cur = __first;
14923 for (; __n > 0; --__n, ++__cur)
14924 __alloc.construct(&*__cur, __x);
14928 std::_Destroy(__first, __cur, __alloc);
14933 template<typename _ForwardIterator, typename _Size, typename _Tp,
14936 __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
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)
14951 _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1,
14956 return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc);
14960 std::_Destroy(__result, __mid, __alloc);
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)
14976 std::__uninitialized_fill_a(__result, __mid, __x, __alloc);
14979 return std::__uninitialized_copy_a(__first, __last, __mid, __alloc);
14983 std::_Destroy(__result, __mid, __alloc);
14991 template<typename _InputIterator, typename _ForwardIterator, typename _Tp,
14992 typename _Allocator>
14994 __uninitialized_copy_fill(_InputIterator __first1, _InputIterator __last1,
14995 _ForwardIterator __first2,
14996 _ForwardIterator __last2, const _Tp& __x,
14997 _Allocator __alloc)
14999 _ForwardIterator __mid2 = std::__uninitialized_copy_a(__first1, __last1,
15004 std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc);
15008 std::_Destroy(__first2, __mid2, __alloc);
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
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
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
15032 typedef _Deque_iterator<_Tp, _Tp&, _Tp*> iterator;
15033 typedef _Deque_iterator<_Tp, const _Tp&, const _Tp*> const_iterator;
15035 static size_t _S_buffer_size()
15036 { return __deque_buf_size(sizeof(_Tp)); }
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;
15050 _Map_pointer _M_node;
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) {}
15056 _Deque_iterator() : _M_cur(0), _M_first(0), _M_last(0), _M_node(0) {}
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) {}
15064 { return *_M_cur; }
15074 if (_M_cur == _M_last)
15076 _M_set_node(_M_node + 1);
15085 _Self __tmp = *this;
15093 if (_M_cur == _M_first)
15095 _M_set_node(_M_node - 1);
15105 _Self __tmp = *this;
15111 operator+=(difference_type __n)
15113 const difference_type __offset = __n + (_M_cur - _M_first);
15114 if (__offset >= 0 && __offset < difference_type(_S_buffer_size()))
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()));
15130 operator+(difference_type __n) const
15132 _Self __tmp = *this;
15133 return __tmp += __n;
15137 operator-=(difference_type __n)
15138 { return *this += -__n; }
15141 operator-(difference_type __n) const
15143 _Self __tmp = *this;
15144 return __tmp -= __n;
15148 operator[](difference_type __n) const
15149 { return *(*this + __n); }
15158 _M_set_node(_Map_pointer __new_node)
15160 _M_node = __new_node;
15161 _M_first = *__new_node;
15162 _M_last = _M_first + difference_type(_S_buffer_size());
15169 template<typename _Tp, typename _Ref, typename _Ptr>
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; }
15175 template<typename _Tp, typename _RefL, typename _PtrL,
15176 typename _RefR, typename _PtrR>
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; }
15182 template<typename _Tp, typename _Ref, typename _Ptr>
15184 operator!=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
15185 const _Deque_iterator<_Tp, _Ref, _Ptr>& __y)
15186 { return !(__x == __y); }
15188 template<typename _Tp, typename _RefL, typename _PtrL,
15189 typename _RefR, typename _PtrR>
15191 operator!=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
15192 const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
15193 { return !(__x == __y); }
15195 template<typename _Tp, typename _Ref, typename _Ptr>
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); }
15202 template<typename _Tp, typename _RefL, typename _PtrL,
15203 typename _RefR, typename _PtrR>
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); }
15210 template<typename _Tp, typename _Ref, typename _Ptr>
15212 operator>(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
15213 const _Deque_iterator<_Tp, _Ref, _Ptr>& __y)
15214 { return __y < __x; }
15216 template<typename _Tp, typename _RefL, typename _PtrL,
15217 typename _RefR, typename _PtrR>
15219 operator>(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
15220 const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
15221 { return __y < __x; }
15223 template<typename _Tp, typename _Ref, typename _Ptr>
15225 operator<=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
15226 const _Deque_iterator<_Tp, _Ref, _Ptr>& __y)
15227 { return !(__y < __x); }
15229 template<typename _Tp, typename _RefL, typename _PtrL,
15230 typename _RefR, typename _PtrR>
15232 operator<=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
15233 const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
15234 { return !(__y < __x); }
15236 template<typename _Tp, typename _Ref, typename _Ptr>
15238 operator>=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
15239 const _Deque_iterator<_Tp, _Ref, _Ptr>& __y)
15240 { return !(__x < __y); }
15242 template<typename _Tp, typename _RefL, typename _PtrL,
15243 typename _RefR, typename _PtrR>
15245 operator>=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
15246 const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
15247 { return !(__x < __y); }
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)
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);
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)
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);
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; }
15281 template<typename _Tp>
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>
15290 typedef _Alloc allocator_type;
15293 get_allocator() const
15294 { return allocator_type(_M_get_Tp_allocator()); }
15296 typedef _Deque_iterator<_Tp, _Tp&, _Tp*> iterator;
15297 typedef _Deque_iterator<_Tp, const _Tp&, const _Tp*> const_iterator;
15299 _Deque_base(const allocator_type& __a, size_t __num_elements)
15301 { _M_initialize_map(__num_elements); }
15303 _Deque_base(const allocator_type& __a)
15313 typedef typename _Alloc::template rebind<_Tp*>::other _Map_alloc_type;
15315 typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type;
15318 : public _Tp_alloc_type
15321 size_t _M_map_size;
15323 iterator _M_finish;
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()
15332 _M_get_Tp_allocator()
15333 { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); }
15335 const _Tp_alloc_type&
15336 _M_get_Tp_allocator() const
15337 { return *static_cast<const _Tp_alloc_type*>(&this->_M_impl); }
15340 _M_get_map_allocator() const
15341 { return _Map_alloc_type(_M_get_Tp_allocator()); }
15346 return _M_impl._Tp_alloc_type::allocate(__deque_buf_size(sizeof(_Tp)));
15350 _M_deallocate_node(_Tp* __p)
15352 _M_impl._Tp_alloc_type::deallocate(__p, __deque_buf_size(sizeof(_Tp)));
15356 _M_allocate_map(size_t __n)
15357 { return _M_get_map_allocator().allocate(__n); }
15360 _M_deallocate_map(_Tp** __p, size_t __n)
15361 { _M_get_map_allocator().deallocate(__p, __n); }
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 };
15369 _Deque_impl _M_impl;
15372 template<typename _Tp, typename _Alloc>
15373 _Deque_base<_Tp, _Alloc>::
15376 if (this->_M_impl._M_map)
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);
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>
15386 _Deque_base<_Tp, _Alloc>::
15387 _M_initialize_map(size_t __num_elements)
15389 const size_t __num_nodes = (__num_elements/ __deque_buf_size(sizeof(_Tp))
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);
15401 _Tp** __nstart = (this->_M_impl._M_map
15402 + (this->_M_impl._M_map_size - __num_nodes) / 2);
15403 _Tp** __nfinish = __nstart + __num_nodes;
15406 { _M_create_nodes(__nstart, __nfinish); }
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;
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
15420 % __deque_buf_size(sizeof(_Tp)));
15423 template<typename _Tp, typename _Alloc>
15425 _Deque_base<_Tp, _Alloc>::
15426 _M_create_nodes(_Tp** __nstart, _Tp** __nfinish)
15431 for (__cur = __nstart; __cur < __nfinish; ++__cur)
15432 *__cur = this->_M_allocate_node();
15436 _M_destroy_nodes(__nstart, __cur);
15441 template<typename _Tp, typename _Alloc>
15443 _Deque_base<_Tp, _Alloc>::
15444 _M_destroy_nodes(_Tp** __nstart, _Tp** __nfinish)
15446 for (_Tp** __n = __nstart; __n < __nfinish; ++__n)
15447 _M_deallocate_node(*__n);
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>
15454 typedef typename _Alloc::value_type _Alloc_value_type;
15458 typedef _Deque_base<_Tp, _Alloc> _Base;
15459 typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
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;
15476 typedef pointer* _Map_pointer;
15478 static size_t _S_buffer_size()
15479 { return __deque_buf_size(sizeof(_Tp)); }
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;
15496 using _Base::_M_impl;
15505 deque(const allocator_type& __a = allocator_type())
15507 # 693 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3
15509 deque(size_type __n, const value_type& __value = value_type(),
15510 const allocator_type& __a = allocator_type())
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())
15526 typedef typename std::__is_integer<_InputIterator>::__type _Integral;
15527 _M_initialize_dispatch(__first, __last, _Integral());
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
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
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>
15547 assign(_InputIterator __first, _InputIterator __last)
15549 typedef typename std::__is_integer<_InputIterator>::__type _Integral;
15550 _M_assign_dispatch(__first, __last, _Integral());
15555 get_allocator() const
15556 { return _Base::get_allocator(); }
15565 { return this->_M_impl._M_start; }
15573 { return this->_M_impl._M_start; }
15582 { return this->_M_impl._M_finish; }
15591 { return this->_M_impl._M_finish; }
15600 { return reverse_iterator(this->_M_impl._M_finish); }
15607 const_reverse_iterator
15609 { return const_reverse_iterator(this->_M_impl._M_finish); }
15618 { return reverse_iterator(this->_M_impl._M_start); }
15625 const_reverse_iterator
15627 { return const_reverse_iterator(this->_M_impl._M_start); }
15633 { return this->_M_impl._M_finish - this->_M_impl._M_start; }
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
15641 resize(size_type __new_size, value_type __x = value_type())
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));
15647 insert(this->_M_impl._M_finish, __new_size - __len, __x);
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
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
15663 operator[](size_type __n) const
15664 { return this->_M_impl._M_start[difference_type(__n)]; }
15669 _M_range_check(size_type __n) const
15671 if (__n >= this->size())
15672 __throw_out_of_range(("deque::_M_range_check"));
15676 # 956 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3
15680 _M_range_check(__n);
15681 return (*this)[__n];
15683 # 974 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3
15685 at(size_type __n) const
15687 _M_range_check(__n);
15688 return (*this)[__n];
15697 { return *begin(); }
15705 { return *begin(); }
15714 iterator __tmp = end();
15726 const_iterator __tmp = end();
15730 # 1031 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3
15732 push_front(const value_type& __x)
15734 if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first)
15736 this->_M_impl.construct(this->_M_impl._M_start._M_cur - 1, __x);
15737 --this->_M_impl._M_start._M_cur;
15740 _M_push_front_aux(__x);
15742 # 1052 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3
15744 push_back(const value_type& __x)
15746 if (this->_M_impl._M_finish._M_cur
15747 != this->_M_impl._M_finish._M_last - 1)
15749 this->_M_impl.construct(this->_M_impl._M_finish._M_cur, __x);
15750 ++this->_M_impl._M_finish._M_cur;
15753 _M_push_back_aux(__x);
15755 # 1073 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3
15759 if (this->_M_impl._M_start._M_cur
15760 != this->_M_impl._M_start._M_last - 1)
15762 this->_M_impl.destroy(this->_M_impl._M_start._M_cur);
15763 ++this->_M_impl._M_start._M_cur;
15766 _M_pop_front_aux();
15768 # 1094 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3
15772 if (this->_M_impl._M_finish._M_cur
15773 != this->_M_impl._M_finish._M_first)
15775 --this->_M_impl._M_finish._M_cur;
15776 this->_M_impl.destroy(this->_M_impl._M_finish._M_cur);
15781 # 1116 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3
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
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>
15791 insert(iterator __position, _InputIterator __first,
15792 _InputIterator __last)
15795 typedef typename std::__is_integer<_InputIterator>::__type _Integral;
15796 _M_insert_dispatch(__position, __first, __last, _Integral());
15798 # 1165 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3
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
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
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);
15815 std::__alloc_swap<_Tp_alloc_type>::_S_do_it(_M_get_Tp_allocator(),
15816 __x._M_get_Tp_allocator());
15827 { _M_erase_at_end(begin()); }
15833 template<typename _Integer>
15835 _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type)
15837 _M_initialize_map(__n);
15838 _M_fill_initialize(__x);
15842 template<typename _InputIterator>
15844 _M_initialize_dispatch(_InputIterator __first, _InputIterator __last,
15847 typedef typename std::iterator_traits<_InputIterator>::
15848 iterator_category _IterCategory;
15849 _M_range_initialize(__first, __last, _IterCategory());
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>
15854 _M_range_initialize(_InputIterator __first, _InputIterator __last,
15855 std::input_iterator_tag);
15858 template<typename _ForwardIterator>
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
15864 _M_fill_initialize(const value_type& __value);
15870 template<typename _Integer>
15872 _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
15874 _M_fill_assign(static_cast<size_type>(__n),
15875 static_cast<value_type>(__val));
15879 template<typename _InputIterator>
15881 _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
15884 typedef typename std::iterator_traits<_InputIterator>::
15885 iterator_category _IterCategory;
15886 _M_assign_aux(__first, __last, _IterCategory());
15890 template<typename _InputIterator>
15892 _M_assign_aux(_InputIterator __first, _InputIterator __last,
15893 std::input_iterator_tag);
15896 template<typename _ForwardIterator>
15898 _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
15899 std::forward_iterator_tag)
15901 const size_type __len = std::distance(__first, __last);
15902 if (__len > size())
15904 _ForwardIterator __mid = __first;
15905 std::advance(__mid, size());
15906 std::copy(__first, __mid, begin());
15907 insert(end(), __mid, __last);
15910 _M_erase_at_end(std::copy(__first, __last, begin()));
15916 _M_fill_assign(size_type __n, const value_type& __val)
15920 std::fill(begin(), end(), __val);
15921 insert(end(), __n - size(), __val);
15925 _M_erase_at_end(begin() + difference_type(__n));
15926 std::fill(begin(), end(), __val);
15936 void _M_push_back_aux(const value_type&);
15938 void _M_push_front_aux(const value_type&);
15940 void _M_pop_back_aux();
15942 void _M_pop_front_aux();
15949 template<typename _Integer>
15951 _M_insert_dispatch(iterator __pos,
15952 _Integer __n, _Integer __x, __true_type)
15954 _M_fill_insert(__pos, static_cast<size_type>(__n),
15955 static_cast<value_type>(__x));
15959 template<typename _InputIterator>
15961 _M_insert_dispatch(iterator __pos,
15962 _InputIterator __first, _InputIterator __last,
15965 typedef typename std::iterator_traits<_InputIterator>::
15966 iterator_category _IterCategory;
15967 _M_range_insert_aux(__pos, __first, __last, _IterCategory());
15971 template<typename _InputIterator>
15973 _M_range_insert_aux(iterator __pos, _InputIterator __first,
15974 _InputIterator __last, std::input_iterator_tag);
15977 template<typename _ForwardIterator>
15979 _M_range_insert_aux(iterator __pos, _ForwardIterator __first,
15980 _ForwardIterator __last, std::forward_iterator_tag);
15986 _M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
15990 _M_insert_aux(iterator __pos, const value_type& __x);
15994 _M_insert_aux(iterator __pos, size_type __n, const value_type& __x);
15997 template<typename _ForwardIterator>
15999 _M_insert_aux(iterator __pos,
16000 _ForwardIterator __first, _ForwardIterator __last,
16007 _M_destroy_data_aux(iterator __first, iterator __last);
16010 _M_destroy_data_dispatch(iterator, iterator, __true_type) { }
16013 _M_destroy_data_dispatch(iterator __first, iterator __last, __false_type)
16014 { _M_destroy_data_aux(__first, __last); }
16018 template<typename _Alloc1>
16020 _M_destroy_data(iterator __first, iterator __last, const _Alloc1&)
16021 { _M_destroy_data_aux(__first, __last); }
16024 _M_destroy_data(iterator __first, iterator __last,
16025 const std::allocator<_Tp>&)
16027 typedef typename std::__is_scalar<value_type>::__type
16028 _Has_trivial_destructor;
16029 _M_destroy_data_dispatch(__first, __last, _Has_trivial_destructor());
16034 _M_erase_at_begin(iterator __pos)
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;
16044 _M_erase_at_end(iterator __pos)
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;
16051 # 1477 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_deque.h" 3
16053 _M_reserve_elements_at_front(size_type __n)
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);
16063 _M_reserve_elements_at_back(size_type __n)
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);
16073 _M_new_elements_at_front(size_type __new_elements);
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
16079 _M_reserve_map_at_back(size_type __nodes_to_add = 1)
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);
16087 _M_reserve_map_at_front(size_type __nodes_to_add = 1)
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);
16095 _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front);
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>
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>
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()); }
16114 template<typename _Tp, typename _Alloc>
16116 operator!=(const deque<_Tp, _Alloc>& __x,
16117 const deque<_Tp, _Alloc>& __y)
16118 { return !(__x == __y); }
16121 template<typename _Tp, typename _Alloc>
16123 operator>(const deque<_Tp, _Alloc>& __x,
16124 const deque<_Tp, _Alloc>& __y)
16125 { return __y < __x; }
16128 template<typename _Tp, typename _Alloc>
16130 operator<=(const deque<_Tp, _Alloc>& __x,
16131 const deque<_Tp, _Alloc>& __y)
16132 { return !(__y < __x); }
16135 template<typename _Tp, typename _Alloc>
16137 operator>=(const deque<_Tp, _Alloc>& __x,
16138 const deque<_Tp, _Alloc>& __y)
16139 { return !(__x < __y); }
16142 template<typename _Tp, typename _Alloc>
16144 swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y)
16148 # 71 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/deque" 2 3
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
16155 namespace std __attribute__ ((__visibility__ ("default"))) {
16157 template <typename _Tp, typename _Alloc>
16158 deque<_Tp, _Alloc>&
16159 deque<_Tp, _Alloc>::
16160 operator=(const deque& __x)
16162 const size_type __len = size();
16165 if (__len >= __x.size())
16166 _M_erase_at_end(std::copy(__x.begin(), __x.end(),
16167 this->_M_impl._M_start));
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());
16178 template <typename _Tp, typename _Alloc>
16179 typename deque<_Tp, _Alloc>::iterator
16180 deque<_Tp, _Alloc>::
16181 insert(iterator __position, const value_type& __x)
16183 if (__position._M_cur == this->_M_impl._M_start._M_cur)
16186 return this->_M_impl._M_start;
16188 else if (__position._M_cur == this->_M_impl._M_finish._M_cur)
16191 iterator __tmp = this->_M_impl._M_finish;
16196 return _M_insert_aux(__position, __x);
16199 template <typename _Tp, typename _Alloc>
16200 typename deque<_Tp, _Alloc>::iterator
16201 deque<_Tp, _Alloc>::
16202 erase(iterator __position)
16204 iterator __next = __position;
16206 const difference_type __index = __position - begin();
16207 if (static_cast<size_type>(__index) < (size() >> 1))
16209 if (__position != begin())
16210 std::copy_backward(begin(), __position, __next);
16215 if (__next != end())
16216 std::copy(__next, end(), __position);
16219 return begin() + __index;
16222 template <typename _Tp, typename _Alloc>
16223 typename deque<_Tp, _Alloc>::iterator
16224 deque<_Tp, _Alloc>::
16225 erase(iterator __first, iterator __last)
16227 if (__first == begin() && __last == end())
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)
16238 if (__first != begin())
16239 std::copy_backward(begin(), __first, __last);
16240 _M_erase_at_begin(begin() + __n);
16244 if (__last != end())
16245 std::copy(__last, end(), __first);
16246 _M_erase_at_end(end() - __n);
16248 return begin() + __elems_before;
16252 template <typename _Tp, class _Alloc>
16253 template <typename _InputIterator>
16255 deque<_Tp, _Alloc>::
16256 _M_assign_aux(_InputIterator __first, _InputIterator __last,
16257 std::input_iterator_tag)
16259 iterator __cur = begin();
16260 for (; __first != __last && __cur != end(); ++__cur, ++__first)
16262 if (__first == __last)
16263 _M_erase_at_end(__cur);
16265 insert(end(), __first, __last);
16268 template <typename _Tp, typename _Alloc>
16270 deque<_Tp, _Alloc>::
16271 _M_fill_insert(iterator __pos, size_type __n, const value_type& __x)
16273 if (__pos._M_cur == this->_M_impl._M_start._M_cur)
16275 iterator __new_start = _M_reserve_elements_at_front(__n);
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;
16284 _M_destroy_nodes(__new_start._M_node,
16285 this->_M_impl._M_start._M_node);
16289 else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
16291 iterator __new_finish = _M_reserve_elements_at_back(__n);
16294 std::__uninitialized_fill_a(this->_M_impl._M_finish,
16296 _M_get_Tp_allocator());
16297 this->_M_impl._M_finish = __new_finish;
16301 _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
16302 __new_finish._M_node + 1);
16307 _M_insert_aux(__pos, __n, __x);
16310 template <typename _Tp, typename _Alloc>
16312 deque<_Tp, _Alloc>::
16313 _M_fill_initialize(const value_type& __value)
16315 _Map_pointer __cur;
16318 for (__cur = this->_M_impl._M_start._M_node;
16319 __cur < this->_M_impl._M_finish._M_node;
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());
16329 std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur),
16330 _M_get_Tp_allocator());
16335 template <typename _Tp, typename _Alloc>
16336 template <typename _InputIterator>
16338 deque<_Tp, _Alloc>::
16339 _M_range_initialize(_InputIterator __first, _InputIterator __last,
16340 std::input_iterator_tag)
16342 this->_M_initialize_map(0);
16345 for (; __first != __last; ++__first)
16346 push_back(*__first);
16355 template <typename _Tp, typename _Alloc>
16356 template <typename _ForwardIterator>
16358 deque<_Tp, _Alloc>::
16359 _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
16360 std::forward_iterator_tag)
16362 const size_type __n = std::distance(__first, __last);
16363 this->_M_initialize_map(__n);
16365 _Map_pointer __cur_node;
16368 for (__cur_node = this->_M_impl._M_start._M_node;
16369 __cur_node < this->_M_impl._M_finish._M_node;
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());
16378 std::__uninitialized_copy_a(__first, __last,
16379 this->_M_impl._M_finish._M_first,
16380 _M_get_Tp_allocator());
16384 std::_Destroy(this->_M_impl._M_start,
16385 iterator(*__cur_node, __cur_node),
16386 _M_get_Tp_allocator());
16392 template <typename _Tp, typename _Alloc>
16394 deque<_Tp, _Alloc>::
16395 _M_push_back_aux(const value_type& __t)
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();
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
16405 this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_first;
16409 _M_deallocate_node(*(this->_M_impl._M_finish._M_node + 1));
16415 template <typename _Tp, typename _Alloc>
16417 deque<_Tp, _Alloc>::
16418 _M_push_front_aux(const value_type& __t)
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();
16425 this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node
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);
16432 ++this->_M_impl._M_start;
16433 _M_deallocate_node(*(this->_M_impl._M_start._M_node - 1));
16439 template <typename _Tp, typename _Alloc>
16440 void deque<_Tp, _Alloc>::
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);
16454 template <typename _Tp, typename _Alloc>
16455 void deque<_Tp, _Alloc>::
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;
16464 template <typename _Tp, typename _Alloc>
16465 template <typename _InputIterator>
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)); }
16473 template <typename _Tp, typename _Alloc>
16474 template <typename _ForwardIterator>
16476 deque<_Tp, _Alloc>::
16477 _M_range_insert_aux(iterator __pos,
16478 _ForwardIterator __first, _ForwardIterator __last,
16479 std::forward_iterator_tag)
16481 const size_type __n = std::distance(__first, __last);
16482 if (__pos._M_cur == this->_M_impl._M_start._M_cur)
16484 iterator __new_start = _M_reserve_elements_at_front(__n);
16487 std::__uninitialized_copy_a(__first, __last, __new_start,
16488 _M_get_Tp_allocator());
16489 this->_M_impl._M_start = __new_start;
16493 _M_destroy_nodes(__new_start._M_node,
16494 this->_M_impl._M_start._M_node);
16498 else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
16500 iterator __new_finish = _M_reserve_elements_at_back(__n);
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;
16510 _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
16511 __new_finish._M_node + 1);
16516 _M_insert_aux(__pos, __first, __last, __n);
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)
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)
16528 push_front(front());
16529 iterator __front1 = this->_M_impl._M_start;
16531 iterator __front2 = __front1;
16533 __pos = this->_M_impl._M_start + __index;
16534 iterator __pos1 = __pos;
16536 std::copy(__front2, __pos1, __front1);
16541 iterator __back1 = this->_M_impl._M_finish;
16543 iterator __back2 = __back1;
16545 __pos = this->_M_impl._M_start + __index;
16546 std::copy_backward(__pos, __back2, __back1);
16552 template <typename _Tp, typename _Alloc>
16554 deque<_Tp, _Alloc>::
16555 _M_insert_aux(iterator __pos, size_type __n, const value_type& __x)
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))
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;
16567 if (__elems_before >= difference_type(__n))
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);
16580 std::__uninitialized_copy_fill(this->_M_impl._M_start,
16581 __pos, __new_start,
16582 this->_M_impl._M_start,
16584 _M_get_Tp_allocator());
16585 this->_M_impl._M_start = __new_start;
16586 std::fill(__old_start, __pos, __x_copy);
16591 _M_destroy_nodes(__new_start._M_node,
16592 this->_M_impl._M_start._M_node);
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;
16605 if (__elems_after > difference_type(__n))
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);
16619 std::__uninitialized_fill_copy(this->_M_impl._M_finish,
16620 __pos + difference_type(__n),
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);
16630 _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
16631 __new_finish._M_node + 1);
16637 template <typename _Tp, typename _Alloc>
16638 template <typename _ForwardIterator>
16640 deque<_Tp, _Alloc>::
16641 _M_insert_aux(iterator __pos,
16642 _ForwardIterator __first, _ForwardIterator __last,
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)
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;
16654 if (__elemsbefore >= difference_type(__n))
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));
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,
16672 _M_get_Tp_allocator());
16673 this->_M_impl._M_start = __new_start;
16674 std::copy(__mid, __last, __old_start);
16679 _M_destroy_nodes(__new_start._M_node,
16680 this->_M_impl._M_start._M_node);
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;
16693 if (__elemsafter > difference_type(__n))
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);
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);
16719 _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
16720 __new_finish._M_node + 1);
16726 template<typename _Tp, typename _Alloc>
16728 deque<_Tp, _Alloc>::
16729 _M_destroy_data_aux(iterator __first, iterator __last)
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());
16736 if (__first._M_node != __last._M_node)
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());
16744 std::_Destroy(__first._M_cur, __last._M_cur,
16745 _M_get_Tp_allocator());
16748 template <typename _Tp, typename _Alloc>
16750 deque<_Tp, _Alloc>::
16751 _M_new_elements_at_front(size_type __new_elems)
16753 if (this->max_size() - this->size() < __new_elems)
16754 __throw_length_error(("deque::_M_new_elements_at_front"));
16756 const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1)
16757 / _S_buffer_size());
16758 _M_reserve_map_at_front(__new_nodes);
16762 for (__i = 1; __i <= __new_nodes; ++__i)
16763 *(this->_M_impl._M_start._M_node - __i) = this->_M_allocate_node();
16767 for (size_type __j = 1; __j < __i; ++__j)
16768 _M_deallocate_node(*(this->_M_impl._M_start._M_node - __j));
16773 template <typename _Tp, typename _Alloc>
16775 deque<_Tp, _Alloc>::
16776 _M_new_elements_at_back(size_type __new_elems)
16778 if (this->max_size() - this->size() < __new_elems)
16779 __throw_length_error(("deque::_M_new_elements_at_back"));
16781 const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1)
16782 / _S_buffer_size());
16783 _M_reserve_map_at_back(__new_nodes);
16787 for (__i = 1; __i <= __new_nodes; ++__i)
16788 *(this->_M_impl._M_finish._M_node + __i) = this->_M_allocate_node();
16792 for (size_type __j = 1; __j < __i; ++__j)
16793 _M_deallocate_node(*(this->_M_impl._M_finish._M_node + __j));
16798 template <typename _Tp, typename _Alloc>
16800 deque<_Tp, _Alloc>::
16801 _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front)
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;
16807 _Map_pointer __new_nstart;
16808 if (this->_M_impl._M_map_size > 2 * __new_num_nodes)
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,
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);
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;
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,
16834 _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
16836 this->_M_impl._M_map = __new_map;
16837 this->_M_impl._M_map_size = __new_map_size;
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);
16846 template<typename _Tp>
16848 fill(const _Deque_iterator<_Tp, _Tp&, _Tp*>& __first,
16849 const _Deque_iterator<_Tp, _Tp&, _Tp*>& __last, const _Tp& __value)
16851 typedef typename _Deque_iterator<_Tp, _Tp&, _Tp*>::_Self _Self;
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);
16857 if (__first._M_node != __last._M_node)
16859 std::fill(__first._M_cur, __first._M_last, __value);
16860 std::fill(__last._M_first, __last._M_cur, __value);
16863 std::fill(__first._M_cur, __last._M_cur, __value);
16867 # 74 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/deque" 2 3
16874 typedef int32_t CommandUuid;
16886 static int32_t uuidGen;
16890 const Logger* logger;
16892 Command(int32_t cuid);
16894 virtual ~Command() {}
16896 virtual bool execute() = 0;
16898 int32_t getCuid() const { return cuid; }
16900 const CommandUuid& getUuid() const { return uuid; }
16902 void setStatusActive() { this->status = STATUS_ACTIVE; }
16904 void setStatusInactive() { this->status = STATUS_INACTIVE; }
16906 void setStatusRealtime() { this->status = STATUS_REALTIME; }
16908 bool statusMatch(Command::STATUS statusFilter) const
16910 return statusFilter <= status;
16913 void transitStatus();
16916 typedef std::deque<Command*> Commands;
16919 # 36 "Command.cc" 2
16920 # 1 "LogFactory.h" 1
16921 # 36 "LogFactory.h"
16922 #define _D_LOG_FACTORY_H_
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
16930 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/string" 3
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
16939 # 44 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/char_traits.h" 3
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>
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;
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>
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;
16966 assign(char_type& __c1, const char_type& __c2)
16970 eq(const char_type& __c1, const char_type& __c2)
16971 { return __c1 == __c2; }
16974 lt(const char_type& __c1, const char_type& __c2)
16975 { return __c1 < __c2; }
16978 compare(const char_type* __s1, const char_type* __s2, std::size_t __n);
16981 length(const char_type* __s);
16983 static const char_type*
16984 find(const char_type* __s, std::size_t __n, const char_type& __a);
16987 move(char_type* __s1, const char_type* __s2, std::size_t __n);
16990 copy(char_type* __s1, const char_type* __s2, std::size_t __n);
16993 assign(char_type* __s, std::size_t __n, char_type __a);
16996 to_char_type(const int_type& __c)
16997 { return static_cast<char_type>(__c); }
17000 to_int_type(const char_type& __c)
17001 { return static_cast<int_type>(__c); }
17004 eq_int_type(const int_type& __c1, const int_type& __c2)
17005 { return __c1 == __c2; }
17009 { return static_cast<int_type>((-1)); }
17012 not_eof(const int_type& __c)
17013 { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); }
17016 template<typename _CharT>
17018 char_traits<_CharT>::
17019 compare(const char_type* __s1, const char_type* __s2, std::size_t __n)
17021 for (std::size_t __i = 0; __i < __n; ++__i)
17022 if (lt(__s1[__i], __s2[__i]))
17024 else if (lt(__s2[__i], __s1[__i]))
17029 template<typename _CharT>
17031 char_traits<_CharT>::
17032 length(const char_type* __p)
17034 std::size_t __i = 0;
17035 while (!eq(__p[__i], char_type()))
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)
17045 for (std::size_t __i = 0; __i < __n; ++__i)
17046 if (eq(__s[__i], __a))
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)
17056 return static_cast<_CharT*>(std::memmove(__s1, __s2,
17057 __n * sizeof(char_type)));
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)
17065 std::copy(__s2, __s2 + __n, __s1);
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)
17074 std::fill_n(__s, __n, __a);
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>
17089 struct char_traits<char>
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;
17098 assign(char_type& __c1, const char_type& __c2)
17102 eq(const char_type& __c1, const char_type& __c2)
17103 { return __c1 == __c2; }
17106 lt(const char_type& __c1, const char_type& __c2)
17107 { return __c1 < __c2; }
17110 compare(const char_type* __s1, const char_type* __s2, size_t __n)
17111 { return memcmp(__s1, __s2, __n); }
17114 length(const char_type* __s)
17115 { return strlen(__s); }
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)); }
17122 move(char_type* __s1, const char_type* __s2, size_t __n)
17123 { return static_cast<char_type*>(memmove(__s1, __s2, __n)); }
17126 copy(char_type* __s1, const char_type* __s2, size_t __n)
17127 { return static_cast<char_type*>(memcpy(__s1, __s2, __n)); }
17130 assign(char_type* __s, size_t __n, char_type __a)
17131 { return static_cast<char_type*>(memset(__s, __a, __n)); }
17134 to_char_type(const int_type& __c)
17135 { return static_cast<char_type>(__c); }
17140 to_int_type(const char_type& __c)
17141 { return static_cast<int_type>(static_cast<unsigned char>(__c)); }
17144 eq_int_type(const int_type& __c1, const int_type& __c2)
17145 { return __c1 == __c2; }
17148 eof() { return static_cast<int_type>((-1)); }
17151 not_eof(const int_type& __c)
17152 { return (__c == eof()) ? 0 : __c; }
17159 struct char_traits<wchar_t>
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;
17168 assign(char_type& __c1, const char_type& __c2)
17172 eq(const char_type& __c1, const char_type& __c2)
17173 { return __c1 == __c2; }
17176 lt(const char_type& __c1, const char_type& __c2)
17177 { return __c1 < __c2; }
17180 compare(const char_type* __s1, const char_type* __s2, size_t __n)
17181 { return wmemcmp(__s1, __s2, __n); }
17184 length(const char_type* __s)
17185 { return wcslen(__s); }
17187 static const char_type*
17188 find(const char_type* __s, size_t __n, const char_type& __a)
17189 { return wmemchr(__s, __a, __n); }
17192 move(char_type* __s1, const char_type* __s2, size_t __n)
17193 { return wmemmove(__s1, __s2, __n); }
17196 copy(char_type* __s1, const char_type* __s2, size_t __n)
17197 { return wmemcpy(__s1, __s2, __n); }
17200 assign(char_type* __s, size_t __n, char_type __a)
17201 { return wmemset(__s, __a, __n); }
17204 to_char_type(const int_type& __c) { return char_type(__c); }
17207 to_int_type(const char_type& __c) { return int_type(__c); }
17210 eq_int_type(const int_type& __c1, const int_type& __c2)
17211 { return __c1 == __c2; }
17214 eof() { return static_cast<int_type>((0xffffffffu)); }
17217 not_eof(const int_type& __c)
17218 { return eq_int_type(__c, eof()) ? 0 : __c; }
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
17229 # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3
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
17240 namespace std __attribute__ ((__visibility__ ("default"))) {
17246 template <class _ForwardIterator, class _Tp>
17247 class raw_storage_iterator
17248 : public iterator<output_iterator_tag, void, void, void, void>
17251 _ForwardIterator _M_iter;
17255 raw_storage_iterator(_ForwardIterator __x)
17258 raw_storage_iterator&
17259 operator*() { return *this; }
17261 raw_storage_iterator&
17262 operator=(const _Tp& __element)
17264 std::_Construct(&*_M_iter, __element);
17268 raw_storage_iterator<_ForwardIterator, _Tp>&
17275 raw_storage_iterator<_ForwardIterator, _Tp>
17278 raw_storage_iterator<_ForwardIterator, _Tp> __tmp = *this;
17285 # 59 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 2 3
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
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
17299 #define __glibcxx_float_traps false
17302 #define __glibcxx_float_tinyness_before false
17310 #define __glibcxx_double_has_denorm_loss false
17313 #define __glibcxx_double_traps false
17316 #define __glibcxx_double_tinyness_before false
17324 #define __glibcxx_long_double_has_denorm_loss false
17327 #define __glibcxx_long_double_traps false
17330 #define __glibcxx_long_double_tinyness_before false
17335 #define __glibcxx_signed(T) ((T)(-1) < 0)
17337 #define __glibcxx_min(T) (__glibcxx_signed (T) ? (T)1 << __glibcxx_digits (T) : (T)0)
17340 #define __glibcxx_max(T) (__glibcxx_signed (T) ? ((T)1 << __glibcxx_digits (T)) - 1 : ~(T)0)
17343 #define __glibcxx_digits(T) (sizeof(T) * __CHAR_BIT__ - __glibcxx_signed (T))
17347 #define __glibcxx_digits10(T) (__glibcxx_digits (T) * 643 / 2136)
17351 namespace std __attribute__ ((__visibility__ ("default"))) {
17358 enum float_round_style
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
17373 enum float_denorm_style
17376 denorm_indeterminate = -1,
17382 # 192 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/limits" 3
17383 struct __numeric_limits_base
17387 static const bool is_specialized = false;
17392 static const int digits = 0;
17394 static const int digits10 = 0;
17396 static const bool is_signed = false;
17402 static const bool is_integer = false;
17407 static const bool is_exact = false;
17410 static const int radix = 0;
17414 static const int min_exponent = 0;
17417 static const int min_exponent10 = 0;
17421 static const int max_exponent = 0;
17424 static const int max_exponent10 = 0;
17427 static const bool has_infinity = false;
17430 static const bool has_quiet_NaN = false;
17433 static const bool has_signaling_NaN = false;
17435 static const float_denorm_style has_denorm = denorm_absent;
17438 static const bool has_denorm_loss = false;
17442 static const bool is_iec559 = false;
17446 static const bool is_bounded = false;
17451 static const bool is_modulo = false;
17454 static const bool traps = false;
17456 static const bool tinyness_before = false;
17460 static const float_round_style round_style = round_toward_zero;
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
17468 static _Tp min() throw() { return static_cast<_Tp>(0); }
17470 static _Tp max() throw() { return static_cast<_Tp>(0); }
17473 static _Tp epsilon() throw() { return static_cast<_Tp>(0); }
17475 static _Tp round_error() throw() { return static_cast<_Tp>(0); }
17477 static _Tp infinity() throw() { return static_cast<_Tp>(0); }
17479 static _Tp quiet_NaN() throw() { return static_cast<_Tp>(0); }
17482 static _Tp signaling_NaN() throw() { return static_cast<_Tp>(0); }
17486 static _Tp denorm_min() throw() { return static_cast<_Tp>(0); }
17494 struct numeric_limits<bool>
17496 static const bool is_specialized = true;
17498 static bool min() throw()
17500 static bool max() throw()
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()
17511 static bool round_error() throw()
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;
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;
17525 static bool infinity() throw()
17527 static bool quiet_NaN() throw()
17529 static bool signaling_NaN() throw()
17531 static bool denorm_min() throw()
17534 static const bool is_iec559 = false;
17535 static const bool is_bounded = true;
17536 static const bool is_modulo = false;
17541 static const bool traps = true;
17542 static const bool tinyness_before = false;
17543 static const float_round_style round_style = round_toward_zero;
17548 struct numeric_limits<char>
17550 static const bool is_specialized = true;
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); }
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()
17565 static char round_error() throw()
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;
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;
17579 static char infinity() throw()
17581 static char quiet_NaN() throw()
17583 static char signaling_NaN() throw()
17585 static char denorm_min() throw()
17586 { return static_cast<char>(0); }
17588 static const bool is_iec559 = false;
17589 static const bool is_bounded = true;
17590 static const bool is_modulo = true;
17592 static const bool traps = true;
17593 static const bool tinyness_before = false;
17594 static const float_round_style round_style = round_toward_zero;
17599 struct numeric_limits<signed char>
17601 static const bool is_specialized = true;
17603 static signed char min() throw()
17604 { return -127 - 1; }
17605 static signed char max() throw()
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()
17616 static signed char round_error() throw()
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;
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;
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); }
17639 static const bool is_iec559 = false;
17640 static const bool is_bounded = true;
17641 static const bool is_modulo = true;
17643 static const bool traps = true;
17644 static const bool tinyness_before = false;
17645 static const float_round_style round_style = round_toward_zero;
17650 struct numeric_limits<unsigned char>
17652 static const bool is_specialized = true;
17654 static unsigned char min() throw()
17656 static unsigned char max() throw()
17657 { return 127 * 2U + 1; }
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()
17667 static unsigned char round_error() throw()
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;
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;
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); }
17690 static const bool is_iec559 = false;
17691 static const bool is_bounded = true;
17692 static const bool is_modulo = true;
17694 static const bool traps = true;
17695 static const bool tinyness_before = false;
17696 static const float_round_style round_style = round_toward_zero;
17701 struct numeric_limits<wchar_t>
17703 static const bool is_specialized = true;
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); }
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()
17718 static wchar_t round_error() throw()
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;
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;
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(); }
17741 static const bool is_iec559 = false;
17742 static const bool is_bounded = true;
17743 static const bool is_modulo = true;
17745 static const bool traps = true;
17746 static const bool tinyness_before = false;
17747 static const float_round_style round_style = round_toward_zero;
17752 struct numeric_limits<short>
17754 static const bool is_specialized = true;
17756 static short min() throw()
17757 { return -32767 - 1; }
17758 static short max() throw()
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()
17769 static short round_error() throw()
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;
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;
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(); }
17792 static const bool is_iec559 = false;
17793 static const bool is_bounded = true;
17794 static const bool is_modulo = true;
17796 static const bool traps = true;
17797 static const bool tinyness_before = false;
17798 static const float_round_style round_style = round_toward_zero;
17803 struct numeric_limits<unsigned short>
17805 static const bool is_specialized = true;
17807 static unsigned short min() throw()
17809 static unsigned short max() throw()
17810 { return 32767 * 2U + 1; }
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()
17820 static unsigned short round_error() throw()
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;
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;
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); }
17843 static const bool is_iec559 = false;
17844 static const bool is_bounded = true;
17845 static const bool is_modulo = true;
17847 static const bool traps = true;
17848 static const bool tinyness_before = false;
17849 static const float_round_style round_style = round_toward_zero;
17854 struct numeric_limits<int>
17856 static const bool is_specialized = true;
17858 static int min() throw()
17859 { return -2147483647 - 1; }
17860 static int max() throw()
17861 { return 2147483647; }
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()
17871 static int round_error() throw()
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;
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;
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); }
17894 static const bool is_iec559 = false;
17895 static const bool is_bounded = true;
17896 static const bool is_modulo = true;
17898 static const bool traps = true;
17899 static const bool tinyness_before = false;
17900 static const float_round_style round_style = round_toward_zero;
17905 struct numeric_limits<unsigned int>
17907 static const bool is_specialized = true;
17909 static unsigned int min() throw()
17911 static unsigned int max() throw()
17912 { return 2147483647 * 2U + 1; }
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()
17922 static unsigned int round_error() throw()
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;
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;
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); }
17945 static const bool is_iec559 = false;
17946 static const bool is_bounded = true;
17947 static const bool is_modulo = true;
17949 static const bool traps = true;
17950 static const bool tinyness_before = false;
17951 static const float_round_style round_style = round_toward_zero;
17956 struct numeric_limits<long>
17958 static const bool is_specialized = true;
17960 static long min() throw()
17961 { return -9223372036854775807L - 1; }
17962 static long max() throw()
17963 { return 9223372036854775807L; }
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()
17973 static long round_error() throw()
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;
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;
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); }
17996 static const bool is_iec559 = false;
17997 static const bool is_bounded = true;
17998 static const bool is_modulo = true;
18000 static const bool traps = true;
18001 static const bool tinyness_before = false;
18002 static const float_round_style round_style = round_toward_zero;
18007 struct numeric_limits<unsigned long>
18009 static const bool is_specialized = true;
18011 static unsigned long min() throw()
18013 static unsigned long max() throw()
18014 { return 9223372036854775807L * 2UL + 1; }
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()
18024 static unsigned long round_error() throw()
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;
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;
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); }
18047 static const bool is_iec559 = false;
18048 static const bool is_bounded = true;
18049 static const bool is_modulo = true;
18051 static const bool traps = true;
18052 static const bool tinyness_before = false;
18053 static const float_round_style round_style = round_toward_zero;
18058 struct numeric_limits<long long>
18060 static const bool is_specialized = true;
18062 static long long min() throw()
18063 { return -9223372036854775807LL - 1; }
18064 static long long max() throw()
18065 { return 9223372036854775807LL; }
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()
18075 static long long round_error() throw()
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;
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;
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); }
18098 static const bool is_iec559 = false;
18099 static const bool is_bounded = true;
18100 static const bool is_modulo = true;
18102 static const bool traps = true;
18103 static const bool tinyness_before = false;
18104 static const float_round_style round_style = round_toward_zero;
18109 struct numeric_limits<unsigned long long>
18111 static const bool is_specialized = true;
18113 static unsigned long long min() throw()
18115 static unsigned long long max() throw()
18116 { return 9223372036854775807LL * 2ULL + 1; }
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()
18126 static unsigned long long round_error() throw()
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;
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;
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); }
18149 static const bool is_iec559 = false;
18150 static const bool is_bounded = true;
18151 static const bool is_modulo = true;
18153 static const bool traps = true;
18154 static const bool tinyness_before = false;
18155 static const float_round_style round_style = round_toward_zero;
18160 struct numeric_limits<float>
18162 static const bool is_specialized = true;
18164 static float min() throw()
18165 { return 1.17549435e-38F; }
18166 static float max() throw()
18167 { return 3.40282347e+38F; }
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()
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;
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;
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; }
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;
18206 static const bool traps = false;
18207 static const bool tinyness_before = false;
18208 static const float_round_style round_style = round_to_nearest;
18211 #undef __glibcxx_float_has_denorm_loss
18212 #undef __glibcxx_float_traps
18213 #undef __glibcxx_float_tinyness_before
18217 struct numeric_limits<double>
18219 static const bool is_specialized = true;
18221 static double min() throw()
18222 { return 2.2250738585072014e-308; }
18223 static double max() throw()
18224 { return 1.7976931348623157e+308; }
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()
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;
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;
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; }
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;
18263 static const bool traps = false;
18264 static const bool tinyness_before = false;
18265 static const float_round_style round_style = round_to_nearest;
18268 #undef __glibcxx_double_has_denorm_loss
18269 #undef __glibcxx_double_traps
18270 #undef __glibcxx_double_tinyness_before
18274 struct numeric_limits<long double>
18276 static const bool is_specialized = true;
18278 static long double min() throw()
18279 { return 3.36210314311209350626e-4932L; }
18280 static long double max() throw()
18281 { return 1.18973149535723176502e+4932L; }
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()
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;
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
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; }
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;
18321 static const bool traps = false;
18322 static const bool tinyness_before = false;
18323 static const float_round_style round_style = round_to_nearest;
18326 #undef __glibcxx_long_double_has_denorm_loss
18327 #undef __glibcxx_long_double_traps
18328 #undef __glibcxx_long_double_tinyness_before
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
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*)
18345 const ptrdiff_t __max = numeric_limits<ptrdiff_t>::max() / sizeof(_Tp);
18351 _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp),
18354 return pair<_Tp*, ptrdiff_t>(__tmp, __len);
18357 return pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0);
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>
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
18376 auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { }
18378 # 173 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3
18379 template<typename _Tp>
18387 typedef _Tp element_type;
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
18404 operator=(auto_ptr& __a) throw()
18406 reset(__a.release());
18409 # 239 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3
18410 template<typename _Tp1>
18412 operator=(auto_ptr<_Tp1>& __a) throw()
18414 reset(__a.release());
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
18421 operator*() const throw()
18434 operator->() const throw()
18439 # 299 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3
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
18446 element_type* __tmp = _M_ptr;
18450 # 328 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/memory" 3
18452 reset(element_type* __p = 0) throw()
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) { }
18465 operator=(auto_ptr_ref<element_type> __ref) throw()
18467 if (__ref._M_ptr != this->get())
18470 _M_ptr = __ref._M_ptr;
18475 template<typename _Tp1>
18476 operator auto_ptr_ref<_Tp1>() throw()
18477 { return auto_ptr_ref<_Tp1>(this->release()); }
18479 template<typename _Tp1>
18480 operator auto_ptr<_Tp1>() throw()
18481 { return auto_ptr<_Tp1>(this->release()); }
18485 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/string" 2 3
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
18493 # 39 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/ostream_insert.h" 3
18497 namespace std __attribute__ ((__visibility__ ("default"))) {
18499 template<typename _CharT, typename _Traits>
18501 __ostream_write(basic_ostream<_CharT, _Traits>& __out,
18502 const _CharT* __s, streamsize __n)
18504 typedef basic_ostream<_CharT, _Traits> __ostream_type;
18505 typedef typename __ostream_type::ios_base __ios_base;
18507 const streamsize __put = __out.rdbuf()->sputn(__s, __n);
18509 __out.setstate(__ios_base::badbit);
18512 template<typename _CharT, typename _Traits>
18514 __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n)
18516 typedef basic_ostream<_CharT, _Traits> __ostream_type;
18517 typedef typename __ostream_type::ios_base __ios_base;
18519 const _CharT __c = __out.fill();
18520 for (; __n > 0; --__n)
18522 const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c);
18523 if (_Traits::eq_int_type(__put, _Traits::eof()))
18525 __out.setstate(__ios_base::badbit);
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)
18536 typedef basic_ostream<_CharT, _Traits> __ostream_type;
18537 typedef typename __ostream_type::ios_base __ios_base;
18539 typename __ostream_type::sentry __cerb(__out);
18544 const streamsize __w = __out.width();
18547 const bool __left = ((__out.flags()
18548 & __ios_base::adjustfield)
18549 == __ios_base::left);
18551 __ostream_fill(__out, __w - __n);
18553 __ostream_write(__out, __s, __n);
18554 if (__left && __out.good())
18555 __ostream_fill(__out, __w - __n);
18558 __ostream_write(__out, __s, __n);
18562 { __out._M_setstate(__ios_base::badbit); }
18571 extern template ostream& __ostream_insert(ostream&, const char*, streamsize);
18574 extern template wostream& __ostream_insert(wostream&, const wchar_t*,
18580 # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/string" 2 3
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
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
18591 typedef _Arg argument_type;
18594 typedef _Result result_type;
18600 template <class _Arg1, class _Arg2, class _Result>
18601 struct binary_function
18603 typedef _Arg1 first_argument_type;
18606 typedef _Arg2 second_argument_type;
18607 typedef _Result result_type;
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>
18614 operator()(const _Tp& __x, const _Tp& __y) const
18615 { return __x + __y; }
18619 template <class _Tp>
18620 struct minus : public binary_function<_Tp, _Tp, _Tp>
18623 operator()(const _Tp& __x, const _Tp& __y) const
18624 { return __x - __y; }
18628 template <class _Tp>
18629 struct multiplies : public binary_function<_Tp, _Tp, _Tp>
18632 operator()(const _Tp& __x, const _Tp& __y) const
18633 { return __x * __y; }
18637 template <class _Tp>
18638 struct divides : public binary_function<_Tp, _Tp, _Tp>
18641 operator()(const _Tp& __x, const _Tp& __y) const
18642 { return __x / __y; }
18646 template <class _Tp>
18647 struct modulus : public binary_function<_Tp, _Tp, _Tp>
18650 operator()(const _Tp& __x, const _Tp& __y) const
18651 { return __x % __y; }
18655 template <class _Tp>
18656 struct negate : public unary_function<_Tp, _Tp>
18659 operator()(const _Tp& __x) const
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>
18667 operator()(const _Tp& __x, const _Tp& __y) const
18668 { return __x == __y; }
18672 template <class _Tp>
18673 struct not_equal_to : public binary_function<_Tp, _Tp, bool>
18676 operator()(const _Tp& __x, const _Tp& __y) const
18677 { return __x != __y; }
18681 template <class _Tp>
18682 struct greater : public binary_function<_Tp, _Tp, bool>
18685 operator()(const _Tp& __x, const _Tp& __y) const
18686 { return __x > __y; }
18690 template <class _Tp>
18691 struct less : public binary_function<_Tp, _Tp, bool>
18694 operator()(const _Tp& __x, const _Tp& __y) const
18695 { return __x < __y; }
18699 template <class _Tp>
18700 struct greater_equal : public binary_function<_Tp, _Tp, bool>
18703 operator()(const _Tp& __x, const _Tp& __y) const
18704 { return __x >= __y; }
18708 template <class _Tp>
18709 struct less_equal : public binary_function<_Tp, _Tp, bool>
18712 operator()(const _Tp& __x, const _Tp& __y) const
18713 { return __x <= __y; }
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>
18720 operator()(const _Tp& __x, const _Tp& __y) const
18721 { return __x && __y; }
18725 template <class _Tp>
18726 struct logical_or : public binary_function<_Tp, _Tp, bool>
18729 operator()(const _Tp& __x, const _Tp& __y) const
18730 { return __x || __y; }
18734 template <class _Tp>
18735 struct logical_not : public unary_function<_Tp, bool>
18738 operator()(const _Tp& __x) const
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>
18744 : public unary_function<typename _Predicate::argument_type, bool>
18747 _Predicate _M_pred;
18750 unary_negate(const _Predicate& __x) : _M_pred(__x) {}
18753 operator()(const typename _Predicate::argument_type& __x) const
18754 { return !_M_pred(__x); }
18758 template <class _Predicate>
18759 inline unary_negate<_Predicate>
18760 not1(const _Predicate& __pred)
18761 { return unary_negate<_Predicate>(__pred); }
18764 template <class _Predicate>
18765 class binary_negate
18766 : public binary_function<typename _Predicate::first_argument_type,
18767 typename _Predicate::second_argument_type,
18771 _Predicate _M_pred;
18774 binary_negate(const _Predicate& __x)
18778 operator()(const typename _Predicate::first_argument_type& __x,
18779 const typename _Predicate::second_argument_type& __y) const
18780 { return !_M_pred(__x, __y); }
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>
18791 : public unary_function<typename _Operation::second_argument_type,
18792 typename _Operation::result_type>
18796 typename _Operation::first_argument_type value;
18798 binder1st(const _Operation& __x,
18799 const typename _Operation::first_argument_type& __y)
18800 : op(__x), value(__y) {}
18802 typename _Operation::result_type
18803 operator()(const typename _Operation::second_argument_type& __x) const
18804 { return op(value, __x); }
18808 typename _Operation::result_type
18809 operator()(typename _Operation::second_argument_type& __x) const
18810 { return op(value, __x); }
18814 template <class _Operation, class _Tp>
18815 inline binder1st<_Operation>
18816 bind1st(const _Operation& __fn, const _Tp& __x)
18818 typedef typename _Operation::first_argument_type _Arg1_type;
18819 return binder1st<_Operation>(__fn, _Arg1_type(__x));
18823 template <class _Operation>
18825 : public unary_function<typename _Operation::first_argument_type,
18826 typename _Operation::result_type>
18830 typename _Operation::second_argument_type value;
18832 binder2nd(const _Operation& __x,
18833 const typename _Operation::second_argument_type& __y)
18834 : op(__x), value(__y) {}
18836 typename _Operation::result_type
18837 operator()(const typename _Operation::first_argument_type& __x) const
18838 { return op(__x, value); }
18842 typename _Operation::result_type
18843 operator()(typename _Operation::first_argument_type& __x) const
18844 { return op(__x, value); }
18848 template <class _Operation, class _Tp>
18849 inline binder2nd<_Operation>
18850 bind2nd(const _Operation& __fn, const _Tp& __x)
18852 typedef typename _Operation::second_argument_type _Arg2_type;
18853 return binder2nd<_Operation>(__fn, _Arg2_type(__x));
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>
18860 _Result (*_M_ptr)(_Arg);
18862 pointer_to_unary_function() {}
18865 pointer_to_unary_function(_Result (*__x)(_Arg))
18869 operator()(_Arg __x) const
18870 { return _M_ptr(__x); }
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); }
18880 template <class _Arg1, class _Arg2, class _Result>
18881 class pointer_to_binary_function
18882 : public binary_function<_Arg1, _Arg2, _Result>
18885 _Result (*_M_ptr)(_Arg1, _Arg2);
18887 pointer_to_binary_function() {}
18890 pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2))
18894 operator()(_Arg1 __x, _Arg2 __y) const
18895 { return _M_ptr(__x, __y); }
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); }
18905 template <class _Tp>
18906 struct _Identity : public unary_function<_Tp,_Tp>
18909 operator()(_Tp& __x) const
18913 operator()(const _Tp& __x) const
18917 template <class _Pair>
18918 struct _Select1st : public unary_function<_Pair,
18919 typename _Pair::first_type>
18921 typename _Pair::first_type&
18922 operator()(_Pair& __x) const
18923 { return __x.first; }
18925 const typename _Pair::first_type&
18926 operator()(const _Pair& __x) const
18927 { return __x.first; }
18930 template <class _Pair>
18931 struct _Select2nd : public unary_function<_Pair,
18932 typename _Pair::second_type>
18934 typename _Pair::second_type&
18935 operator()(_Pair& __x) const
18936 { return __x.second; }
18938 const typename _Pair::second_type&
18939 operator()(const _Pair& __x) const
18940 { return __x.second; }
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>
18948 mem_fun_t(_Ret (_Tp::*__pf)())
18952 operator()(_Tp* __p) const
18953 { return (__p->*_M_f)(); }
18955 _Ret (_Tp::*_M_f)();
18959 template <class _Ret, class _Tp>
18960 class const_mem_fun_t : public unary_function<const _Tp*, _Ret>
18964 const_mem_fun_t(_Ret (_Tp::*__pf)() const)
18968 operator()(const _Tp* __p) const
18969 { return (__p->*_M_f)(); }
18971 _Ret (_Tp::*_M_f)() const;
18975 template <class _Ret, class _Tp>
18976 class mem_fun_ref_t : public unary_function<_Tp, _Ret>
18980 mem_fun_ref_t(_Ret (_Tp::*__pf)())
18984 operator()(_Tp& __r) const
18985 { return (__r.*_M_f)(); }
18987 _Ret (_Tp::*_M_f)();
18991 template <class _Ret, class _Tp>
18992 class const_mem_fun_ref_t : public unary_function<_Tp, _Ret>
18996 const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const)
19000 operator()(const _Tp& __r) const
19001 { return (__r.*_M_f)(); }
19003 _Ret (_Tp::*_M_f)() const;
19007 template <class _Ret, class _Tp, class _Arg>
19008 class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret>
19012 mem_fun1_t(_Ret (_Tp::*__pf)(_Arg))
19016 operator()(_Tp* __p, _Arg __x) const
19017 { return (__p->*_M_f)(__x); }
19019 _Ret (_Tp::*_M_f)(_Arg);
19023 template <class _Ret, class _Tp, class _Arg>
19024 class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret>
19028 const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const)
19032 operator()(const _Tp* __p, _Arg __x) const
19033 { return (__p->*_M_f)(__x); }
19035 _Ret (_Tp::*_M_f)(_Arg) const;
19039 template <class _Ret, class _Tp, class _Arg>
19040 class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
19044 mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg))
19048 operator()(_Tp& __r, _Arg __x) const
19049 { return (__r.*_M_f)(__x); }
19051 _Ret (_Tp::*_M_f)(_Arg);
19055 template <class _Ret, class _Tp, class _Arg>
19056 class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
19060 const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const)
19064 operator()(const _Tp& __r, _Arg __x) const
19065 { return (__r.*_M_f)(__x); }
19067 _Ret (_Tp::*_M_f)(_Arg) const;
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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
19121 # 45 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
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
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
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
19136 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
19143 static inline _Atomic_word
19144 __exchange_and_add(volatile _Atomic_word* __mem, int __val)
19145 { return __sync_fetch_and_add(__mem, __val); }
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)
19154 _Atomic_word __result = *__mem;
19160 __atomic_add_single(_Atomic_word* __mem, int __val)
19161 { *__mem += __val; }
19163 static inline _Atomic_word
19164 __attribute__ ((__unused__))
19165 __exchange_and_add_dispatch(_Atomic_word* __mem, int __val)
19168 if (__gthread_active_p())
19169 return __exchange_and_add(__mem, __val);
19171 return __exchange_and_add_single(__mem, __val);
19178 __attribute__ ((__unused__))
19179 __atomic_add_dispatch(_Atomic_word* __mem, int __val)
19182 if (__gthread_active_p())
19183 __atomic_add(__mem, __val);
19185 __atomic_add_single(__mem, __val);
19197 #define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("":::"memory")
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
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>
19209 typedef typename _Alloc::template rebind<_CharT>::other _CharT_alloc_type;
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>
19225 typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
19226 typedef std::reverse_iterator<iterator> reverse_iterator;
19229 # 147 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
19232 size_type _M_length;
19233 size_type _M_capacity;
19234 _Atomic_word _M_refcount;
19237 struct _Rep : _Rep_base
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;
19247 static size_type _S_empty_rep_storage[];
19255 void* __p = reinterpret_cast<void*>(&_S_empty_rep_storage);
19256 return *reinterpret_cast<_Rep*>(__p);
19260 _M_is_leaked() const
19261 { return this->_M_refcount < 0; }
19264 _M_is_shared() const
19265 { return this->_M_refcount > 0; }
19269 { this->_M_refcount = -1; }
19273 { this->_M_refcount = 0; }
19276 _M_set_length_and_sharable(size_type __n)
19278 this->_M_set_sharable();
19279 this->_M_length = __n;
19280 traits_type::assign(this->_M_refdata()[__n], _S_terminal);
19286 _M_refdata() throw()
19287 { return reinterpret_cast<_CharT*>(this + 1); }
19290 _M_grab(const _Alloc& __alloc1, const _Alloc& __alloc2)
19292 return (!_M_is_leaked() && __alloc1 == __alloc2)
19293 ? _M_refcopy() : _M_clone(__alloc1);
19298 _S_create(size_type, size_type, const _Alloc&);
19301 _M_dispose(const _Alloc& __a)
19304 if (__builtin_expect(this != &_S_empty_rep(), false))
19306 if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount,
19312 _M_destroy(const _Alloc&) throw();
19315 _M_refcopy() throw()
19318 if (__builtin_expect(this != &_S_empty_rep(), false))
19320 __gnu_cxx::__atomic_add_dispatch(&this->_M_refcount, 1);
19321 return _M_refdata();
19325 _M_clone(const _Alloc&, size_type __res = 0);
19329 struct _Alloc_hider : _Alloc
19331 _Alloc_hider(_CharT* __dat, const _Alloc& __a)
19332 : _Alloc(__a), _M_p(__dat) { }
19342 static const size_type npos = static_cast<size_type>(-1);
19346 mutable _Alloc_hider _M_dataplus;
19350 { return _M_dataplus._M_p; }
19353 _M_data(_CharT* __p)
19354 { return (_M_dataplus._M_p = __p); }
19358 { return &((reinterpret_cast<_Rep*> (_M_data()))[-1]); }
19364 { return iterator(_M_data()); }
19368 { return iterator(_M_data() + this->size()); }
19373 if (!_M_rep()->_M_is_leaked())
19378 _M_check(size_type __pos, const char* __s) const
19380 if (__pos > this->size())
19381 __throw_out_of_range((__s));
19386 _M_check_length(size_type __n1, size_type __n2, const char* __s) const
19388 if (this->max_size() - (this->size() - __n1) < __n2)
19389 __throw_length_error((__s));
19394 _M_limit(size_type __pos, size_type __off) const
19396 const bool __testoff = __off < this->size() - __pos;
19397 return __testoff ? __off : this->size() - __pos;
19402 _M_disjunct(const _CharT* __s) const
19404 return (less<const _CharT*>()(__s, _M_data())
19405 || less<const _CharT*>()(_M_data() + this->size(), __s));
19411 _M_copy(_CharT* __d, const _CharT* __s, size_type __n)
19414 traits_type::assign(*__d, *__s);
19416 traits_type::copy(__d, __s, __n);
19420 _M_move(_CharT* __d, const _CharT* __s, size_type __n)
19423 traits_type::assign(*__d, *__s);
19425 traits_type::move(__d, __s, __n);
19429 _M_assign(_CharT* __d, size_type __n, _CharT __c)
19432 traits_type::assign(*__d, __c);
19434 traits_type::assign(__d, __n, __c);
19439 template<class _Iterator>
19441 _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2)
19443 for (; __k1 != __k2; ++__k1, ++__p)
19444 traits_type::assign(*__p, *__k1);
19448 _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2)
19449 { _S_copy_chars(__p, __k1.base(), __k2.base()); }
19452 _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2)
19453 { _S_copy_chars(__p, __k1.base(), __k2.base()); }
19456 _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2)
19457 { _M_copy(__p, __k1, __k2 - __k1); }
19460 _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2)
19461 { _M_copy(__p, __k1, __k2 - __k1); }
19464 _M_mutate(size_type __pos, size_type __len1, size_type __len2);
19471 { return _Rep::_S_empty_rep(); }
19488 basic_string(const _Alloc& __a);
19495 basic_string(const basic_string& __str);
19502 basic_string(const basic_string& __str, size_type __pos,
19503 size_type __n = npos);
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());
19521 basic_string(const _CharT* __s, const _Alloc& __a = _Alloc());
19528 basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc());
19536 template<class _InputIterator>
19537 basic_string(_InputIterator __beg, _InputIterator __end,
19538 const _Alloc& __a = _Alloc());
19544 { _M_rep()->_M_dispose(this->get_allocator()); }
19551 operator=(const basic_string& __str)
19552 { return this->assign(__str); }
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
19563 operator=(_CharT __c)
19565 this->assign(1, __c);
19578 return iterator(_M_data());
19587 { return const_iterator(_M_data()); }
19597 return iterator(_M_data() + this->size());
19606 { return const_iterator(_M_data() + this->size()); }
19615 { return reverse_iterator(this->end()); }
19622 const_reverse_iterator
19624 { return const_reverse_iterator(this->end()); }
19633 { return reverse_iterator(this->begin()); }
19640 const_reverse_iterator
19642 { return const_reverse_iterator(this->begin()); }
19650 { return _M_rep()->_M_length; }
19656 { return _M_rep()->_M_length; }
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
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
19667 resize(size_type __n)
19668 { this->resize(__n, _CharT()); }
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
19679 reserve(size_type __res_arg = 0);
19686 { _M_mutate(0, this->size(), 0); }
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
19696 operator[] (size_type __pos) const
19699 return _M_data()[__pos];
19701 # 706 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
19703 operator[](size_type __pos)
19710 return _M_data()[__pos];
19712 # 727 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
19714 at(size_type __n) const
19716 if (__n >= this->size())
19717 __throw_out_of_range(("basic_string::at"));
19718 return _M_data()[__n];
19720 # 746 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
19725 __throw_out_of_range(("basic_string::at"));
19727 return _M_data()[__n];
19737 operator+=(const basic_string& __str)
19738 { return this->append(__str); }
19746 operator+=(const _CharT* __s)
19747 { return this->append(__s); }
19755 operator+=(_CharT __c)
19757 this->push_back(__c);
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
19770 append(const basic_string& __str, size_type __pos, size_type __n);
19779 append(const _CharT* __s, size_type __n);
19787 append(const _CharT* __s)
19790 return this->append(__s, traits_type::length(__s));
19792 # 838 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
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>
19798 append(_InputIterator __first, _InputIterator __last)
19799 { return this->replace(_M_iend(), _M_iend(), __first, __last); }
19806 push_back(_CharT __c)
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);
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
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
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
19833 assign(const _CharT* __s)
19836 return this->assign(__s, traits_type::length(__s));
19838 # 932 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
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>
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
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>
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
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
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
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
19872 insert(size_type __pos, const _CharT* __s)
19875 return this->insert(__pos, __s, traits_type::length(__s));
19877 # 1078 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
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
19884 insert(iterator __p, _CharT __c)
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);
19892 # 1119 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
19894 erase(size_type __pos = 0, size_type __n = npos)
19896 _M_mutate(_M_check(__pos, "basic_string::erase"),
19897 _M_limit(__pos, __n), size_type(0));
19900 # 1135 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
19902 erase(iterator __position)
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);
19911 # 1155 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
19913 erase(iterator __first, iterator __last)
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);
19922 # 1182 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
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
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
19935 replace(size_type __pos, size_type __n1, const _CharT* __s,
19937 # 1247 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
19939 replace(size_type __pos, size_type __n1, const _CharT* __s)
19942 return this->replace(__pos, __n1, __s, traits_type::length(__s));
19944 # 1270 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
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
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
19955 replace(iterator __i1, iterator __i2, const _CharT* __s, size_type __n)
19959 return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __s, __n);
19961 # 1327 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
19963 replace(iterator __i1, iterator __i2, const _CharT* __s)
19966 return this->replace(__i1, __i2, __s, traits_type::length(__s));
19968 # 1348 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
19970 replace(iterator __i1, iterator __i2, size_type __n, _CharT __c)
19974 return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __c);
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>
19979 replace(iterator __i1, iterator __i2,
19980 _InputIterator __k1, _InputIterator __k2)
19985 typedef typename std::__is_integer<_InputIterator>::__type _Integral;
19986 return _M_replace_dispatch(__i1, __i2, __k1, __k2, _Integral());
19992 replace(iterator __i1, iterator __i2, _CharT* __k1, _CharT* __k2)
19997 return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
19998 __k1, __k2 - __k1);
20002 replace(iterator __i1, iterator __i2,
20003 const _CharT* __k1, const _CharT* __k2)
20008 return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
20009 __k1, __k2 - __k1);
20013 replace(iterator __i1, iterator __i2, iterator __k1, iterator __k2)
20018 return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
20019 __k1.base(), __k2 - __k1);
20023 replace(iterator __i1, iterator __i2,
20024 const_iterator __k1, const_iterator __k2)
20029 return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
20030 __k1.base(), __k2 - __k1);
20034 template<class _Integer>
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); }
20040 template<class _InputIterator>
20042 _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1,
20043 _InputIterator __k2, __false_type);
20046 _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
20050 _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s,
20055 template<class _InIterator>
20057 _S_construct_aux(_InIterator __beg, _InIterator __end,
20058 const _Alloc& __a, __false_type)
20060 typedef typename iterator_traits<_InIterator>::iterator_category _Tag;
20061 return _S_construct(__beg, __end, __a, _Tag());
20064 template<class _InIterator>
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); }
20071 template<class _InIterator>
20073 _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a)
20075 typedef typename std::__is_integer<_InIterator>::__type _Integral;
20076 return _S_construct_aux(__beg, __end, __a, _Integral());
20080 template<class _InIterator>
20082 _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a,
20083 input_iterator_tag);
20087 template<class _FwdIterator>
20089 _S_construct(_FwdIterator __beg, _FwdIterator __end, const _Alloc& __a,
20090 forward_iterator_tag);
20093 _S_construct(size_type __req, _CharT __c, const _Alloc& __a);
20096 # 1501 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
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
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
20105 { return _M_data(); }
20115 { return _M_data(); }
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
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
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
20132 find(const _CharT* __s, size_type __pos = 0) const
20135 return this->find(__s, __pos, traits_type::length(__s));
20137 # 1597 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
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
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
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
20149 rfind(const _CharT* __s, size_type __pos = npos) const
20152 return this->rfind(__s, __pos, traits_type::length(__s));
20154 # 1655 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
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
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
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
20166 find_first_of(const _CharT* __s, size_type __pos = 0) const
20169 return this->find_first_of(__s, __pos, traits_type::length(__s));
20171 # 1715 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
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
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
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
20184 find_last_of(const _CharT* __s, size_type __pos = npos) const
20187 return this->find_last_of(__s, __pos, traits_type::length(__s));
20189 # 1776 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
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
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
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
20203 find_first_not_of(const _CharT* __s, size_type __pos = 0) const
20206 return this->find_first_not_of(__s, __pos, traits_type::length(__s));
20208 # 1836 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
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
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
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
20221 find_last_not_of(const _CharT* __s, size_type __pos = npos) const
20224 return this->find_last_not_of(__s, __pos, traits_type::length(__s));
20226 # 1895 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
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
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
20236 compare(const basic_string& __str) const
20238 const size_type __size = this->size();
20239 const size_type __osize = __str.size();
20240 const size_type __len = std::min(__size, __osize);
20242 int __r = traits_type::compare(_M_data(), __str.data(), __len);
20244 __r = __size - __osize;
20247 # 1958 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.h" 3
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
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
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
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
20262 compare(size_type __pos, size_type __n1, const _CharT* __s,
20263 size_type __n2) const;
20266 template<typename _CharT, typename _Traits, typename _Alloc>
20267 inline basic_string<_CharT, _Traits, _Alloc>::
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)
20277 basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
20278 __str.append(__rhs);
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);
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);
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)
20314 basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
20315 __str.append(__rhs);
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)
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);
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>
20338 operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
20339 const basic_string<_CharT, _Traits, _Alloc>& __rhs)
20340 { return __lhs.compare(__rhs) == 0; }
20348 template<typename _CharT, typename _Traits, typename _Alloc>
20350 operator==(const _CharT* __lhs,
20351 const basic_string<_CharT, _Traits, _Alloc>& __rhs)
20352 { return __rhs.compare(__lhs) == 0; }
20360 template<typename _CharT, typename _Traits, typename _Alloc>
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>
20368 operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
20369 const basic_string<_CharT, _Traits, _Alloc>& __rhs)
20370 { return __rhs.compare(__lhs) != 0; }
20378 template<typename _CharT, typename _Traits, typename _Alloc>
20380 operator!=(const _CharT* __lhs,
20381 const basic_string<_CharT, _Traits, _Alloc>& __rhs)
20382 { return __rhs.compare(__lhs) != 0; }
20390 template<typename _CharT, typename _Traits, typename _Alloc>
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>
20398 operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
20399 const basic_string<_CharT, _Traits, _Alloc>& __rhs)
20400 { return __lhs.compare(__rhs) < 0; }
20408 template<typename _CharT, typename _Traits, typename _Alloc>
20410 operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
20411 const _CharT* __rhs)
20412 { return __lhs.compare(__rhs) < 0; }
20420 template<typename _CharT, typename _Traits, typename _Alloc>
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>
20428 operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
20429 const basic_string<_CharT, _Traits, _Alloc>& __rhs)
20430 { return __lhs.compare(__rhs) > 0; }
20438 template<typename _CharT, typename _Traits, typename _Alloc>
20440 operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
20441 const _CharT* __rhs)
20442 { return __lhs.compare(__rhs) > 0; }
20450 template<typename _CharT, typename _Traits, typename _Alloc>
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>
20458 operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
20459 const basic_string<_CharT, _Traits, _Alloc>& __rhs)
20460 { return __lhs.compare(__rhs) <= 0; }
20468 template<typename _CharT, typename _Traits, typename _Alloc>
20470 operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
20471 const _CharT* __rhs)
20472 { return __lhs.compare(__rhs) <= 0; }
20480 template<typename _CharT, typename _Traits, typename _Alloc>
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>
20488 operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
20489 const basic_string<_CharT, _Traits, _Alloc>& __rhs)
20490 { return __lhs.compare(__rhs) >= 0; }
20498 template<typename _CharT, typename _Traits, typename _Alloc>
20500 operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
20501 const _CharT* __rhs)
20502 { return __lhs.compare(__rhs) >= 0; }
20510 template<typename _CharT, typename _Traits, typename _Alloc>
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>
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);
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)
20538 return __ostream_insert(__os, __str.data(), __str.size());
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')); }
20553 basic_istream<char>&
20554 getline(basic_istream<char>& __in, basic_string<char>& __str,
20559 basic_istream<wchar_t>&
20560 getline(basic_istream<wchar_t>& __in, basic_string<wchar_t>& __str,
20565 # 55 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/string" 2 3
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
20573 # 64 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/algorithm" 3
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
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
20588 namespace std __attribute__ ((__visibility__ ("default"))) {
20593 template<typename _RandomAccessIterator, typename _Distance>
20595 __is_heap(_RandomAccessIterator __first, _Distance __n)
20597 _Distance __parent = 0;
20598 for (_Distance __child = 1; __child < __n; ++__child)
20600 if (__first[__parent] < __first[__child])
20602 if ((__child & 1) == 0)
20608 template<typename _RandomAccessIterator, typename _Distance,
20609 typename _StrictWeakOrdering>
20611 __is_heap(_RandomAccessIterator __first, _StrictWeakOrdering __comp,
20614 _Distance __parent = 0;
20615 for (_Distance __child = 1; __child < __n; ++__child)
20617 if (__comp(__first[__parent], __first[__child]))
20619 if ((__child & 1) == 0)
20625 template<typename _RandomAccessIterator>
20627 __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
20628 { return std::__is_heap(__first, std::distance(__first, __last)); }
20630 template<typename _RandomAccessIterator, typename _StrictWeakOrdering>
20632 __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
20633 _StrictWeakOrdering __comp)
20634 { return std::__is_heap(__first, __comp, std::distance(__first, __last)); }
20638 template<typename _RandomAccessIterator, typename _Distance, typename _Tp>
20640 __push_heap(_RandomAccessIterator __first,
20641 _Distance __holeIndex, _Distance __topIndex, _Tp __value)
20643 _Distance __parent = (__holeIndex - 1) / 2;
20644 while (__holeIndex > __topIndex && *(__first + __parent) < __value)
20646 *(__first + __holeIndex) = *(__first + __parent);
20647 __holeIndex = __parent;
20648 __parent = (__holeIndex - 1) / 2;
20650 *(__first + __holeIndex) = __value;
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>
20655 push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
20657 typedef typename iterator_traits<_RandomAccessIterator>::value_type
20659 typedef typename iterator_traits<_RandomAccessIterator>::difference_type
20669 std::__push_heap(__first, _DistanceType((__last - __first) - 1),
20670 _DistanceType(0), _ValueType(*(__last - 1)));
20673 template<typename _RandomAccessIterator, typename _Distance, typename _Tp,
20676 __push_heap(_RandomAccessIterator __first, _Distance __holeIndex,
20677 _Distance __topIndex, _Tp __value, _Compare __comp)
20679 _Distance __parent = (__holeIndex - 1) / 2;
20680 while (__holeIndex > __topIndex
20681 && __comp(*(__first + __parent), __value))
20683 *(__first + __holeIndex) = *(__first + __parent);
20684 __holeIndex = __parent;
20685 __parent = (__holeIndex - 1) / 2;
20687 *(__first + __holeIndex) = __value;
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>
20692 push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
20695 typedef typename iterator_traits<_RandomAccessIterator>::value_type
20697 typedef typename iterator_traits<_RandomAccessIterator>::difference_type
20706 std::__push_heap(__first, _DistanceType((__last - __first) - 1),
20707 _DistanceType(0), _ValueType(*(__last - 1)), __comp);
20710 template<typename _RandomAccessIterator, typename _Distance, typename _Tp>
20712 __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
20713 _Distance __len, _Tp __value)
20715 const _Distance __topIndex = __holeIndex;
20716 _Distance __secondChild = 2 * __holeIndex + 2;
20717 while (__secondChild < __len)
20719 if (*(__first + __secondChild) < *(__first + (__secondChild - 1)))
20721 *(__first + __holeIndex) = *(__first + __secondChild);
20722 __holeIndex = __secondChild;
20723 __secondChild = 2 * (__secondChild + 1);
20725 if (__secondChild == __len)
20727 *(__first + __holeIndex) = *(__first + (__secondChild - 1));
20728 __holeIndex = __secondChild - 1;
20730 std::__push_heap(__first, __holeIndex, __topIndex, __value);
20733 template<typename _RandomAccessIterator, typename _Tp>
20735 __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
20736 _RandomAccessIterator __result, _Tp __value)
20738 typedef typename iterator_traits<_RandomAccessIterator>::difference_type
20740 *__result = *__first;
20741 std::__adjust_heap(__first, _Distance(0), _Distance(__last - __first),
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>
20747 pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
20749 typedef typename iterator_traits<_RandomAccessIterator>::value_type
20759 std::__pop_heap(__first, __last - 1, __last - 1,
20760 _ValueType(*(__last - 1)));
20763 template<typename _RandomAccessIterator, typename _Distance,
20764 typename _Tp, typename _Compare>
20766 __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
20767 _Distance __len, _Tp __value, _Compare __comp)
20769 const _Distance __topIndex = __holeIndex;
20770 _Distance __secondChild = 2 * __holeIndex + 2;
20771 while (__secondChild < __len)
20773 if (__comp(*(__first + __secondChild),
20774 *(__first + (__secondChild - 1))))
20776 *(__first + __holeIndex) = *(__first + __secondChild);
20777 __holeIndex = __secondChild;
20778 __secondChild = 2 * (__secondChild + 1);
20780 if (__secondChild == __len)
20782 *(__first + __holeIndex) = *(__first + (__secondChild - 1));
20783 __holeIndex = __secondChild - 1;
20785 std::__push_heap(__first, __holeIndex, __topIndex, __value, __comp);
20788 template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
20790 __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
20791 _RandomAccessIterator __result, _Tp __value, _Compare __comp)
20793 typedef typename iterator_traits<_RandomAccessIterator>::difference_type
20795 *__result = *__first;
20796 std::__adjust_heap(__first, _Distance(0), _Distance(__last - __first),
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>
20802 pop_heap(_RandomAccessIterator __first,
20803 _RandomAccessIterator __last, _Compare __comp)
20811 typedef typename iterator_traits<_RandomAccessIterator>::value_type
20813 std::__pop_heap(__first, __last - 1, __last - 1,
20814 _ValueType(*(__last - 1)), __comp);
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>
20819 make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
20821 typedef typename iterator_traits<_RandomAccessIterator>::value_type
20823 typedef typename iterator_traits<_RandomAccessIterator>::difference_type
20832 if (__last - __first < 2)
20835 const _DistanceType __len = __last - __first;
20836 _DistanceType __parent = (__len - 2) / 2;
20839 std::__adjust_heap(__first, __parent, __len,
20840 _ValueType(*(__first + __parent)));
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>
20849 make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
20852 typedef typename iterator_traits<_RandomAccessIterator>::value_type
20854 typedef typename iterator_traits<_RandomAccessIterator>::difference_type
20862 if (__last - __first < 2)
20865 const _DistanceType __len = __last - __first;
20866 _DistanceType __parent = (__len - 2) / 2;
20869 std::__adjust_heap(__first, __parent, __len,
20870 _ValueType(*(__first + __parent)), __comp);
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>
20879 sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
20889 while (__last - __first > 1)
20890 std::pop_heap(__first, _RandomAccessIterator(__last--));
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>
20895 sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
20904 while (__last - __first > 1)
20905 std::pop_heap(__first, _RandomAccessIterator(__last--), __comp);
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
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
20925 typedef _Tp value_type;
20926 typedef value_type* pointer;
20927 typedef pointer iterator;
20928 typedef ptrdiff_t size_type;
20931 size_type _M_original_len;
20936 _M_initialize_buffer(const _Tp&, __true_type) { }
20939 _M_initialize_buffer(const _Tp& __val, __false_type)
20940 { std::uninitialized_fill_n(_M_buffer, _M_len, __val); }
20950 requested_size() const
20951 { return _M_original_len; }
20956 { return _M_buffer; }
20961 { return _M_buffer + _M_len; }
20967 _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last);
20969 ~_Temporary_buffer()
20971 std::_Destroy(_M_buffer, _M_buffer + _M_len);
20972 std::return_temporary_buffer(_M_buffer);
20977 _Temporary_buffer(const _Temporary_buffer&);
20980 operator=(const _Temporary_buffer&);
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)
20991 typedef typename std::__is_scalar<_Tp>::__type _Trivial;
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;
21000 _M_initialize_buffer(*__first, _Trivial());
21004 std::return_temporary_buffer(_M_buffer);
21012 # 67 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/stl_algo.h" 2 3
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>
21021 __median(const _Tp& __a, const _Tp& __b, const _Tp& __c)
21028 else if (__a < __c)
21032 else if (__a < __c)
21034 else if (__b < __c)
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>
21042 __median(const _Tp& __a, const _Tp& __b, const _Tp& __c, _Compare __comp)
21046 if (__comp(__a, __b))
21047 if (__comp(__b, __c))
21049 else if (__comp(__a, __c))
21053 else if (__comp(__a, __c))
21055 else if (__comp(__b, __c))
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>
21063 for_each(_InputIterator __first, _InputIterator __last, _Function __f)
21068 for ( ; __first != __last; ++__first)
21078 template<typename _InputIterator, typename _Tp>
21079 inline _InputIterator
21080 __find(_InputIterator __first, _InputIterator __last,
21081 const _Tp& __val, input_iterator_tag)
21083 while (__first != __last && !(*__first == __val))
21093 template<typename _InputIterator, typename _Predicate>
21094 inline _InputIterator
21095 __find_if(_InputIterator __first, _InputIterator __last,
21096 _Predicate __pred, input_iterator_tag)
21098 while (__first != __last && !__pred(*__first))
21108 template<typename _RandomAccessIterator, typename _Tp>
21109 _RandomAccessIterator
21110 __find(_RandomAccessIterator __first, _RandomAccessIterator __last,
21111 const _Tp& __val, random_access_iterator_tag)
21113 typename iterator_traits<_RandomAccessIterator>::difference_type
21114 __trip_count = (__last - __first) >> 2;
21116 for ( ; __trip_count > 0 ; --__trip_count)
21118 if (*__first == __val)
21122 if (*__first == __val)
21126 if (*__first == __val)
21130 if (*__first == __val)
21135 switch (__last - __first)
21138 if (*__first == __val)
21142 if (*__first == __val)
21146 if (*__first == __val)
21160 template<typename _RandomAccessIterator, typename _Predicate>
21161 _RandomAccessIterator
21162 __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last,
21163 _Predicate __pred, random_access_iterator_tag)
21165 typename iterator_traits<_RandomAccessIterator>::difference_type
21166 __trip_count = (__last - __first) >> 2;
21168 for ( ; __trip_count > 0 ; --__trip_count)
21170 if (__pred(*__first))
21174 if (__pred(*__first))
21178 if (__pred(*__first))
21182 if (__pred(*__first))
21187 switch (__last - __first)
21190 if (__pred(*__first))
21194 if (__pred(*__first))
21198 if (__pred(*__first))
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>,
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,
21228 return std::__find(__first, __last, __val,
21229 std::__iterator_category(__first));
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,
21242 return std::__find_if(__first, __last, __pred,
21243 std::__iterator_category(__first));
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>
21248 adjacent_find(_ForwardIterator __first, _ForwardIterator __last)
21255 if (__first == __last)
21257 _ForwardIterator __next = __first;
21258 while(++__next != __last)
21260 if (*__first == *__next)
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>
21269 adjacent_find(_ForwardIterator __first, _ForwardIterator __last,
21270 _BinaryPredicate __binary_pred)
21278 if (__first == __last)
21280 _ForwardIterator __next = __first;
21281 while(++__next != __last)
21283 if (__binary_pred(*__first, *__next))
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)
21299 typename iterator_traits<_InputIterator>::difference_type __n = 0;
21300 for ( ; __first != __last; ++__first)
21301 if (*__first == __value)
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)
21315 typename iterator_traits<_InputIterator>::difference_type __n = 0;
21316 for ( ; __first != __last; ++__first)
21317 if (__pred(*__first))
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>
21324 search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
21325 _ForwardIterator2 __first2, _ForwardIterator2 __last2)
21336 if (__first1 == __last1 || __first2 == __last2)
21340 _ForwardIterator2 __tmp(__first2);
21342 if (__tmp == __last2)
21343 return std::find(__first1, __last1, *__first2);
21346 _ForwardIterator2 __p1, __p;
21347 __p1 = __first2; ++__p1;
21348 _ForwardIterator1 __current = __first1;
21350 while (__first1 != __last1)
21352 __first1 = std::find(__first1, __last1, *__first2);
21353 if (__first1 == __last1)
21357 __current = __first1;
21358 if (++__current == __last1)
21361 while (*__current == *__p)
21363 if (++__p == __last2)
21365 if (++__current == __last1)
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>
21376 search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
21377 _ForwardIterator2 __first2, _ForwardIterator2 __last2,
21378 _BinaryPredicate __predicate)
21390 if (__first1 == __last1 || __first2 == __last2)
21394 _ForwardIterator2 __tmp(__first2);
21396 if (__tmp == __last2)
21398 while (__first1 != __last1 && !__predicate(*__first1, *__first2))
21404 _ForwardIterator2 __p1, __p;
21405 __p1 = __first2; ++__p1;
21406 _ForwardIterator1 __current = __first1;
21408 while (__first1 != __last1)
21410 while (__first1 != __last1)
21412 if (__predicate(*__first1, *__first2))
21416 while (__first1 != __last1 && !__predicate(*__first1, *__first2))
21418 if (__first1 == __last1)
21422 __current = __first1;
21423 if (++__current == __last1)
21426 while (__predicate(*__current, *__p))
21428 if (++__p == __last2)
21430 if (++__current == __last1)
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>
21440 __search_n(_ForwardIterator __first, _ForwardIterator __last,
21441 _Integer __count, const _Tp& __val,
21442 std::forward_iterator_tag)
21444 __first = std::find(__first, __last, __val);
21445 while (__first != __last)
21447 typename iterator_traits<_ForwardIterator>::difference_type
21449 _ForwardIterator __i = __first;
21451 while (__i != __last && __n != 1 && *__i == __val)
21460 __first = std::find(++__i, __last, __val);
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>
21467 __search_n(_RandomAccessIter __first, _RandomAccessIter __last,
21468 _Integer __count, const _Tp& __val,
21469 std::random_access_iterator_tag)
21472 typedef typename std::iterator_traits<_RandomAccessIter>::difference_type
21475 _DistanceType __tailSize = __last - __first;
21476 const _DistanceType __pattSize = __count;
21478 if (__tailSize < __pattSize)
21481 const _DistanceType __skipOffset = __pattSize - 1;
21482 _RandomAccessIter __lookAhead = __first + __skipOffset;
21483 __tailSize -= __pattSize;
21489 while (!(*__lookAhead == __val))
21491 if (__tailSize < __pattSize)
21493 __lookAhead += __pattSize;
21494 __tailSize -= __pattSize;
21496 _DistanceType __remainder = __skipOffset;
21497 for (_RandomAccessIter __backTrack = __lookAhead - 1;
21498 *__backTrack == __val; --__backTrack)
21500 if (--__remainder == 0)
21501 return (__lookAhead - __skipOffset);
21503 if (__remainder > __tailSize)
21505 __lookAhead += __remainder;
21506 __tailSize -= __remainder;
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>
21512 search_n(_ForwardIterator __first, _ForwardIterator __last,
21513 _Integer __count, const _Tp& __val)
21524 return std::find(__first, __last, __val);
21525 return std::__search_n(__first, __last, __count, __val,
21526 std::__iterator_category(__first));
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>
21532 __search_n(_ForwardIterator __first, _ForwardIterator __last,
21533 _Integer __count, const _Tp& __val,
21534 _BinaryPredicate __binary_pred, std::forward_iterator_tag)
21536 while (__first != __last && !__binary_pred(*__first, __val))
21539 while (__first != __last)
21541 typename iterator_traits<_ForwardIterator>::difference_type
21543 _ForwardIterator __i = __first;
21545 while (__i != __last && __n != 1 && __binary_pred(*__i, __val))
21555 while (__first != __last && !__binary_pred(*__first, __val))
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>
21564 __search_n(_RandomAccessIter __first, _RandomAccessIter __last,
21565 _Integer __count, const _Tp& __val,
21566 _BinaryPredicate __binary_pred, std::random_access_iterator_tag)
21569 typedef typename std::iterator_traits<_RandomAccessIter>::difference_type
21572 _DistanceType __tailSize = __last - __first;
21573 const _DistanceType __pattSize = __count;
21575 if (__tailSize < __pattSize)
21578 const _DistanceType __skipOffset = __pattSize - 1;
21579 _RandomAccessIter __lookAhead = __first + __skipOffset;
21580 __tailSize -= __pattSize;
21586 while (!__binary_pred(*__lookAhead, __val))
21588 if (__tailSize < __pattSize)
21590 __lookAhead += __pattSize;
21591 __tailSize -= __pattSize;
21593 _DistanceType __remainder = __skipOffset;
21594 for (_RandomAccessIter __backTrack = __lookAhead - 1;
21595 __binary_pred(*__backTrack, __val); --__backTrack)
21597 if (--__remainder == 0)
21598 return (__lookAhead - __skipOffset);
21600 if (__remainder > __tailSize)
21602 __lookAhead += __remainder;
21603 __tailSize -= __remainder;
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>
21610 search_n(_ForwardIterator __first, _ForwardIterator __last,
21611 _Integer __count, const _Tp& __val,
21612 _BinaryPredicate __binary_pred)
21624 while (__first != __last && !__binary_pred(*__first, __val))
21628 return std::__search_n(__first, __last, __count, __val, __binary_pred,
21629 std::__iterator_category(__first));
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>
21634 swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
21635 _ForwardIterator2 __first2)
21650 for ( ; __first1 != __last1; ++__first1, ++__first2)
21651 std::iter_swap(__first1, __first2);
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>
21658 transform(_InputIterator __first, _InputIterator __last,
21659 _OutputIterator __result, _UnaryOperation __unary_op)
21668 for ( ; __first != __last; ++__first, ++__result)
21669 *__result = __unary_op(*__first);
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>
21676 transform(_InputIterator1 __first1, _InputIterator1 __last1,
21677 _InputIterator2 __first2, _OutputIterator __result,
21678 _BinaryOperation __binary_op)
21688 for ( ; __first1 != __last1; ++__first1, ++__first2, ++__result)
21689 *__result = __binary_op(*__first1, *__first2);
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>
21695 replace(_ForwardIterator __first, _ForwardIterator __last,
21696 const _Tp& __old_value, const _Tp& __new_value)
21707 for ( ; __first != __last; ++__first)
21708 if (*__first == __old_value)
21709 *__first = __new_value;
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>
21714 replace_if(_ForwardIterator __first, _ForwardIterator __last,
21715 _Predicate __pred, const _Tp& __new_value)
21726 for ( ; __first != __last; ++__first)
21727 if (__pred(*__first))
21728 *__first = __new_value;
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>
21733 replace_copy(_InputIterator __first, _InputIterator __last,
21734 _OutputIterator __result,
21735 const _Tp& __old_value, const _Tp& __new_value)
21745 for ( ; __first != __last; ++__first, ++__result)
21746 if (*__first == __old_value)
21747 *__result = __new_value;
21749 *__result = *__first;
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>
21756 replace_copy_if(_InputIterator __first, _InputIterator __last,
21757 _OutputIterator __result,
21758 _Predicate __pred, const _Tp& __new_value)
21768 for ( ; __first != __last; ++__first, ++__result)
21769 if (__pred(*__first))
21770 *__result = __new_value;
21772 *__result = *__first;
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>
21778 generate(_ForwardIterator __first, _ForwardIterator __last,
21787 for ( ; __first != __last; ++__first)
21788 *__first = __gen();
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>
21793 generate_n(_OutputIterator __first, _Size __n, _Generator __gen)
21800 for ( ; __n > 0; --__n, ++__first)
21801 *__first = __gen();
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>
21807 remove_copy(_InputIterator __first, _InputIterator __last,
21808 _OutputIterator __result, const _Tp& __value)
21818 for ( ; __first != __last; ++__first)
21819 if (!(*__first == __value))
21821 *__result = *__first;
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>
21830 remove_copy_if(_InputIterator __first, _InputIterator __last,
21831 _OutputIterator __result, _Predicate __pred)
21841 for ( ; __first != __last; ++__first)
21842 if (!__pred(*__first))
21844 *__result = *__first;
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>
21852 remove(_ForwardIterator __first, _ForwardIterator __last,
21853 const _Tp& __value)
21862 __first = std::find(__first, __last, __value);
21863 _ForwardIterator __i = __first;
21864 return __first == __last ? __first
21865 : std::remove_copy(++__i, __last,
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>
21871 remove_if(_ForwardIterator __first, _ForwardIterator __last,
21881 __first = std::find_if(__first, __last, __pred);
21882 _ForwardIterator __i = __first;
21883 return __first == __last ? __first
21884 : std::remove_copy_if(++__i, __last,
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>
21890 __unique_copy(_ForwardIterator __first, _ForwardIterator __last,
21891 _OutputIterator __result,
21892 forward_iterator_tag, output_iterator_tag)
21895 _ForwardIterator __next = __first;
21896 *__result = *__first;
21897 while (++__next != __last)
21898 if (!(*__first == *__next))
21901 *++__result = *__first;
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>
21908 __unique_copy(_InputIterator __first, _InputIterator __last,
21909 _OutputIterator __result,
21910 input_iterator_tag, output_iterator_tag)
21913 typename iterator_traits<_InputIterator>::value_type __value = *__first;
21914 *__result = __value;
21915 while (++__first != __last)
21916 if (!(__value == *__first))
21918 __value = *__first;
21919 *++__result = __value;
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>
21926 __unique_copy(_InputIterator __first, _InputIterator __last,
21927 _ForwardIterator __result,
21928 input_iterator_tag, forward_iterator_tag)
21931 *__result = *__first;
21932 while (++__first != __last)
21933 if (!(*__result == *__first))
21934 *++__result = *__first;
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>
21941 __unique_copy(_ForwardIterator __first, _ForwardIterator __last,
21942 _OutputIterator __result, _BinaryPredicate __binary_pred,
21943 forward_iterator_tag, output_iterator_tag)
21950 _ForwardIterator __next = __first;
21951 *__result = *__first;
21952 while (++__next != __last)
21953 if (!__binary_pred(*__first, *__next))
21956 *++__result = *__first;
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>
21964 __unique_copy(_InputIterator __first, _InputIterator __last,
21965 _OutputIterator __result, _BinaryPredicate __binary_pred,
21966 input_iterator_tag, output_iterator_tag)
21973 typename iterator_traits<_InputIterator>::value_type __value = *__first;
21974 *__result = __value;
21975 while (++__first != __last)
21976 if (!__binary_pred(__value, *__first))
21978 __value = *__first;
21979 *++__result = __value;
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>
21987 __unique_copy(_InputIterator __first, _InputIterator __last,
21988 _ForwardIterator __result, _BinaryPredicate __binary_pred,
21989 input_iterator_tag, forward_iterator_tag)
21996 *__result = *__first;
21997 while (++__first != __last)
21998 if (!__binary_pred(*__result, *__first))
21999 *++__result = *__first;
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)
22016 if (__first == __last)
22018 return std::__unique_copy(__first, __last, __result,
22019 std::__iterator_category(__first),
22020 std::__iterator_category(__result));
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)
22036 if (__first == __last)
22038 return std::__unique_copy(__first, __last, __result, __binary_pred,
22039 std::__iterator_category(__first),
22040 std::__iterator_category(__result));
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>
22045 unique(_ForwardIterator __first, _ForwardIterator __last)
22055 __first = std::adjacent_find(__first, __last);
22056 if (__first == __last)
22060 _ForwardIterator __dest = __first;
22062 while (++__first != __last)
22063 if (!(*__dest == *__first))
22064 *++__dest = *__first;
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>
22070 unique(_ForwardIterator __first, _ForwardIterator __last,
22071 _BinaryPredicate __binary_pred)
22082 __first = std::adjacent_find(__first, __last, __binary_pred);
22083 if (__first == __last)
22087 _ForwardIterator __dest = __first;
22089 while (++__first != __last)
22090 if (!__binary_pred(*__dest, *__first))
22091 *++__dest = *__first;
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>
22097 __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last,
22098 bidirectional_iterator_tag)
22101 if (__first == __last || __first == --__last)
22105 std::iter_swap(__first, __last);
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>
22112 __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last,
22113 random_access_iterator_tag)
22115 if (__first == __last)
22118 while (__first < __last)
22120 std::iter_swap(__first, __last);
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>
22128 reverse(_BidirectionalIterator __first, _BidirectionalIterator __last)
22134 std::__reverse(__first, __last, std::__iterator_category(__first));
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>
22139 reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last,
22140 _OutputIterator __result)
22149 while (__first != __last)
22152 *__result = *__last;
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)
22164 _EuclideanRingElement __t = __m % __n;
22176 template<typename _ForwardIterator>
22178 __rotate(_ForwardIterator __first,
22179 _ForwardIterator __middle,
22180 _ForwardIterator __last,
22181 forward_iterator_tag)
22183 if (__first == __middle || __last == __middle)
22186 _ForwardIterator __first2 = __middle;
22189 swap(*__first, *__first2);
22192 if (__first == __middle)
22193 __middle = __first2;
22195 while (__first2 != __last);
22197 __first2 = __middle;
22199 while (__first2 != __last)
22201 swap(*__first, *__first2);
22204 if (__first == __middle)
22205 __middle = __first2;
22206 else if (__first2 == __last)
22207 __first2 = __middle;
22216 template<typename _BidirectionalIterator>
22218 __rotate(_BidirectionalIterator __first,
22219 _BidirectionalIterator __middle,
22220 _BidirectionalIterator __last,
22221 bidirectional_iterator_tag)
22227 if (__first == __middle || __last == __middle)
22230 std::__reverse(__first, __middle, bidirectional_iterator_tag());
22231 std::__reverse(__middle, __last, bidirectional_iterator_tag());
22233 while (__first != __middle && __middle != __last)
22235 swap(*__first, *--__last);
22239 if (__first == __middle)
22240 std::__reverse(__middle, __last, bidirectional_iterator_tag());
22242 std::__reverse(__first, __middle, bidirectional_iterator_tag());
22250 template<typename _RandomAccessIterator>
22252 __rotate(_RandomAccessIterator __first,
22253 _RandomAccessIterator __middle,
22254 _RandomAccessIterator __last,
22255 random_access_iterator_tag)
22261 if (__first == __middle || __last == __middle)
22264 typedef typename iterator_traits<_RandomAccessIterator>::difference_type
22266 typedef typename iterator_traits<_RandomAccessIterator>::value_type
22269 const _Distance __n = __last - __first;
22270 const _Distance __k = __middle - __first;
22271 const _Distance __l = __n - __k;
22275 std::swap_ranges(__first, __middle, __middle);
22279 const _Distance __d = __gcd(__n, __k);
22281 for (_Distance __i = 0; __i < __d; __i++)
22283 _ValueType __tmp = *__first;
22284 _RandomAccessIterator __p = __first;
22288 for (_Distance __j = 0; __j < __l / __d; __j++)
22290 if (__p > __first + __l)
22292 *__p = *(__p - __l);
22296 *__p = *(__p + __k);
22302 for (_Distance __j = 0; __j < __k / __d - 1; __j ++)
22304 if (__p < __last - __k)
22306 *__p = *(__p + __k);
22309 *__p = * (__p - __l);
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>
22321 rotate(_ForwardIterator __first, _ForwardIterator __middle,
22322 _ForwardIterator __last)
22330 typedef typename iterator_traits<_ForwardIterator>::iterator_category
22332 std::__rotate(__first, __middle, __last, _IterType());
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>
22337 rotate_copy(_ForwardIterator __first, _ForwardIterator __middle,
22338 _ForwardIterator __last, _OutputIterator __result)
22347 return std::copy(__first, __middle,
22348 std::copy(__middle, __last, __result));
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>
22353 random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
22360 if (__first != __last)
22361 for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
22362 std::iter_swap(__i, __first + (std::rand() % ((__i - __first) + 1)));
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>
22367 random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
22368 _RandomNumberGenerator& __rand)
22375 if (__first == __last)
22377 for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
22378 std::iter_swap(__i, __first + __rand((__i - __first) + 1));
22387 template<typename _ForwardIterator, typename _Predicate>
22389 __partition(_ForwardIterator __first, _ForwardIterator __last,
22391 forward_iterator_tag)
22393 if (__first == __last)
22396 while (__pred(*__first))
22397 if (++__first == __last)
22400 _ForwardIterator __next = __first;
22402 while (++__next != __last)
22403 if (__pred(*__next))
22405 swap(*__first, *__next);
22417 template<typename _BidirectionalIterator, typename _Predicate>
22418 _BidirectionalIterator
22419 __partition(_BidirectionalIterator __first, _BidirectionalIterator __last,
22421 bidirectional_iterator_tag)
22426 if (__first == __last)
22428 else if (__pred(*__first))
22434 if (__first == __last)
22436 else if (!__pred(*__last))
22440 std::iter_swap(__first, __last);
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,
22457 return std::__partition(__first, __last, __pred,
22458 std::__iterator_category(__first));
22467 template<typename _ForwardIterator, typename _Predicate, typename _Distance>
22469 __inplace_stable_partition(_ForwardIterator __first,
22470 _ForwardIterator __last,
22471 _Predicate __pred, _Distance __len)
22474 return __pred(*__first) ? __last : __first;
22475 _ForwardIterator __middle = __first;
22476 std::advance(__middle, __len / 2);
22477 _ForwardIterator __begin = std::__inplace_stable_partition(__first,
22481 _ForwardIterator __end = std::__inplace_stable_partition(__middle, __last,
22485 std::rotate(__begin, __middle, __end);
22486 std::advance(__begin, std::distance(__middle, __end));
22495 template<typename _ForwardIterator, typename _Pointer, typename _Predicate,
22496 typename _Distance>
22498 __stable_partition_adaptive(_ForwardIterator __first,
22499 _ForwardIterator __last,
22500 _Predicate __pred, _Distance __len,
22502 _Distance __buffer_size)
22504 if (__len <= __buffer_size)
22506 _ForwardIterator __result1 = __first;
22507 _Pointer __result2 = __buffer;
22508 for ( ; __first != __last ; ++__first)
22509 if (__pred(*__first))
22511 *__result1 = *__first;
22516 *__result2 = *__first;
22519 std::copy(__buffer, __result2, __result1);
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,
22530 _ForwardIterator __end =
22531 std::__stable_partition_adaptive(__middle, __last, __pred,
22533 __buffer, __buffer_size);
22534 std::rotate(__begin, __middle, __end);
22535 std::advance(__begin, std::distance(__middle, __end));
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>
22542 stable_partition(_ForwardIterator __first, _ForwardIterator __last,
22552 if (__first == __last)
22556 typedef typename iterator_traits<_ForwardIterator>::value_type
22558 typedef typename iterator_traits<_ForwardIterator>::difference_type
22561 _Temporary_buffer<_ForwardIterator, _ValueType> __buf(__first,
22563 if (__buf.size() > 0)
22565 std::__stable_partition_adaptive(__first, __last, __pred,
22566 _DistanceType(__buf.requested_size()),
22567 __buf.begin(), __buf.size());
22570 std::__inplace_stable_partition(__first, __last, __pred,
22571 _DistanceType(__buf.requested_size()));
22580 template<typename _RandomAccessIterator, typename _Tp>
22581 _RandomAccessIterator
22582 __unguarded_partition(_RandomAccessIterator __first,
22583 _RandomAccessIterator __last, _Tp __pivot)
22587 while (*__first < __pivot)
22590 while (__pivot < *__last)
22592 if (!(__first < __last))
22594 std::iter_swap(__first, __last);
22604 template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
22605 _RandomAccessIterator
22606 __unguarded_partition(_RandomAccessIterator __first,
22607 _RandomAccessIterator __last,
22608 _Tp __pivot, _Compare __comp)
22612 while (__comp(*__first, __pivot))
22615 while (__comp(__pivot, *__last))
22617 if (!(__first < __last))
22619 std::iter_swap(__first, __last);
22630 enum { _S_threshold = 16 };
22637 template<typename _RandomAccessIterator, typename _Tp>
22639 __unguarded_linear_insert(_RandomAccessIterator __last, _Tp __val)
22641 _RandomAccessIterator __next = __last;
22643 while (__val < *__next)
22657 template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
22659 __unguarded_linear_insert(_RandomAccessIterator __last, _Tp __val,
22662 _RandomAccessIterator __next = __last;
22664 while (__comp(__val, *__next))
22678 template<typename _RandomAccessIterator>
22680 __insertion_sort(_RandomAccessIterator __first,
22681 _RandomAccessIterator __last)
22683 if (__first == __last)
22686 for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
22688 typename iterator_traits<_RandomAccessIterator>::value_type
22690 if (__val < *__first)
22692 std::copy_backward(__first, __i, __i + 1);
22696 std::__unguarded_linear_insert(__i, __val);
22705 template<typename _RandomAccessIterator, typename _Compare>
22707 __insertion_sort(_RandomAccessIterator __first,
22708 _RandomAccessIterator __last, _Compare __comp)
22710 if (__first == __last) return;
22712 for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
22714 typename iterator_traits<_RandomAccessIterator>::value_type
22716 if (__comp(__val, *__first))
22718 std::copy_backward(__first, __i, __i + 1);
22722 std::__unguarded_linear_insert(__i, __val, __comp);
22731 template<typename _RandomAccessIterator>
22733 __unguarded_insertion_sort(_RandomAccessIterator __first,
22734 _RandomAccessIterator __last)
22736 typedef typename iterator_traits<_RandomAccessIterator>::value_type
22739 for (_RandomAccessIterator __i = __first; __i != __last; ++__i)
22740 std::__unguarded_linear_insert(__i, _ValueType(*__i));
22748 template<typename _RandomAccessIterator, typename _Compare>
22750 __unguarded_insertion_sort(_RandomAccessIterator __first,
22751 _RandomAccessIterator __last, _Compare __comp)
22753 typedef typename iterator_traits<_RandomAccessIterator>::value_type
22756 for (_RandomAccessIterator __i = __first; __i != __last; ++__i)
22757 std::__unguarded_linear_insert(__i, _ValueType(*__i), __comp);
22765 template<typename _RandomAccessIterator>
22767 __final_insertion_sort(_RandomAccessIterator __first,
22768 _RandomAccessIterator __last)
22770 if (__last - __first > int(_S_threshold))
22772 std::__insertion_sort(__first, __first + int(_S_threshold));
22773 std::__unguarded_insertion_sort(__first + int(_S_threshold), __last);
22776 std::__insertion_sort(__first, __last);
22784 template<typename _RandomAccessIterator, typename _Compare>
22786 __final_insertion_sort(_RandomAccessIterator __first,
22787 _RandomAccessIterator __last, _Compare __comp)
22789 if (__last - __first > int(_S_threshold))
22791 std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
22792 std::__unguarded_insertion_sort(__first + int(_S_threshold), __last,
22796 std::__insertion_sort(__first, __last, __comp);
22804 template<typename _RandomAccessIterator>
22806 __heap_select(_RandomAccessIterator __first,
22807 _RandomAccessIterator __middle,
22808 _RandomAccessIterator __last)
22810 typedef typename iterator_traits<_RandomAccessIterator>::value_type
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));
22824 template<typename _RandomAccessIterator, typename _Compare>
22826 __heap_select(_RandomAccessIterator __first,
22827 _RandomAccessIterator __middle,
22828 _RandomAccessIterator __last, _Compare __comp)
22830 typedef typename iterator_traits<_RandomAccessIterator>::value_type
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);
22844 template<typename _Size>
22849 for (__k = 0; __n != 1; __n >>= 1)
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>
22856 partial_sort(_RandomAccessIterator __first,
22857 _RandomAccessIterator __middle,
22858 _RandomAccessIterator __last)
22860 typedef typename iterator_traits<_RandomAccessIterator>::value_type
22870 std::__heap_select(__first, __middle, __last);
22871 std::sort_heap(__first, __middle);
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>
22876 partial_sort(_RandomAccessIterator __first,
22877 _RandomAccessIterator __middle,
22878 _RandomAccessIterator __last,
22881 typedef typename iterator_traits<_RandomAccessIterator>::value_type
22892 std::__heap_select(__first, __middle, __last, __comp);
22893 std::sort_heap(__first, __middle, __comp);
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)
22902 typedef typename iterator_traits<_InputIterator>::value_type
22904 typedef typename iterator_traits<_RandomAccessIterator>::value_type
22906 typedef typename iterator_traits<_RandomAccessIterator>::difference_type
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)
22924 *__result_real_last = *__first;
22925 ++__result_real_last;
22928 std::make_heap(__result_first, __result_real_last);
22929 while (__first != __last)
22931 if (*__first < *__result_first)
22932 std::__adjust_heap(__result_first, _DistanceType(0),
22933 _DistanceType(__result_real_last
22935 _InputValueType(*__first));
22938 std::sort_heap(__result_first, __result_real_last);
22939 return __result_real_last;
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,
22949 typedef typename iterator_traits<_InputIterator>::value_type
22951 typedef typename iterator_traits<_RandomAccessIterator>::value_type
22953 typedef typename iterator_traits<_RandomAccessIterator>::difference_type
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)
22974 *__result_real_last = *__first;
22975 ++__result_real_last;
22978 std::make_heap(__result_first, __result_real_last, __comp);
22979 while (__first != __last)
22981 if (__comp(*__first, *__result_first))
22982 std::__adjust_heap(__result_first, _DistanceType(0),
22983 _DistanceType(__result_real_last
22985 _InputValueType(*__first),
22989 std::sort_heap(__result_first, __result_real_last, __comp);
22990 return __result_real_last;
22998 template<typename _RandomAccessIterator, typename _Size>
23000 __introsort_loop(_RandomAccessIterator __first,
23001 _RandomAccessIterator __last,
23002 _Size __depth_limit)
23004 typedef typename iterator_traits<_RandomAccessIterator>::value_type
23007 while (__last - __first > int(_S_threshold))
23009 if (__depth_limit == 0)
23011 std::partial_sort(__first, __last, __last);
23015 _RandomAccessIterator __cut =
23016 std::__unguarded_partition(__first, __last,
23017 _ValueType(std::__median(*__first,
23024 std::__introsort_loop(__cut, __last, __depth_limit);
23034 template<typename _RandomAccessIterator, typename _Size, typename _Compare>
23036 __introsort_loop(_RandomAccessIterator __first,
23037 _RandomAccessIterator __last,
23038 _Size __depth_limit, _Compare __comp)
23040 typedef typename iterator_traits<_RandomAccessIterator>::value_type
23043 while (__last - __first > int(_S_threshold))
23045 if (__depth_limit == 0)
23047 std::partial_sort(__first, __last, __last, __comp);
23051 _RandomAccessIterator __cut =
23052 std::__unguarded_partition(__first, __last,
23053 _ValueType(std::__median(*__first,
23061 std::__introsort_loop(__cut, __last, __depth_limit, __comp);
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>
23068 sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
23070 typedef typename iterator_traits<_RandomAccessIterator>::value_type
23079 if (__first != __last)
23081 std::__introsort_loop(__first, __last,
23082 std::__lg(__last - __first) * 2);
23083 std::__final_insertion_sort(__first, __last);
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>
23089 sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
23092 typedef typename iterator_traits<_RandomAccessIterator>::value_type
23102 if (__first != __last)
23104 std::__introsort_loop(__first, __last,
23105 std::__lg(__last - __first) * 2, __comp);
23106 std::__final_insertion_sort(__first, __last, __comp);
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>
23112 lower_bound(_ForwardIterator __first, _ForwardIterator __last,
23115 typedef typename iterator_traits<_ForwardIterator>::value_type
23117 typedef typename iterator_traits<_ForwardIterator>::difference_type
23125 _DistanceType __len = std::distance(__first, __last);
23126 _DistanceType __half;
23127 _ForwardIterator __middle;
23131 __half = __len >> 1;
23132 __middle = __first;
23133 std::advance(__middle, __half);
23134 if (*__middle < __val)
23136 __first = __middle;
23138 __len = __len - __half - 1;
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>
23148 lower_bound(_ForwardIterator __first, _ForwardIterator __last,
23149 const _Tp& __val, _Compare __comp)
23151 typedef typename iterator_traits<_ForwardIterator>::value_type
23153 typedef typename iterator_traits<_ForwardIterator>::difference_type
23162 _DistanceType __len = std::distance(__first, __last);
23163 _DistanceType __half;
23164 _ForwardIterator __middle;
23168 __half = __len >> 1;
23169 __middle = __first;
23170 std::advance(__middle, __half);
23171 if (__comp(*__middle, __val))
23173 __first = __middle;
23175 __len = __len - __half - 1;
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>
23185 upper_bound(_ForwardIterator __first, _ForwardIterator __last,
23188 typedef typename iterator_traits<_ForwardIterator>::value_type
23190 typedef typename iterator_traits<_ForwardIterator>::difference_type
23198 _DistanceType __len = std::distance(__first, __last);
23199 _DistanceType __half;
23200 _ForwardIterator __middle;
23204 __half = __len >> 1;
23205 __middle = __first;
23206 std::advance(__middle, __half);
23207 if (__val < *__middle)
23211 __first = __middle;
23213 __len = __len - __half - 1;
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>
23221 upper_bound(_ForwardIterator __first, _ForwardIterator __last,
23222 const _Tp& __val, _Compare __comp)
23224 typedef typename iterator_traits<_ForwardIterator>::value_type
23226 typedef typename iterator_traits<_ForwardIterator>::difference_type
23235 _DistanceType __len = std::distance(__first, __last);
23236 _DistanceType __half;
23237 _ForwardIterator __middle;
23241 __half = __len >> 1;
23242 __middle = __first;
23243 std::advance(__middle, __half);
23244 if (__comp(__val, *__middle))
23248 __first = __middle;
23250 __len = __len - __half - 1;
23261 template<typename _BidirectionalIterator, typename _Distance>
23263 __merge_without_buffer(_BidirectionalIterator __first,
23264 _BidirectionalIterator __middle,
23265 _BidirectionalIterator __last,
23266 _Distance __len1, _Distance __len2)
23268 if (__len1 == 0 || __len2 == 0)
23270 if (__len1 + __len2 == 2)
23272 if (*__middle < *__first)
23273 std::iter_swap(__first, __middle);
23276 _BidirectionalIterator __first_cut = __first;
23277 _BidirectionalIterator __second_cut = __middle;
23278 _Distance __len11 = 0;
23279 _Distance __len22 = 0;
23280 if (__len1 > __len2)
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);
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);
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,
23299 std::__merge_without_buffer(__new_middle, __second_cut, __last,
23300 __len1 - __len11, __len2 - __len22);
23308 template<typename _BidirectionalIterator, typename _Distance,
23311 __merge_without_buffer(_BidirectionalIterator __first,
23312 _BidirectionalIterator __middle,
23313 _BidirectionalIterator __last,
23314 _Distance __len1, _Distance __len2,
23317 if (__len1 == 0 || __len2 == 0)
23319 if (__len1 + __len2 == 2)
23321 if (__comp(*__middle, *__first))
23322 std::iter_swap(__first, __middle);
23325 _BidirectionalIterator __first_cut = __first;
23326 _BidirectionalIterator __second_cut = __middle;
23327 _Distance __len11 = 0;
23328 _Distance __len22 = 0;
23329 if (__len1 > __len2)
23331 __len11 = __len1 / 2;
23332 std::advance(__first_cut, __len11);
23333 __second_cut = std::lower_bound(__middle, __last, *__first_cut,
23335 __len22 = std::distance(__middle, __second_cut);
23339 __len22 = __len2 / 2;
23340 std::advance(__second_cut, __len22);
23341 __first_cut = std::upper_bound(__first, __middle, *__second_cut,
23343 __len11 = std::distance(__first, __first_cut);
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);
23359 template<typename _RandomAccessIterator>
23361 __inplace_stable_sort(_RandomAccessIterator __first,
23362 _RandomAccessIterator __last)
23364 if (__last - __first < 15)
23366 std::__insertion_sort(__first, __last);
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);
23382 template<typename _RandomAccessIterator, typename _Compare>
23384 __inplace_stable_sort(_RandomAccessIterator __first,
23385 _RandomAccessIterator __last, _Compare __comp)
23387 if (__last - __first < 15)
23389 std::__insertion_sort(__first, __last, __comp);
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,
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>
23404 merge(_InputIterator1 __first1, _InputIterator1 __last1,
23405 _InputIterator2 __first2, _InputIterator2 __last2,
23406 _OutputIterator __result)
23408 typedef typename iterator_traits<_InputIterator1>::value_type
23410 typedef typename iterator_traits<_InputIterator2>::value_type
23424 while (__first1 != __last1 && __first2 != __last2)
23426 if (*__first2 < *__first1)
23428 *__result = *__first2;
23433 *__result = *__first1;
23438 return std::copy(__first2, __last2, std::copy(__first1, __last1,
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>
23445 merge(_InputIterator1 __first1, _InputIterator1 __last1,
23446 _InputIterator2 __first2, _InputIterator2 __last2,
23447 _OutputIterator __result, _Compare __comp)
23449 typedef typename iterator_traits<_InputIterator1>::value_type
23451 typedef typename iterator_traits<_InputIterator2>::value_type
23466 while (__first1 != __last1 && __first2 != __last2)
23468 if (__comp(*__first2, *__first1))
23470 *__result = *__first2;
23475 *__result = *__first1;
23480 return std::copy(__first2, __last2, std::copy(__first1, __last1,
23484 template<typename _RandomAccessIterator1, typename _RandomAccessIterator2,
23485 typename _Distance>
23487 __merge_sort_loop(_RandomAccessIterator1 __first,
23488 _RandomAccessIterator1 __last,
23489 _RandomAccessIterator2 __result,
23490 _Distance __step_size)
23492 const _Distance __two_step = 2 * __step_size;
23494 while (__last - __first >= __two_step)
23496 __result = std::merge(__first, __first + __step_size,
23497 __first + __step_size, __first + __two_step,
23499 __first += __two_step;
23502 __step_size = std::min(_Distance(__last - __first), __step_size);
23503 std::merge(__first, __first + __step_size, __first + __step_size, __last,
23507 template<typename _RandomAccessIterator1, typename _RandomAccessIterator2,
23508 typename _Distance, typename _Compare>
23510 __merge_sort_loop(_RandomAccessIterator1 __first,
23511 _RandomAccessIterator1 __last,
23512 _RandomAccessIterator2 __result, _Distance __step_size,
23515 const _Distance __two_step = 2 * __step_size;
23517 while (__last - __first >= __two_step)
23519 __result = std::merge(__first, __first + __step_size,
23520 __first + __step_size, __first + __two_step,
23523 __first += __two_step;
23525 __step_size = std::min(_Distance(__last - __first), __step_size);
23527 std::merge(__first, __first + __step_size,
23528 __first + __step_size, __last,
23533 enum { _S_chunk_size = 7 };
23535 template<typename _RandomAccessIterator, typename _Distance>
23537 __chunk_insertion_sort(_RandomAccessIterator __first,
23538 _RandomAccessIterator __last,
23539 _Distance __chunk_size)
23541 while (__last - __first >= __chunk_size)
23543 std::__insertion_sort(__first, __first + __chunk_size);
23544 __first += __chunk_size;
23546 std::__insertion_sort(__first, __last);
23549 template<typename _RandomAccessIterator, typename _Distance, typename _Compare>
23551 __chunk_insertion_sort(_RandomAccessIterator __first,
23552 _RandomAccessIterator __last,
23553 _Distance __chunk_size, _Compare __comp)
23555 while (__last - __first >= __chunk_size)
23557 std::__insertion_sort(__first, __first + __chunk_size, __comp);
23558 __first += __chunk_size;
23560 std::__insertion_sort(__first, __last, __comp);
23563 template<typename _RandomAccessIterator, typename _Pointer>
23565 __merge_sort_with_buffer(_RandomAccessIterator __first,
23566 _RandomAccessIterator __last,
23569 typedef typename iterator_traits<_RandomAccessIterator>::difference_type
23572 const _Distance __len = __last - __first;
23573 const _Pointer __buffer_last = __buffer + __len;
23575 _Distance __step_size = _S_chunk_size;
23576 std::__chunk_insertion_sort(__first, __last, __step_size);
23578 while (__step_size < __len)
23580 std::__merge_sort_loop(__first, __last, __buffer, __step_size);
23582 std::__merge_sort_loop(__buffer, __buffer_last, __first, __step_size);
23587 template<typename _RandomAccessIterator, typename _Pointer, typename _Compare>
23589 __merge_sort_with_buffer(_RandomAccessIterator __first,
23590 _RandomAccessIterator __last,
23591 _Pointer __buffer, _Compare __comp)
23593 typedef typename iterator_traits<_RandomAccessIterator>::difference_type
23596 const _Distance __len = __last - __first;
23597 const _Pointer __buffer_last = __buffer + __len;
23599 _Distance __step_size = _S_chunk_size;
23600 std::__chunk_insertion_sort(__first, __last, __step_size, __comp);
23602 while (__step_size < __len)
23604 std::__merge_sort_loop(__first, __last, __buffer,
23605 __step_size, __comp);
23607 std::__merge_sort_loop(__buffer, __buffer_last, __first,
23608 __step_size, __comp);
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)
23627 if (__first1 == __last1)
23628 return std::copy_backward(__first2, __last2, __result);
23629 if (__first2 == __last2)
23630 return std::copy_backward(__first1, __last1, __result);
23635 if (*__last2 < *__last1)
23637 *--__result = *__last1;
23638 if (__first1 == __last1)
23639 return std::copy_backward(__first2, ++__last2, __result);
23644 *--__result = *__last2;
23645 if (__first2 == __last2)
23646 return std::copy_backward(__first1, ++__last1, __result);
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,
23667 if (__first1 == __last1)
23668 return std::copy_backward(__first2, __last2, __result);
23669 if (__first2 == __last2)
23670 return std::copy_backward(__first1, __last1, __result);
23675 if (__comp(*__last2, *__last1))
23677 *--__result = *__last1;
23678 if (__first1 == __last1)
23679 return std::copy_backward(__first2, ++__last2, __result);
23684 *--__result = *__last2;
23685 if (__first2 == __last2)
23686 return std::copy_backward(__first1, ++__last1, __result);
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)
23707 _BidirectionalIterator2 __buffer_end;
23708 if (__len1 > __len2 && __len2 <= __buffer_size)
23710 __buffer_end = std::copy(__middle, __last, __buffer);
23711 std::copy_backward(__first, __middle, __last);
23712 return std::copy(__buffer, __buffer_end, __first);
23714 else if (__len1 <= __buffer_size)
23716 __buffer_end = std::copy(__first, __middle, __buffer);
23717 std::copy(__middle, __last, __first);
23718 return std::copy_backward(__buffer, __buffer_end, __last);
23722 std::rotate(__first, __middle, __last);
23723 std::advance(__first, std::distance(__middle, __last));
23733 template<typename _BidirectionalIterator, typename _Distance,
23736 __merge_adaptive(_BidirectionalIterator __first,
23737 _BidirectionalIterator __middle,
23738 _BidirectionalIterator __last,
23739 _Distance __len1, _Distance __len2,
23740 _Pointer __buffer, _Distance __buffer_size)
23742 if (__len1 <= __len2 && __len1 <= __buffer_size)
23744 _Pointer __buffer_end = std::copy(__first, __middle, __buffer);
23745 std::merge(__buffer, __buffer_end, __middle, __last, __first);
23747 else if (__len2 <= __buffer_size)
23749 _Pointer __buffer_end = std::copy(__middle, __last, __buffer);
23750 std::__merge_backward(__first, __middle, __buffer,
23751 __buffer_end, __last);
23755 _BidirectionalIterator __first_cut = __first;
23756 _BidirectionalIterator __second_cut = __middle;
23757 _Distance __len11 = 0;
23758 _Distance __len22 = 0;
23759 if (__len1 > __len2)
23761 __len11 = __len1 / 2;
23762 std::advance(__first_cut, __len11);
23763 __second_cut = std::lower_bound(__middle, __last,
23765 __len22 = std::distance(__middle, __second_cut);
23769 __len22 = __len2 / 2;
23770 std::advance(__second_cut, __len22);
23771 __first_cut = std::upper_bound(__first, __middle,
23773 __len11 = std::distance(__first, __first_cut);
23775 _BidirectionalIterator __new_middle =
23776 std::__rotate_adaptive(__first_cut, __middle, __second_cut,
23777 __len1 - __len11, __len22, __buffer,
23779 std::__merge_adaptive(__first, __first_cut, __new_middle, __len11,
23780 __len22, __buffer, __buffer_size);
23781 std::__merge_adaptive(__new_middle, __second_cut, __last,
23783 __len2 - __len22, __buffer, __buffer_size);
23792 template<typename _BidirectionalIterator, typename _Distance, typename _Pointer,
23795 __merge_adaptive(_BidirectionalIterator __first,
23796 _BidirectionalIterator __middle,
23797 _BidirectionalIterator __last,
23798 _Distance __len1, _Distance __len2,
23799 _Pointer __buffer, _Distance __buffer_size,
23802 if (__len1 <= __len2 && __len1 <= __buffer_size)
23804 _Pointer __buffer_end = std::copy(__first, __middle, __buffer);
23805 std::merge(__buffer, __buffer_end, __middle, __last, __first, __comp);
23807 else if (__len2 <= __buffer_size)
23809 _Pointer __buffer_end = std::copy(__middle, __last, __buffer);
23810 std::__merge_backward(__first, __middle, __buffer, __buffer_end,
23815 _BidirectionalIterator __first_cut = __first;
23816 _BidirectionalIterator __second_cut = __middle;
23817 _Distance __len11 = 0;
23818 _Distance __len22 = 0;
23819 if (__len1 > __len2)
23821 __len11 = __len1 / 2;
23822 std::advance(__first_cut, __len11);
23823 __second_cut = std::lower_bound(__middle, __last, *__first_cut,
23825 __len22 = std::distance(__middle, __second_cut);
23829 __len22 = __len2 / 2;
23830 std::advance(__second_cut, __len22);
23831 __first_cut = std::upper_bound(__first, __middle, *__second_cut,
23833 __len11 = std::distance(__first, __first_cut);
23835 _BidirectionalIterator __new_middle =
23836 std::__rotate_adaptive(__first_cut, __middle, __second_cut,
23837 __len1 - __len11, __len22, __buffer,
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,
23843 __len2 - __len22, __buffer,
23844 __buffer_size, __comp);
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>
23850 inplace_merge(_BidirectionalIterator __first,
23851 _BidirectionalIterator __middle,
23852 _BidirectionalIterator __last)
23854 typedef typename iterator_traits<_BidirectionalIterator>::value_type
23856 typedef typename iterator_traits<_BidirectionalIterator>::difference_type
23866 if (__first == __middle || __middle == __last)
23869 _DistanceType __len1 = std::distance(__first, __middle);
23870 _DistanceType __len2 = std::distance(__middle, __last);
23872 _Temporary_buffer<_BidirectionalIterator, _ValueType> __buf(__first,
23874 if (__buf.begin() == 0)
23875 std::__merge_without_buffer(__first, __middle, __last, __len1, __len2);
23877 std::__merge_adaptive(__first, __middle, __last, __len1, __len2,
23878 __buf.begin(), _DistanceType(__buf.size()));
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>
23883 inplace_merge(_BidirectionalIterator __first,
23884 _BidirectionalIterator __middle,
23885 _BidirectionalIterator __last,
23888 typedef typename iterator_traits<_BidirectionalIterator>::value_type
23890 typedef typename iterator_traits<_BidirectionalIterator>::difference_type
23901 if (__first == __middle || __middle == __last)
23904 const _DistanceType __len1 = std::distance(__first, __middle);
23905 const _DistanceType __len2 = std::distance(__middle, __last);
23907 _Temporary_buffer<_BidirectionalIterator, _ValueType> __buf(__first,
23909 if (__buf.begin() == 0)
23910 std::__merge_without_buffer(__first, __middle, __last, __len1,
23913 std::__merge_adaptive(__first, __middle, __last, __len1, __len2,
23914 __buf.begin(), _DistanceType(__buf.size()),
23918 template<typename _RandomAccessIterator, typename _Pointer,
23919 typename _Distance>
23921 __stable_sort_adaptive(_RandomAccessIterator __first,
23922 _RandomAccessIterator __last,
23923 _Pointer __buffer, _Distance __buffer_size)
23925 const _Distance __len = (__last - __first + 1) / 2;
23926 const _RandomAccessIterator __middle = __first + __len;
23927 if (__len > __buffer_size)
23929 std::__stable_sort_adaptive(__first, __middle,
23930 __buffer, __buffer_size);
23931 std::__stable_sort_adaptive(__middle, __last,
23932 __buffer, __buffer_size);
23936 std::__merge_sort_with_buffer(__first, __middle, __buffer);
23937 std::__merge_sort_with_buffer(__middle, __last, __buffer);
23939 std::__merge_adaptive(__first, __middle, __last,
23940 _Distance(__middle - __first),
23941 _Distance(__last - __middle),
23942 __buffer, __buffer_size);
23945 template<typename _RandomAccessIterator, typename _Pointer,
23946 typename _Distance, typename _Compare>
23948 __stable_sort_adaptive(_RandomAccessIterator __first,
23949 _RandomAccessIterator __last,
23950 _Pointer __buffer, _Distance __buffer_size,
23953 const _Distance __len = (__last - __first + 1) / 2;
23954 const _RandomAccessIterator __middle = __first + __len;
23955 if (__len > __buffer_size)
23957 std::__stable_sort_adaptive(__first, __middle, __buffer,
23958 __buffer_size, __comp);
23959 std::__stable_sort_adaptive(__middle, __last, __buffer,
23960 __buffer_size, __comp);
23964 std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp);
23965 std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp);
23967 std::__merge_adaptive(__first, __middle, __last,
23968 _Distance(__middle - __first),
23969 _Distance(__last - __middle),
23970 __buffer, __buffer_size,
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>
23976 stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
23978 typedef typename iterator_traits<_RandomAccessIterator>::value_type
23980 typedef typename iterator_traits<_RandomAccessIterator>::difference_type
23989 _Temporary_buffer<_RandomAccessIterator, _ValueType> __buf(__first,
23991 if (__buf.begin() == 0)
23992 std::__inplace_stable_sort(__first, __last);
23994 std::__stable_sort_adaptive(__first, __last, __buf.begin(),
23995 _DistanceType(__buf.size()));
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>
24000 stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
24003 typedef typename iterator_traits<_RandomAccessIterator>::value_type
24005 typedef typename iterator_traits<_RandomAccessIterator>::difference_type
24016 _Temporary_buffer<_RandomAccessIterator, _ValueType> __buf(__first,
24018 if (__buf.begin() == 0)
24019 std::__inplace_stable_sort(__first, __last, __comp);
24021 std::__stable_sort_adaptive(__first, __last, __buf.begin(),
24022 _DistanceType(__buf.size()), __comp);
24026 template<typename _RandomAccessIterator, typename _Size>
24028 __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth,
24029 _RandomAccessIterator __last, _Size __depth_limit)
24031 typedef typename iterator_traits<_RandomAccessIterator>::value_type
24034 while (__last - __first > 3)
24036 if (__depth_limit == 0)
24038 std::__heap_select(__first, __nth + 1, __last);
24040 std::iter_swap(__first, __nth);
24044 _RandomAccessIterator __cut =
24045 std::__unguarded_partition(__first, __last,
24046 _ValueType(std::__median(*__first,
24053 if (__cut <= __nth)
24058 std::__insertion_sort(__first, __last);
24061 template<typename _RandomAccessIterator, typename _Size, typename _Compare>
24063 __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth,
24064 _RandomAccessIterator __last, _Size __depth_limit,
24067 typedef typename iterator_traits<_RandomAccessIterator>::value_type
24070 while (__last - __first > 3)
24072 if (__depth_limit == 0)
24074 std::__heap_select(__first, __nth + 1, __last, __comp);
24076 std::iter_swap(__first, __nth);
24080 _RandomAccessIterator __cut =
24081 std::__unguarded_partition(__first, __last,
24082 _ValueType(std::__median(*__first,
24090 if (__cut <= __nth)
24095 std::__insertion_sort(__first, __last, __comp);
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>
24100 nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth,
24101 _RandomAccessIterator __last)
24103 typedef typename iterator_traits<_RandomAccessIterator>::value_type
24113 if (__first == __last || __nth == __last)
24116 std::__introselect(__first, __nth, __last,
24117 std::__lg(__last - __first) * 2);
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>
24122 nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth,
24123 _RandomAccessIterator __last, _Compare __comp)
24125 typedef typename iterator_traits<_RandomAccessIterator>::value_type
24136 if (__first == __last || __nth == __last)
24139 std::__introselect(__first, __nth, __last,
24140 std::__lg(__last - __first) * 2, __comp);
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,
24148 typedef typename iterator_traits<_ForwardIterator>::value_type
24150 typedef typename iterator_traits<_ForwardIterator>::difference_type
24159 _DistanceType __len = std::distance(__first, __last);
24160 _DistanceType __half;
24161 _ForwardIterator __middle, __left, __right;
24165 __half = __len >> 1;
24166 __middle = __first;
24167 std::advance(__middle, __half);
24168 if (*__middle < __val)
24170 __first = __middle;
24172 __len = __len - __half - 1;
24174 else if (__val < *__middle)
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);
24184 return pair<_ForwardIterator, _ForwardIterator>(__first, __first);
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,
24193 typedef typename iterator_traits<_ForwardIterator>::value_type
24195 typedef typename iterator_traits<_ForwardIterator>::difference_type
24206 _DistanceType __len = std::distance(__first, __last);
24207 _DistanceType __half;
24208 _ForwardIterator __middle, __left, __right;
24212 __half = __len >> 1;
24213 __middle = __first;
24214 std::advance(__middle, __half);
24215 if (__comp(*__middle, __val))
24217 __first = __middle;
24219 __len = __len - __half - 1;
24221 else if (__comp(__val, *__middle))
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);
24231 return pair<_ForwardIterator, _ForwardIterator>(__first, __first);
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>
24236 binary_search(_ForwardIterator __first, _ForwardIterator __last,
24239 typedef typename iterator_traits<_ForwardIterator>::value_type
24247 _ForwardIterator __i = std::lower_bound(__first, __last, __val);
24248 return __i != __last && !(__val < *__i);
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>
24253 binary_search(_ForwardIterator __first, _ForwardIterator __last,
24254 const _Tp& __val, _Compare __comp)
24256 typedef typename iterator_traits<_ForwardIterator>::value_type
24265 _ForwardIterator __i = std::lower_bound(__first, __last, __val, __comp);
24266 return __i != __last && !__comp(__val, *__i);
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>
24271 includes(_InputIterator1 __first1, _InputIterator1 __last1,
24272 _InputIterator2 __first2, _InputIterator2 __last2)
24274 typedef typename iterator_traits<_InputIterator1>::value_type
24276 typedef typename iterator_traits<_InputIterator2>::value_type
24287 while (__first1 != __last1 && __first2 != __last2)
24288 if (*__first2 < *__first1)
24290 else if(*__first1 < *__first2)
24293 ++__first1, ++__first2;
24295 return __first2 == __last2;
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,
24301 includes(_InputIterator1 __first1, _InputIterator1 __last1,
24302 _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp)
24304 typedef typename iterator_traits<_InputIterator1>::value_type
24306 typedef typename iterator_traits<_InputIterator2>::value_type
24319 while (__first1 != __last1 && __first2 != __last2)
24320 if (__comp(*__first2, *__first1))
24322 else if(__comp(*__first1, *__first2))
24325 ++__first1, ++__first2;
24327 return __first2 == __last2;
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>
24333 set_union(_InputIterator1 __first1, _InputIterator1 __last1,
24334 _InputIterator2 __first2, _InputIterator2 __last2,
24335 _OutputIterator __result)
24337 typedef typename iterator_traits<_InputIterator1>::value_type
24339 typedef typename iterator_traits<_InputIterator2>::value_type
24354 while (__first1 != __last1 && __first2 != __last2)
24356 if (*__first1 < *__first2)
24358 *__result = *__first1;
24361 else if (*__first2 < *__first1)
24363 *__result = *__first2;
24368 *__result = *__first1;
24374 return std::copy(__first2, __last2, std::copy(__first1, __last1,
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>
24381 set_union(_InputIterator1 __first1, _InputIterator1 __last1,
24382 _InputIterator2 __first2, _InputIterator2 __last2,
24383 _OutputIterator __result, _Compare __comp)
24385 typedef typename iterator_traits<_InputIterator1>::value_type
24387 typedef typename iterator_traits<_InputIterator2>::value_type
24404 while (__first1 != __last1 && __first2 != __last2)
24406 if (__comp(*__first1, *__first2))
24408 *__result = *__first1;
24411 else if (__comp(*__first2, *__first1))
24413 *__result = *__first2;
24418 *__result = *__first1;
24424 return std::copy(__first2, __last2, std::copy(__first1, __last1,
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>
24431 set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
24432 _InputIterator2 __first2, _InputIterator2 __last2,
24433 _OutputIterator __result)
24435 typedef typename iterator_traits<_InputIterator1>::value_type
24437 typedef typename iterator_traits<_InputIterator2>::value_type
24450 while (__first1 != __last1 && __first2 != __last2)
24451 if (*__first1 < *__first2)
24453 else if (*__first2 < *__first1)
24457 *__result = *__first1;
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>
24468 set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
24469 _InputIterator2 __first2, _InputIterator2 __last2,
24470 _OutputIterator __result, _Compare __comp)
24472 typedef typename iterator_traits<_InputIterator1>::value_type
24474 typedef typename iterator_traits<_InputIterator2>::value_type
24489 while (__first1 != __last1 && __first2 != __last2)
24490 if (__comp(*__first1, *__first2))
24492 else if (__comp(*__first2, *__first1))
24496 *__result = *__first1;
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>
24507 set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
24508 _InputIterator2 __first2, _InputIterator2 __last2,
24509 _OutputIterator __result)
24511 typedef typename iterator_traits<_InputIterator1>::value_type
24513 typedef typename iterator_traits<_InputIterator2>::value_type
24526 while (__first1 != __last1 && __first2 != __last2)
24527 if (*__first1 < *__first2)
24529 *__result = *__first1;
24533 else if (*__first2 < *__first1)
24540 return std::copy(__first1, __last1, __result);
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>
24546 set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
24547 _InputIterator2 __first2, _InputIterator2 __last2,
24548 _OutputIterator __result, _Compare __comp)
24550 typedef typename iterator_traits<_InputIterator1>::value_type
24552 typedef typename iterator_traits<_InputIterator2>::value_type
24567 while (__first1 != __last1 && __first2 != __last2)
24568 if (__comp(*__first1, *__first2))
24570 *__result = *__first1;
24574 else if (__comp(*__first2, *__first1))
24581 return std::copy(__first1, __last1, __result);
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>
24587 set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
24588 _InputIterator2 __first2, _InputIterator2 __last2,
24589 _OutputIterator __result)
24591 typedef typename iterator_traits<_InputIterator1>::value_type
24593 typedef typename iterator_traits<_InputIterator2>::value_type
24608 while (__first1 != __last1 && __first2 != __last2)
24609 if (*__first1 < *__first2)
24611 *__result = *__first1;
24615 else if (*__first2 < *__first1)
24617 *__result = *__first2;
24626 return std::copy(__first2, __last2, std::copy(__first1,
24627 __last1, __result));
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>
24633 set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
24634 _InputIterator2 __first2, _InputIterator2 __last2,
24635 _OutputIterator __result,
24638 typedef typename iterator_traits<_InputIterator1>::value_type
24640 typedef typename iterator_traits<_InputIterator2>::value_type
24657 while (__first1 != __last1 && __first2 != __last2)
24658 if (__comp(*__first1, *__first2))
24660 *__result = *__first1;
24664 else if (__comp(*__first2, *__first1))
24666 *__result = *__first2;
24675 return std::copy(__first2, __last2, std::copy(__first1,
24676 __last1, __result));
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>
24681 max_element(_ForwardIterator __first, _ForwardIterator __last)
24689 if (__first == __last)
24691 _ForwardIterator __result = __first;
24692 while (++__first != __last)
24693 if (*__result < *__first)
24694 __result = __first;
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>
24700 max_element(_ForwardIterator __first, _ForwardIterator __last,
24710 if (__first == __last) return __first;
24711 _ForwardIterator __result = __first;
24712 while (++__first != __last)
24713 if (__comp(*__result, *__first)) __result = __first;
24723 template<typename _ForwardIterator>
24725 min_element(_ForwardIterator __first, _ForwardIterator __last)
24733 if (__first == __last)
24735 _ForwardIterator __result = __first;
24736 while (++__first != __last)
24737 if (*__first < *__result)
24738 __result = __first;
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>
24744 min_element(_ForwardIterator __first, _ForwardIterator __last,
24754 if (__first == __last)
24756 _ForwardIterator __result = __first;
24757 while (++__first != __last)
24758 if (__comp(*__first, *__result))
24759 __result = __first;
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>
24765 next_permutation(_BidirectionalIterator __first,
24766 _BidirectionalIterator __last)
24775 if (__first == __last)
24777 _BidirectionalIterator __i = __first;
24786 _BidirectionalIterator __ii = __i;
24790 _BidirectionalIterator __j = __last;
24791 while (!(*__i < *--__j))
24793 std::iter_swap(__i, __j);
24794 std::reverse(__ii, __last);
24797 if (__i == __first)
24799 std::reverse(__first, __last);
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>
24807 next_permutation(_BidirectionalIterator __first,
24808 _BidirectionalIterator __last, _Compare __comp)
24818 if (__first == __last)
24820 _BidirectionalIterator __i = __first;
24829 _BidirectionalIterator __ii = __i;
24831 if (__comp(*__i, *__ii))
24833 _BidirectionalIterator __j = __last;
24834 while (!__comp(*__i, *--__j))
24836 std::iter_swap(__i, __j);
24837 std::reverse(__ii, __last);
24840 if (__i == __first)
24842 std::reverse(__first, __last);
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>
24850 prev_permutation(_BidirectionalIterator __first,
24851 _BidirectionalIterator __last)
24860 if (__first == __last)
24862 _BidirectionalIterator __i = __first;
24871 _BidirectionalIterator __ii = __i;
24875 _BidirectionalIterator __j = __last;
24876 while (!(*--__j < *__i))
24878 std::iter_swap(__i, __j);
24879 std::reverse(__ii, __last);
24882 if (__i == __first)
24884 std::reverse(__first, __last);
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>
24892 prev_permutation(_BidirectionalIterator __first,
24893 _BidirectionalIterator __last, _Compare __comp)
24903 if (__first == __last)
24905 _BidirectionalIterator __i = __first;
24914 _BidirectionalIterator __ii = __i;
24916 if (__comp(*__ii, *__i))
24918 _BidirectionalIterator __j = __last;
24919 while (!__comp(*--__j, *__i))
24921 std::iter_swap(__i, __j);
24922 std::reverse(__ii, __last);
24925 if (__i == __first)
24927 std::reverse(__first, __last);
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>
24935 find_first_of(_InputIterator __first1, _InputIterator __last1,
24936 _ForwardIterator __first2, _ForwardIterator __last2)
24947 for ( ; __first1 != __last1; ++__first1)
24948 for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
24949 if (*__first1 == *__iter)
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>
24957 find_first_of(_InputIterator __first1, _InputIterator __last1,
24958 _ForwardIterator __first2, _ForwardIterator __last2,
24959 _BinaryPredicate __comp)
24970 for ( ; __first1 != __last1; ++__first1)
24971 for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
24972 if (__comp(*__first1, *__iter))
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>
24979 __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
24980 _ForwardIterator2 __first2, _ForwardIterator2 __last2,
24981 forward_iterator_tag, forward_iterator_tag)
24983 if (__first2 == __last2)
24987 _ForwardIterator1 __result = __last1;
24990 _ForwardIterator1 __new_result
24991 = std::search(__first1, __last1, __first2, __last2);
24992 if (__new_result == __last1)
24996 __result = __new_result;
24997 __first1 = __new_result;
25004 template<typename _ForwardIterator1, typename _ForwardIterator2,
25005 typename _BinaryPredicate>
25007 __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
25008 _ForwardIterator2 __first2, _ForwardIterator2 __last2,
25009 forward_iterator_tag, forward_iterator_tag,
25010 _BinaryPredicate __comp)
25012 if (__first2 == __last2)
25016 _ForwardIterator1 __result = __last1;
25019 _ForwardIterator1 __new_result
25020 = std::search(__first1, __last1, __first2, __last2, __comp);
25021 if (__new_result == __last1)
25025 __result = __new_result;
25026 __first1 = __new_result;
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)
25048 typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1;
25049 typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2;
25051 _RevIterator1 __rlast1(__first1);
25052 _RevIterator2 __rlast2(__first2);
25053 _RevIterator1 __rresult = std::search(_RevIterator1(__last1), __rlast1,
25054 _RevIterator2(__last2), __rlast2);
25056 if (__rresult == __rlast1)
25060 _BidirectionalIterator1 __result = __rresult.base();
25061 std::advance(__result, -std::distance(__first2, __last2));
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)
25082 typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1;
25083 typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2;
25085 _RevIterator1 __rlast1(__first1);
25086 _RevIterator2 __rlast2(__first2);
25087 _RevIterator1 __rresult = std::search(_RevIterator1(__last1), __rlast1,
25088 _RevIterator2(__last2), __rlast2,
25091 if (__rresult == __rlast1)
25095 _BidirectionalIterator1 __result = __rresult.base();
25096 std::advance(__result, -std::distance(__first2, __last2));
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)
25115 return std::__find_end(__first1, __last1, __first2, __last2,
25116 std::__iterator_category(__first1),
25117 std::__iterator_category(__first2));
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)
25136 return std::__find_end(__first1, __last1, __first2, __last2,
25137 std::__iterator_category(__first1),
25138 std::__iterator_category(__first2),
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
25150 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/bits/basic_string.tcc" 3
25152 namespace std __attribute__ ((__visibility__ ("default"))) {
25154 template<typename _Type>
25156 __is_null_pointer(_Type* __ptr)
25157 { return __ptr == 0; }
25159 template<typename _Type>
25161 __is_null_pointer(_Type)
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;
25169 template<typename _CharT, typename _Traits, typename _Alloc>
25171 basic_string<_CharT, _Traits, _Alloc>::
25172 _Rep::_S_terminal = _CharT();
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;
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)];
25190 template<typename _CharT, typename _Traits, typename _Alloc>
25191 template<typename _InIterator>
25193 basic_string<_CharT, _Traits, _Alloc>::
25194 _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a,
25195 input_iterator_tag)
25198 if (__beg == __end && __a == _Alloc())
25199 return _S_empty_rep()._M_refdata();
25203 size_type __len = 0;
25204 while (__beg != __end && __len < sizeof(__buf) / sizeof(_CharT))
25206 __buf[__len++] = *__beg;
25209 _Rep* __r = _Rep::_S_create(__len, size_type(0), __a);
25210 _M_copy(__r->_M_refdata(), __buf, __len);
25213 while (__beg != __end)
25215 if (__len == __r->_M_capacity)
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);
25223 __r->_M_refdata()[__len++] = *__beg;
25229 __r->_M_destroy(__a);
25232 __r->_M_set_length_and_sharable(__len);
25233 return __r->_M_refdata();
25236 template<typename _CharT, typename _Traits, typename _Alloc>
25237 template <typename _InIterator>
25239 basic_string<_CharT, _Traits, _Alloc>::
25240 _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a,
25241 forward_iterator_tag)
25244 if (__beg == __end && __a == _Alloc())
25245 return _S_empty_rep()._M_refdata();
25248 if (__builtin_expect(__is_null_pointer(__beg) && __beg != __end, 0))
25249 __throw_logic_error(("basic_string::_S_construct NULL not valid"));
25251 const size_type __dnew = static_cast<size_type>(std::distance(__beg,
25254 _Rep* __r = _Rep::_S_create(__dnew, size_type(0), __a);
25256 { _S_copy_chars(__r->_M_refdata(), __beg, __end); }
25259 __r->_M_destroy(__a);
25262 __r->_M_set_length_and_sharable(__dnew);
25263 return __r->_M_refdata();
25266 template<typename _CharT, typename _Traits, typename _Alloc>
25268 basic_string<_CharT, _Traits, _Alloc>::
25269 _S_construct(size_type __n, _CharT __c, const _Alloc& __a)
25272 if (__n == 0 && __a == _Alloc())
25273 return _S_empty_rep()._M_refdata();
25276 _Rep* __r = _Rep::_S_create(__n, size_type(0), __a);
25278 _M_assign(__r->_M_refdata(), __n, __c);
25280 __r->_M_set_length_and_sharable(__n);
25281 return __r->_M_refdata();
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())
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)
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())
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)
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)
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)
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)
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)
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)
25353 if (_M_rep() != __str._M_rep())
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);
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)
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);
25376 const size_type __pos = __s - _M_data();
25378 _M_copy(_M_data(), __s, __n);
25380 _M_move(_M_data(), __s, __n);
25381 _M_rep()->_M_set_length_and_sharable(__n);
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)
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);
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)
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())
25415 if (_M_disjunct(__s))
25416 this->reserve(__len);
25419 const size_type __off = __s - _M_data();
25420 this->reserve(__len);
25421 __s = _M_data() + __off;
25424 _M_copy(_M_data() + this->size(), __s, __n);
25425 _M_rep()->_M_set_length_and_sharable(__len);
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)
25435 const size_type __size = __str.size();
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);
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)
25452 __str._M_check(__pos, "basic_string::append");
25453 __n = __str._M_limit(__pos, __n);
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);
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)
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);
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);
25488 const size_type __nleft = __p - __s;
25489 _M_copy(__p, __s, __nleft);
25490 _M_copy(__p + __nleft, __p + __n, __n - __nleft);
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,
25503 _M_check(__pos, "basic_string::replace");
25504 __n1 = _M_limit(__pos, __n1);
25505 _M_check_length(__n1, __n2, "basic_string::replace");
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)
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);
25522 const basic_string __tmp(__s, __n2);
25523 return _M_replace_safe(__pos, __n1, __tmp._M_data(), __n2);
25527 template<typename _CharT, typename _Traits, typename _Alloc>
25529 basic_string<_CharT, _Traits, _Alloc>::_Rep::
25530 _M_destroy(const _Alloc& __a) throw ()
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);
25537 template<typename _CharT, typename _Traits, typename _Alloc>
25539 basic_string<_CharT, _Traits, _Alloc>::
25543 if (_M_rep() == &_S_empty_rep())
25546 if (_M_rep()->_M_is_shared())
25547 _M_mutate(0, 0, 0);
25548 _M_rep()->_M_set_leaked();
25551 template<typename _CharT, typename _Traits, typename _Alloc>
25553 basic_string<_CharT, _Traits, _Alloc>::
25554 _M_mutate(size_type __pos, size_type __len1, size_type __len2)
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;
25560 if (__new_size > this->capacity() || _M_rep()->_M_is_shared())
25563 const allocator_type __a = get_allocator();
25564 _Rep* __r = _Rep::_S_create(__new_size, this->capacity(), __a);
25567 _M_copy(__r->_M_refdata(), _M_data(), __pos);
25569 _M_copy(__r->_M_refdata() + __pos + __len2,
25570 _M_data() + __pos + __len1, __how_much);
25572 _M_rep()->_M_dispose(__a);
25573 _M_data(__r->_M_refdata());
25575 else if (__how_much && __len1 != __len2)
25578 _M_move(_M_data() + __pos + __len2,
25579 _M_data() + __pos + __len1, __how_much);
25581 _M_rep()->_M_set_length_and_sharable(__new_size);
25584 template<typename _CharT, typename _Traits, typename _Alloc>
25586 basic_string<_CharT, _Traits, _Alloc>::
25587 reserve(size_type __res)
25589 if (__res != this->capacity() || _M_rep()->_M_is_shared())
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);
25601 template<typename _CharT, typename _Traits, typename _Alloc>
25603 basic_string<_CharT, _Traits, _Alloc>::
25604 swap(basic_string& __s)
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())
25612 _CharT* __tmp = _M_data();
25613 _M_data(__s._M_data());
25614 __s._M_data(__tmp);
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());
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)
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*);
25648 if (__capacity > __old_capacity && __capacity < 2 * __old_capacity)
25649 __capacity = 2 * __old_capacity;
25654 size_type __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep);
25656 const size_type __adj_size = __size + __malloc_header_size;
25657 if (__adj_size > __pagesize && __capacity > __old_capacity)
25659 const size_type __extra = __pagesize - __adj_size % __pagesize;
25660 __capacity += __extra / sizeof(_CharT);
25662 if (__capacity > _S_max_size)
25663 __capacity = _S_max_size;
25664 __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep);
25669 void* __place = _Raw_bytes_alloc(__alloc).allocate(__size);
25670 _Rep *__p = new (__place) _Rep;
25671 __p->_M_capacity = __capacity;
25679 __p->_M_set_sharable();
25683 template<typename _CharT, typename _Traits, typename _Alloc>
25685 basic_string<_CharT, _Traits, _Alloc>::_Rep::
25686 _M_clone(const _Alloc& __alloc, size_type __res)
25689 const size_type __requested_cap = this->_M_length + __res;
25690 _Rep* __r = _Rep::_S_create(__requested_cap, this->_M_capacity,
25692 if (this->_M_length)
25693 _M_copy(__r->_M_refdata(), _M_refdata(), this->_M_length);
25695 __r->_M_set_length_and_sharable(this->_M_length);
25696 return __r->_M_refdata();
25699 template<typename _CharT, typename _Traits, typename _Alloc>
25701 basic_string<_CharT, _Traits, _Alloc>::
25702 resize(size_type __n, _CharT __c)
25704 const size_type __size = this->size();
25705 _M_check_length(__size, __n, "basic_string::resize");
25707 this->append(__n - __size, __c);
25708 else if (__n < __size)
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)
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(),
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,
25733 _M_check_length(__n1, __n2, "basic_string::_M_replace_aux");
25734 _M_mutate(__pos1, __n1, __n2);
25736 _M_assign(_M_data() + __pos1, __n2, __c);
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,
25746 _M_mutate(__pos1, __n1, __n2);
25748 _M_copy(_M_data() + __pos1, __s, __n2);
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)
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);
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)
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);
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
25787 _M_check(__pos, "basic_string::copy");
25788 __n = _M_limit(__pos, __n);
25791 _M_copy(__s, _M_data() + __pos, __n);
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
25802 const size_type __size = this->size();
25803 const _CharT* __data = _M_data();
25806 return __pos <= __size ? __pos : npos;
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)
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
25824 size_type __ret = npos;
25825 const size_type __size = this->size();
25826 if (__pos < __size)
25828 const _CharT* __data = _M_data();
25829 const size_type __n = __size - __pos;
25830 const _CharT* __p = traits_type::find(__data + __pos, __n, __c);
25832 __ret = __p - __data;
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
25843 const size_type __size = this->size();
25846 __pos = std::min(size_type(__size - __n), __pos);
25847 const _CharT* __data = _M_data();
25850 if (traits_type::compare(__data + __pos, __s, __n) == 0)
25853 while (__pos-- > 0);
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
25863 size_type __size = this->size();
25866 if (--__size > __pos)
25868 for (++__size; __size-- > 0; )
25869 if (traits_type::eq(_M_data()[__size], __c))
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
25881 for (; __n && __pos < this->size(); ++__pos)
25883 const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]);
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
25896 size_type __size = this->size();
25899 if (--__size > __pos)
25903 if (traits_type::find(__s, __n, _M_data()[__size]))
25906 while (__size-- != 0);
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
25917 for (; __pos < this->size(); ++__pos)
25918 if (!traits_type::find(__s, __n, _M_data()[__pos]))
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
25928 for (; __pos < this->size(); ++__pos)
25929 if (!traits_type::eq(_M_data()[__pos], __c))
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
25940 size_type __size = this->size();
25943 if (--__size > __pos)
25947 if (!traits_type::find(__s, __n, _M_data()[__size]))
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
25960 size_type __size = this->size();
25963 if (--__size > __pos)
25967 if (!traits_type::eq(_M_data()[__size], __c))
25975 template<typename _CharT, typename _Traits, typename _Alloc>
25977 basic_string<_CharT, _Traits, _Alloc>::
25978 compare(size_type __pos, size_type __n, const basic_string& __str) const
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);
25986 __r = __n - __osize;
25990 template<typename _CharT, typename _Traits, typename _Alloc>
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
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);
26008 template<typename _CharT, typename _Traits, typename _Alloc>
26010 basic_string<_CharT, _Traits, _Alloc>::
26011 compare(const _CharT* __s) const
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);
26019 __r = __size - __osize;
26023 template<typename _CharT, typename _Traits, typename _Alloc>
26025 basic_string <_CharT, _Traits, _Alloc>::
26026 compare(size_type __pos, size_type __n1, const _CharT* __s) const
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);
26035 __r = __n1 - __osize;
26039 template<typename _CharT, typename _Traits, typename _Alloc>
26041 basic_string <_CharT, _Traits, _Alloc>::
26042 compare(size_type __pos, size_type __n1, const _CharT* __s,
26043 size_type __n2) const
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);
26059 extern template class basic_string<char>;
26061 basic_istream<char>&
26062 operator>>(basic_istream<char>&, string&);
26064 basic_ostream<char>&
26065 operator<<(basic_ostream<char>&, const string&);
26067 basic_istream<char>&
26068 getline(basic_istream<char>&, string&, char);
26070 basic_istream<char>&
26071 getline(basic_istream<char>&, string&);
26074 extern template class basic_string<wchar_t>;
26076 basic_istream<wchar_t>&
26077 operator>>(basic_istream<wchar_t>&, wstring&);
26079 basic_ostream<wchar_t>&
26080 operator<<(basic_ostream<wchar_t>&, const wstring&);
26082 basic_istream<wchar_t>&
26083 getline(basic_istream<wchar_t>&, wstring&, wchar_t);
26085 basic_istream<wchar_t>&
26086 getline(basic_istream<wchar_t>&, wstring&);
26091 # 59 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/include/g++-v4/string" 2 3
26092 # 40 "LogFactory.h" 2
26100 static std::string filename;
26101 static Logger* logger;
26107 static Logger* getInstance();
26112 static void setLogFile(const std::string& name) {
26119 static void release();
26123 # 37 "Command.cc" 2
26126 #define _D_LOGGER_H_
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;
26158 # 38 "Command.cc" 2
26162 int32_t Command::uuidGen = 0;
26164 Command::Command(int32_t cuid):uuid(uuidGen++),
26165 status(STATUS_INACTIVE),
26167 logger(LogFactory::getInstance()) {}
26169 void Command::transitStatus()
26172 case STATUS_REALTIME:
26175 status = STATUS_INACTIVE;