From this code:
#includethe g++ 3.3.2 compiler's pre-processor producesusing namespace std; int main() { string greeting = "Hello!"; cout << greeting << endl; return 0; }]]>
" # 1 "" # 1 "sample.cpp" # 1 "/usr/local/include/c++/3.3.2/iostream" 1 3 # 42 "/usr/local/include/c++/3.3.2/iostream" 3 # 43 "/usr/local/include/c++/3.3.2/iostream" 3 # 4294967215 "/usr/local/include/c++/3.3.2/iostream" 3 # 44 "/usr/local/include/c++/3.3.2/iostream" 3 # 1 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/c++config.h" 1 3 # 35 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/c++config.h" 3 # 1 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/os_defines.h" 1 3 # 36 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/c++config.h" 2 3 # 45 "/usr/local/include/c++/3.3.2/iostream" 2 3 # 1 "/usr/local/include/c++/3.3.2/ostream" 1 3 # 43 "/usr/local/include/c++/3.3.2/ostream" 3 # 44 "/usr/local/include/c++/3.3.2/ostream" 3 # 4294967290 "/usr/local/include/c++/3.3.2/ostream" 3 # 45 "/usr/local/include/c++/3.3.2/ostream" 3 # 1 "/usr/local/include/c++/3.3.2/ios" 1 3 # 42 "/usr/local/include/c++/3.3.2/ios" 3 # 43 "/usr/local/include/c++/3.3.2/ios" 3 # 4294967245 "/usr/local/include/c++/3.3.2/ios" 3 # 44 "/usr/local/include/c++/3.3.2/ios" 3 # 1 "/usr/local/include/c++/3.3.2/iosfwd" 1 3 # 43 "/usr/local/include/c++/3.3.2/iosfwd" 3 # 44 "/usr/local/include/c++/3.3.2/iosfwd" 3 # 4294967201 "/usr/local/include/c++/3.3.2/iosfwd" 3 # 46 "/usr/local/include/c++/3.3.2/iosfwd" 3 # 1 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/c++locale.h" 1 3 # 39 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/c++locale.h" 3 # 40 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/c++locale.h" 3 # 4294967155 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/c++locale.h" 3 # 41 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/c++locale.h" 3 # 1 "/usr/local/include/c++/3.3.2/clocale" 1 3 # 47 "/usr/local/include/c++/3.3.2/clocale" 3 # 48 "/usr/local/include/c++/3.3.2/clocale" 3 # 4294967114 "/usr/local/include/c++/3.3.2/clocale" 3 # 49 "/usr/local/include/c++/3.3.2/clocale" 3 # 1 "/usr/include/locale.h" 1 3 4 # 9 "/usr/include/locale.h" 3 4 #pragma ident "@(#)locale.h 1.19 99/08/10 SMI" # 46 "/usr/include/locale.h" 3 4 # 1 "/usr/include/iso/locale_iso.h" 1 3 4 # 45 "/usr/include/iso/locale_iso.h" 3 4 #pragma ident "@(#)locale_iso.h 1.1 99/08/09 SMI" # 1 "/usr/include/sys/feature_tests.h" 1 3 4 # 13 "/usr/include/sys/feature_tests.h" 3 4 #pragma ident "@(#)feature_tests.h 1.18 99/07/26 SMI" # 1 "/usr/include/sys/isa_defs.h" 1 3 4 # 9 "/usr/include/sys/isa_defs.h" 3 4 #pragma ident "@(#)isa_defs.h 1.20 99/05/04 SMI" # 158 "/usr/include/sys/isa_defs.h" 3 4 extern "C" { # 380 "/usr/include/sys/isa_defs.h" 3 4 } # 16 "/usr/include/sys/feature_tests.h" 2 3 4 extern "C" { # 181 "/usr/include/sys/feature_tests.h" 3 4 } # 48 "/usr/include/iso/locale_iso.h" 2 3 4 extern "C" { struct lconv { char *decimal_point; char *thousands_sep; char *grouping; char *int_curr_symbol; char *currency_symbol; char *mon_decimal_point; char *mon_thousands_sep; char *mon_grouping; char *positive_sign; char *negative_sign; char int_frac_digits; char frac_digits; char p_cs_precedes; char p_sep_by_space; char n_cs_precedes; char n_sep_by_space; char p_sign_posn; char n_sign_posn; }; # 95 "/usr/include/iso/locale_iso.h" 3 4 extern char *setlocale(int, const char *); extern struct lconv *localeconv(void); # 107 "/usr/include/iso/locale_iso.h" 3 4 } # 47 "/usr/include/locale.h" 2 3 4 # 1 "/usr/local/include/libintl.h" 1 3 4 # 22 "/usr/local/include/libintl.h" 3 4 # 1 "/usr/include/locale.h" 1 3 4 # 23 "/usr/local/include/libintl.h" 2 3 4 # 61 "/usr/local/include/libintl.h" 3 4 extern "C" { # 128 "/usr/local/include/libintl.h" 3 4 extern char *gettext (const char *__msgid) __asm__ ("" "libintl_gettext"); # 144 "/usr/local/include/libintl.h" 3 4 extern char *dgettext (const char *__domainname, const char *__msgid) __asm__ ("" "libintl_dgettext"); # 163 "/usr/local/include/libintl.h" 3 4 extern char *dcgettext (const char *__domainname, const char *__msgid, int __category) __asm__ ("" "libintl_dcgettext"); # 184 "/usr/local/include/libintl.h" 3 4 extern char *ngettext (const char *__msgid1, const char *__msgid2, unsigned long int __n) __asm__ ("" "libintl_ngettext"); # 204 "/usr/local/include/libintl.h" 3 4 extern char *dngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n) __asm__ ("" "libintl_dngettext"); # 227 "/usr/local/include/libintl.h" 3 4 extern char *dcngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n, int __category) __asm__ ("" "libintl_dcngettext"); # 249 "/usr/local/include/libintl.h" 3 4 extern char *textdomain (const char *__domainname) __asm__ ("" "libintl_textdomain"); # 267 "/usr/local/include/libintl.h" 3 4 extern char *bindtextdomain (const char *__domainname, const char *__dirname) __asm__ ("" "libintl_bindtextdomain"); # 286 "/usr/local/include/libintl.h" 3 4 extern char *bind_textdomain_codeset (const char *__domainname, const char *__codeset) __asm__ ("" "libintl_bind_textdomain_codeset"); # 300 "/usr/local/include/libintl.h" 3 4 extern void libintl_set_relocation_prefix (const char *orig_prefix, const char *curr_prefix); } # 52 "/usr/include/locale.h" 2 3 4 # 65 "/usr/include/locale.h" 3 4 extern "C" { # 75 "/usr/include/locale.h" 3 4 } # 50 "/usr/local/include/c++/3.3.2/clocale" 2 3 namespace std { using ::lconv; using ::setlocale; using ::localeconv; } # 42 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/c++locale.h" 2 3 namespace std { typedef int* __c_locale; template int __convert_from_v(char* __out, const int __attribute__ ((__unused__)) __size, const char* __fmt, _Tv __v, const __c_locale&, int __prec = -1) { char* __old = setlocale(6, 0); char* __sav = static_cast (malloc(strlen(__old) + 1)); if (__sav) strcpy(__sav, __old); setlocale(6, "C"); int __ret; if (__prec >= 0) __ret = sprintf(__out, __fmt, __prec, __v); else __ret = sprintf(__out, __fmt, __v); setlocale(6, __sav); free(__sav); return __ret; } } # 47 "/usr/local/include/c++/3.3.2/iosfwd" 2 3 # 1 "/usr/local/include/c++/3.3.2/cctype" 1 3 # 46 "/usr/local/include/c++/3.3.2/cctype" 3 # 47 "/usr/local/include/c++/3.3.2/cctype" 3 # 4294967290 "/usr/local/include/c++/3.3.2/cctype" 3 # 49 "/usr/local/include/c++/3.3.2/cctype" 3 # 1 "/usr/include/ctype.h" 1 3 4 # 16 "/usr/include/ctype.h" 3 4 #pragma ident "@(#)ctype.h 1.33 99/08/10 SMI" # 1 "/usr/include/iso/ctype_iso.h" 1 3 4 # 28 "/usr/include/iso/ctype_iso.h" 3 4 #pragma ident "@(#)ctype_iso.h 1.1 99/08/09 SMI" extern "C" { # 63 "/usr/include/iso/ctype_iso.h" 3 4 extern int isalnum(int); extern int isalpha(int); extern int iscntrl(int); extern int isdigit(int); extern int isgraph(int); extern int islower(int); extern int isprint(int); extern int ispunct(int); extern int isspace(int); extern int isupper(int); extern int isxdigit(int); extern int tolower(int); extern int toupper(int); extern unsigned char __ctype[]; extern unsigned int *__ctype_mask; extern int *__trans_upper; extern int *__trans_lower; # 186 "/usr/include/iso/ctype_iso.h" 3 4 } # 19 "/usr/include/ctype.h" 2 3 4 # 41 "/usr/include/ctype.h" 3 4 extern "C" { extern int isascii(int); extern int toascii(int); extern int _tolower(int); extern int _toupper(int); # 90 "/usr/include/ctype.h" 3 4 } # 50 "/usr/local/include/c++/3.3.2/cctype" 2 3 # 66 "/usr/local/include/c++/3.3.2/cctype" 3 namespace std { using ::isalnum; using ::isalpha; using ::iscntrl; using ::isdigit; using ::isgraph; using ::islower; using ::isprint; using ::ispunct; using ::isspace; using ::isupper; using ::isxdigit; using ::tolower; using ::toupper; } # 48 "/usr/local/include/c++/3.3.2/iosfwd" 2 3 # 1 "/usr/local/include/c++/3.3.2/bits/stringfwd.h" 1 3 # 42 "/usr/local/include/c++/3.3.2/bits/stringfwd.h" 3 # 43 "/usr/local/include/c++/3.3.2/bits/stringfwd.h" 3 # 4294967251 "/usr/local/include/c++/3.3.2/bits/stringfwd.h" 3 # 46 "/usr/local/include/c++/3.3.2/bits/stringfwd.h" 3 namespace std { template class allocator; template struct char_traits; template , typename _Alloc = allocator<_CharT> > class basic_string; template<> struct char_traits ; typedef basic_string string; } # 49 "/usr/local/include/c++/3.3.2/iosfwd" 2 3 # 1 "/usr/local/include/c++/3.3.2/bits/fpos.h" 1 3 # 42 "/usr/local/include/c++/3.3.2/bits/fpos.h" 3 # 43 "/usr/local/include/c++/3.3.2/bits/fpos.h" 3 # 4294967291 "/usr/local/include/c++/3.3.2/bits/fpos.h" 3 # 44 "/usr/local/include/c++/3.3.2/bits/fpos.h" 3 # 1 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/c++io.h" 1 3 # 35 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/c++io.h" 3 # 1 "/usr/local/include/c++/3.3.2/cstdio" 1 3 # 47 "/usr/local/include/c++/3.3.2/cstdio" 3 # 48 "/usr/local/include/c++/3.3.2/cstdio" 3 # 4294967212 "/usr/local/include/c++/3.3.2/cstdio" 3 # 50 "/usr/local/include/c++/3.3.2/cstdio" 3 # 1 "/usr/local/include/c++/3.3.2/cstddef" 1 3 # 46 "/usr/local/include/c++/3.3.2/cstddef" 3 # 47 "/usr/local/include/c++/3.3.2/cstddef" 3 # 4294967162 "/usr/local/include/c++/3.3.2/cstddef" 3 # 48 "/usr/local/include/c++/3.3.2/cstddef" 3 # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stddef.h" 1 3 4 # 151 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stddef.h" 3 4 typedef int ptrdiff_t; # 213 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stddef.h" 3 4 typedef unsigned int size_t; # 49 "/usr/local/include/c++/3.3.2/cstddef" 2 3 namespace std { using ::ptrdiff_t; using ::size_t; } # 51 "/usr/local/include/c++/3.3.2/cstdio" 2 3 # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio.h" 1 3 4 # 14 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio.h" 3 4 # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdarg.h" 1 3 4 # 43 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 15 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio.h" 2 3 4 # 34 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio.h" 3 4 #pragma ident "@(#)stdio.h 1.79 01/04/16 SMI" # 1 "/usr/include/iso/stdio_iso.h" 1 3 4 # 32 "/usr/include/iso/stdio_iso.h" 3 4 #pragma ident "@(#)stdio_iso.h 1.2 99/10/25 SMI" # 1 "/usr/include/sys/va_list.h" 1 3 4 # 9 "/usr/include/sys/va_list.h" 3 4 #pragma ident "@(#)va_list.h 1.13 01/02/08 SMI" # 22 "/usr/include/sys/va_list.h" 3 4 extern "C" { typedef void *__va_list; } # 37 "/usr/include/iso/stdio_iso.h" 2 3 4 # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio_tag.h" 1 3 4 # 18 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio_tag.h" 3 4 #pragma ident "@(#)stdio_tag.h 1.3 98/04/20 SMI" extern "C" { # 30 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio_tag.h" 3 4 typedef struct __FILE __FILE; } # 38 "/usr/include/iso/stdio_iso.h" 2 3 4 # 1 "/usr/include/stdio_impl.h" 1 3 4 # 9 "/usr/include/stdio_impl.h" 3 4 #pragma ident "@(#)stdio_impl.h 1.13 01/11/16 SMI" extern "C" { typedef int ssize_t; # 38 "/usr/include/stdio_impl.h" 3 4 struct __FILE { ssize_t _cnt; unsigned char *_ptr; unsigned char *_base; unsigned char _flag; unsigned char _file; unsigned __orientation:2; unsigned __ionolock:1; unsigned __seekable:1; unsigned __filler:4; }; } # 39 "/usr/include/iso/stdio_iso.h" 2 3 4 # 49 "/usr/include/iso/stdio_iso.h" 3 4 extern "C" { # 59 "/usr/include/iso/stdio_iso.h" 3 4 typedef long long __longlong_t; # 75 "/usr/include/iso/stdio_iso.h" 3 4 typedef __FILE FILE; # 88 "/usr/include/iso/stdio_iso.h" 3 4 typedef long fpos_t; # 147 "/usr/include/iso/stdio_iso.h" 3 4 extern __FILE __iob[20]; # 164 "/usr/include/iso/stdio_iso.h" 3 4 extern int remove(const char *); extern int rename(const char *, const char *); extern FILE *tmpfile(void); extern char *tmpnam(char *); extern int fclose(FILE *); extern int fflush(FILE *); extern FILE *fopen(const char *, const char *); extern FILE *freopen(const char *, const char *, FILE *); extern void setbuf(FILE *, char *); extern int setvbuf(FILE *, char *, int, size_t); extern int fprintf(FILE *, const char *, ...); extern int fscanf(FILE *, const char *, ...); extern int printf(const char *, ...); extern int scanf(const char *, ...); extern int sprintf(char *, const char *, ...); extern int sscanf(const char *, const char *, ...); extern int vfprintf(FILE *, const char *, __va_list); extern int vprintf(const char *, __va_list); extern int vsprintf(char *, const char *, __va_list); extern int fgetc(FILE *); extern char *fgets(char *, int, FILE *); extern int fputc(int, FILE *); extern int fputs(const char *, FILE *); extern int getc(FILE *); extern int putc(int, FILE *); extern int getchar(void); extern int putchar(int); extern char *gets(char *); extern int puts(const char *); extern int ungetc(int, FILE *); extern size_t fread(void *, size_t, size_t, FILE *); extern size_t fwrite(const void *, size_t, size_t, FILE *); extern int fgetpos(FILE *, fpos_t *); extern int fseek(FILE *, long, int); extern int fsetpos(FILE *, const fpos_t *); extern long ftell(FILE *); extern void rewind(FILE *); extern void clearerr(FILE *); extern int feof(FILE *); extern int ferror(FILE *); extern void perror(const char *); extern int __filbuf(FILE *); extern int __flsbuf(int, FILE *); # 336 "/usr/include/iso/stdio_iso.h" 3 4 } # 37 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio.h" 2 3 4 # 98 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio.h" 3 4 extern "C" { typedef long off_t; typedef __longlong_t off64_t; # 123 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio.h" 3 4 typedef __longlong_t fpos64_t; # 134 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio.h" 3 4 typedef __va_list __not_va_list__; # 151 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio.h" 3 4 extern unsigned char _sibuf[], _sobuf[]; # 193 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio.h" 3 4 extern unsigned char *_bufendtab[]; extern FILE *_lastbuf; # 225 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio.h" 3 4 extern char *tmpnam_r(char *); extern void setbuffer(FILE *, char *, size_t); extern int setlinebuf(FILE *); extern int vfscanf(FILE *, const char *, __gnuc_va_list); extern int vscanf(const char *, __gnuc_va_list); extern int vsscanf(const char *, const char *, __gnuc_va_list); extern int snprintf(char *, size_t, const char *, ...); extern int vsnprintf(char *, size_t, const char *, __gnuc_va_list); # 258 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio.h" 3 4 extern FILE *fdopen(int, const char *); extern char *ctermid(char *); extern int fileno(FILE *); # 269 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio.h" 3 4 extern void flockfile(FILE *); extern int ftrylockfile(FILE *); extern void funlockfile(FILE *); extern int getc_unlocked(FILE *); extern int getchar_unlocked(void); extern int putc_unlocked(int, FILE *); extern int putchar_unlocked(int); # 284 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio.h" 3 4 extern FILE *popen(const char *, const char *); extern char *cuserid(char *); extern char *tempnam(const char *, const char *); extern int getopt(int, char *const *, const char *); extern char *optarg; extern int optind, opterr, optopt; extern int getw(FILE *); extern int putw(int, FILE *); extern int pclose(FILE *); extern int fseeko(FILE *, off_t, int); extern off_t ftello(FILE *); # 313 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio.h" 3 4 extern FILE *fopen64(const char *, const char *); extern FILE *freopen64(const char *, const char *, FILE *); extern FILE *tmpfile64(void); extern int fgetpos64(FILE *, fpos64_t *); extern int fsetpos64(FILE *, const fpos64_t *); extern int fseeko64(FILE *, off64_t, int); extern off64_t ftello64(FILE *); # 423 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stdio.h" 3 4 } # 53 "/usr/local/include/c++/3.3.2/cstdio" 2 3 # 97 "/usr/local/include/c++/3.3.2/cstdio" 3 namespace std { using ::FILE; using ::fpos_t; using ::clearerr; using ::fclose; using ::feof; using ::ferror; using ::fflush; using ::fgetc; using ::fgetpos; using ::fgets; using ::fopen; using ::fprintf; using ::fputc; using ::fputs; using ::fread; using ::freopen; using ::fscanf; using ::fseek; using ::fsetpos; using ::ftell; using ::fwrite; using ::getc; using ::getchar; using ::gets; using ::perror; using ::printf; using ::putc; using ::putchar; using ::puts; using ::remove; using ::rename; using ::rewind; using ::scanf; using ::setbuf; using ::setvbuf; using ::sprintf; using ::sscanf; using ::tmpfile; using ::tmpnam; using ::ungetc; using ::vfprintf; using ::vprintf; using ::vsprintf; } # 36 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/c++io.h" 2 3 # 1 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/gthr.h" 1 3 # 98 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/gthr.h" 3 # 1 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/gthr-default.h" 1 3 # 37 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/gthr-default.h" 3 # 1 "/usr/include/pthread.h" 1 3 4 # 9 "/usr/include/pthread.h" 3 4 #pragma ident "@(#)pthread.h 1.32 01/11/10 SMI" # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 1 3 4 # 25 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 3 4 #pragma ident "@(#)types.h 1.73 02/10/10 SMI" # 1 "/usr/include/sys/machtypes.h" 1 3 4 # 16 "/usr/include/sys/machtypes.h" 3 4 #pragma ident "@(#)machtypes.h 1.13 99/05/04 SMI" extern "C" { # 33 "/usr/include/sys/machtypes.h" 3 4 typedef struct _label_t { long val[2]; } label_t; typedef unsigned char lock_t; } # 34 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 2 3 4 # 45 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 3 4 # 1 "/usr/include/sys/int_types.h" 1 3 4 # 9 "/usr/include/sys/int_types.h" 3 4 #pragma ident "@(#)int_types.h 1.6 97/08/20 SMI" # 45 "/usr/include/sys/int_types.h" 3 4 extern "C" { # 62 "/usr/include/sys/int_types.h" 3 4 typedef char int8_t; typedef short int16_t; typedef int int32_t; typedef long long int64_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; typedef unsigned long long uint64_t; # 94 "/usr/include/sys/int_types.h" 3 4 typedef int64_t intmax_t; typedef uint64_t uintmax_t; # 110 "/usr/include/sys/int_types.h" 3 4 typedef int intptr_t; typedef unsigned int uintptr_t; typedef char int_least8_t; typedef short int_least16_t; typedef int int_least32_t; typedef long long int_least64_t; typedef unsigned char uint_least8_t; typedef unsigned short uint_least16_t; typedef unsigned int uint_least32_t; typedef unsigned long long uint_least64_t; } # 46 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 2 3 4 extern "C" { # 62 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 3 4 typedef long long longlong_t; typedef unsigned long long u_longlong_t; # 85 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 3 4 typedef long t_scalar_t; typedef unsigned long t_uscalar_t; typedef unsigned char uchar_t; typedef unsigned short ushort_t; typedef unsigned int uint_t; typedef unsigned long ulong_t; typedef char *caddr_t; typedef long daddr_t; typedef short cnt_t; # 121 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 3 4 typedef ulong_t pfn_t; typedef ulong_t pgcnt_t; typedef long spgcnt_t; typedef uchar_t use_t; typedef short sysid_t; typedef short index_t; typedef void *timeout_id_t; typedef void *bufcall_id_t; # 159 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 3 4 typedef ulong_t ino_t; typedef long blkcnt_t; typedef ulong_t fsblkcnt_t; typedef ulong_t fsfilcnt_t; # 177 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 3 4 typedef u_longlong_t ino64_t; typedef longlong_t blkcnt64_t; typedef u_longlong_t fsblkcnt64_t; typedef u_longlong_t fsfilcnt64_t; typedef long blksize_t; typedef enum { _B_FALSE, _B_TRUE } boolean_t; # 204 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 3 4 typedef int64_t pad64_t; typedef uint64_t upad64_t; # 217 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 3 4 typedef longlong_t offset_t; typedef u_longlong_t u_offset_t; typedef u_longlong_t len_t; typedef u_longlong_t diskaddr_t; # 238 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 3 4 typedef union { offset_t _f; struct { int32_t _u; int32_t _l; } _p; } lloff_t; # 258 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 3 4 typedef union { longlong_t _f; struct { int32_t _u; int32_t _l; } _p; } lldaddr_t; typedef uint_t k_fltset_t; # 281 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 3 4 typedef long id_t; typedef uint_t useconds_t; typedef long suseconds_t; # 302 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 3 4 typedef ulong_t major_t; typedef ulong_t minor_t; typedef short pri_t; # 322 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 3 4 typedef ushort_t o_mode_t; typedef short o_dev_t; typedef ushort_t o_uid_t; typedef o_uid_t o_gid_t; typedef short o_nlink_t; typedef short o_pid_t; typedef ushort_t o_ino_t; typedef int key_t; typedef ulong_t mode_t; typedef long uid_t; typedef uid_t gid_t; typedef id_t taskid_t; typedef id_t projid_t; typedef uint_t pthread_t; typedef uint_t pthread_key_t; typedef struct _pthread_mutex { struct { uint16_t __pthread_mutex_flag1; uint8_t __pthread_mutex_flag2; uint8_t __pthread_mutex_ceiling; uint16_t __pthread_mutex_type; uint16_t __pthread_mutex_magic; } __pthread_mutex_flags; union { struct { uint8_t __pthread_mutex_pad[8]; } __pthread_mutex_lock64; struct { uint32_t __pthread_ownerpid; uint32_t __pthread_lockword; } __pthread_mutex_lock32; upad64_t __pthread_mutex_owner64; } __pthread_mutex_lock; upad64_t __pthread_mutex_data; } pthread_mutex_t; typedef struct _pthread_cond { struct { uint8_t __pthread_cond_flag[4]; uint16_t __pthread_cond_type; uint16_t __pthread_cond_magic; } __pthread_cond_flags; upad64_t __pthread_cond_data; } pthread_cond_t; typedef struct _pthread_rwlock { int32_t __pthread_rwlock_readers; uint16_t __pthread_rwlock_type; uint16_t __pthread_rwlock_magic; pthread_mutex_t __pthread_rwlock_mutex; pthread_cond_t __pthread_rwlock_readercv; pthread_cond_t __pthread_rwlock_writercv; } pthread_rwlock_t; typedef struct _pthread_attr { void *__pthread_attrp; } pthread_attr_t; typedef struct _pthread_mutexattr { void *__pthread_mutexattrp; } pthread_mutexattr_t; typedef struct _pthread_condattr { void *__pthread_condattrp; } pthread_condattr_t; typedef struct _once { upad64_t __pthread_once_pad[4]; } pthread_once_t; typedef struct _pthread_rwlockattr { void *__pthread_rwlockattrp; } pthread_rwlockattr_t; typedef ulong_t dev_t; typedef ulong_t nlink_t; typedef long pid_t; # 485 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 3 4 typedef long time_t; typedef long clock_t; typedef int clockid_t; typedef int timer_t; typedef unsigned char unchar; typedef unsigned short ushort; typedef unsigned int uint; typedef unsigned long ulong; # 561 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 3 4 typedef unsigned char u_char; typedef unsigned short u_short; typedef unsigned int u_int; typedef unsigned long u_long; typedef struct _quad { int val[2]; } quad_t; typedef quad_t quad; # 1 "/usr/include/sys/select.h" 1 3 4 # 15 "/usr/include/sys/select.h" 3 4 #pragma ident "@(#)select.h 1.17 01/08/15 SMI" # 1 "/usr/include/sys/time.h" 1 3 4 # 22 "/usr/include/sys/time.h" 3 4 #pragma ident "@(#)time.h 2.70 02/01/28 SMI" # 32 "/usr/include/sys/time.h" 3 4 extern "C" { # 49 "/usr/include/sys/time.h" 3 4 struct timeval { time_t tv_sec; suseconds_t tv_usec; }; # 82 "/usr/include/sys/time.h" 3 4 struct timezone { int tz_minuteswest; int tz_dsttime; }; } # 100 "/usr/include/sys/time.h" 3 4 # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 1 3 4 # 101 "/usr/include/sys/time.h" 2 3 4 extern "C" { # 153 "/usr/include/sys/time.h" 3 4 struct itimerval { struct timeval it_interval; struct timeval it_value; }; # 201 "/usr/include/sys/time.h" 3 4 typedef longlong_t hrtime_t; # 319 "/usr/include/sys/time.h" 3 4 int adjtime(struct timeval *, struct timeval *); # 329 "/usr/include/sys/time.h" 3 4 int futimesat(int, const char *, const struct timeval *); # 340 "/usr/include/sys/time.h" 3 4 int getitimer(int, struct itimerval *); int utimes(const char *, const struct timeval *); int setitimer(int, const struct itimerval *, struct itimerval *); # 377 "/usr/include/sys/time.h" 3 4 int settimeofday(struct timeval *, void *); hrtime_t gethrtime(void); hrtime_t gethrvtime(void); # 397 "/usr/include/sys/time.h" 3 4 int gettimeofday(struct timeval *, void *); # 418 "/usr/include/sys/time.h" 3 4 # 1 "/usr/include/time.h" 1 3 4 # 16 "/usr/include/time.h" 3 4 #pragma ident "@(#)time.h 1.39 99/08/10 SMI" # 1 "/usr/include/iso/time_iso.h" 1 3 4 # 28 "/usr/include/iso/time_iso.h" 3 4 #pragma ident "@(#)time_iso.h 1.1 99/08/09 SMI" extern "C" { # 69 "/usr/include/iso/time_iso.h" 3 4 struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; }; extern char *asctime(const struct tm *); extern clock_t clock(void); extern char *ctime(const time_t *); extern double difftime(time_t, time_t); extern struct tm *gmtime(const time_t *); extern struct tm *localtime(const time_t *); extern time_t mktime(struct tm *); extern time_t time(time_t *); extern size_t strftime(char *, size_t, const char *, const struct tm *); # 113 "/usr/include/iso/time_iso.h" 3 4 } # 21 "/usr/include/time.h" 2 3 4 # 43 "/usr/include/time.h" 3 4 extern "C" { # 60 "/usr/include/time.h" 3 4 extern struct tm *gmtime_r(const time_t *, struct tm *); extern struct tm *localtime_r(const time_t *, struct tm *); extern char *strptime(const char *, const char *, struct tm *); # 83 "/usr/include/time.h" 3 4 # 1 "/usr/include/sys/time_impl.h" 1 3 4 # 19 "/usr/include/sys/time_impl.h" 3 4 #pragma ident "@(#)time_impl.h 1.7 01/09/06 SMI" extern "C" { # 38 "/usr/include/sys/time_impl.h" 3 4 typedef struct timespec { time_t tv_sec; long tv_nsec; } timespec_t; # 62 "/usr/include/sys/time_impl.h" 3 4 typedef struct timespec timestruc_t; # 77 "/usr/include/sys/time_impl.h" 3 4 typedef struct itimerspec { struct timespec it_interval; struct timespec it_value; } itimerspec_t; # 116 "/usr/include/sys/time_impl.h" 3 4 } # 84 "/usr/include/time.h" 2 3 4 # 98 "/usr/include/time.h" 3 4 union sigval { int sival_int; void *sival_ptr; }; struct sigevent { int sigev_notify; int sigev_signo; union sigval sigev_value; void (*sigev_notify_function)(union sigval); pthread_attr_t *sigev_notify_attributes; int __sigev_pad2; }; extern int clock_getres(clockid_t, struct timespec *); extern int clock_gettime(clockid_t, struct timespec *); extern int clock_settime(clockid_t, const struct timespec *); extern int timer_create(clockid_t, struct sigevent *, timer_t *); extern int timer_delete(timer_t); extern int timer_getoverrun(timer_t); extern int timer_gettime(timer_t, struct itimerspec *); extern int timer_settime(timer_t, int, const struct itimerspec *, struct itimerspec *); extern int nanosleep(const struct timespec *, struct timespec *); extern void tzset(void); extern char *tzname[2]; extern long _sysconf(int); extern long timezone; extern int daylight; # 156 "/usr/include/time.h" 3 4 extern struct tm *getdate(const char *); extern int getdate_err; # 250 "/usr/include/time.h" 3 4 extern char *asctime_r(const struct tm *, char *); extern char *ctime_r(const time_t *, char *); #pragma redefine_extname ctime_r __posix_ctime_r #pragma redefine_extname asctime_r __posix_asctime_r # 318 "/usr/include/time.h" 3 4 } # 419 "/usr/include/sys/time.h" 2 3 4 # 431 "/usr/include/sys/time.h" 3 4 # 1 "/usr/include/sys/select.h" 1 3 4 # 432 "/usr/include/sys/time.h" 2 3 4 } # 21 "/usr/include/sys/select.h" 2 3 4 extern "C" { # 48 "/usr/include/sys/select.h" 3 4 typedef long fd_mask; typedef long fds_mask; # 76 "/usr/include/sys/select.h" 3 4 typedef struct fd_set { long fds_bits[(((1024)+(((sizeof (fds_mask) * 8))-1))/((sizeof (fds_mask) * 8)))]; } fd_set; # 100 "/usr/include/sys/select.h" 3 4 extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *); } # 574 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 2 3 4 # 590 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/sys/types.h" 3 4 } # 13 "/usr/include/pthread.h" 2 3 4 # 1 "/usr/include/sched.h" 1 3 4 # 11 "/usr/include/sched.h" 3 4 #pragma ident "@(#)sched.h 1.9 98/01/16 SMI" extern "C" { struct sched_param { int sched_priority; int sched_nicelim; int sched_nice; int sched_pad[6]; }; # 44 "/usr/include/sched.h" 3 4 int sched_getparam(pid_t pid, struct sched_param *param); int sched_setparam(pid_t pid, const struct sched_param *param); int sched_getscheduler(pid_t pid); int sched_setscheduler(pid_t pid, int policy, const struct sched_param *param); int sched_yield(void); int sched_get_priority_max(int policy); int sched_get_priority_min(int policy); int sched_rr_get_interval(pid_t pid, struct timespec *interval); # 65 "/usr/include/sched.h" 3 4 } # 15 "/usr/include/pthread.h" 2 3 4 extern "C" { # 111 "/usr/include/pthread.h" 3 4 typedef struct _cleanup { uintptr_t pthread_cleanup_pad[4]; } _cleanup_t; void __pthread_cleanup_push(void (*routine)(void *), void *args, caddr_t fp, _cleanup_t *info); void __pthread_cleanup_pop(int ex, _cleanup_t *info); caddr_t _getfp(void); # 131 "/usr/include/pthread.h" 3 4 extern "C" { typedef void (*_Voidfp)(void*); } # 155 "/usr/include/pthread.h" 3 4 extern int pthread_attr_init(pthread_attr_t *); extern int pthread_attr_destroy(pthread_attr_t *); extern int pthread_attr_setstacksize(pthread_attr_t *, size_t); extern int pthread_attr_getstacksize(const pthread_attr_t *, size_t *); extern int pthread_attr_setstackaddr(pthread_attr_t *, void *); extern int pthread_attr_getstackaddr(const pthread_attr_t *, void **); extern int pthread_attr_setdetachstate(pthread_attr_t *, int); extern int pthread_attr_getdetachstate(const pthread_attr_t *, int *); extern int pthread_attr_setscope(pthread_attr_t *, int); extern int pthread_attr_getscope(const pthread_attr_t *, int *); extern int pthread_attr_setinheritsched(pthread_attr_t *, int); extern int pthread_attr_getinheritsched(const pthread_attr_t *, int *); extern int pthread_attr_setschedpolicy(pthread_attr_t *, int); extern int pthread_attr_getschedpolicy(const pthread_attr_t *, int *); extern int pthread_attr_setschedparam(pthread_attr_t *, const struct sched_param *); extern int pthread_attr_getschedparam(const pthread_attr_t *, struct sched_param *); extern int pthread_create(pthread_t *, const pthread_attr_t *, void * (*)(void *), void *); extern int pthread_once(pthread_once_t *, void (*)(void)); extern int pthread_join(pthread_t, void **); extern int pthread_detach(pthread_t); extern void pthread_exit(void *); extern int pthread_cancel(pthread_t); extern int pthread_setschedparam(pthread_t, int, const struct sched_param *); extern int pthread_getschedparam(pthread_t, int *, struct sched_param *); extern int pthread_setcancelstate(int, int *); extern int pthread_setcanceltype(int, int *); extern void pthread_testcancel(void); extern int pthread_equal(pthread_t, pthread_t); extern int pthread_key_create(pthread_key_t *, void (*)(void *)); extern int pthread_key_delete(pthread_key_t); extern int pthread_setspecific(pthread_key_t, const void *); extern void *pthread_getspecific(pthread_key_t); extern pthread_t pthread_self(void); extern int pthread_mutexattr_init(pthread_mutexattr_t *); extern int pthread_mutexattr_destroy(pthread_mutexattr_t *); extern int pthread_mutexattr_setpshared(pthread_mutexattr_t *, int); extern int pthread_mutexattr_getpshared(const pthread_mutexattr_t *, int *); extern int pthread_mutexattr_setprotocol(pthread_mutexattr_t *, int); extern int pthread_mutexattr_getprotocol(const pthread_mutexattr_t *, int *); extern int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *, int); extern int pthread_mutexattr_getprioceiling(const pthread_mutexattr_t *, int *); extern int pthread_mutexattr_setrobust_np(pthread_mutexattr_t *, int); extern int pthread_mutexattr_getrobust_np(const pthread_mutexattr_t *, int *); extern int pthread_mutex_init(pthread_mutex_t *, const pthread_mutexattr_t *); extern int pthread_mutex_consistent_np(pthread_mutex_t *); extern int pthread_mutex_destroy(pthread_mutex_t *); extern int pthread_mutex_lock(pthread_mutex_t *); extern int pthread_mutex_unlock(pthread_mutex_t *); extern int pthread_mutex_trylock(pthread_mutex_t *); extern int pthread_mutex_setprioceiling(pthread_mutex_t *, int, int *); extern int pthread_mutex_getprioceiling(const pthread_mutex_t *, int *); extern int pthread_condattr_init(pthread_condattr_t *); extern int pthread_condattr_destroy(pthread_condattr_t *); extern int pthread_condattr_setpshared(pthread_condattr_t *, int); extern int pthread_condattr_getpshared(const pthread_condattr_t *, int *); extern int pthread_cond_init(pthread_cond_t *, const pthread_condattr_t *); extern int pthread_cond_destroy(pthread_cond_t *); extern int pthread_cond_broadcast(pthread_cond_t *); extern int pthread_cond_signal(pthread_cond_t *); extern int pthread_cond_wait(pthread_cond_t *, pthread_mutex_t *); extern int pthread_cond_timedwait(pthread_cond_t *, pthread_mutex_t *, const struct timespec *); extern int pthread_cond_reltimedwait_np(pthread_cond_t *, pthread_mutex_t *, const struct timespec *); extern int pthread_attr_getguardsize(const pthread_attr_t *, size_t *); extern int pthread_attr_setguardsize(pthread_attr_t *, size_t); extern int pthread_getconcurrency(void); extern int pthread_setconcurrency(int newval); extern int pthread_mutexattr_settype(pthread_mutexattr_t *, int); extern int pthread_mutexattr_gettype(const pthread_mutexattr_t *, int *); extern int pthread_rwlock_init(pthread_rwlock_t *, const pthread_rwlockattr_t *); extern int pthread_rwlock_destroy(pthread_rwlock_t *); extern int pthread_rwlock_rdlock(pthread_rwlock_t *); extern int pthread_rwlock_tryrdlock(pthread_rwlock_t *); extern int pthread_rwlock_wrlock(pthread_rwlock_t *); extern int pthread_rwlock_trywrlock(pthread_rwlock_t *); extern int pthread_rwlock_unlock(pthread_rwlock_t *); extern int pthread_rwlockattr_init(pthread_rwlockattr_t *); extern int pthread_rwlockattr_destroy(pthread_rwlockattr_t *); extern int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *, int *); extern int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int); # 339 "/usr/include/pthread.h" 3 4 } # 38 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/gthr-default.h" 2 3 # 1 "/usr/include/unistd.h" 1 3 4 # 16 "/usr/include/unistd.h" 3 4 #pragma ident "@(#)unistd.h 1.60 01/07/29 SMI" # 1 "/usr/include/sys/unistd.h" 1 3 4 # 25 "/usr/include/sys/unistd.h" 3 4 #pragma ident "@(#)unistd.h 1.39 01/07/29 SMI" extern "C" { # 273 "/usr/include/sys/unistd.h" 3 4 } # 22 "/usr/include/unistd.h" 2 3 4 extern "C" { # 171 "/usr/include/unistd.h" 3 4 extern int access(const char *, int); extern int acct(const char *); extern unsigned alarm(unsigned); extern int brk(void *); extern int chdir(const char *); extern int chown(const char *, uid_t, gid_t); extern int chroot(const char *); extern int close(int); extern size_t confstr(int, char *, size_t); extern char *crypt(const char *, const char *); extern char *ctermid(char *); extern char *cuserid(char *); extern int dup(int); extern int dup2(int, int); extern void encrypt(char *, int); extern int execl(const char *, const char *, ...); extern int execle(const char *, const char *, ...); extern int execlp(const char *, const char *, ...); extern int execv(const char *, char *const *); extern int execve(const char *, char *const *, char *const *); extern int execvp(const char *, char *const *); extern void _exit(int); extern int fattach(int, const char *); extern int fchdir(int); extern int fchown(int, uid_t, gid_t); extern int fchownat(int, const char *, uid_t, gid_t, int); extern int fchroot(int); extern int fdatasync(int); # 247 "/usr/include/unistd.h" 3 4 extern int fdetach(const char *); extern pid_t fork(void); extern pid_t fork1(void); extern long fpathconf(int, int); extern int fsync(int); extern int ftruncate(int, off_t); extern char *getcwd(char *, size_t); extern int getdtablesize(void); extern gid_t getegid(void); extern uid_t geteuid(void); extern gid_t getgid(void); extern int getgroups(int, gid_t *); extern long gethostid(void); extern int gethostname(char *, size_t); extern char *getlogin(void); extern int getopt(int, char *const *, const char *); extern char *optarg; extern int opterr, optind, optopt; extern char *getpass(const char *); extern int getpagesize(void); extern pid_t getpgid(pid_t); extern pid_t getpid(void); extern pid_t getppid(void); extern pid_t getpgrp(void); char *gettxt(const char *, const char *); extern pid_t getsid(pid_t); extern uid_t getuid(void); extern char *getwd(char *); # 319 "/usr/include/unistd.h" 3 4 extern int ioctl(int, int, ...); extern int isaexec(const char *, char *const *, char *const *); extern int issetugid(void); extern int isatty(int); extern int link(const char *, const char *); extern int lchown(const char *, uid_t, gid_t); extern int lockf(int, int, off_t); extern int readlink(const char *, char *, size_t); extern off_t lseek(int, off_t, int); extern int nice(int); extern long pathconf(const char *, int); extern int pause(void); extern int pipe(int *); extern offset_t llseek(int, offset_t, int); extern off_t tell(int); extern int mincore(caddr_t, size_t, char *); extern ssize_t pread(int, void *, size_t, off_t); extern void profil(unsigned short *, size_t, unsigned long, unsigned int); extern int pthread_atfork(void (*) (void), void (*) (void), void (*) (void)); extern long ptrace(int, pid_t, long, long); extern ssize_t pwrite(int, const void *, size_t, off_t); extern ssize_t read(int, void *, size_t); extern int rename(const char *, const char *); extern int renameat(int, const char *, int, const char *); extern int resolvepath(const char *, char *, size_t); extern int rmdir(const char *); extern void *sbrk(intptr_t); extern int setgid(gid_t); extern int setegid(gid_t); extern int setgroups(int, const gid_t *); extern int setpgid(pid_t, pid_t); extern pid_t setpgrp(void); extern int setregid(gid_t, gid_t); extern int setreuid(uid_t, uid_t); extern pid_t setsid(void); extern int setuid(uid_t); extern int seteuid(uid_t); extern unsigned sleep(unsigned); extern int stime(const time_t *); extern void swab(const void *, void *, ssize_t); extern int symlink(const char *, const char *); extern void sync(void); extern long sysconf(int); #pragma redefine_extname sysconf __sysconf_xpg5 extern pid_t tcgetpgrp(int); extern int tcsetpgrp(int, pid_t); extern off_t tell(int); extern int truncate(const char *, off_t); extern char *ttyname(int); extern useconds_t ualarm(useconds_t, useconds_t); extern int unlink(const char *); extern int unlinkat(int, const char *, int); extern int usleep(useconds_t); extern pid_t vfork(void); extern void vhangup(void); extern ssize_t write(int, const void *, size_t); extern void yield(void); extern int ftruncate64(int, off64_t); extern off64_t lseek64(int, off64_t, int); extern ssize_t pread64(int, void *, size_t, off64_t); extern ssize_t pwrite64(int, const void *, size_t, off64_t); extern off64_t tell64(int); extern int truncate64(const char *, off64_t); extern int lockf64(int, int, off64_t); # 808 "/usr/include/unistd.h" 3 4 #pragma unknown_control_flow(vfork) # 854 "/usr/include/unistd.h" 3 4 extern int getlogin_r(char *, int); extern int ttyname_r(int, char *, size_t); #pragma redefine_extname getlogin_r __posix_getlogin_r #pragma redefine_extname ttyname_r __posix_ttyname_r # 923 "/usr/include/unistd.h" 3 4 } # 39 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/gthr-default.h" 2 3 typedef pthread_key_t __gthread_key_t; typedef pthread_once_t __gthread_once_t; typedef pthread_mutex_t __gthread_mutex_t; #pragma weak pthread_once #pragma weak pthread_key_create #pragma weak pthread_key_delete #pragma weak pthread_getspecific #pragma weak pthread_setspecific #pragma weak pthread_create #pragma weak pthread_mutex_lock #pragma weak pthread_mutex_trylock #pragma weak pthread_mutex_unlock # 87 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/gthr-default.h" 3 static inline int __gthread_active_p (void) { static void *const __gthread_active_ptr = (void *) &pthread_create; return __gthread_active_ptr != 0; } # 449 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/gthr-default.h" 3 static inline int __gthread_once (__gthread_once_t *once, void (*func) (void)) { if (__gthread_active_p ()) return pthread_once (once, func); else return -1; } static inline int __gthread_key_create (__gthread_key_t *key, void (*dtor) (void *)) { return pthread_key_create (key, dtor); } static inline int __gthread_key_dtor (__gthread_key_t key, void *ptr) { if (ptr) return pthread_setspecific (key, 0); else return 0; } static inline int __gthread_key_delete (__gthread_key_t key) { return pthread_key_delete (key); } static inline void * __gthread_getspecific (__gthread_key_t key) { return pthread_getspecific (key); } static inline int __gthread_setspecific (__gthread_key_t key, const void *ptr) { return pthread_setspecific (key, ptr); } static inline int __gthread_mutex_lock (__gthread_mutex_t *mutex) { if (__gthread_active_p ()) return pthread_mutex_lock (mutex); else return 0; } static inline int __gthread_mutex_trylock (__gthread_mutex_t *mutex) { if (__gthread_active_p ()) return pthread_mutex_trylock (mutex); else return 0; } static inline int __gthread_mutex_unlock (__gthread_mutex_t *mutex) { if (__gthread_active_p ()) return pthread_mutex_unlock (mutex); else return 0; } # 99 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/gthr.h" 2 3 # 38 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/c++io.h" 2 3 namespace std { typedef long streamoff; typedef ptrdiff_t streamsize; typedef fpos_t __c_streampos; typedef __gthread_mutex_t __c_lock; typedef FILE __c_file; struct __ios_flags { typedef short __int_type; static const __int_type _S_boolalpha = 0x0001; static const __int_type _S_dec = 0x0002; static const __int_type _S_fixed = 0x0004; static const __int_type _S_hex = 0x0008; static const __int_type _S_internal = 0x0010; static const __int_type _S_left = 0x0020; static const __int_type _S_oct = 0x0040; static const __int_type _S_right = 0x0080; static const __int_type _S_scientific = 0x0100; static const __int_type _S_showbase = 0x0200; static const __int_type _S_showpoint = 0x0400; static const __int_type _S_showpos = 0x0800; static const __int_type _S_skipws = 0x1000; static const __int_type _S_unitbuf = 0x2000; static const __int_type _S_uppercase = 0x4000; static const __int_type _S_adjustfield = 0x0020 | 0x0080 | 0x0010; static const __int_type _S_basefield = 0x0002 | 0x0040 | 0x0008; static const __int_type _S_floatfield = 0x0100 | 0x0004; static const __int_type _S_badbit = 0x01; static const __int_type _S_eofbit = 0x02; static const __int_type _S_failbit = 0x04; static const __int_type _S_app = 0x01; static const __int_type _S_ate = 0x02; static const __int_type _S_bin = 0x04; static const __int_type _S_in = 0x08; static const __int_type _S_out = 0x10; static const __int_type _S_trunc = 0x20; }; } # 45 "/usr/local/include/c++/3.3.2/bits/fpos.h" 2 3 # 1 "/usr/local/include/c++/3.3.2/cwchar" 1 3 # 47 "/usr/local/include/c++/3.3.2/cwchar" 3 # 48 "/usr/local/include/c++/3.3.2/cwchar" 3 # 4294967291 "/usr/local/include/c++/3.3.2/cwchar" 3 # 51 "/usr/local/include/c++/3.3.2/cwchar" 3 # 1 "/usr/local/include/c++/3.3.2/ctime" 1 3 # 47 "/usr/local/include/c++/3.3.2/ctime" 3 # 48 "/usr/local/include/c++/3.3.2/ctime" 3 # 4294967240 "/usr/local/include/c++/3.3.2/ctime" 3 # 64 "/usr/local/include/c++/3.3.2/ctime" 3 namespace std { using ::clock_t; using ::time_t; using ::tm; using ::clock; using ::difftime; using ::mktime; using ::time; using ::asctime; using ::ctime; using ::gmtime; using ::localtime; using ::strftime; } # 52 "/usr/local/include/c++/3.3.2/cwchar" 2 3 # 1 "/usr/include/wchar.h" 1 3 4 # 9 "/usr/include/wchar.h" 3 4 #pragma ident "@(#)wchar.h 1.35 01/10/17 SMI" # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/wchar_iso.h" 1 3 4 # 30 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/wchar_iso.h" 3 4 #pragma ident "@(#)wchar_iso.h 1.2 99/11/10 SMI" # 1 "/usr/include/wchar_impl.h" 1 3 4 # 9 "/usr/include/wchar_impl.h" 3 4 #pragma ident "@(#)wchar_impl.h 1.3 99/07/26 SMI" extern "C" { typedef struct __mbstate_t { int __filler[6]; } __mbstate_t; } # 35 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/wchar_iso.h" 2 3 4 # 45 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/wchar_iso.h" 3 4 # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/stddef.h" 1 3 4 # 46 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/wchar_iso.h" 2 3 4 extern "C" { # 76 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/wchar_iso.h" 3 4 typedef long wint_t; # 113 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/wchar_iso.h" 3 4 typedef __mbstate_t mbstate_t; # 124 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/wchar_iso.h" 3 4 extern wint_t fgetwc(__FILE *); extern wchar_t *fgetws(wchar_t *, int, __FILE *); extern wint_t fputwc(wint_t, __FILE *); extern int fputws(const wchar_t *, __FILE *); extern wint_t ungetwc(wint_t, __FILE *); extern wint_t getwc(__FILE *); extern wint_t getwchar(void); extern wint_t putwc(wint_t, __FILE *); extern wint_t putwchar(wint_t); extern double wcstod(const wchar_t *, wchar_t **); extern long wcstol(const wchar_t *, wchar_t **, int); extern unsigned long wcstoul(const wchar_t *, wchar_t **, int); extern wchar_t *wcscat(wchar_t *, const wchar_t *); extern int wcscmp(const wchar_t *, const wchar_t *); extern int wcscoll(const wchar_t *, const wchar_t *); extern wchar_t *wcscpy(wchar_t *, const wchar_t *); extern size_t wcscspn(const wchar_t *, const wchar_t *); extern size_t wcslen(const wchar_t *); extern wchar_t *wcsncat(wchar_t *, const wchar_t *, size_t); extern int wcsncmp(const wchar_t *, const wchar_t *, size_t); extern wchar_t *wcsncpy(wchar_t *, const wchar_t *, size_t); extern size_t wcsspn(const wchar_t *, const wchar_t *); extern size_t wcsxfrm(wchar_t *, const wchar_t *, size_t); # 167 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/wchar_iso.h" 3 4 extern wchar_t *wcschr(const wchar_t *, wchar_t); extern wchar_t *wcspbrk(const wchar_t *, const wchar_t *); extern wchar_t *wcsrchr(const wchar_t *, wchar_t); # 178 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/wchar_iso.h" 3 4 extern wchar_t *wcstok(wchar_t *, const wchar_t *, wchar_t **); extern size_t wcsftime(wchar_t *, size_t, const wchar_t *, const struct tm *); #pragma redefine_extname wcstok __wcstok_xpg5 #pragma redefine_extname wcsftime __wcsftime_xpg5 # 194 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/wchar_iso.h" 3 4 extern wint_t btowc(int); extern int fwprintf(__FILE *, const wchar_t *, ...); extern int fwscanf(__FILE *, const wchar_t *, ...); extern int fwide(__FILE *, int); extern int mbsinit(const mbstate_t *); extern size_t mbrlen(const char *, size_t, mbstate_t *); extern size_t mbrtowc(wchar_t *, const char *, size_t, mbstate_t *); extern size_t mbsrtowcs(wchar_t *, const char **, size_t, mbstate_t *); extern int swprintf(wchar_t *, size_t, const wchar_t *, ...); extern int swscanf(const wchar_t *, const wchar_t *, ...); extern int vfwprintf(__FILE *, const wchar_t *, __va_list); extern int vwprintf(const wchar_t *, __va_list); extern int vswprintf(wchar_t *, size_t, const wchar_t *, __va_list); extern size_t wcrtomb(char *, wchar_t, mbstate_t *); extern size_t wcsrtombs(char *, const wchar_t **, size_t, mbstate_t *); extern int wctob(wint_t); extern int wmemcmp(const wchar_t *, const wchar_t *, size_t); extern wchar_t *wmemcpy(wchar_t *, const wchar_t *, size_t); extern wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t); extern wchar_t *wmemset(wchar_t *, wchar_t, size_t); extern int wprintf(const wchar_t *, ...); extern int wscanf(const wchar_t *, ...); # 230 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/wchar_iso.h" 3 4 extern wchar_t *wcsstr(const wchar_t *, const wchar_t *); extern wchar_t *wmemchr(const wchar_t *, wchar_t, size_t); # 318 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/wchar_iso.h" 3 4 #pragma redefine_extname fgetwc __fgetwc_xpg5 #pragma redefine_extname getwc __getwc_xpg5 #pragma redefine_extname getwchar __getwchar_xpg5 #pragma redefine_extname fputwc __fputwc_xpg5 #pragma redefine_extname putwc __putwc_xpg5 #pragma redefine_extname putwchar __putwchar_xpg5 #pragma redefine_extname fgetws __fgetws_xpg5 #pragma redefine_extname fputws __fputws_xpg5 #pragma redefine_extname ungetwc __ungetwc_xpg5 # 367 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/wchar_iso.h" 3 4 } # 12 "/usr/include/wchar.h" 2 3 4 # 82 "/usr/include/wchar.h" 3 4 extern "C" { typedef int wctype_t; extern int iswalpha(wint_t); extern int iswupper(wint_t); extern int iswlower(wint_t); extern int iswdigit(wint_t); extern int iswxdigit(wint_t); extern int iswalnum(wint_t); extern int iswspace(wint_t); extern int iswpunct(wint_t); extern int iswprint(wint_t); extern int iswgraph(wint_t); extern int iswcntrl(wint_t); extern int iswctype(wint_t, wctype_t); extern wint_t towlower(wint_t); extern wint_t towupper(wint_t); extern wchar_t *wcswcs(const wchar_t *, const wchar_t *); extern int wcswidth(const wchar_t *, size_t); extern int wcwidth(const wchar_t); extern wctype_t wctype(const char *); # 122 "/usr/include/wchar.h" 3 4 extern int vfwscanf(__FILE *, const wchar_t *, __va_list); extern int vswscanf(const wchar_t *, const wchar_t *, __va_list); extern int vwscanf(const wchar_t *, __va_list); # 160 "/usr/include/wchar.h" 3 4 } # 55 "/usr/local/include/c++/3.3.2/cwchar" 2 3 # 69 "/usr/local/include/c++/3.3.2/cwchar" 3 namespace std { using ::mbstate_t; } # 46 "/usr/local/include/c++/3.3.2/bits/fpos.h" 2 3 namespace std { template class fpos { public: typedef _StateT __state_type; private: streamoff _M_off; __state_type _M_st; public: __state_type state() const { return _M_st; } void state(__state_type __st) { _M_st = __st; } fpos(): _M_off(streamoff()), _M_st(__state_type()) { } fpos(streamoff __off, __state_type __st = __state_type()) : _M_off(__off), _M_st(__st) { } operator streamoff() const { return _M_off; } fpos& operator+=(streamoff __off) { _M_off += __off; return *this; } fpos& operator-=(streamoff __off) { _M_off -= __off; return *this; } fpos operator+(streamoff __off) { fpos __t(*this); __t += __off; return __t; } fpos operator-(streamoff __off) { fpos __t(*this); __t -= __off; return __t; } bool operator==(const fpos& __pos) const { return _M_off == __pos._M_off; } bool operator!=(const fpos& __pos) const { return _M_off != __pos._M_off; } streamoff _M_position() const { return _M_off; } void _M_position(streamoff __off) { _M_off = __off; } }; typedef fpos streampos; } # 50 "/usr/local/include/c++/3.3.2/iosfwd" 2 3 # 1 "/usr/local/include/c++/3.3.2/bits/functexcept.h" 1 3 # 34 "/usr/local/include/c++/3.3.2/bits/functexcept.h" 3 # 1 "/usr/local/include/c++/3.3.2/exception_defines.h" 1 3 # 35 "/usr/local/include/c++/3.3.2/bits/functexcept.h" 2 3 namespace std { void __throw_bad_exception(void); void __throw_bad_alloc(void); void __throw_bad_cast(void); void __throw_bad_typeid(void); void __throw_logic_error(const char* __s); void __throw_domain_error(const char* __s); void __throw_invalid_argument(const char* __s); void __throw_length_error(const char* __s); void __throw_out_of_range(const char* __s); void __throw_runtime_error(const char* __s); void __throw_range_error(const char* __s); void __throw_overflow_error(const char* __s); void __throw_underflow_error(const char* __s); void __throw_ios_failure(const char* __s); } # 51 "/usr/local/include/c++/3.3.2/iosfwd" 2 3 namespace std { template > class basic_ios; template > class basic_streambuf; template > class basic_istream; template > class basic_ostream; template > class basic_iostream; template , typename _Alloc = allocator<_CharT> > class basic_stringbuf; template , typename _Alloc = allocator<_CharT> > class basic_istringstream; template , typename _Alloc = allocator<_CharT> > class basic_ostringstream; template , typename _Alloc = allocator<_CharT> > class basic_stringstream; template > class basic_filebuf; template > class basic_ifstream; template > class basic_ofstream; template > class basic_fstream; template > class istreambuf_iterator; template > class ostreambuf_iterator; class ios_base; # 136 "/usr/local/include/c++/3.3.2/iosfwd" 3 typedef basic_ios ios; typedef basic_streambuf streambuf; typedef basic_istream istream; typedef basic_ostream ostream; typedef basic_iostream iostream; typedef basic_stringbuf stringbuf; typedef basic_istringstream istringstream; typedef basic_ostringstream ostringstream; typedef basic_stringstream stringstream; typedef basic_filebuf filebuf; typedef basic_ifstream ifstream; typedef basic_ofstream ofstream; typedef basic_fstream fstream; # 166 "/usr/local/include/c++/3.3.2/iosfwd" 3 } # 45 "/usr/local/include/c++/3.3.2/ios" 2 3 # 1 "/usr/local/include/c++/3.3.2/exception" 1 3 # 40 "/usr/local/include/c++/3.3.2/exception" 3 extern "C++" { namespace std { # 52 "/usr/local/include/c++/3.3.2/exception" 3 class exception { public: exception() throw() { } virtual ~exception() throw(); virtual const char* what() const throw(); }; class bad_exception : public exception { public: bad_exception() throw() { } virtual ~bad_exception() throw(); }; typedef void (*terminate_handler) (); typedef void (*unexpected_handler) (); terminate_handler set_terminate(terminate_handler) throw(); void terminate() __attribute__ ((__noreturn__)); unexpected_handler set_unexpected(unexpected_handler) throw(); void unexpected() __attribute__ ((__noreturn__)); # 100 "/usr/local/include/c++/3.3.2/exception" 3 bool uncaught_exception() throw(); } namespace __gnu_cxx { # 113 "/usr/local/include/c++/3.3.2/exception" 3 void __verbose_terminate_handler (); } } # 46 "/usr/local/include/c++/3.3.2/ios" 2 3 # 1 "/usr/local/include/c++/3.3.2/bits/char_traits.h" 1 3 # 43 "/usr/local/include/c++/3.3.2/bits/char_traits.h" 3 # 44 "/usr/local/include/c++/3.3.2/bits/char_traits.h" 3 # 4294967290 "/usr/local/include/c++/3.3.2/bits/char_traits.h" 3 # 45 "/usr/local/include/c++/3.3.2/bits/char_traits.h" 3 # 1 "/usr/local/include/c++/3.3.2/cstring" 1 3 # 47 "/usr/local/include/c++/3.3.2/cstring" 3 # 48 "/usr/local/include/c++/3.3.2/cstring" 3 # 4294967245 "/usr/local/include/c++/3.3.2/cstring" 3 # 51 "/usr/local/include/c++/3.3.2/cstring" 3 # 1 "/usr/include/string.h" 1 3 4 # 16 "/usr/include/string.h" 3 4 #pragma ident "@(#)string.h 1.24 99/08/10 SMI" # 1 "/usr/include/iso/string_iso.h" 1 3 4 # 28 "/usr/include/iso/string_iso.h" 3 4 #pragma ident "@(#)string_iso.h 1.2 99/11/09 SMI" extern "C" { # 60 "/usr/include/iso/string_iso.h" 3 4 extern int memcmp(const void *, const void *, size_t); extern void *memcpy(void *, const void *, size_t); extern void *memmove(void *, const void *, size_t); extern void *memset(void *, int, size_t); extern char *strcat(char *, const char *); extern int strcmp(const char *, const char *); extern char *strcpy(char *, const char *); extern int strcoll(const char *, const char *); extern size_t strcspn(const char *, const char *); extern char *strerror(int); extern size_t strlen(const char *); extern char *strncat(char *, const char *, size_t); extern int strncmp(const char *, const char *, size_t); extern char *strncpy(char *, const char *, size_t); extern size_t strspn(const char *, const char *); extern char *strtok(char *, const char *); extern size_t strxfrm(char *, const char *, size_t); # 112 "/usr/include/iso/string_iso.h" 3 4 extern void *memchr(const void *, int, size_t); extern char *strchr(const char *, int); extern char *strpbrk(const char *, const char *); extern char *strrchr(const char *, int); extern char *strstr(const char *, const char *); # 151 "/usr/include/iso/string_iso.h" 3 4 } # 19 "/usr/include/string.h" 2 3 4 # 51 "/usr/include/string.h" 3 4 extern "C" { extern char *strtok_r(char *, const char *, char **); extern void *memccpy(void *, const void *, int, size_t); extern char *strsignal(int); extern int ffs(int); extern int strcasecmp(const char *, const char *); extern int strncasecmp(const char *, const char *, size_t); extern size_t strlcpy(char *, const char *, size_t); extern size_t strlcat(char *, const char *, size_t); extern char *strdup(const char *); # 113 "/usr/include/string.h" 3 4 } # 52 "/usr/local/include/c++/3.3.2/cstring" 2 3 # 77 "/usr/local/include/c++/3.3.2/cstring" 3 namespace std { using ::memcpy; using ::memmove; using ::strcpy; using ::strncpy; using ::strcat; using ::strncat; using ::memcmp; using ::strcmp; using ::strcoll; using ::strncmp; using ::strxfrm; using ::strcspn; using ::strspn; using ::strtok; using ::memset; using ::strerror; using ::strlen; using ::memchr; inline void* memchr(void* __p, int __c, size_t __n) { return memchr(const_cast (__p), __c, __n); } using ::strchr; inline char* strchr(char* __s1, int __n) { return __builtin_strchr(const_cast (__s1), __n); } using ::strpbrk; inline char* strpbrk(char* __s1, const char* __s2) { return __builtin_strpbrk(const_cast (__s1), __s2); } using ::strrchr; inline char* strrchr(char* __s1, int __n) { return __builtin_strrchr(const_cast (__s1), __n); } using ::strstr; inline char* strstr(char* __s1, const char* __s2) { return __builtin_strstr(const_cast (__s1), __s2); } } # 46 "/usr/local/include/c++/3.3.2/bits/char_traits.h" 2 3 namespace std { # 61 "/usr/local/include/c++/3.3.2/bits/char_traits.h" 3 template struct char_traits { typedef _CharT char_type; typedef unsigned long int_type; typedef streampos pos_type; typedef streamoff off_type; typedef mbstate_t state_type; static void assign(char_type& __c1, const char_type& __c2); static bool eq(const char_type& __c1, const char_type& __c2); static bool lt(const char_type& __c1, const char_type& __c2); static int compare(const char_type* __s1, const char_type* __s2, size_t __n); static size_t length(const char_type* __s); static const char_type* find(const char_type* __s, size_t __n, const char_type& __a); static char_type* move(char_type* __s1, const char_type* __s2, size_t __n); static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n); static char_type* assign(char_type* __s, size_t __n, char_type __a); static char_type to_char_type(const int_type& __c); static int_type to_int_type(const char_type& __c); static bool eq_int_type(const int_type& __c1, const int_type& __c2); static int_type eof(); static int_type not_eof(const int_type& __c); }; template<> struct char_traits { typedef char char_type; typedef int int_type; typedef streampos pos_type; typedef streamoff off_type; typedef mbstate_t state_type; static void assign(char_type& __c1, const char_type& __c2) { __c1 = __c2; } static bool eq(const char_type& __c1, const char_type& __c2) { return __c1 == __c2; } static bool lt(const char_type& __c1, const char_type& __c2) { return __c1 < __c2; } static int compare(const char_type* __s1, const char_type* __s2, size_t __n) { return memcmp(__s1, __s2, __n); } static size_t length(const char_type* __s) { return strlen(__s); } static const char_type* find(const char_type* __s, size_t __n, const char_type& __a) { return static_cast (memchr(__s, __a, __n)); } static char_type* move(char_type* __s1, const char_type* __s2, size_t __n) { return static_cast (memmove(__s1, __s2, __n)); } static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n) { return static_cast (memcpy(__s1, __s2, __n)); } static char_type* assign(char_type* __s, size_t __n, char_type __a) { return static_cast (memset(__s, __a, __n)); } static char_type to_char_type(const int_type& __c) { return static_cast (__c); } static int_type to_int_type(const char_type& __c) { return static_cast (static_cast (__c)); } static bool eq_int_type(const int_type& __c1, const int_type& __c2) { return __c1 == __c2; } static int_type eof() { return static_cast ((-1)); } static int_type not_eof(const int_type& __c) { return (__c == eof()) ? 0 : __c; } }; # 250 "/usr/local/include/c++/3.3.2/bits/char_traits.h" 3 template struct _Char_traits_match { _CharT _M_c; _Char_traits_match(_CharT const& __c) : _M_c(__c) { } bool operator()(_CharT const& __a) { return _Traits::eq(_M_c, __a); } }; } # 47 "/usr/local/include/c++/3.3.2/ios" 2 3 # 1 "/usr/local/include/c++/3.3.2/bits/localefwd.h" 1 3 # 43 "/usr/local/include/c++/3.3.2/bits/localefwd.h" 3 # 44 "/usr/local/include/c++/3.3.2/bits/localefwd.h" 3 # 4294967290 "/usr/local/include/c++/3.3.2/bits/localefwd.h" 3 # 48 "/usr/local/include/c++/3.3.2/bits/localefwd.h" 3 # 1 "/usr/local/include/c++/3.3.2/bits/functexcept.h" 1 3 # 34 "/usr/local/include/c++/3.3.2/bits/functexcept.h" 3 # 1 "/usr/local/include/c++/3.3.2/exception_defines.h" 1 3 # 35 "/usr/local/include/c++/3.3.2/bits/functexcept.h" 2 3 namespace std { void __throw_bad_exception(void); void __throw_bad_alloc(void); void __throw_bad_cast(void); void __throw_bad_typeid(void); void __throw_logic_error(const char* __s); void __throw_domain_error(const char* __s); void __throw_invalid_argument(const char* __s); void __throw_length_error(const char* __s); void __throw_out_of_range(const char* __s); void __throw_runtime_error(const char* __s); void __throw_range_error(const char* __s); void __throw_overflow_error(const char* __s); void __throw_underflow_error(const char* __s); void __throw_ios_failure(const char* __s); } # 49 "/usr/local/include/c++/3.3.2/bits/localefwd.h" 2 3 namespace std { class locale; template inline bool isspace(_CharT, const locale&); template inline bool isprint(_CharT, const locale&); template inline bool iscntrl(_CharT, const locale&); template inline bool isupper(_CharT, const locale&); template inline bool islower(_CharT, const locale&); template inline bool isalpha(_CharT, const locale&); template inline bool isdigit(_CharT, const locale&); template inline bool ispunct(_CharT, const locale&); template inline bool isxdigit(_CharT, const locale&); template inline bool isalnum(_CharT, const locale&); template inline bool isgraph(_CharT, const locale&); template inline _CharT toupper(_CharT, const locale&); template inline _CharT tolower(_CharT, const locale&); class ctype_base; template class ctype; template<> class ctype ; template class ctype_byname; class codecvt_base; class __enc_traits; template class codecvt; template<> class codecvt ; template class codecvt_byname; template > class num_get; template > class num_put; template class numpunct; template class numpunct_byname; template class collate; template class collate_byname; class time_base; template > class time_get; template > class time_get_byname; template > class time_put; template > class time_put_byname; class money_base; template > class money_get; template > class money_put; template class moneypunct; template class moneypunct_byname; class messages_base; template class messages; template class messages_byname; template const _Facet& use_facet(const locale& __loc); template bool has_facet(const locale& __loc) throw(); } # 49 "/usr/local/include/c++/3.3.2/ios" 2 3 # 1 "/usr/local/include/c++/3.3.2/bits/ios_base.h" 1 3 # 43 "/usr/local/include/c++/3.3.2/bits/ios_base.h" 3 # 44 "/usr/local/include/c++/3.3.2/bits/ios_base.h" 3 # 4294967292 "/usr/local/include/c++/3.3.2/bits/ios_base.h" 3 # 45 "/usr/local/include/c++/3.3.2/bits/ios_base.h" 3 # 1 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/atomicity.h" 1 3 # 74 "/usr/local/include/c++/3.3.2/sparc-sun-solaris2.9/bits/atomicity.h" 3 typedef int _Atomic_word; template struct __Atomicity_lock { static unsigned char _S_atomicity_lock; }; template unsigned char __Atomicity_lock<__inst>::_S_atomicity_lock = 0; template unsigned char __Atomicity_lock<0>::_S_atomicity_lock; static int __attribute__ ((__unused__)) __exchange_and_add (volatile _Atomic_word* __mem, int __val) { _Atomic_word __result, __tmp; __asm__ __volatile__("1: ldstub [%1], %0\n\t" " cmp %0, 0\n\t" " bne 1b\n\t" " nop" : "=&r" (__tmp) : "r" (&__Atomicity_lock<0>::_S_atomicity_lock) : "memory"); __result = *__mem; *__mem += __val; __asm__ __volatile__("stb %%g0, [%0]" : : "r" (&__Atomicity_lock<0>::_S_atomicity_lock) : "memory"); return __result; } static void __attribute__ ((__unused__)) __atomic_add (volatile _Atomic_word* __mem, int __val) { _Atomic_word __tmp; __asm__ __volatile__("1: ldstub [%1], %0\n\t" " cmp %0, 0\n\t" " bne 1b\n\t" " nop" : "=&r" (__tmp) : "r" (&__Atomicity_lock<0>::_S_atomicity_lock) : "memory"); *__mem += __val; __asm__ __volatile__("stb %%g0, [%0]" : : "r" (&__Atomicity_lock<0>::_S_atomicity_lock) : "memory"); } # 46 "/usr/local/include/c++/3.3.2/bits/ios_base.h" 2 3 # 1 "/usr/local/include/c++/3.3.2/bits/locale_classes.h" 1 3 # 43 "/usr/local/include/c++/3.3.2/bits/locale_classes.h" 3 # 44 "/usr/local/include/c++/3.3.2/bits/locale_classes.h" 3 # 4294967288 "/usr/local/include/c++/3.3.2/bits/locale_classes.h" 3 # 47 "/usr/local/include/c++/3.3.2/bits/locale_classes.h" 3 # 1 "/usr/local/include/c++/3.3.2/string" 1 3 # 43 "/usr/local/include/c++/3.3.2/string" 3 # 44 "/usr/local/include/c++/3.3.2/string" 3 # 4294967241 "/usr/local/include/c++/3.3.2/string" 3 # 48 "/usr/local/include/c++/3.3.2/string" 3 # 1 "/usr/local/include/c++/3.3.2/memory" 1 3 # 52 "/usr/local/include/c++/3.3.2/memory" 3 # 53 "/usr/local/include/c++/3.3.2/memory" 3 # 4294967193 "/usr/local/include/c++/3.3.2/memory" 3 # 54 "/usr/local/include/c++/3.3.2/memory" 3 # 1 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 1 3 # 66 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 3 # 1 "/usr/local/include/c++/3.3.2/climits" 1 3 # 47 "/usr/local/include/c++/3.3.2/climits" 3 # 48 "/usr/local/include/c++/3.3.2/climits" 3 # 4294967073 "/usr/local/include/c++/3.3.2/climits" 3 # 49 "/usr/local/include/c++/3.3.2/climits" 3 # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/limits.h" 1 3 4 # 11 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/limits.h" 3 4 # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/syslimits.h" 1 3 4 # 25 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/syslimits.h" 3 4 #pragma ident "@(#)limits.h 1.52 02/01/08 SMI" # 1 "/usr/include/iso/limits_iso.h" 1 3 4 # 28 "/usr/include/iso/limits_iso.h" 3 4 #pragma ident "@(#)limits_iso.h 1.1 99/08/09 SMI" extern "C" { # 75 "/usr/include/iso/limits_iso.h" 3 4 } # 30 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/syslimits.h" 2 3 4 # 41 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/syslimits.h" 3 4 # 1 "/usr/include/sys/int_limits.h" 1 3 4 # 9 "/usr/include/sys/int_limits.h" 3 4 #pragma ident "@(#)int_limits.h 1.6 99/08/06 SMI" # 47 "/usr/include/sys/int_limits.h" 3 4 extern "C" { # 162 "/usr/include/sys/int_limits.h" 3 4 } # 42 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/syslimits.h" 2 3 4 extern "C" { # 278 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/syslimits.h" 3 4 extern long _sysconf(int); # 288 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/syslimits.h" 3 4 } # 12 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/limits.h" 2 3 4 # 50 "/usr/local/include/c++/3.3.2/climits" 2 3 # 67 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 2 3 # 1 "/usr/local/include/c++/3.3.2/cstdlib" 1 3 # 47 "/usr/local/include/c++/3.3.2/cstdlib" 3 # 48 "/usr/local/include/c++/3.3.2/cstdlib" 3 # 4294967271 "/usr/local/include/c++/3.3.2/cstdlib" 3 # 52 "/usr/local/include/c++/3.3.2/cstdlib" 3 # 1 "/usr/include/stdlib.h" 1 3 4 # 16 "/usr/include/stdlib.h" 3 4 #pragma ident "@(#)stdlib.h 1.48 00/04/13 SMI" # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/stdlib_iso.h" 1 3 4 # 37 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/stdlib_iso.h" 3 4 #pragma ident "@(#)stdlib_iso.h 1.3 01/03/09 SMI" extern "C" { extern unsigned char __ctype[]; # 57 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/stdlib_iso.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long quot; long rem; } ldiv_t; # 103 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/stdlib_iso.h" 3 4 extern void abort(void); extern int abs(int); extern int atexit(void (*)(void)); extern double atof(const char *); extern int atoi(const char *); extern long int atol(const char *); extern void *bsearch(const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); extern void *calloc(size_t, size_t); extern div_t div(int, int); extern void exit(int); extern void free(void *); extern char *getenv(const char *); extern long int labs(long); extern ldiv_t ldiv(long, long); extern void *malloc(size_t); extern int mblen(const char *, size_t); extern size_t mbstowcs(wchar_t *, const char *, size_t); extern int mbtowc(wchar_t *, const char *, size_t); extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); extern int rand(void); extern void *realloc(void *, size_t); extern void srand(unsigned int); extern double strtod(const char *, char **); extern long int strtol(const char *, char **, int); extern unsigned long int strtoul(const char *, char **, int); extern int system(const char *); extern int wctomb(char *, wchar_t); extern size_t wcstombs(char *, const wchar_t *, size_t); # 179 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/include/iso/stdlib_iso.h" 3 4 } # 19 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/sys/wait.h" 1 3 4 # 16 "/usr/include/sys/wait.h" 3 4 #pragma ident "@(#)wait.h 1.21 97/04/08 SMI" # 1 "/usr/include/sys/resource.h" 1 3 4 # 16 "/usr/include/sys/resource.h" 3 4 #pragma ident "@(#)resource.h 1.27 01/04/05 SMI" extern "C" { # 69 "/usr/include/sys/resource.h" 3 4 typedef unsigned long rlim_t; # 104 "/usr/include/sys/resource.h" 3 4 struct rlimit { rlim_t rlim_cur; rlim_t rlim_max; }; typedef u_longlong_t rlim64_t; struct rlimit64 { rlim64_t rlim_cur; rlim64_t rlim_max; }; # 141 "/usr/include/sys/resource.h" 3 4 struct rusage { struct timeval ru_utime; struct timeval ru_stime; long ru_maxrss; long ru_ixrss; long ru_idrss; long ru_isrss; long ru_minflt; long ru_majflt; long ru_nswap; long ru_inblock; long ru_oublock; long ru_msgsnd; long ru_msgrcv; long ru_nsignals; long ru_nvcsw; long ru_nivcsw; }; # 191 "/usr/include/sys/resource.h" 3 4 extern int setrlimit(int, const struct rlimit *); extern int getrlimit(int, struct rlimit *); extern int setrlimit64(int, const struct rlimit64 *); extern int getrlimit64(int, struct rlimit64 *); extern int getpriority(int, id_t); extern int setpriority(int, id_t, int); extern int getrusage(int, struct rusage *); # 226 "/usr/include/sys/resource.h" 3 4 } # 25 "/usr/include/sys/wait.h" 2 3 4 # 1 "/usr/include/sys/siginfo.h" 1 3 4 # 16 "/usr/include/sys/siginfo.h" 3 4 #pragma ident "@(#)siginfo.h 1.55 01/04/05 SMI" extern "C" { # 127 "/usr/include/sys/siginfo.h" 3 4 # 1 "/usr/include/sys/machsig.h" 1 3 4 # 16 "/usr/include/sys/machsig.h" 3 4 #pragma ident "@(#)machsig.h 1.15 99/08/15 SMI" extern "C" { # 107 "/usr/include/sys/machsig.h" 3 4 } # 128 "/usr/include/sys/siginfo.h" 2 3 4 # 222 "/usr/include/sys/siginfo.h" 3 4 typedef struct siginfo { int si_signo; int si_code; int si_errno; union { int __pad[((128 / sizeof (int)) - 3)]; struct { pid_t __pid; union { struct { uid_t __uid; union sigval __value; } __kill; struct { clock_t __utime; int __status; clock_t __stime; } __cld; } __pdata; } __proc; struct { void *__addr; int __trapno; caddr_t __pc; } __fault; struct { int __fd; long __band; } __file; struct { caddr_t __faddr; timestruc_t __tstamp; short __syscall; char __nsysarg; char __fault; long __sysarg[8]; int __mstate[10]; } __prof; struct { int32_t __entity; } __rctl; } __data; } siginfo_t; # 362 "/usr/include/sys/siginfo.h" 3 4 typedef struct k_siginfo { int si_signo; int si_code; int si_errno; union { struct { pid_t __pid; union { struct { uid_t __uid; union sigval __value; } __kill; struct { clock_t __utime; int __status; clock_t __stime; } __cld; } __pdata; } __proc; struct { void *__addr; int __trapno; caddr_t __pc; } __fault; struct { int __fd; long __band; } __file; struct { caddr_t __faddr; timestruc_t __tstamp; short __syscall; char __nsysarg; char __fault; } __prof; struct { int32_t __entity; } __rctl; } __data; } k_siginfo_t; typedef struct sigqueue { struct sigqueue *sq_next; k_siginfo_t sq_info; void (*sq_func)(struct sigqueue *); void *sq_backptr; } sigqueue_t; # 467 "/usr/include/sys/siginfo.h" 3 4 } # 26 "/usr/include/sys/wait.h" 2 3 4 # 1 "/usr/include/sys/procset.h" 1 3 4 # 16 "/usr/include/sys/procset.h" 3 4 #pragma ident "@(#)procset.h 1.20 00/01/11 SMI" extern "C" { # 41 "/usr/include/sys/procset.h" 3 4 typedef enum idtype { P_PID, P_PPID, P_PGID, P_SID, P_CID, P_UID, P_GID, P_ALL, P_LWPID, P_TASKID, P_PROJID } idtype_t; # 67 "/usr/include/sys/procset.h" 3 4 typedef enum idop { POP_DIFF, POP_AND, POP_OR, POP_XOR } idop_t; typedef struct procset { idop_t p_op; idtype_t p_lidtype; id_t p_lid; idtype_t p_ridtype; id_t p_rid; } procset_t; # 132 "/usr/include/sys/procset.h" 3 4 } # 27 "/usr/include/sys/wait.h" 2 3 4 extern "C" { # 86 "/usr/include/sys/wait.h" 3 4 extern pid_t wait(int *); extern pid_t waitpid(pid_t, int *, int); extern int waitid(idtype_t, id_t, siginfo_t *, int); extern pid_t wait3(int *, int, struct rusage *); extern pid_t wait4(pid_t, int *, int, struct rusage *); # 118 "/usr/include/sys/wait.h" 3 4 } # 23 "/usr/include/stdlib.h" 2 3 4 # 64 "/usr/include/stdlib.h" 3 4 extern "C" { typedef struct { long long quot; long long rem; } lldiv_t; # 109 "/usr/include/stdlib.h" 3 4 extern int rand_r(unsigned int *); extern void _exithandle(void); extern double drand48(void); extern double erand48(unsigned short *); extern long jrand48(unsigned short *); extern void lcong48(unsigned short *); extern long lrand48(void); extern long mrand48(void); extern long nrand48(unsigned short *); extern unsigned short *seed48(unsigned short *); extern void srand48(long); extern int putenv(char *); extern void setkey(const char *); # 150 "/usr/include/stdlib.h" 3 4 extern int mkstemp(char *); extern int mkstemp64(char *); extern long a64l(const char *); extern char *ecvt(double, int, int *, int *); extern char *fcvt(double, int, int *, int *); extern char *gcvt(double, int, char *); extern int getsubopt(char **, char *const *, char **); extern int grantpt(int); extern char *initstate(unsigned, char *, size_t); extern char *l64a(long); extern char *mktemp(char *); extern char *ptsname(int); extern long random(void); extern char *realpath(const char *, char *); extern char *setstate(const char *); extern void srandom(unsigned); extern int ttyslot(void); extern int unlockpt(int); extern void *valloc(size_t); extern void closefrom(int); extern int dup2(int, int); extern int fdwalk(int (*)(void *, int), void *); extern char *qecvt(long double, int, int *, int *); extern char *qfcvt(long double, int, int *, int *); extern char *qgcvt(long double, int, char *); extern char *getcwd(char *, size_t); extern const char *getexecname(void); extern char *getlogin(void); extern int getopt(int, char *const *, const char *); extern char *optarg; extern int optind, opterr, optopt; extern char *getpass(const char *); extern char *getpassphrase(const char *); extern int getpw(uid_t, char *); extern int isatty(int); extern void *memalign(size_t, size_t); extern char *ttyname(int); extern long long atoll(const char *); extern long long llabs(long long); extern lldiv_t lldiv(long long, long long); extern char *lltostr(long long, char *); extern long long strtoll(const char *, char **, int); extern unsigned long long strtoull(const char *, char **, int); extern char *ulltostr(unsigned long long, char *); # 312 "/usr/include/stdlib.h" 3 4 } # 53 "/usr/local/include/c++/3.3.2/cstdlib" 2 3 # 84 "/usr/local/include/c++/3.3.2/cstdlib" 3 namespace std { using ::div_t; using ::ldiv_t; using ::abort; using ::abs; using ::atexit; using ::atof; using ::atoi; using ::atol; using ::bsearch; using ::calloc; using ::div; using ::exit; using ::free; using ::getenv; using ::labs; using ::ldiv; using ::malloc; using ::mblen; using ::mbstowcs; using ::mbtowc; using ::qsort; using ::rand; using ::realloc; using ::srand; using ::strtod; using ::strtol; using ::strtoul; using ::system; using ::wcstombs; using ::wctomb; inline long abs(long __i) { return labs(__i); } inline ldiv_t div(long __i, long __j) { return ldiv(__i, __j); } } # 68 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 2 3 # 1 "/usr/local/include/c++/3.3.2/new" 1 3 # 44 "/usr/local/include/c++/3.3.2/new" 3 extern "C++" { namespace std { class bad_alloc : public exception { public: bad_alloc() throw() { } virtual ~bad_alloc() throw(); }; struct nothrow_t { }; extern const nothrow_t nothrow; typedef void (*new_handler)(); new_handler set_new_handler(new_handler) throw(); } # 82 "/usr/local/include/c++/3.3.2/new" 3 void* operator new(std::size_t) throw (std::bad_alloc); void* operator new[](std::size_t) throw (std::bad_alloc); void operator delete(void*) throw(); void operator delete[](void*) throw(); void* operator new(std::size_t, const std::nothrow_t&) throw(); void* operator new[](std::size_t, const std::nothrow_t&) throw(); void operator delete(void*, const std::nothrow_t&) throw(); void operator delete[](void*, const std::nothrow_t&) throw(); inline void* operator new(std::size_t, void* __p) throw() { return __p; } inline void* operator new[](std::size_t, void* __p) throw() { return __p; } inline void operator delete (void*, void*) throw() { }; inline void operator delete[](void*, void*) throw() { }; } # 70 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 2 3 # 1 "/usr/local/include/c++/3.3.2/bits/stl_pair.h" 1 3 # 64 "/usr/local/include/c++/3.3.2/bits/stl_pair.h" 3 namespace std { template struct pair { typedef _T1 first_type; typedef _T2 second_type; _T1 first; _T2 second; pair() : first(), second() {} pair(const _T1& __a, const _T2& __b) : first(__a), second(__b) {} template pair(const pair<_U1, _U2>& __p) : first(__p.first), second(__p.second) {} }; template inline bool operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return __x.first == __y.first && __x.second == __y.second; } template inline bool operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return __x.first < __y.first || (!(__y.first < __x.first) && __x.second < __y.second); } template inline bool operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return !(__x == __y); } template inline bool operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return __y < __x; } template inline bool operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return !(__y < __x); } template inline bool operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return !(__x < __y); } # 140 "/usr/local/include/c++/3.3.2/bits/stl_pair.h" 3 template inline pair<_T1, _T2> make_pair(_T1 __x, _T2 __y) { return pair<_T1, _T2>(__x, __y); } } # 72 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 2 3 # 1 "/usr/local/include/c++/3.3.2/bits/type_traits.h" 1 3 # 52 "/usr/local/include/c++/3.3.2/bits/type_traits.h" 3 # 53 "/usr/local/include/c++/3.3.2/bits/type_traits.h" 3 # 4294967286 "/usr/local/include/c++/3.3.2/bits/type_traits.h" 3 # 90 "/usr/local/include/c++/3.3.2/bits/type_traits.h" 3 struct __true_type {}; struct __false_type {}; template struct __type_traits { typedef __true_type this_dummy_member_must_be_first; # 113 "/usr/local/include/c++/3.3.2/bits/type_traits.h" 3 typedef __false_type has_trivial_default_constructor; typedef __false_type has_trivial_copy_constructor; typedef __false_type has_trivial_assignment_operator; typedef __false_type has_trivial_destructor; typedef __false_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template<> struct __type_traits { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template struct __type_traits<_Tp*> { typedef __true_type has_trivial_default_constructor; typedef __true_type has_trivial_copy_constructor; typedef __true_type has_trivial_assignment_operator; typedef __true_type has_trivial_destructor; typedef __true_type is_POD_type; }; template struct _Is_integer { typedef __false_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template<> struct _Is_integer { typedef __true_type _Integral; }; template struct _Is_normal_iterator { typedef __false_type _Normal; }; namespace __gnu_cxx { template class __normal_iterator; } template struct _Is_normal_iterator< __gnu_cxx::__normal_iterator<_Iterator, _Container> > { typedef __true_type _Normal; }; # 73 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 2 3 # 1 "/usr/local/include/c++/3.3.2/bits/stl_iterator_base_types.h" 1 3 # 67 "/usr/local/include/c++/3.3.2/bits/stl_iterator_base_types.h" 3 # 68 "/usr/local/include/c++/3.3.2/bits/stl_iterator_base_types.h" 3 # 4294967287 "/usr/local/include/c++/3.3.2/bits/stl_iterator_base_types.h" 3 # 69 "/usr/local/include/c++/3.3.2/bits/stl_iterator_base_types.h" 3 namespace std { # 80 "/usr/local/include/c++/3.3.2/bits/stl_iterator_base_types.h" 3 struct input_iterator_tag {}; struct output_iterator_tag {}; struct forward_iterator_tag : public input_iterator_tag {}; struct bidirectional_iterator_tag : public forward_iterator_tag {}; struct random_access_iterator_tag : public bidirectional_iterator_tag {}; # 102 "/usr/local/include/c++/3.3.2/bits/stl_iterator_base_types.h" 3 template struct iterator { typedef _Category iterator_category; typedef _Tp value_type; typedef _Distance difference_type; typedef _Pointer pointer; typedef _Reference reference; }; template struct iterator_traits { typedef typename _Iterator::iterator_category iterator_category; typedef typename _Iterator::value_type value_type; typedef typename _Iterator::difference_type difference_type; typedef typename _Iterator::pointer pointer; typedef typename _Iterator::reference reference; }; template struct iterator_traits<_Tp*> { typedef random_access_iterator_tag iterator_category; typedef _Tp value_type; typedef ptrdiff_t difference_type; typedef _Tp* pointer; typedef _Tp& reference; }; template struct iterator_traits { typedef random_access_iterator_tag iterator_category; typedef _Tp value_type; typedef ptrdiff_t difference_type; typedef const _Tp* pointer; typedef const _Tp& reference; }; template inline typename iterator_traits<_Iter>::iterator_category __iterator_category(const _Iter&) { return typename iterator_traits<_Iter>::iterator_category(); } } # 74 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 2 3 # 1 "/usr/local/include/c++/3.3.2/bits/stl_iterator_base_funcs.h" 1 3 # 67 "/usr/local/include/c++/3.3.2/bits/stl_iterator_base_funcs.h" 3 # 68 "/usr/local/include/c++/3.3.2/bits/stl_iterator_base_funcs.h" 3 # 4294967290 "/usr/local/include/c++/3.3.2/bits/stl_iterator_base_funcs.h" 3 # 68 "/usr/local/include/c++/3.3.2/bits/stl_iterator_base_funcs.h" 3 # 1 "/usr/local/include/c++/3.3.2/bits/concept_check.h" 1 3 # 38 "/usr/local/include/c++/3.3.2/bits/concept_check.h" 3 # 39 "/usr/local/include/c++/3.3.2/bits/concept_check.h" 3 # 4294967222 "/usr/local/include/c++/3.3.2/bits/concept_check.h" 3 # 69 "/usr/local/include/c++/3.3.2/bits/stl_iterator_base_funcs.h" 2 3 namespace std { template inline typename iterator_traits<_InputIterator>::difference_type __distance(_InputIterator __first, _InputIterator __last, input_iterator_tag) { typename iterator_traits<_InputIterator>::difference_type __n = 0; while (__first != __last) { ++__first; ++__n; } return __n; } template inline typename iterator_traits<_RandomAccessIterator>::difference_type __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag) { return __last - __first; } # 109 "/usr/local/include/c++/3.3.2/bits/stl_iterator_base_funcs.h" 3 template inline typename iterator_traits<_InputIterator>::difference_type distance(_InputIterator __first, _InputIterator __last) { return __distance(__first, __last, __iterator_category(__first)); } template inline void __advance(_InputIter& __i, _Distance __n, input_iterator_tag) { while (__n--) ++__i; } template inline void __advance(_BidirectionalIterator& __i, _Distance __n, bidirectional_iterator_tag) { if (__n > 0) while (__n--) ++__i; else while (__n++) --__i; } template inline void __advance(_RandomAccessIterator& __i, _Distance __n, random_access_iterator_tag) { __i += __n; } # 162 "/usr/local/include/c++/3.3.2/bits/stl_iterator_base_funcs.h" 3 template inline void advance(_InputIterator& __i, _Distance __n) { __advance(__i, __n, __iterator_category(__i)); } } # 75 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 2 3 # 1 "/usr/local/include/c++/3.3.2/bits/stl_iterator.h" 1 3 # 68 "/usr/local/include/c++/3.3.2/bits/stl_iterator.h" 3 namespace std { # 89 "/usr/local/include/c++/3.3.2/bits/stl_iterator.h" 3 template class reverse_iterator : public iterator ::iterator_category, typename iterator_traits<_Iterator>::value_type, typename iterator_traits<_Iterator>::difference_type, typename iterator_traits<_Iterator>::pointer, typename iterator_traits<_Iterator>::reference> { protected: _Iterator current; public: typedef _Iterator iterator_type; typedef typename iterator_traits<_Iterator>::difference_type difference_type; typedef typename iterator_traits<_Iterator>::reference reference; typedef typename iterator_traits<_Iterator>::pointer pointer; public: reverse_iterator() : current() { } explicit reverse_iterator(iterator_type __x) : current(__x) { } reverse_iterator(const reverse_iterator& __x) : current(__x.current) { } template reverse_iterator(const reverse_iterator<_Iter>& __x) : current(__x.base()) { } iterator_type base() const { return current; } reference operator*() const { _Iterator __tmp = current; return *--__tmp; } pointer operator->() const { return &(operator*()); } reverse_iterator& operator++() { --current; return *this; } reverse_iterator operator++(int) { reverse_iterator __tmp = *this; --current; return __tmp; } reverse_iterator& operator--() { ++current; return *this; } reverse_iterator operator--(int) { reverse_iterator __tmp = *this; ++current; return __tmp; } reverse_iterator operator+(difference_type __n) const { return reverse_iterator(current - __n); } reverse_iterator& operator+=(difference_type __n) { current -= __n; return *this; } reverse_iterator operator-(difference_type __n) const { return reverse_iterator(current + __n); } reverse_iterator& operator-=(difference_type __n) { current += __n; return *this; } reference operator[](difference_type __n) const { return *(*this + __n); } }; # 272 "/usr/local/include/c++/3.3.2/bits/stl_iterator.h" 3 template inline bool operator==(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __x.base() == __y.base(); } template inline bool operator<(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __y.base() < __x.base(); } template inline bool operator!=(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return !(__x == __y); } template inline bool operator>(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __y < __x; } template inline bool operator<=(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return !(__y < __x); } template inline bool operator>=(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return !(__x < __y); } template inline typename reverse_iterator<_Iterator>::difference_type operator-(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __y.base() - __x.base(); } template inline reverse_iterator<_Iterator> operator+(typename reverse_iterator<_Iterator>::difference_type __n, const reverse_iterator<_Iterator>& __x) { return reverse_iterator<_Iterator>(__x.base() - __n); } # 332 "/usr/local/include/c++/3.3.2/bits/stl_iterator.h" 3 template class back_insert_iterator : public iterator { protected: _Container* container; public: typedef _Container container_type; explicit back_insert_iterator(_Container& __x) : container(&__x) { } # 358 "/usr/local/include/c++/3.3.2/bits/stl_iterator.h" 3 back_insert_iterator& operator=(typename _Container::const_reference __value) { container->push_back(__value); return *this; } back_insert_iterator& operator*() { return *this; } back_insert_iterator& operator++() { return *this; } back_insert_iterator operator++(int) { return *this; } }; # 389 "/usr/local/include/c++/3.3.2/bits/stl_iterator.h" 3 template inline back_insert_iterator<_Container> back_inserter(_Container& __x) { return back_insert_iterator<_Container>(__x); } # 404 "/usr/local/include/c++/3.3.2/bits/stl_iterator.h" 3 template class front_insert_iterator : public iterator { protected: _Container* container; public: typedef _Container container_type; explicit front_insert_iterator(_Container& __x) : container(&__x) { } # 429 "/usr/local/include/c++/3.3.2/bits/stl_iterator.h" 3 front_insert_iterator& operator=(typename _Container::const_reference __value) { container->push_front(__value); return *this; } front_insert_iterator& operator*() { return *this; } front_insert_iterator& operator++() { return *this; } front_insert_iterator operator++(int) { return *this; } }; # 460 "/usr/local/include/c++/3.3.2/bits/stl_iterator.h" 3 template inline front_insert_iterator<_Container> front_inserter(_Container& __x) { return front_insert_iterator<_Container>(__x); } # 479 "/usr/local/include/c++/3.3.2/bits/stl_iterator.h" 3 template class insert_iterator : public iterator { protected: _Container* container; typename _Container::iterator iter; public: typedef _Container container_type; insert_iterator(_Container& __x, typename _Container::iterator __i) : container(&__x), iter(__i) {} # 521 "/usr/local/include/c++/3.3.2/bits/stl_iterator.h" 3 insert_iterator& operator=(const typename _Container::const_reference __value) { iter = container->insert(iter, __value); ++iter; return *this; } insert_iterator& operator*() { return *this; } insert_iterator& operator++() { return *this; } insert_iterator& operator++(int) { return *this; } }; # 553 "/usr/local/include/c++/3.3.2/bits/stl_iterator.h" 3 template inline insert_iterator<_Container> inserter(_Container& __x, _Iterator __i) { return insert_iterator<_Container>(__x, typename _Container::iterator(__i)); } } namespace __gnu_cxx { using std::iterator_traits; using std::iterator; template class __normal_iterator : public iterator ::iterator_category, typename iterator_traits<_Iterator>::value_type, typename iterator_traits<_Iterator>::difference_type, typename iterator_traits<_Iterator>::pointer, typename iterator_traits<_Iterator>::reference> { protected: _Iterator _M_current; public: typedef typename iterator_traits<_Iterator>::difference_type difference_type; typedef typename iterator_traits<_Iterator>::reference reference; typedef typename iterator_traits<_Iterator>::pointer pointer; __normal_iterator() : _M_current(_Iterator()) { } explicit __normal_iterator(const _Iterator& __i) : _M_current(__i) { } template inline __normal_iterator(const __normal_iterator<_Iter, _Container>& __i) : _M_current(__i.base()) { } reference operator*() const { return *_M_current; } pointer operator->() const { return _M_current; } __normal_iterator& operator++() { ++_M_current; return *this; } __normal_iterator operator++(int) { return __normal_iterator(_M_current++); } __normal_iterator& operator--() { --_M_current; return *this; } __normal_iterator operator--(int) { return __normal_iterator(_M_current--); } reference operator[](const difference_type& __n) const { return _M_current[__n]; } __normal_iterator& operator+=(const difference_type& __n) { _M_current += __n; return *this; } __normal_iterator operator+(const difference_type& __n) const { return __normal_iterator(_M_current + __n); } __normal_iterator& operator-=(const difference_type& __n) { _M_current -= __n; return *this; } __normal_iterator operator-(const difference_type& __n) const { return __normal_iterator(_M_current - __n); } const _Iterator& base() const { return _M_current; } }; # 654 "/usr/local/include/c++/3.3.2/bits/stl_iterator.h" 3 template inline bool operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() == __rhs.base(); } template inline bool operator==(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() == __rhs.base(); } template inline bool operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() != __rhs.base(); } template inline bool operator!=(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() != __rhs.base(); } template inline bool operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() < __rhs.base(); } template inline bool operator<(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() < __rhs.base(); } template inline bool operator>(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() > __rhs.base(); } template inline bool operator>(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() > __rhs.base(); } template inline bool operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() <= __rhs.base(); } template inline bool operator<=(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() <= __rhs.base(); } template inline bool operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() >= __rhs.base(); } template inline bool operator>=(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() >= __rhs.base(); } template inline typename __normal_iterator<_IteratorL, _Container>::difference_type operator-(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() - __rhs.base(); } template inline __normal_iterator<_Iterator, _Container> operator+(typename __normal_iterator<_Iterator, _Container>::difference_type __n, const __normal_iterator<_Iterator, _Container>& __i) { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); } } # 76 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 2 3 namespace std { # 91 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 3 template inline void iter_swap(_ForwardIter1 __a, _ForwardIter2 __b) { typedef typename iterator_traits<_ForwardIter1>::value_type _ValueType1; typedef typename iterator_traits<_ForwardIter2>::value_type _ValueType2; _ValueType1 __tmp = *__a; *__a = *__b; *__b = __tmp; } # 118 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 3 template inline void swap(_Tp& __a, _Tp& __b) { _Tp __tmp = __a; __a = __b; __b = __tmp; } # 146 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 3 template inline const _Tp& min(const _Tp& __a, const _Tp& __b) { if (__b < __a) return __b; return __a; } # 166 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 3 template inline const _Tp& max(const _Tp& __a, const _Tp& __b) { if (__a < __b) return __b; return __a; } # 186 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 3 template inline const _Tp& min(const _Tp& __a, const _Tp& __b, _Compare __comp) { if (__comp(__b, __a)) return __b; return __a; } # 204 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 3 template inline const _Tp& max(const _Tp& __a, const _Tp& __b, _Compare __comp) { if (__comp(__a, __b)) return __b; return __a; } # 221 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 3 template inline _OutputIter __copy(_InputIter __first, _InputIter __last, _OutputIter __result, input_iterator_tag) { for ( ; __first != __last; ++__result, ++__first) *__result = *__first; return __result; } template inline _OutputIter __copy(_RandomAccessIter __first, _RandomAccessIter __last, _OutputIter __result, random_access_iterator_tag) { typedef typename iterator_traits<_RandomAccessIter>::difference_type _Distance; for (_Distance __n = __last - __first; __n > 0; --__n) { *__result = *__first; ++__first; ++__result; } return __result; } template inline _Tp* __copy_trivial(const _Tp* __first, const _Tp* __last, _Tp* __result) { memmove(__result, __first, sizeof(_Tp) * (__last - __first)); return __result + (__last - __first); } template inline _OutputIter __copy_aux2(_InputIter __first, _InputIter __last, _OutputIter __result, __false_type) { return __copy(__first, __last, __result, __iterator_category(__first)); } template inline _OutputIter __copy_aux2(_InputIter __first, _InputIter __last, _OutputIter __result, __true_type) { return __copy(__first, __last, __result, __iterator_category(__first)); } template inline _Tp* __copy_aux2(_Tp* __first, _Tp* __last, _Tp* __result, __true_type) { return __copy_trivial(__first, __last, __result); } template inline _Tp* __copy_aux2(const _Tp* __first, const _Tp* __last, _Tp* __result, __true_type) { return __copy_trivial(__first, __last, __result); } template inline _OutputIter __copy_ni2(_InputIter __first, _InputIter __last, _OutputIter __result, __true_type) { typedef typename iterator_traits<_InputIter>::value_type _ValueType; typedef typename __type_traits<_ValueType>::has_trivial_assignment_operator _Trivial; return _OutputIter(__copy_aux2(__first, __last, __result.base(), _Trivial())); } template inline _OutputIter __copy_ni2(_InputIter __first, _InputIter __last, _OutputIter __result, __false_type) { typedef typename iterator_traits<_InputIter>::value_type _ValueType; typedef typename __type_traits<_ValueType>::has_trivial_assignment_operator _Trivial; return __copy_aux2(__first, __last, __result, _Trivial()); } template inline _OutputIter __copy_ni1(_InputIter __first, _InputIter __last, _OutputIter __result, __true_type) { typedef typename _Is_normal_iterator<_OutputIter>::_Normal __Normal; return __copy_ni2(__first.base(), __last.base(), __result, __Normal()); } template inline _OutputIter __copy_ni1(_InputIter __first, _InputIter __last, _OutputIter __result, __false_type) { typedef typename _Is_normal_iterator<_OutputIter>::_Normal __Normal; return __copy_ni2(__first, __last, __result, __Normal()); } # 339 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 3 template inline _OutputIter copy(_InputIter __first, _InputIter __last, _OutputIter __result) { typedef typename _Is_normal_iterator<_InputIter>::_Normal __Normal; return __copy_ni1(__first, __last, __result, __Normal()); } template inline _BidirectionalIter2 __copy_backward(_BidirectionalIter1 __first, _BidirectionalIter1 __last, _BidirectionalIter2 __result, bidirectional_iterator_tag) { while (__first != __last) *--__result = *--__last; return __result; } template inline _BidirectionalIter __copy_backward(_RandomAccessIter __first, _RandomAccessIter __last, _BidirectionalIter __result, random_access_iterator_tag) { typename iterator_traits<_RandomAccessIter>::difference_type __n; for (__n = __last - __first; __n > 0; --__n) *--__result = *--__last; return __result; } template struct __copy_backward_dispatch { static _BidirectionalIter2 copy(_BidirectionalIter1 __first, _BidirectionalIter1 __last, _BidirectionalIter2 __result) { return __copy_backward(__first, __last, __result, __iterator_category(__first)); } }; template struct __copy_backward_dispatch<_Tp*, _Tp*, __true_type> { static _Tp* copy(const _Tp* __first, const _Tp* __last, _Tp* __result) { const ptrdiff_t _Num = __last - __first; memmove(__result - _Num, __first, sizeof(_Tp) * _Num); return __result - _Num; } }; template struct __copy_backward_dispatch { static _Tp* copy(const _Tp* __first, const _Tp* __last, _Tp* __result) { return __copy_backward_dispatch<_Tp*, _Tp*, __true_type> ::copy(__first, __last, __result); } }; template inline _BI2 __copy_backward_aux(_BI1 __first, _BI1 __last, _BI2 __result) { typedef typename __type_traits ::value_type> ::has_trivial_assignment_operator _Trivial; return __copy_backward_dispatch<_BI1, _BI2, _Trivial> ::copy(__first, __last, __result); } template inline _BI2 __copy_backward_output_normal_iterator(_BI1 __first, _BI1 __last, _BI2 __result, __true_type) { return _BI2(__copy_backward_aux(__first, __last, __result.base())); } template inline _BI2 __copy_backward_output_normal_iterator(_BI1 __first, _BI1 __last, _BI2 __result, __false_type) { return __copy_backward_aux(__first, __last, __result); } template inline _BI2 __copy_backward_input_normal_iterator(_BI1 __first, _BI1 __last, _BI2 __result, __true_type) { typedef typename _Is_normal_iterator<_BI2>::_Normal __Normal; return __copy_backward_output_normal_iterator(__first.base(), __last.base(), __result, __Normal()); } template inline _BI2 __copy_backward_input_normal_iterator(_BI1 __first, _BI1 __last, _BI2 __result, __false_type) { typedef typename _Is_normal_iterator<_BI2>::_Normal __Normal; return __copy_backward_output_normal_iterator(__first, __last, __result, __Normal()); } # 477 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 3 template inline _BI2 copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) { typedef typename _Is_normal_iterator<_BI1>::_Normal __Normal; return __copy_backward_input_normal_iterator(__first, __last, __result, __Normal()); } # 509 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 3 template void fill(_ForwardIter __first, _ForwardIter __last, const _Tp& __value) { for ( ; __first != __last; ++__first) *__first = __value; } # 531 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 3 template _OutputIter fill_n(_OutputIter __first, _Size __n, const _Tp& __value) { for ( ; __n > 0; --__n, ++__first) *__first = __value; return __first; } inline void fill(unsigned char* __first, unsigned char* __last, const unsigned char& __c) { unsigned char __tmp = __c; memset(__first, __tmp, __last - __first); } inline void fill(signed char* __first, signed char* __last, const signed char& __c) { signed char __tmp = __c; memset(__first, static_cast (__tmp), __last - __first); } inline void fill(char* __first, char* __last, const char& __c) { char __tmp = __c; memset(__first, static_cast (__tmp), __last - __first); } template inline unsigned char* fill_n(unsigned char* __first, _Size __n, const unsigned char& __c) { fill(__first, __first + __n, __c); return __first + __n; } template inline signed char* fill_n(char* __first, _Size __n, const signed char& __c) { fill(__first, __first + __n, __c); return __first + __n; } template inline char* fill_n(char* __first, _Size __n, const char& __c) { fill(__first, __first + __n, __c); return __first + __n; } # 606 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 3 template pair<_InputIter1, _InputIter2> mismatch(_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2) { while (__first1 != __last1 && *__first1 == *__first2) { ++__first1; ++__first2; } return pair<_InputIter1, _InputIter2>(__first1, __first2); } # 640 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 3 template pair<_InputIter1, _InputIter2> mismatch(_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _BinaryPredicate __binary_pred) { while (__first1 != __last1 && __binary_pred(*__first1, *__first2)) { ++__first1; ++__first2; } return pair<_InputIter1, _InputIter2>(__first1, __first2); } # 668 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 3 template inline bool equal(_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2) { for ( ; __first1 != __last1; ++__first1, ++__first2) if (!(*__first1 == *__first2)) return false; return true; } # 699 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 3 template inline bool equal(_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _BinaryPredicate __binary_pred) { for ( ; __first1 != __last1; ++__first1, ++__first2) if (!__binary_pred(*__first1, *__first2)) return false; return true; } # 732 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 3 template bool lexicographical_compare(_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2) { for ( ; __first1 != __last1 && __first2 != __last2 ; ++__first1, ++__first2) { if (*__first1 < *__first2) return true; if (*__first2 < *__first1) return false; } return __first1 == __last1 && __first2 != __last2; } # 767 "/usr/local/include/c++/3.3.2/bits/stl_algobase.h" 3 template bool lexicographical_compare(_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2, _Compare __comp) { for ( ; __first1 != __last1 && __first2 != __last2 ; ++__first1, ++__first2) { if (__comp(*__first1, *__first2)) return true; if (__comp(*__first2, *__first1)) return false; } return __first1 == __last1 && __first2 != __last2; } inline bool lexicographical_compare(const unsigned char* __first1, const unsigned char* __last1, const unsigned char* __first2, const unsigned char* __last2) { const size_t __len1 = __last1 - __first1; const size_t __len2 = __last2 - __first2; const int __result = memcmp(__first1, __first2, min(__len1, __len2)); return __result != 0 ? __result < 0 : __len1 < __len2; } inline bool lexicographical_compare(const char* __first1, const char* __last1, const char* __first2, const char* __last2) { return lexicographical_compare((const signed char*) __first1, (const signed char*) __last1, (const signed char*) __first2, (const signed char*) __last2); } } # 55 "/usr/local/include/c++/3.3.2/memory" 2 3 # 1 "/usr/local/include/c++/3.3.2/bits/stl_alloc.h" 1 3 # 88 "/usr/local/include/c++/3.3.2/bits/stl_alloc.h" 3 # 1 "/usr/local/include/c++/3.3.2/bits/functexcept.h" 1 3 # 34 "/usr/local/include/c++/3.3.2/bits/functexcept.h" 3 # 1 "/usr/local/include/c++/3.3.2/exception_defines.h" 1 3 # 35 "/usr/local/include/c++/3.3.2/bits/functexcept.h" 2 3 namespace std { void __throw_bad_exception(void); void __throw_bad_alloc(void); void __throw_bad_cast(void); void __throw_bad_typeid(void); void __throw_logic_error(const char* __s); void __throw_domain_error(const char* __s); void __throw_invalid_argument(const char* __s); void __throw_length_error(const char* __s); void __throw_out_of_range(const char* __s); void __throw_runtime_error(const char* __s); void __throw_range_error(const char* __s); void __throw_overflow_error(const char* __s); void __throw_underflow_error(const char* __s); void __throw_ios_failure(const char* __s); } # 89 "/usr/local/include/c++/3.3.2/bits/stl_alloc.h" 2 3 # 1 "/usr/local/include/c++/3.3.2/bits/stl_threads.h" 1 3 # 54 "/usr/local/include/c++/3.3.2/bits/stl_threads.h" 3 namespace std { struct _Refcount_Base { typedef size_t _RC_t; volatile _RC_t _M_ref_count; __gthread_mutex_t _M_ref_count_lock; _Refcount_Base(_RC_t __n) : _M_ref_count(__n) { __gthread_mutex_t __tmp = {{0, 0, 0, 0, 0x4d58}, {{{0}}}, 0}; _M_ref_count_lock = __tmp; } void _M_incr() { __gthread_mutex_lock(&_M_ref_count_lock); ++_M_ref_count; __gthread_mutex_unlock(&_M_ref_count_lock); } _RC_t _M_decr() { __gthread_mutex_lock(&_M_ref_count_lock); volatile _RC_t __tmp = --_M_ref_count; __gthread_mutex_unlock(&_M_ref_count_lock); return __tmp; } }; # 109 "/usr/local/include/c++/3.3.2/bits/stl_threads.h" 3 template struct _Swap_lock_struct { static __gthread_mutex_t _S_swap_lock; }; template __gthread_mutex_t _Swap_lock_struct<__dummy>::_S_swap_lock = {{0, 0, 0, 0, 0x4d58}, {{{0}}}, 0}; inline unsigned long _Atomic_swap(unsigned long * __p, unsigned long __q) { __gthread_mutex_lock(&_Swap_lock_struct<0>::_S_swap_lock); unsigned long __result = *__p; *__p = __q; __gthread_mutex_unlock(&_Swap_lock_struct<0>::_S_swap_lock); return __result; } } # 155 "/usr/local/include/c++/3.3.2/bits/stl_threads.h" 3 namespace std { struct _STL_mutex_lock { __gthread_mutex_t _M_lock; void _M_initialize() { # 192 "/usr/local/include/c++/3.3.2/bits/stl_threads.h" 3 } void _M_acquire_lock() { __gthread_mutex_lock(&_M_lock); } void _M_release_lock() { __gthread_mutex_unlock(&_M_lock); } }; # 228 "/usr/local/include/c++/3.3.2/bits/stl_threads.h" 3 struct _STL_auto_lock { _STL_mutex_lock& _M_lock; _STL_auto_lock(_STL_mutex_lock& __lock) : _M_lock(__lock) { _M_lock._M_acquire_lock(); } ~_STL_auto_lock() { _M_lock._M_release_lock(); } private: void operator=(const _STL_auto_lock&); _STL_auto_lock(const _STL_auto_lock&); }; } # 90 "/usr/local/include/c++/3.3.2/bits/stl_alloc.h" 2 3 namespace std { # 103 "/usr/local/include/c++/3.3.2/bits/stl_alloc.h" 3 class __new_alloc { public: static void* allocate(size_t __n) { return ::operator new(__n); } static void deallocate(void* __p, size_t) { ::operator delete(__p); } }; # 126 "/usr/local/include/c++/3.3.2/bits/stl_alloc.h" 3 template class __malloc_alloc_template { private: static void* _S_oom_malloc(size_t); static void* _S_oom_realloc(void*, size_t); static void (* __malloc_alloc_oom_handler)(); public: static void* allocate(size_t __n) { void* __result = malloc(__n); if (__builtin_expect(__result == 0, 0)) __result = _S_oom_malloc(__n); return __result; } static void deallocate(void* __p, size_t ) { free(__p); } static void* reallocate(void* __p, size_t , size_t __new_sz) { void* __result = realloc(__p, __new_sz); if (__builtin_expect(__result == 0, 0)) __result = _S_oom_realloc(__p, __new_sz); return __result; } static void (* __set_malloc_handler(void (*__f)()))() { void (* __old)() = __malloc_alloc_oom_handler; __malloc_alloc_oom_handler = __f; return __old; } }; template void (* __malloc_alloc_template<__inst>::__malloc_alloc_oom_handler)() = 0; template void* __malloc_alloc_template<__inst>:: _S_oom_malloc(size_t __n) { void (* __my_malloc_handler)(); void* __result; for (;;) { __my_malloc_handler = __malloc_alloc_oom_handler; if (__builtin_expect(__my_malloc_handler == 0, 0)) __throw_bad_alloc(); (*__my_malloc_handler)(); __result = malloc(__n); if (__result) return __result; } } template void* __malloc_alloc_template<__inst>:: _S_oom_realloc(void* __p, size_t __n) { void (* __my_malloc_handler)(); void* __result; for (;;) { __my_malloc_handler = __malloc_alloc_oom_handler; if (__builtin_expect(__my_malloc_handler == 0, 0)) __throw_bad_alloc(); (*__my_malloc_handler)(); __result = realloc(__p, __n); if (__result) return __result; } } typedef __new_alloc __mem_interface; # 223 "/usr/local/include/c++/3.3.2/bits/stl_alloc.h" 3 template class __simple_alloc { public: static _Tp* allocate(size_t __n) { _Tp* __ret = 0; if (__n) __ret = static_cast<_Tp*>(_Alloc::allocate(__n * sizeof(_Tp))); return __ret; } static _Tp* allocate() { return (_Tp*) _Alloc::allocate(sizeof (_Tp)); } static void deallocate(_Tp* __p, size_t __n) { if (0 != __n) _Alloc::deallocate(__p, __n * sizeof (_Tp)); } static void deallocate(_Tp* __p) { _Alloc::deallocate(__p, sizeof (_Tp)); } }; # 261 "/usr/local/include/c++/3.3.2/bits/stl_alloc.h" 3 template class __debug_alloc { private: enum {_S_extra = 8}; public: static void* allocate(size_t __n) { char* __result = (char*)_Alloc::allocate(__n + (int) _S_extra); *(size_t*)__result = __n; return __result + (int) _S_extra; } static void deallocate(void* __p, size_t __n) { char* __real_p = (char*)__p - (int) _S_extra; if (*(size_t*)__real_p != __n) abort(); _Alloc::deallocate(__real_p, __n + (int) _S_extra); } static void* reallocate(void* __p, size_t __old_sz, size_t __new_sz) { char* __real_p = (char*)__p - (int) _S_extra; if (*(size_t*)__real_p != __old_sz) abort(); char* __result = (char*) _Alloc::reallocate(__real_p, __old_sz + (int) _S_extra, __new_sz + (int) _S_extra); *(size_t*)__result = __new_sz; return __result + (int) _S_extra; } }; # 332 "/usr/local/include/c++/3.3.2/bits/stl_alloc.h" 3 template class __default_alloc_template { private: enum {_ALIGN = 8}; enum {_MAX_BYTES = 128}; enum {_NFREELISTS = _MAX_BYTES / _ALIGN}; union _Obj { union _Obj* _M_free_list_link; char _M_client_data[1]; }; static _Obj* volatile _S_free_list[_NFREELISTS]; static char* _S_start_free; static char* _S_end_free; static size_t _S_heap_size; static _STL_mutex_lock _S_node_allocator_lock; static size_t _S_round_up(size_t __bytes) { return (((__bytes) + (size_t) _ALIGN-1) & ~((size_t) _ALIGN - 1)); } static size_t _S_freelist_index(size_t __bytes) { return (((__bytes) + (size_t)_ALIGN - 1)/(size_t)_ALIGN - 1); } static void* _S_refill(size_t __n); static char* _S_chunk_alloc(size_t __size, int& __nobjs); struct _Lock { _Lock() { if (__threads) _S_node_allocator_lock._M_acquire_lock(); } ~_Lock() { if (__threads) _S_node_allocator_lock._M_release_lock(); } } __attribute__ ((__unused__)); friend struct _Lock; static _Atomic_word _S_force_new; public: static void* allocate(size_t __n) { void* __ret = 0; if (_S_force_new == 0) { if (getenv("GLIBCPP_FORCE_NEW")) __atomic_add(&_S_force_new, 1); else __atomic_add(&_S_force_new, -1); } if ((__n > (size_t) _MAX_BYTES) || (_S_force_new > 0)) __ret = __new_alloc::allocate(__n); else { _Obj* volatile* __my_free_list = _S_free_list + _S_freelist_index(__n); _Lock __lock_instance; _Obj* __restrict__ __result = *__my_free_list; if (__builtin_expect(__result == 0, 0)) __ret = _S_refill(_S_round_up(__n)); else { *__my_free_list = __result -> _M_free_list_link; __ret = __result; } if (__builtin_expect(__ret == 0, 0)) __throw_bad_alloc(); } return __ret; } static void deallocate(void* __p, size_t __n) { if ((__n > (size_t) _MAX_BYTES) || (_S_force_new > 0)) __new_alloc::deallocate(__p, __n); else { _Obj* volatile* __my_free_list = _S_free_list + _S_freelist_index(__n); _Obj* __q = (_Obj*)__p; _Lock __lock_instance; __q -> _M_free_list_link = *__my_free_list; *__my_free_list = __q; } } static void* reallocate(void* __p, size_t __old_sz, size_t __new_sz); }; template _Atomic_word __default_alloc_template<__threads, __inst>::_S_force_new = 0; template inline bool operator==(const __default_alloc_template<__threads,__inst>&, const __default_alloc_template<__threads,__inst>&) { return true; } template inline bool operator!=(const __default_alloc_template<__threads,__inst>&, const __default_alloc_template<__threads,__inst>&) { return false; } template char* __default_alloc_template<__threads, __inst>:: _S_chunk_alloc(size_t __size, int& __nobjs) { char* __result; size_t __total_bytes = __size * __nobjs; size_t __bytes_left = _S_end_free - _S_start_free; if (__bytes_left >= __total_bytes) { __result = _S_start_free; _S_start_free += __total_bytes; return __result ; } else if (__bytes_left >= __size) { __nobjs = (int)(__bytes_left/__size); __total_bytes = __size * __nobjs; __result = _S_start_free; _S_start_free += __total_bytes; return __result; } else { size_t __bytes_to_get = 2 * __total_bytes + _S_round_up(_S_heap_size >> 4); if (__bytes_left > 0) { _Obj* volatile* __my_free_list = _S_free_list + _S_freelist_index(__bytes_left); ((_Obj*)(void*)_S_start_free) -> _M_free_list_link = *__my_free_list; *__my_free_list = (_Obj*)(void*)_S_start_free; } _S_start_free = (char*) __new_alloc::allocate(__bytes_to_get); if (_S_start_free == 0) { size_t __i; _Obj* volatile* __my_free_list; _Obj* __p; __i = __size; for (; __i <= (size_t) _MAX_BYTES; __i += (size_t) _ALIGN) { __my_free_list = _S_free_list + _S_freelist_index(__i); __p = *__my_free_list; if (__p != 0) { *__my_free_list = __p -> _M_free_list_link; _S_start_free = (char*)__p; _S_end_free = _S_start_free + __i; return _S_chunk_alloc(__size, __nobjs); } } _S_end_free = 0; _S_start_free = (char*)__new_alloc::allocate(__bytes_to_get); } _S_heap_size += __bytes_to_get; _S_end_free = _S_start_free + __bytes_to_get; return _S_chunk_alloc(__size, __nobjs); } } template void* __default_alloc_template<__threads, __inst>::_S_refill(size_t __n) { int __nobjs = 20; char* __chunk = _S_chunk_alloc(__n, __nobjs); _Obj* volatile* __my_free_list; _Obj* __result; _Obj* __current_obj; _Obj* __next_obj; int __i; if (1 == __nobjs) return __chunk; __my_free_list = _S_free_list + _S_freelist_index(__n); __result = (_Obj*)(void*)__chunk; *__my_free_list = __next_obj = (_Obj*)(void*)(__chunk + __n); for (__i = 1; ; __i++) { __current_obj = __next_obj; __next_obj = (_Obj*)(void*)((char*)__next_obj + __n); if (__nobjs - 1 == __i) { __current_obj -> _M_free_list_link = 0; break; } else __current_obj -> _M_free_list_link = __next_obj; } return __result; } template void* __default_alloc_template :: reallocate(void* __p, size_t __old_sz, size_t __new_sz) { void* __result; size_t __copy_sz; if (__old_sz > (size_t) _MAX_BYTES && __new_sz > (size_t) _MAX_BYTES) return(realloc(__p, __new_sz)); if (_S_round_up(__old_sz) == _S_round_up(__new_sz)) return(__p); __result = allocate(__new_sz); __copy_sz = __new_sz > __old_sz? __old_sz : __new_sz; memcpy(__result, __p, __copy_sz); deallocate(__p, __old_sz); return __result; } template _STL_mutex_lock __default_alloc_template<__threads,__inst>::_S_node_allocator_lock = { {{0, 0, 0, 0, 0x4d58}, {{{0}}}, 0} }; template char* __default_alloc_template<__threads,__inst>::_S_start_free = 0; template char* __default_alloc_template<__threads,__inst>::_S_end_free = 0; template size_t __default_alloc_template<__threads,__inst>::_S_heap_size = 0; template typename __default_alloc_template<__threads,__inst>::_Obj* volatile __default_alloc_template<__threads,__inst>::_S_free_list[_NFREELISTS]; typedef __default_alloc_template __alloc; typedef __default_alloc_template __single_client_alloc; # 635 "/usr/local/include/c++/3.3.2/bits/stl_alloc.h" 3 template