# 1 "VBFStudy.cxx" # 1 "" # 1 "" # 1 "VBFStudy.cxx" # 1 "/products/root_522/include/root/Riostream.h" 1 # 27 "/products/root_522/include/root/Riostream.h" # 1 "/products/root_522/include/root/RConfig.h" 1 # 23 "/products/root_522/include/root/RConfig.h" # 1 "/products/root_522/include/root/RVersion.h" 1 # 24 "/products/root_522/include/root/RConfig.h" 2 # 180 "/products/root_522/include/root/RConfig.h" # 1 "/usr/include/features.h" 1 3 4 # 330 "/usr/include/features.h" 3 4 # 1 "/usr/include/sys/cdefs.h" 1 3 4 # 348 "/usr/include/sys/cdefs.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 349 "/usr/include/sys/cdefs.h" 2 3 4 # 331 "/usr/include/features.h" 2 3 4 # 354 "/usr/include/features.h" 3 4 # 1 "/usr/include/gnu/stubs.h" 1 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 5 "/usr/include/gnu/stubs.h" 2 3 4 # 1 "/usr/include/gnu/stubs-64.h" 1 3 4 # 10 "/usr/include/gnu/stubs.h" 2 3 4 # 355 "/usr/include/features.h" 2 3 4 # 181 "/products/root_522/include/root/RConfig.h" 2 # 28 "/products/root_522/include/root/Riostream.h" 2 # 1 "/usr/include/c++/4.3/fstream" 1 3 # 43 "/usr/include/c++/4.3/fstream" 3 # 44 "/usr/include/c++/4.3/fstream" 3 # 1 "/usr/include/c++/4.3/istream" 1 3 # 43 "/usr/include/c++/4.3/istream" 3 # 44 "/usr/include/c++/4.3/istream" 3 # 1 "/usr/include/c++/4.3/ios" 1 3 # 42 "/usr/include/c++/4.3/ios" 3 # 43 "/usr/include/c++/4.3/ios" 3 # 1 "/usr/include/c++/4.3/iosfwd" 1 3 # 43 "/usr/include/c++/4.3/iosfwd" 3 # 44 "/usr/include/c++/4.3/iosfwd" 3 # 1 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h" 1 3 # 40 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h" 3 # 1 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/os_defines.h" 1 3 # 41 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h" 2 3 # 1 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/cpu_defines.h" 1 3 # 44 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h" 2 3 # 233 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 245 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++config.h" 3 } # 46 "/usr/include/c++/4.3/iosfwd" 2 3 # 1 "/usr/include/c++/4.3/bits/stringfwd.h" 1 3 # 42 "/usr/include/c++/4.3/bits/stringfwd.h" 3 # 43 "/usr/include/c++/4.3/bits/stringfwd.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template class allocator; template struct char_traits; template, typename _Alloc = allocator<_CharT> > class basic_string; template<> struct char_traits; typedef basic_string string; template<> struct char_traits; typedef basic_string wstring; } # 47 "/usr/include/c++/4.3/iosfwd" 2 3 # 1 "/usr/include/c++/4.3/bits/postypes.h" 1 3 # 45 "/usr/include/c++/4.3/bits/postypes.h" 3 # 46 "/usr/include/c++/4.3/bits/postypes.h" 3 # 1 "/usr/include/c++/4.3/cwchar" 1 3 # 46 "/usr/include/c++/4.3/cwchar" 3 # 47 "/usr/include/c++/4.3/cwchar" 3 # 1 "/usr/include/c++/4.3/cstddef" 1 3 # 45 "/usr/include/c++/4.3/cstddef" 3 # 46 "/usr/include/c++/4.3/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 152 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 3 4 typedef long int ptrdiff_t; # 214 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 3 4 typedef long unsigned int size_t; # 49 "/usr/include/c++/4.3/cstddef" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { using ::ptrdiff_t; using ::size_t; } # 50 "/usr/include/c++/4.3/cwchar" 2 3 # 1 "/usr/include/wchar.h" 1 3 4 # 37 "/usr/include/wchar.h" 3 4 # 1 "/usr/include/stdio.h" 1 3 4 # 45 "/usr/include/stdio.h" 3 4 struct _IO_FILE; typedef struct _IO_FILE FILE; # 65 "/usr/include/stdio.h" 3 4 typedef struct _IO_FILE __FILE; # 38 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stdarg.h" 1 3 4 # 43 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 41 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/include/bits/wchar.h" 1 3 4 # 43 "/usr/include/wchar.h" 2 3 4 # 52 "/usr/include/wchar.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 355 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 3 4 typedef unsigned int wint_t; # 53 "/usr/include/wchar.h" 2 3 4 # 78 "/usr/include/wchar.h" 3 4 typedef struct { int __count; union { unsigned int __wch; char __wchb[4]; } __value; } __mbstate_t; # 99 "/usr/include/wchar.h" 3 4 typedef __mbstate_t mbstate_t; # 124 "/usr/include/wchar.h" 3 4 extern "C" { struct tm; extern wchar_t *wcscpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src) throw (); extern wchar_t *wcsncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n) throw (); extern wchar_t *wcscat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src) throw (); extern wchar_t *wcsncat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n) throw (); extern int wcscmp (__const wchar_t *__s1, __const wchar_t *__s2) throw () __attribute__ ((__pure__)); extern int wcsncmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n) throw () __attribute__ ((__pure__)); extern int wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2) throw (); extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n) throw (); # 1 "/usr/include/xlocale.h" 1 3 4 # 28 "/usr/include/xlocale.h" 3 4 typedef struct __locale_struct { struct locale_data *__locales[13]; const unsigned short int *__ctype_b; const int *__ctype_tolower; const int *__ctype_toupper; const char *__names[13]; } *__locale_t; # 173 "/usr/include/wchar.h" 2 3 4 extern int wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2, __locale_t __loc) throw (); extern int wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n, __locale_t __loc) throw (); extern int wcscoll (__const wchar_t *__s1, __const wchar_t *__s2) throw (); extern size_t wcsxfrm (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw (); extern int wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2, __locale_t __loc) throw (); extern size_t wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2, size_t __n, __locale_t __loc) throw (); extern wchar_t *wcsdup (__const wchar_t *__s) throw () __attribute__ ((__malloc__)); extern wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc) throw () __attribute__ ((__pure__)); extern wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc) throw () __attribute__ ((__pure__)); extern wchar_t *wcschrnul (__const wchar_t *__s, wchar_t __wc) throw () __attribute__ ((__pure__)); extern size_t wcscspn (__const wchar_t *__wcs, __const wchar_t *__reject) throw () __attribute__ ((__pure__)); extern size_t wcsspn (__const wchar_t *__wcs, __const wchar_t *__accept) throw () __attribute__ ((__pure__)); extern wchar_t *wcspbrk (__const wchar_t *__wcs, __const wchar_t *__accept) throw () __attribute__ ((__pure__)); extern wchar_t *wcsstr (__const wchar_t *__haystack, __const wchar_t *__needle) throw () __attribute__ ((__pure__)); extern wchar_t *wcstok (wchar_t *__restrict __s, __const wchar_t *__restrict __delim, wchar_t **__restrict __ptr) throw (); extern size_t wcslen (__const wchar_t *__s) throw () __attribute__ ((__pure__)); extern wchar_t *wcswcs (__const wchar_t *__haystack, __const wchar_t *__needle) throw () __attribute__ ((__pure__)); extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen) throw () __attribute__ ((__pure__)); extern wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c, size_t __n) throw () __attribute__ ((__pure__)); extern int wmemcmp (__const wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw () __attribute__ ((__pure__)); extern wchar_t *wmemcpy (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw (); extern wchar_t *wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n) throw (); extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw (); extern wchar_t *wmempcpy (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw (); extern wint_t btowc (int __c) throw (); extern int wctob (wint_t __c) throw (); extern int mbsinit (__const mbstate_t *__ps) throw () __attribute__ ((__pure__)); extern size_t mbrtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n, mbstate_t *__p) throw (); extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, mbstate_t *__restrict __ps) throw (); extern size_t __mbrlen (__const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw (); extern size_t mbrlen (__const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw (); # 352 "/usr/include/wchar.h" 3 4 extern size_t mbsrtowcs (wchar_t *__restrict __dst, __const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw (); extern size_t wcsrtombs (char *__restrict __dst, __const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw (); extern size_t mbsnrtowcs (wchar_t *__restrict __dst, __const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) throw (); extern size_t wcsnrtombs (char *__restrict __dst, __const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) throw (); extern int wcwidth (wchar_t __c) throw (); extern int wcswidth (__const wchar_t *__s, size_t __n) throw (); extern double wcstod (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw (); extern float wcstof (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw (); extern long double wcstold (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw (); extern long int wcstol (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); extern unsigned long int wcstoul (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); __extension__ extern long long int wcstoll (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); __extension__ extern unsigned long long int wcstoull (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); __extension__ extern long long int wcstoq (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); __extension__ extern unsigned long long int wcstouq (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw (); # 477 "/usr/include/wchar.h" 3 4 extern long int wcstol_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw (); extern unsigned long int wcstoul_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw (); __extension__ extern long long int wcstoll_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw (); __extension__ extern unsigned long long int wcstoull_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw (); extern double wcstod_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) throw (); extern float wcstof_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) throw (); extern long double wcstold_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) throw (); extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) throw (); extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n) throw (); # 527 "/usr/include/wchar.h" 3 4 extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) throw (); extern int fwide (__FILE *__fp, int __mode) throw (); extern int fwprintf (__FILE *__restrict __stream, __const wchar_t *__restrict __format, ...) ; extern int wprintf (__const wchar_t *__restrict __format, ...) ; extern int swprintf (wchar_t *__restrict __s, size_t __n, __const wchar_t *__restrict __format, ...) throw () ; extern int vfwprintf (__FILE *__restrict __s, __const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vwprintf (__const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vswprintf (wchar_t *__restrict __s, size_t __n, __const wchar_t *__restrict __format, __gnuc_va_list __arg) throw () ; extern int fwscanf (__FILE *__restrict __stream, __const wchar_t *__restrict __format, ...) ; extern int wscanf (__const wchar_t *__restrict __format, ...) ; extern int swscanf (__const wchar_t *__restrict __s, __const wchar_t *__restrict __format, ...) throw () ; # 627 "/usr/include/wchar.h" 3 4 extern int vfwscanf (__FILE *__restrict __s, __const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vwscanf (__const wchar_t *__restrict __format, __gnuc_va_list __arg) ; extern int vswscanf (__const wchar_t *__restrict __s, __const wchar_t *__restrict __format, __gnuc_va_list __arg) throw () ; # 683 "/usr/include/wchar.h" 3 4 extern wint_t fgetwc (__FILE *__stream); extern wint_t getwc (__FILE *__stream); extern wint_t getwchar (void); extern wint_t fputwc (wchar_t __wc, __FILE *__stream); extern wint_t putwc (wchar_t __wc, __FILE *__stream); extern wint_t putwchar (wchar_t __wc); extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, __FILE *__restrict __stream); extern int fputws (__const wchar_t *__restrict __ws, __FILE *__restrict __stream); extern wint_t ungetwc (wint_t __wc, __FILE *__stream); # 748 "/usr/include/wchar.h" 3 4 extern wint_t getwc_unlocked (__FILE *__stream); extern wint_t getwchar_unlocked (void); extern wint_t fgetwc_unlocked (__FILE *__stream); extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); # 774 "/usr/include/wchar.h" 3 4 extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); extern wint_t putwchar_unlocked (wchar_t __wc); # 784 "/usr/include/wchar.h" 3 4 extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, __FILE *__restrict __stream); extern int fputws_unlocked (__const wchar_t *__restrict __ws, __FILE *__restrict __stream); extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, __const wchar_t *__restrict __format, __const struct tm *__restrict __tp) throw (); extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, __const wchar_t *__restrict __format, __const struct tm *__restrict __tp, __locale_t __loc) throw (); # 838 "/usr/include/wchar.h" 3 4 } # 53 "/usr/include/c++/4.3/cwchar" 2 3 # 70 "/usr/include/c++/4.3/cwchar" 3 namespace std __attribute__ ((__visibility__ ("default"))) { using ::mbstate_t; } # 144 "/usr/include/c++/4.3/cwchar" 3 namespace std __attribute__ ((__visibility__ ("default"))) { using ::wint_t; using ::btowc; using ::fgetwc; using ::fgetws; using ::fputwc; using ::fputws; using ::fwide; using ::fwprintf; using ::fwscanf; using ::getwc; using ::getwchar; using ::mbrlen; using ::mbrtowc; using ::mbsinit; using ::mbsrtowcs; using ::putwc; using ::putwchar; using ::swprintf; using ::swscanf; using ::ungetwc; using ::vfwprintf; using ::vfwscanf; using ::vswprintf; using ::vswscanf; using ::vwprintf; using ::vwscanf; using ::wcrtomb; using ::wcscat; using ::wcscmp; using ::wcscoll; using ::wcscpy; using ::wcscspn; using ::wcsftime; using ::wcslen; using ::wcsncat; using ::wcsncmp; using ::wcsncpy; using ::wcsrtombs; using ::wcsspn; using ::wcstod; using ::wcstof; using ::wcstok; using ::wcstol; using ::wcstoul; using ::wcsxfrm; using ::wctob; using ::wmemcmp; using ::wmemcpy; using ::wmemmove; using ::wmemset; using ::wprintf; using ::wscanf; using ::wcschr; inline wchar_t* wcschr(wchar_t* __p, wchar_t __c) { return wcschr(const_cast(__p), __c); } using ::wcspbrk; inline wchar_t* wcspbrk(wchar_t* __s1, const wchar_t* __s2) { return wcspbrk(const_cast(__s1), __s2); } using ::wcsrchr; inline wchar_t* wcsrchr(wchar_t* __p, wchar_t __c) { return wcsrchr(const_cast(__p), __c); } using ::wcsstr; inline wchar_t* wcsstr(wchar_t* __s1, const wchar_t* __s2) { return wcsstr(const_cast(__s1), __s2); } using ::wmemchr; inline wchar_t* wmemchr(wchar_t* __p, wchar_t __c, size_t __n) { return wmemchr(const_cast(__p), __c, __n); } } namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { using ::wcstold; # 262 "/usr/include/c++/4.3/cwchar" 3 using ::wcstoll; using ::wcstoull; } namespace std __attribute__ ((__visibility__ ("default"))) { using ::__gnu_cxx::wcstold; using ::__gnu_cxx::wcstoll; using ::__gnu_cxx::wcstoull; } # 48 "/usr/include/c++/4.3/bits/postypes.h" 2 3 # 1 "/usr/include/stdint.h" 1 3 4 # 28 "/usr/include/stdint.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 29 "/usr/include/stdint.h" 2 3 4 # 37 "/usr/include/stdint.h" 3 4 typedef signed char int8_t; typedef short int int16_t; typedef int int32_t; typedef long int int64_t; typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned int uint32_t; typedef unsigned long int uint64_t; # 66 "/usr/include/stdint.h" 3 4 typedef signed char int_least8_t; typedef short int int_least16_t; typedef int int_least32_t; typedef long int int_least64_t; typedef unsigned char uint_least8_t; typedef unsigned short int uint_least16_t; typedef unsigned int uint_least32_t; typedef unsigned long int uint_least64_t; # 91 "/usr/include/stdint.h" 3 4 typedef signed char int_fast8_t; typedef long int int_fast16_t; typedef long int int_fast32_t; typedef long int int_fast64_t; # 104 "/usr/include/stdint.h" 3 4 typedef unsigned char uint_fast8_t; typedef unsigned long int uint_fast16_t; typedef unsigned long int uint_fast32_t; typedef unsigned long int uint_fast64_t; # 120 "/usr/include/stdint.h" 3 4 typedef long int intptr_t; typedef unsigned long int uintptr_t; # 135 "/usr/include/stdint.h" 3 4 typedef long int intmax_t; typedef unsigned long int uintmax_t; # 51 "/usr/include/c++/4.3/bits/postypes.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 71 "/usr/include/c++/4.3/bits/postypes.h" 3 typedef int64_t streamoff; typedef ptrdiff_t streamsize; # 90 "/usr/include/c++/4.3/bits/postypes.h" 3 template class fpos { private: streamoff _M_off; _StateT _M_state; public: fpos() : _M_off(0), _M_state() { } # 112 "/usr/include/c++/4.3/bits/postypes.h" 3 fpos(streamoff __off) : _M_off(__off), _M_state() { } operator streamoff() const { return _M_off; } void state(_StateT __st) { _M_state = __st; } _StateT state() const { return _M_state; } fpos& operator+=(streamoff __off) { _M_off += __off; return *this; } fpos& operator-=(streamoff __off) { _M_off -= __off; return *this; } fpos operator+(streamoff __off) const { fpos __pos(*this); __pos += __off; return __pos; } fpos operator-(streamoff __off) const { fpos __pos(*this); __pos -= __off; return __pos; } streamoff operator-(const fpos& __other) const { return _M_off - __other._M_off; } }; template inline bool operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) { return streamoff(__lhs) == streamoff(__rhs); } template inline bool operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) { return streamoff(__lhs) != streamoff(__rhs); } typedef fpos streampos; typedef fpos wstreampos; } # 48 "/usr/include/c++/4.3/iosfwd" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { 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; # 132 "/usr/include/c++/4.3/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; typedef basic_ios wios; typedef basic_streambuf wstreambuf; typedef basic_istream wistream; typedef basic_ostream wostream; typedef basic_iostream wiostream; typedef basic_stringbuf wstringbuf; typedef basic_istringstream wistringstream; typedef basic_ostringstream wostringstream; typedef basic_stringstream wstringstream; typedef basic_filebuf wfilebuf; typedef basic_ifstream wifstream; typedef basic_ofstream wofstream; typedef basic_fstream wfstream; } # 45 "/usr/include/c++/4.3/ios" 2 3 # 1 "/usr/include/c++/4.3/exception" 1 3 # 40 "/usr/include/c++/4.3/exception" 3 #pragma GCC visibility push(default) extern "C++" { namespace std { # 56 "/usr/include/c++/4.3/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(); virtual const char* what() const 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__)); # 112 "/usr/include/c++/4.3/exception" 3 bool uncaught_exception() throw(); } namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { # 127 "/usr/include/c++/4.3/exception" 3 void __verbose_terminate_handler (); } } #pragma GCC visibility pop # 46 "/usr/include/c++/4.3/ios" 2 3 # 1 "/usr/include/c++/4.3/bits/char_traits.h" 1 3 # 44 "/usr/include/c++/4.3/bits/char_traits.h" 3 # 45 "/usr/include/c++/4.3/bits/char_traits.h" 3 # 1 "/usr/include/c++/4.3/bits/stl_algobase.h" 1 3 # 66 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 # 1 "/usr/include/c++/4.3/cstddef" 1 3 # 45 "/usr/include/c++/4.3/cstddef" 3 # 46 "/usr/include/c++/4.3/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 49 "/usr/include/c++/4.3/cstddef" 2 3 # 67 "/usr/include/c++/4.3/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/4.3/bits/functexcept.h" 1 3 # 42 "/usr/include/c++/4.3/bits/functexcept.h" 3 # 1 "/usr/include/c++/4.3/exception_defines.h" 1 3 # 43 "/usr/include/c++/4.3/bits/functexcept.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { void __throw_bad_exception(void) __attribute__((__noreturn__)); void __throw_bad_alloc(void) __attribute__((__noreturn__)); void __throw_bad_cast(void) __attribute__((__noreturn__)); void __throw_bad_typeid(void) __attribute__((__noreturn__)); void __throw_logic_error(const char*) __attribute__((__noreturn__)); void __throw_domain_error(const char*) __attribute__((__noreturn__)); void __throw_invalid_argument(const char*) __attribute__((__noreturn__)); void __throw_length_error(const char*) __attribute__((__noreturn__)); void __throw_out_of_range(const char*) __attribute__((__noreturn__)); void __throw_runtime_error(const char*) __attribute__((__noreturn__)); void __throw_range_error(const char*) __attribute__((__noreturn__)); void __throw_overflow_error(const char*) __attribute__((__noreturn__)); void __throw_underflow_error(const char*) __attribute__((__noreturn__)); void __throw_ios_failure(const char*) __attribute__((__noreturn__)); } # 68 "/usr/include/c++/4.3/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/4.3/bits/cpp_type_traits.h" 1 3 # 41 "/usr/include/c++/4.3/bits/cpp_type_traits.h" 3 # 42 "/usr/include/c++/4.3/bits/cpp_type_traits.h" 3 # 74 "/usr/include/c++/4.3/bits/cpp_type_traits.h" 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { template class __normal_iterator; } namespace std __attribute__ ((__visibility__ ("default"))) { struct __true_type { }; struct __false_type { }; template struct __truth_type { typedef __false_type __type; }; template<> struct __truth_type { typedef __true_type __type; }; template struct __traitor { enum { __value = bool(_Sp::__value) || bool(_Tp::__value) }; typedef typename __truth_type<__value>::__type __type; }; template struct __are_same { enum { __value = 0 }; typedef __false_type __type; }; template struct __are_same<_Tp, _Tp> { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_void { enum { __value = 0 }; typedef __false_type __type; }; template<> struct __is_void { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_integer { enum { __value = 0 }; typedef __false_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_floating { enum { __value = 0 }; typedef __false_type __type; }; template<> struct __is_floating { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_floating { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_floating { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_pointer { enum { __value = 0 }; typedef __false_type __type; }; template struct __is_pointer<_Tp*> { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_normal_iterator { enum { __value = 0 }; typedef __false_type __type; }; template struct __is_normal_iterator< __gnu_cxx::__normal_iterator<_Iterator, _Container> > { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_arithmetic : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> > { }; template struct __is_fundamental : public __traitor<__is_void<_Tp>, __is_arithmetic<_Tp> > { }; template struct __is_scalar : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> > { }; template struct __is_char { enum { __value = 0 }; typedef __false_type __type; }; template<> struct __is_char { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_char { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_byte { enum { __value = 0 }; typedef __false_type __type; }; template<> struct __is_byte { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_byte { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_byte { enum { __value = 1 }; typedef __true_type __type; }; template struct __is_move_iterator { enum { __value = 0 }; typedef __false_type __type; }; # 406 "/usr/include/c++/4.3/bits/cpp_type_traits.h" 3 } # 69 "/usr/include/c++/4.3/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/4.3/ext/type_traits.h" 1 3 # 38 "/usr/include/c++/4.3/ext/type_traits.h" 3 # 39 "/usr/include/c++/4.3/ext/type_traits.h" 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { template struct __enable_if { }; template struct __enable_if { typedef _Tp __type; }; template struct __conditional_type { typedef _Iftrue __type; }; template struct __conditional_type { typedef _Iffalse __type; }; template struct __add_unsigned { private: typedef __enable_if::__value, _Tp> __if_type; public: typedef typename __if_type::__type __type; }; template<> struct __add_unsigned { typedef unsigned char __type; }; template<> struct __add_unsigned { typedef unsigned char __type; }; template<> struct __add_unsigned { typedef unsigned short __type; }; template<> struct __add_unsigned { typedef unsigned int __type; }; template<> struct __add_unsigned { typedef unsigned long __type; }; template<> struct __add_unsigned { typedef unsigned long long __type; }; template<> struct __add_unsigned; template<> struct __add_unsigned; template struct __remove_unsigned { private: typedef __enable_if::__value, _Tp> __if_type; public: typedef typename __if_type::__type __type; }; template<> struct __remove_unsigned { typedef signed char __type; }; template<> struct __remove_unsigned { typedef signed char __type; }; template<> struct __remove_unsigned { typedef short __type; }; template<> struct __remove_unsigned { typedef int __type; }; template<> struct __remove_unsigned { typedef long __type; }; template<> struct __remove_unsigned { typedef long long __type; }; template<> struct __remove_unsigned; template<> struct __remove_unsigned; template inline bool __is_null_pointer(_Type* __ptr) { return __ptr == 0; } template inline bool __is_null_pointer(_Type) { return false; } template::__value> struct __promote { typedef double __type; }; template struct __promote<_Tp, false> { typedef _Tp __type; }; template struct __promote_2 { private: typedef typename __promote<_Tp>::__type __type1; typedef typename __promote<_Up>::__type __type2; public: typedef __typeof__(__type1() + __type2()) __type; }; template struct __promote_3 { private: typedef typename __promote<_Tp>::__type __type1; typedef typename __promote<_Up>::__type __type2; typedef typename __promote<_Vp>::__type __type3; public: typedef __typeof__(__type1() + __type2() + __type3()) __type; }; template struct __promote_4 { private: typedef typename __promote<_Tp>::__type __type1; typedef typename __promote<_Up>::__type __type2; typedef typename __promote<_Vp>::__type __type3; typedef typename __promote<_Wp>::__type __type4; public: typedef __typeof__(__type1() + __type2() + __type3() + __type4()) __type; }; } # 70 "/usr/include/c++/4.3/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/4.3/ext/numeric_traits.h" 1 3 # 38 "/usr/include/c++/4.3/ext/numeric_traits.h" 3 # 39 "/usr/include/c++/4.3/ext/numeric_traits.h" 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { # 58 "/usr/include/c++/4.3/ext/numeric_traits.h" 3 template struct __numeric_traits_integer { static const _Value __min = (((_Value)(-1) < 0) ? (_Value)1 << (sizeof(_Value) * 8 - ((_Value)(-1) < 0)) : (_Value)0); static const _Value __max = (((_Value)(-1) < 0) ? (((((_Value)1 << ((sizeof(_Value) * 8 - ((_Value)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(_Value)0); static const bool __is_signed = ((_Value)(-1) < 0); static const int __digits = (sizeof(_Value) * 8 - ((_Value)(-1) < 0)); }; template const _Value __numeric_traits_integer<_Value>::__min; template const _Value __numeric_traits_integer<_Value>::__max; template const bool __numeric_traits_integer<_Value>::__is_signed; template const int __numeric_traits_integer<_Value>::__digits; # 103 "/usr/include/c++/4.3/ext/numeric_traits.h" 3 template struct __numeric_traits_floating { static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 64) * 3010 / 10000); static const bool __is_signed = true; static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 18); static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 4932); }; template const int __numeric_traits_floating<_Value>::__max_digits10; template const bool __numeric_traits_floating<_Value>::__is_signed; template const int __numeric_traits_floating<_Value>::__digits10; template const int __numeric_traits_floating<_Value>::__max_exponent10; template struct __numeric_traits : public __conditional_type::__value, __numeric_traits_integer<_Value>, __numeric_traits_floating<_Value> >::__type { }; } # 71 "/usr/include/c++/4.3/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/4.3/bits/stl_pair.h" 1 3 # 65 "/usr/include/c++/4.3/bits/stl_pair.h" 3 # 1 "/usr/include/c++/4.3/bits/stl_move.h" 1 3 # 39 "/usr/include/c++/4.3/bits/stl_move.h" 3 # 1 "/usr/include/c++/4.3/bits/concept_check.h" 1 3 # 38 "/usr/include/c++/4.3/bits/concept_check.h" 3 # 39 "/usr/include/c++/4.3/bits/concept_check.h" 3 # 40 "/usr/include/c++/4.3/bits/stl_move.h" 2 3 # 70 "/usr/include/c++/4.3/bits/stl_move.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline void swap(_Tp& __a, _Tp& __b) { _Tp __tmp = (__a); __a = (__b); __b = (__tmp); } } # 66 "/usr/include/c++/4.3/bits/stl_pair.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { 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) { } # 103 "/usr/include/c++/4.3/bits/stl_pair.h" 3 template pair(const pair<_U1, _U2>& __p) : first(__p.first), second(__p.second) { } # 146 "/usr/include/c++/4.3/bits/stl_pair.h" 3 }; 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); } # 216 "/usr/include/c++/4.3/bits/stl_pair.h" 3 template inline pair<_T1, _T2> make_pair(_T1 __x, _T2 __y) { return pair<_T1, _T2>(__x, __y); } # 262 "/usr/include/c++/4.3/bits/stl_pair.h" 3 } # 72 "/usr/include/c++/4.3/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/4.3/bits/stl_iterator_base_types.h" 1 3 # 68 "/usr/include/c++/4.3/bits/stl_iterator_base_types.h" 3 # 69 "/usr/include/c++/4.3/bits/stl_iterator_base_types.h" 3 # 1 "/usr/include/c++/4.3/cstddef" 1 3 # 45 "/usr/include/c++/4.3/cstddef" 3 # 46 "/usr/include/c++/4.3/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 49 "/usr/include/c++/4.3/cstddef" 2 3 # 72 "/usr/include/c++/4.3/bits/stl_iterator_base_types.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 84 "/usr/include/c++/4.3/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 {}; # 108 "/usr/include/c++/4.3/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(); } } # 73 "/usr/include/c++/4.3/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h" 1 3 # 68 "/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h" 3 # 69 "/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { 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; } # 113 "/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h" 3 template inline typename iterator_traits<_InputIterator>::difference_type distance(_InputIterator __first, _InputIterator __last) { return std::__distance(__first, __last, std::__iterator_category(__first)); } template inline void __advance(_InputIterator& __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; } # 171 "/usr/include/c++/4.3/bits/stl_iterator_base_funcs.h" 3 template inline void advance(_InputIterator& __i, _Distance __n) { typename iterator_traits<_InputIterator>::difference_type __d = __n; std::__advance(__i, __d, std::__iterator_category(__i)); } } # 74 "/usr/include/c++/4.3/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/4.3/bits/stl_iterator.h" 1 3 # 73 "/usr/include/c++/4.3/bits/stl_iterator.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 94 "/usr/include/c++/4.3/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); } }; # 281 "/usr/include/c++/4.3/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); } template inline bool operator==(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return __x.base() == __y.base(); } template inline bool operator<(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return __y.base() < __x.base(); } template inline bool operator!=(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return !(__x == __y); } template inline bool operator>(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return __y < __x; } template inline bool operator<=(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return !(__y < __x); } template inline bool operator>=(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return !(__x < __y); } template inline typename reverse_iterator<_IteratorL>::difference_type operator-(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return __y.base() - __x.base(); } # 385 "/usr/include/c++/4.3/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) { } # 411 "/usr/include/c++/4.3/bits/stl_iterator.h" 3 back_insert_iterator& operator=(typename _Container::const_reference __value) { container->push_back(__value); return *this; } # 428 "/usr/include/c++/4.3/bits/stl_iterator.h" 3 back_insert_iterator& operator*() { return *this; } back_insert_iterator& operator++() { return *this; } back_insert_iterator operator++(int) { return *this; } }; # 454 "/usr/include/c++/4.3/bits/stl_iterator.h" 3 template inline back_insert_iterator<_Container> back_inserter(_Container& __x) { return back_insert_iterator<_Container>(__x); } # 469 "/usr/include/c++/4.3/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) { } # 494 "/usr/include/c++/4.3/bits/stl_iterator.h" 3 front_insert_iterator& operator=(typename _Container::const_reference __value) { container->push_front(__value); return *this; } # 511 "/usr/include/c++/4.3/bits/stl_iterator.h" 3 front_insert_iterator& operator*() { return *this; } front_insert_iterator& operator++() { return *this; } front_insert_iterator operator++(int) { return *this; } }; # 537 "/usr/include/c++/4.3/bits/stl_iterator.h" 3 template inline front_insert_iterator<_Container> front_inserter(_Container& __x) { return front_insert_iterator<_Container>(__x); } # 556 "/usr/include/c++/4.3/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) {} # 598 "/usr/include/c++/4.3/bits/stl_iterator.h" 3 insert_iterator& operator=(typename _Container::const_reference __value) { iter = container->insert(iter, __value); ++iter; return *this; } # 617 "/usr/include/c++/4.3/bits/stl_iterator.h" 3 insert_iterator& operator*() { return *this; } insert_iterator& operator++() { return *this; } insert_iterator& operator++(int) { return *this; } }; # 643 "/usr/include/c++/4.3/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 __attribute__ ((__visibility__ ("default"))) { # 662 "/usr/include/c++/4.3/bits/stl_iterator.h" 3 using std::iterator_traits; using std::iterator; template class __normal_iterator { protected: _Iterator _M_current; public: typedef _Iterator iterator_type; typedef typename iterator_traits<_Iterator>::iterator_category iterator_category; typedef typename iterator_traits<_Iterator>::value_type value_type; 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 __normal_iterator(const __normal_iterator<_Iter, typename __enable_if< (std::__are_same<_Iter, typename _Container::pointer>::__value), _Container>::__type>& __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; } }; # 760 "/usr/include/c++/4.3/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 typename __normal_iterator<_Iterator, _Container>::difference_type operator-(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _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); } } # 75 "/usr/include/c++/4.3/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/4.3/debug/debug.h" 1 3 # 52 "/usr/include/c++/4.3/debug/debug.h" 3 namespace std { namespace __debug { } } namespace __gnu_debug { using namespace std::__debug; } # 77 "/usr/include/c++/4.3/bits/stl_algobase.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct __iter_swap { template static void iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) { typedef typename iterator_traits<_ForwardIterator1>::value_type _ValueType1; _ValueType1 __tmp = (*__a); *__a = (*__b); *__b = (__tmp); } }; template<> struct __iter_swap { template static void iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) { swap(*__a, *__b); } }; # 119 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template inline void iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) { typedef typename iterator_traits<_ForwardIterator1>::value_type _ValueType1; typedef typename iterator_traits<_ForwardIterator2>::value_type _ValueType2; typedef typename iterator_traits<_ForwardIterator1>::reference _ReferenceType1; typedef typename iterator_traits<_ForwardIterator2>::reference _ReferenceType2; std::__iter_swap<__are_same<_ValueType1, _ValueType2>::__value && __are_same<_ValueType1&, _ReferenceType1>::__value && __are_same<_ValueType2&, _ReferenceType2>::__value>:: iter_swap(__a, __b); } # 159 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template _ForwardIterator2 swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2) { ; for (; __first1 != __last1; ++__first1, ++__first2) std::iter_swap(__first1, __first2); return __first2; } # 186 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template inline const _Tp& min(const _Tp& __a, const _Tp& __b) { if (__b < __a) return __b; return __a; } # 208 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template inline const _Tp& max(const _Tp& __a, const _Tp& __b) { if (__a < __b) return __b; return __a; } # 230 "/usr/include/c++/4.3/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; } # 250 "/usr/include/c++/4.3/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; } template::__value> struct __niter_base { static _Iterator __b(_Iterator __it) { return __it; } }; template struct __niter_base<_Iterator, true> { static typename _Iterator::iterator_type __b(_Iterator __it) { return __it.base(); } }; template::__value> struct __miter_base { static _Iterator __b(_Iterator __it) { return __it; } }; template struct __miter_base<_Iterator, true> { static typename _Iterator::iterator_type __b(_Iterator __it) { return __it.base(); } }; template struct __copy_move { template static _OI __copy_m(_II __first, _II __last, _OI __result) { for (; __first != __last; ++__result, ++__first) *__result = *__first; return __result; } }; # 332 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template<> struct __copy_move { template static _OI __copy_m(_II __first, _II __last, _OI __result) { typedef typename iterator_traits<_II>::difference_type _Distance; for(_Distance __n = __last - __first; __n > 0; --__n) { *__result = *__first; ++__first; ++__result; } return __result; } }; # 370 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template struct __copy_move<_IsMove, true, random_access_iterator_tag> { template static _Tp* __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result) { __builtin_memmove(__result, __first, sizeof(_Tp) * (__last - __first)); return __result + (__last - __first); } }; template inline _OI __copy_move_a(_II __first, _II __last, _OI __result) { typedef typename iterator_traits<_II>::value_type _ValueTypeI; typedef typename iterator_traits<_OI>::value_type _ValueTypeO; typedef typename iterator_traits<_II>::iterator_category _Category; const bool __simple = (__is_pod(_ValueTypeI) && __is_pointer<_II>::__value && __is_pointer<_OI>::__value && __are_same<_ValueTypeI, _ValueTypeO>::__value); return std::__copy_move<_IsMove, __simple, _Category>::__copy_m(__first, __last, __result); } template struct char_traits; template class istreambuf_iterator; template class ostreambuf_iterator; template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type __copy_move_a2(_CharT*, _CharT*, ostreambuf_iterator<_CharT, char_traits<_CharT> >); template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type __copy_move_a2(const _CharT*, const _CharT*, ostreambuf_iterator<_CharT, char_traits<_CharT> >); template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, _CharT*>::__type __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >, istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*); template inline _OI __copy_move_a2(_II __first, _II __last, _OI __result) { return _OI(std::__copy_move_a<_IsMove> (std::__niter_base<_II>::__b(__first), std::__niter_base<_II>::__b(__last), std::__niter_base<_OI>::__b(__result))); } # 454 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template inline _OI copy(_II __first, _II __last, _OI __result) { ; return (std::__copy_move_a2<__is_move_iterator<_II>::__value> (std::__miter_base<_II>::__b(__first), std::__miter_base<_II>::__b(__last), __result)); } # 506 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template struct __copy_move_backward { template static _BI2 __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) { while (__first != __last) *--__result = *--__last; return __result; } }; # 534 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template<> struct __copy_move_backward { template static _BI2 __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) { typename iterator_traits<_BI1>::difference_type __n; for (__n = __last - __first; __n > 0; --__n) *--__result = *--__last; return __result; } }; # 564 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template struct __copy_move_backward<_IsMove, true, random_access_iterator_tag> { template static _Tp* __copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result) { const ptrdiff_t _Num = __last - __first; __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num); return __result - _Num; } }; template inline _BI2 __copy_move_backward_a(_BI1 __first, _BI1 __last, _BI2 __result) { typedef typename iterator_traits<_BI1>::value_type _ValueType1; typedef typename iterator_traits<_BI2>::value_type _ValueType2; typedef typename iterator_traits<_BI1>::iterator_category _Category; const bool __simple = (__is_pod(_ValueType1) && __is_pointer<_BI1>::__value && __is_pointer<_BI2>::__value && __are_same<_ValueType1, _ValueType2>::__value); return std::__copy_move_backward<_IsMove, __simple, _Category>::__copy_move_b(__first, __last, __result); } template inline _BI2 __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result) { return _BI2(std::__copy_move_backward_a<_IsMove> (std::__niter_base<_BI1>::__b(__first), std::__niter_base<_BI1>::__b(__last), std::__niter_base<_BI2>::__b(__result))); } # 622 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template inline _BI2 copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) { ; return (std::__copy_move_backward_a2<__is_move_iterator<_BI1>::__value> (std::__miter_base<_BI1>::__b(__first), std::__miter_base<_BI1>::__b(__last), __result)); } # 679 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template inline typename __gnu_cxx::__enable_if::__value, void>::__type __fill_a(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { for (; __first != __last; ++__first) *__first = __value; } template inline typename __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type __fill_a(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { const _Tp __tmp = __value; for (; __first != __last; ++__first) *__first = __tmp; } template inline typename __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type __fill_a(_Tp* __first, _Tp* __last, const _Tp& __c) { const _Tp __tmp = __c; __builtin_memset(__first, static_cast(__tmp), __last - __first); } # 722 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template inline void fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { ; std::__fill_a(std::__niter_base<_ForwardIterator>::__b(__first), std::__niter_base<_ForwardIterator>::__b(__last), __value); } template inline typename __gnu_cxx::__enable_if::__value, _OutputIterator>::__type __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value) { for (; __n > 0; --__n, ++__first) *__first = __value; return __first; } template inline typename __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value) { const _Tp __tmp = __value; for (; __n > 0; --__n, ++__first) *__first = __tmp; return __first; } template inline typename __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, _Tp*>::__type __fill_n_a(_Tp* __first, _Size __n, const _Tp& __c) { std::__fill_a(__first, __first + __n, __c); return __first + __n; } # 776 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template inline _OI fill_n(_OI __first, _Size __n, const _Tp& __value) { return _OI(std::__fill_n_a(std::__niter_base<_OI>::__b(__first), __n, __value)); } template struct __equal { template static bool equal(_II1 __first1, _II1 __last1, _II2 __first2) { for (; __first1 != __last1; ++__first1, ++__first2) if (!(*__first1 == *__first2)) return false; return true; } }; template<> struct __equal { template static bool equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2) { return !__builtin_memcmp(__first1, __first2, sizeof(_Tp) * (__last1 - __first1)); } }; template inline bool __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2) { typedef typename iterator_traits<_II1>::value_type _ValueType1; typedef typename iterator_traits<_II2>::value_type _ValueType2; const bool __simple = (__is_integer<_ValueType1>::__value && __is_pointer<_II1>::__value && __is_pointer<_II2>::__value && __are_same<_ValueType1, _ValueType2>::__value); return std::__equal<__simple>::equal(__first1, __last1, __first2); } template struct __lc_rai { template static _II1 __newlast1(_II1, _II1 __last1, _II2, _II2) { return __last1; } template static bool __cnd2(_II __first, _II __last) { return __first != __last; } }; template<> struct __lc_rai { template static _RAI1 __newlast1(_RAI1 __first1, _RAI1 __last1, _RAI2 __first2, _RAI2 __last2) { const typename iterator_traits<_RAI1>::difference_type __diff1 = __last1 - __first1; const typename iterator_traits<_RAI2>::difference_type __diff2 = __last2 - __first2; return __diff2 < __diff1 ? __first1 + __diff2 : __last1; } template static bool __cnd2(_RAI, _RAI) { return true; } }; template struct __lexicographical_compare { template static bool __lc(_II1, _II1, _II2, _II2); }; template template bool __lexicographical_compare<_BoolType>:: __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) { typedef typename iterator_traits<_II1>::iterator_category _Category1; typedef typename iterator_traits<_II2>::iterator_category _Category2; typedef std::__lc_rai<_Category1, _Category2> __rai_type; __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2); for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2); ++__first1, ++__first2) { if (*__first1 < *__first2) return true; if (*__first2 < *__first1) return false; } return __first1 == __last1 && __first2 != __last2; } template<> struct __lexicographical_compare { template static bool __lc(const _Tp* __first1, const _Tp* __last1, const _Up* __first2, const _Up* __last2) { const size_t __len1 = __last1 - __first1; const size_t __len2 = __last2 - __first2; const int __result = __builtin_memcmp(__first1, __first2, std::min(__len1, __len2)); return __result != 0 ? __result < 0 : __len1 < __len2; } }; template inline bool __lexicographical_compare_aux(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) { typedef typename iterator_traits<_II1>::value_type _ValueType1; typedef typename iterator_traits<_II2>::value_type _ValueType2; const bool __simple = (__is_byte<_ValueType1>::__value && __is_byte<_ValueType2>::__value && !__gnu_cxx::__numeric_traits<_ValueType1>::__is_signed && !__gnu_cxx::__numeric_traits<_ValueType2>::__is_signed && __is_pointer<_II1>::__value && __is_pointer<_II2>::__value); return std::__lexicographical_compare<__simple>::__lc(__first1, __last1, __first2, __last2); } } namespace std __attribute__ ((__visibility__ ("default"))) { # 942 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template inline bool equal(_II1 __first1, _II1 __last1, _II2 __first2) { ; return std::__equal_aux(std::__niter_base<_II1>::__b(__first1), std::__niter_base<_II1>::__b(__last1), std::__niter_base<_II2>::__b(__first2)); } # 973 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template inline bool equal(_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _BinaryPredicate __binary_pred) { ; for (; __first1 != __last1; ++__first1, ++__first2) if (!bool(__binary_pred(*__first1, *__first2))) return false; return true; } # 1003 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template inline bool lexicographical_compare(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) { typedef typename iterator_traits<_II1>::value_type _ValueType1; typedef typename iterator_traits<_II2>::value_type _ValueType2; ; ; return std::__lexicographical_compare_aux (std::__niter_base<_II1>::__b(__first1), std::__niter_base<_II1>::__b(__last1), std::__niter_base<_II2>::__b(__first2), std::__niter_base<_II2>::__b(__last2)); } # 1037 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template bool lexicographical_compare(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, _Compare __comp) { typedef typename iterator_traits<_II1>::iterator_category _Category1; typedef typename iterator_traits<_II2>::iterator_category _Category2; typedef std::__lc_rai<_Category1, _Category2> __rai_type; ; ; __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2); for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2); ++__first1, ++__first2) { if (__comp(*__first1, *__first2)) return true; if (__comp(*__first2, *__first1)) return false; } return __first1 == __last1 && __first2 != __last2; } # 1076 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template pair<_InputIterator1, _InputIterator2> mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2) { ; while (__first1 != __last1 && *__first1 == *__first2) { ++__first1; ++__first2; } return pair<_InputIterator1, _InputIterator2>(__first1, __first2); } # 1112 "/usr/include/c++/4.3/bits/stl_algobase.h" 3 template pair<_InputIterator1, _InputIterator2> mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate __binary_pred) { ; while (__first1 != __last1 && bool(__binary_pred(*__first1, *__first2))) { ++__first1; ++__first2; } return pair<_InputIterator1, _InputIterator2>(__first1, __first2); } } # 47 "/usr/include/c++/4.3/bits/char_traits.h" 2 3 # 1 "/usr/include/c++/4.3/cstdio" 1 3 # 46 "/usr/include/c++/4.3/cstdio" 3 # 47 "/usr/include/c++/4.3/cstdio" 3 # 1 "/usr/include/c++/4.3/cstddef" 1 3 # 45 "/usr/include/c++/4.3/cstddef" 3 # 46 "/usr/include/c++/4.3/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 49 "/usr/include/c++/4.3/cstddef" 2 3 # 50 "/usr/include/c++/4.3/cstdio" 2 3 # 1 "/usr/include/stdio.h" 1 3 4 # 30 "/usr/include/stdio.h" 3 4 extern "C" { # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 35 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 28 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 29 "/usr/include/bits/types.h" 2 3 4 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; typedef signed long int __int64_t; typedef unsigned long int __uint64_t; typedef long int __quad_t; typedef unsigned long int __u_quad_t; # 131 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/bits/typesizes.h" 1 3 4 # 132 "/usr/include/bits/types.h" 2 3 4 typedef unsigned long int __dev_t; typedef unsigned int __uid_t; typedef unsigned int __gid_t; typedef unsigned long int __ino_t; typedef unsigned long int __ino64_t; typedef unsigned int __mode_t; typedef unsigned long int __nlink_t; typedef long int __off_t; typedef long int __off64_t; typedef int __pid_t; typedef struct { int __val[2]; } __fsid_t; typedef long int __clock_t; typedef unsigned long int __rlim_t; typedef unsigned long int __rlim64_t; typedef unsigned int __id_t; typedef long int __time_t; typedef unsigned int __useconds_t; typedef long int __suseconds_t; typedef int __daddr_t; typedef long int __swblk_t; typedef int __key_t; typedef int __clockid_t; typedef void * __timer_t; typedef long int __blksize_t; typedef long int __blkcnt_t; typedef long int __blkcnt64_t; typedef unsigned long int __fsblkcnt_t; typedef unsigned long int __fsblkcnt64_t; typedef unsigned long int __fsfilcnt_t; typedef unsigned long int __fsfilcnt64_t; typedef long int __ssize_t; typedef __off64_t __loff_t; typedef __quad_t *__qaddr_t; typedef char *__caddr_t; typedef long int __intptr_t; typedef unsigned int __socklen_t; # 37 "/usr/include/stdio.h" 2 3 4 # 75 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/libio.h" 1 3 4 # 32 "/usr/include/libio.h" 3 4 # 1 "/usr/include/_G_config.h" 1 3 4 # 15 "/usr/include/_G_config.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 16 "/usr/include/_G_config.h" 2 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 21 "/usr/include/_G_config.h" 2 3 4 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 53 "/usr/include/_G_config.h" 3 4 typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); # 33 "/usr/include/libio.h" 2 3 4 # 53 "/usr/include/libio.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stdarg.h" 1 3 4 # 54 "/usr/include/libio.h" 2 3 4 # 170 "/usr/include/libio.h" 3 4 struct _IO_jump_t; struct _IO_FILE; # 180 "/usr/include/libio.h" 3 4 typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 203 "/usr/include/libio.h" 3 4 }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; # 271 "/usr/include/libio.h" 3 4 struct _IO_FILE { int _flags; char* _IO_read_ptr; char* _IO_read_end; char* _IO_read_base; char* _IO_write_base; char* _IO_write_ptr; char* _IO_write_end; char* _IO_buf_base; char* _IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _flags2; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; # 319 "/usr/include/libio.h" 3 4 __off64_t _offset; # 328 "/usr/include/libio.h" 3 4 void *__pad1; void *__pad2; void *__pad3; void *__pad4; size_t __pad5; int _mode; char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; }; struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_2_1_stdin_; extern struct _IO_FILE_plus _IO_2_1_stdout_; extern struct _IO_FILE_plus _IO_2_1_stderr_; # 364 "/usr/include/libio.h" 3 4 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, size_t __n); typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); typedef int __io_close_fn (void *__cookie); typedef __io_read_fn cookie_read_function_t; typedef __io_write_fn cookie_write_function_t; typedef __io_seek_fn cookie_seek_function_t; typedef __io_close_fn cookie_close_function_t; typedef struct { __io_read_fn *read; __io_write_fn *write; __io_seek_fn *seek; __io_close_fn *close; } _IO_cookie_io_functions_t; typedef _IO_cookie_io_functions_t cookie_io_functions_t; struct _IO_cookie_file; extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write, void *__cookie, _IO_cookie_io_functions_t __fns); extern "C" { extern int __underflow (_IO_FILE *); extern int __uflow (_IO_FILE *); extern int __overflow (_IO_FILE *, int); # 458 "/usr/include/libio.h" 3 4 extern int _IO_getc (_IO_FILE *__fp); extern int _IO_putc (int __c, _IO_FILE *__fp); extern int _IO_feof (_IO_FILE *__fp) throw (); extern int _IO_ferror (_IO_FILE *__fp) throw (); extern int _IO_peekc_locked (_IO_FILE *__fp); extern void _IO_flockfile (_IO_FILE *) throw (); extern void _IO_funlockfile (_IO_FILE *) throw (); extern int _IO_ftrylockfile (_IO_FILE *) throw (); # 488 "/usr/include/libio.h" 3 4 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict); extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list); extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); extern void _IO_free_backup_area (_IO_FILE *) throw (); # 550 "/usr/include/libio.h" 3 4 } # 76 "/usr/include/stdio.h" 2 3 4 typedef __gnuc_va_list va_list; # 89 "/usr/include/stdio.h" 3 4 typedef _G_fpos_t fpos_t; typedef _G_fpos64_t fpos64_t; # 141 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 142 "/usr/include/stdio.h" 2 3 4 extern struct _IO_FILE *stdin; extern struct _IO_FILE *stdout; extern struct _IO_FILE *stderr; extern int remove (__const char *__filename) throw (); extern int rename (__const char *__old, __const char *__new) throw (); extern int renameat (int __oldfd, __const char *__old, int __newfd, __const char *__new) throw (); extern FILE *tmpfile (void) ; # 182 "/usr/include/stdio.h" 3 4 extern FILE *tmpfile64 (void) ; extern char *tmpnam (char *__s) throw () ; extern char *tmpnam_r (char *__s) throw () ; # 204 "/usr/include/stdio.h" 3 4 extern char *tempnam (__const char *__dir, __const char *__pfx) throw () __attribute__ ((__malloc__)) ; extern int fclose (FILE *__stream); extern int fflush (FILE *__stream); # 229 "/usr/include/stdio.h" 3 4 extern int fflush_unlocked (FILE *__stream); # 239 "/usr/include/stdio.h" 3 4 extern int fcloseall (void); extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes) ; extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) ; # 272 "/usr/include/stdio.h" 3 4 extern FILE *fopen64 (__const char *__restrict __filename, __const char *__restrict __modes) ; extern FILE *freopen64 (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) ; extern FILE *fdopen (int __fd, __const char *__modes) throw () ; extern FILE *fopencookie (void *__restrict __magic_cookie, __const char *__restrict __modes, _IO_cookie_io_functions_t __io_funcs) throw () ; extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) throw () ; extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) throw () ; extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw (); extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) throw (); extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) throw (); extern void setlinebuf (FILE *__stream) throw (); extern int fprintf (FILE *__restrict __stream, __const char *__restrict __format, ...); extern int printf (__const char *__restrict __format, ...); extern int sprintf (char *__restrict __s, __const char *__restrict __format, ...) throw (); extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg); extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); extern int vsprintf (char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) throw (); extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...) throw () __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg) throw () __attribute__ ((__format__ (__printf__, 3, 0))); extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f, __gnuc_va_list __arg) throw () __attribute__ ((__format__ (__printf__, 2, 0))) ; extern int __asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) throw () __attribute__ ((__format__ (__printf__, 2, 3))) ; extern int asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) throw () __attribute__ ((__format__ (__printf__, 2, 3))) ; extern int vdprintf (int __fd, __const char *__restrict __fmt, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 2, 0))); extern int dprintf (int __fd, __const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) ; extern int scanf (__const char *__restrict __format, ...) ; extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) throw (); # 441 "/usr/include/stdio.h" 3 4 extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))) ; extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 1, 0))) ; extern int vsscanf (__const char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) throw () __attribute__ ((__format__ (__scanf__, 2, 0))); # 500 "/usr/include/stdio.h" 3 4 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); # 528 "/usr/include/stdio.h" 3 4 extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 539 "/usr/include/stdio.h" 3 4 extern int fgetc_unlocked (FILE *__stream); extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 572 "/usr/include/stdio.h" 3 4 extern int fputc_unlocked (int __c, FILE *__stream); extern int putc_unlocked (int __c, FILE *__stream); extern int putchar_unlocked (int __c); extern int getw (FILE *__stream); extern int putw (int __w, FILE *__stream); extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) ; extern char *gets (char *__s) ; # 618 "/usr/include/stdio.h" 3 4 extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) ; # 634 "/usr/include/stdio.h" 3 4 extern __ssize_t __getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) ; extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); extern int puts (__const char *__s); extern int ungetc (int __c, FILE *__stream); extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s) ; # 695 "/usr/include/stdio.h" 3 4 extern int fputs_unlocked (__const char *__restrict __s, FILE *__restrict __stream); # 706 "/usr/include/stdio.h" 3 4 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream) ; extern void rewind (FILE *__stream); # 742 "/usr/include/stdio.h" 3 4 extern int fseeko (FILE *__stream, __off_t __off, int __whence); extern __off_t ftello (FILE *__stream) ; # 761 "/usr/include/stdio.h" 3 4 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); extern int fsetpos (FILE *__stream, __const fpos_t *__pos); # 784 "/usr/include/stdio.h" 3 4 extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); extern __off64_t ftello64 (FILE *__stream) ; extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos); extern void clearerr (FILE *__stream) throw (); extern int feof (FILE *__stream) throw () ; extern int ferror (FILE *__stream) throw () ; extern void clearerr_unlocked (FILE *__stream) throw (); extern int feof_unlocked (FILE *__stream) throw () ; extern int ferror_unlocked (FILE *__stream) throw () ; extern void perror (__const char *__s); # 1 "/usr/include/bits/sys_errlist.h" 1 3 4 # 27 "/usr/include/bits/sys_errlist.h" 3 4 extern int sys_nerr; extern __const char *__const sys_errlist[]; extern int _sys_nerr; extern __const char *__const _sys_errlist[]; # 823 "/usr/include/stdio.h" 2 3 4 extern int fileno (FILE *__stream) throw () ; extern int fileno_unlocked (FILE *__stream) throw () ; # 842 "/usr/include/stdio.h" 3 4 extern FILE *popen (__const char *__command, __const char *__modes) ; extern int pclose (FILE *__stream); extern char *ctermid (char *__s) throw (); extern char *cuserid (char *__s); struct obstack; extern int obstack_printf (struct obstack *__restrict __obstack, __const char *__restrict __format, ...) throw () __attribute__ ((__format__ (__printf__, 2, 3))); extern int obstack_vprintf (struct obstack *__restrict __obstack, __const char *__restrict __format, __gnuc_va_list __args) throw () __attribute__ ((__format__ (__printf__, 2, 0))); extern void flockfile (FILE *__stream) throw (); extern int ftrylockfile (FILE *__stream) throw () ; extern void funlockfile (FILE *__stream) throw (); # 912 "/usr/include/stdio.h" 3 4 } # 51 "/usr/include/c++/4.3/cstdio" 2 3 # 98 "/usr/include/c++/4.3/cstdio" 3 namespace std __attribute__ ((__visibility__ ("default"))) { 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; } # 155 "/usr/include/c++/4.3/cstdio" 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { # 170 "/usr/include/c++/4.3/cstdio" 3 using ::snprintf; using ::vfscanf; using ::vscanf; using ::vsnprintf; using ::vsscanf; } namespace std __attribute__ ((__visibility__ ("default"))) { using ::__gnu_cxx::snprintf; using ::__gnu_cxx::vfscanf; using ::__gnu_cxx::vscanf; using ::__gnu_cxx::vsnprintf; using ::__gnu_cxx::vsscanf; } # 49 "/usr/include/c++/4.3/bits/char_traits.h" 2 3 # 1 "/usr/include/c++/4.3/cwchar" 1 3 # 46 "/usr/include/c++/4.3/cwchar" 3 # 47 "/usr/include/c++/4.3/cwchar" 3 # 1 "/usr/include/c++/4.3/cstddef" 1 3 # 45 "/usr/include/c++/4.3/cstddef" 3 # 46 "/usr/include/c++/4.3/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 49 "/usr/include/c++/4.3/cstddef" 2 3 # 50 "/usr/include/c++/4.3/cwchar" 2 3 # 50 "/usr/include/c++/4.3/bits/char_traits.h" 2 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { # 63 "/usr/include/c++/4.3/bits/char_traits.h" 3 template struct _Char_types { typedef unsigned long int_type; typedef std::streampos pos_type; typedef std::streamoff off_type; typedef std::mbstate_t state_type; }; # 88 "/usr/include/c++/4.3/bits/char_traits.h" 3 template struct char_traits { typedef _CharT char_type; typedef typename _Char_types<_CharT>::int_type int_type; typedef typename _Char_types<_CharT>::pos_type pos_type; typedef typename _Char_types<_CharT>::off_type off_type; typedef typename _Char_types<_CharT>::state_type 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, std::size_t __n); static std::size_t length(const char_type* __s); static const char_type* find(const char_type* __s, std::size_t __n, const char_type& __a); static char_type* move(char_type* __s1, const char_type* __s2, std::size_t __n); static char_type* copy(char_type* __s1, const char_type* __s2, std::size_t __n); static char_type* assign(char_type* __s, std::size_t __n, char_type __a); 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(__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 !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); } }; template int char_traits<_CharT>:: compare(const char_type* __s1, const char_type* __s2, std::size_t __n) { for (std::size_t __i = 0; __i < __n; ++__i) if (lt(__s1[__i], __s2[__i])) return -1; else if (lt(__s2[__i], __s1[__i])) return 1; return 0; } template std::size_t char_traits<_CharT>:: length(const char_type* __p) { std::size_t __i = 0; while (!eq(__p[__i], char_type())) ++__i; return __i; } template const typename char_traits<_CharT>::char_type* char_traits<_CharT>:: find(const char_type* __s, std::size_t __n, const char_type& __a) { for (std::size_t __i = 0; __i < __n; ++__i) if (eq(__s[__i], __a)) return __s + __i; return 0; } template typename char_traits<_CharT>::char_type* char_traits<_CharT>:: move(char_type* __s1, const char_type* __s2, std::size_t __n) { return static_cast<_CharT*>(__builtin_memmove(__s1, __s2, __n * sizeof(char_type))); } template typename char_traits<_CharT>::char_type* char_traits<_CharT>:: copy(char_type* __s1, const char_type* __s2, std::size_t __n) { std::copy(__s2, __s2 + __n, __s1); return __s1; } template typename char_traits<_CharT>::char_type* char_traits<_CharT>:: assign(char_type* __s, std::size_t __n, char_type __a) { std::fill_n(__s, __n, __a); return __s; } } namespace std __attribute__ ((__visibility__ ("default"))) { # 229 "/usr/include/c++/4.3/bits/char_traits.h" 3 template struct char_traits : public __gnu_cxx::char_traits<_CharT> { }; 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 __builtin_memcmp(__s1, __s2, __n); } static size_t length(const char_type* __s) { return __builtin_strlen(__s); } static const char_type* find(const char_type* __s, size_t __n, const char_type& __a) { return static_cast(__builtin_memchr(__s, __a, __n)); } static char_type* move(char_type* __s1, const char_type* __s2, size_t __n) { return static_cast(__builtin_memmove(__s1, __s2, __n)); } static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n) { return static_cast(__builtin_memcpy(__s1, __s2, __n)); } static char_type* assign(char_type* __s, size_t __n, char_type __a) { return static_cast(__builtin_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; } }; template<> struct char_traits { typedef wchar_t char_type; typedef wint_t int_type; typedef streamoff off_type; typedef wstreampos pos_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 wmemcmp(__s1, __s2, __n); } static size_t length(const char_type* __s) { return wcslen(__s); } static const char_type* find(const char_type* __s, size_t __n, const char_type& __a) { return wmemchr(__s, __a, __n); } static char_type* move(char_type* __s1, const char_type* __s2, size_t __n) { return wmemmove(__s1, __s2, __n); } static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n) { return wmemcpy(__s1, __s2, __n); } static char_type* assign(char_type* __s, size_t __n, char_type __a) { return wmemset(__s, __a, __n); } static char_type to_char_type(const int_type& __c) { return char_type(__c); } static int_type to_int_type(const char_type& __c) { return int_type(__c); } static bool eq_int_type(const int_type& __c1, const int_type& __c2) { return __c1 == __c2; } static int_type eof() { return static_cast((0xffffffffu)); } static int_type not_eof(const int_type& __c) { return eq_int_type(__c, eof()) ? 0 : __c; } }; } # 47 "/usr/include/c++/4.3/ios" 2 3 # 1 "/usr/include/c++/4.3/bits/localefwd.h" 1 3 # 44 "/usr/include/c++/4.3/bits/localefwd.h" 3 # 45 "/usr/include/c++/4.3/bits/localefwd.h" 3 # 1 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++locale.h" 1 3 # 45 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++locale.h" 3 # 46 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++locale.h" 3 # 1 "/usr/include/c++/4.3/clocale" 1 3 # 45 "/usr/include/c++/4.3/clocale" 3 # 46 "/usr/include/c++/4.3/clocale" 3 # 1 "/usr/include/locale.h" 1 3 4 # 29 "/usr/include/locale.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 30 "/usr/include/locale.h" 2 3 4 # 1 "/usr/include/bits/locale.h" 1 3 4 # 27 "/usr/include/bits/locale.h" 3 4 enum { __LC_CTYPE = 0, __LC_NUMERIC = 1, __LC_TIME = 2, __LC_COLLATE = 3, __LC_MONETARY = 4, __LC_MESSAGES = 5, __LC_ALL = 6, __LC_PAPER = 7, __LC_NAME = 8, __LC_ADDRESS = 9, __LC_TELEPHONE = 10, __LC_MEASUREMENT = 11, __LC_IDENTIFICATION = 12 }; # 31 "/usr/include/locale.h" 2 3 4 extern "C" { # 51 "/usr/include/locale.h" 3 4 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; char int_p_cs_precedes; char int_p_sep_by_space; char int_n_cs_precedes; char int_n_sep_by_space; char int_p_sign_posn; char int_n_sign_posn; # 121 "/usr/include/locale.h" 3 4 }; extern char *setlocale (int __category, __const char *__locale) throw (); extern struct lconv *localeconv (void) throw (); # 148 "/usr/include/locale.h" 3 4 typedef __locale_t locale_t; extern __locale_t newlocale (int __category_mask, __const char *__locale, __locale_t __base) throw (); # 189 "/usr/include/locale.h" 3 4 extern __locale_t duplocale (__locale_t __dataset) throw (); extern void freelocale (__locale_t __dataset) throw (); extern __locale_t uselocale (__locale_t __dataset) throw (); } # 49 "/usr/include/c++/4.3/clocale" 2 3 # 57 "/usr/include/c++/4.3/clocale" 3 namespace std __attribute__ ((__visibility__ ("default"))) { using ::lconv; using ::setlocale; using ::localeconv; } # 48 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++locale.h" 2 3 # 1 "/usr/include/c++/4.3/cstddef" 1 3 # 45 "/usr/include/c++/4.3/cstddef" 3 # 46 "/usr/include/c++/4.3/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 49 "/usr/include/c++/4.3/cstddef" 2 3 # 49 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++locale.h" 2 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { extern "C" __typeof(uselocale) __uselocale; } namespace std __attribute__ ((__visibility__ ("default"))) { typedef __locale_t __c_locale; inline int __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)), char* __out, const int __size __attribute__ ((__unused__)), const char* __fmt, ...) { __c_locale __old = __gnu_cxx::__uselocale(__cloc); # 90 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++locale.h" 3 __builtin_va_list __args; __builtin_va_start(__args, __fmt); const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); __builtin_va_end(__args); __gnu_cxx::__uselocale(__old); return __ret; } } # 48 "/usr/include/c++/4.3/bits/localefwd.h" 2 3 # 1 "/usr/include/c++/4.3/cctype" 1 3 # 46 "/usr/include/c++/4.3/cctype" 3 # 47 "/usr/include/c++/4.3/cctype" 3 # 1 "/usr/include/ctype.h" 1 3 4 # 30 "/usr/include/ctype.h" 3 4 extern "C" { # 41 "/usr/include/ctype.h" 3 4 # 1 "/usr/include/endian.h" 1 3 4 # 37 "/usr/include/endian.h" 3 4 # 1 "/usr/include/bits/endian.h" 1 3 4 # 38 "/usr/include/endian.h" 2 3 4 # 42 "/usr/include/ctype.h" 2 3 4 enum { _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) }; # 81 "/usr/include/ctype.h" 3 4 extern __const unsigned short int **__ctype_b_loc (void) throw () __attribute__ ((__const)); extern __const __int32_t **__ctype_tolower_loc (void) throw () __attribute__ ((__const)); extern __const __int32_t **__ctype_toupper_loc (void) throw () __attribute__ ((__const)); # 96 "/usr/include/ctype.h" 3 4 extern int isalnum (int) throw (); extern int isalpha (int) throw (); extern int iscntrl (int) throw (); extern int isdigit (int) throw (); extern int islower (int) throw (); extern int isgraph (int) throw (); extern int isprint (int) throw (); extern int ispunct (int) throw (); extern int isspace (int) throw (); extern int isupper (int) throw (); extern int isxdigit (int) throw (); extern int tolower (int __c) throw (); extern int toupper (int __c) throw (); extern int isblank (int) throw (); extern int isctype (int __c, int __mask) throw (); extern int isascii (int __c) throw (); extern int toascii (int __c) throw (); extern int _toupper (int) throw (); extern int _tolower (int) throw (); # 247 "/usr/include/ctype.h" 3 4 extern int isalnum_l (int, __locale_t) throw (); extern int isalpha_l (int, __locale_t) throw (); extern int iscntrl_l (int, __locale_t) throw (); extern int isdigit_l (int, __locale_t) throw (); extern int islower_l (int, __locale_t) throw (); extern int isgraph_l (int, __locale_t) throw (); extern int isprint_l (int, __locale_t) throw (); extern int ispunct_l (int, __locale_t) throw (); extern int isspace_l (int, __locale_t) throw (); extern int isupper_l (int, __locale_t) throw (); extern int isxdigit_l (int, __locale_t) throw (); extern int isblank_l (int, __locale_t) throw (); extern int __tolower_l (int __c, __locale_t __l) throw (); extern int tolower_l (int __c, __locale_t __l) throw (); extern int __toupper_l (int __c, __locale_t __l) throw (); extern int toupper_l (int __c, __locale_t __l) throw (); # 323 "/usr/include/ctype.h" 3 4 } # 50 "/usr/include/c++/4.3/cctype" 2 3 # 69 "/usr/include/c++/4.3/cctype" 3 namespace std __attribute__ ((__visibility__ ("default"))) { 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; } # 50 "/usr/include/c++/4.3/bits/localefwd.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { class locale; template bool has_facet(const locale&) throw(); template const _Facet& use_facet(const locale&); template bool isspace(_CharT, const locale&); template bool isprint(_CharT, const locale&); template bool iscntrl(_CharT, const locale&); template bool isupper(_CharT, const locale&); template bool islower(_CharT, const locale&); template bool isalpha(_CharT, const locale&); template bool isdigit(_CharT, const locale&); template bool ispunct(_CharT, const locale&); template bool isxdigit(_CharT, const locale&); template bool isalnum(_CharT, const locale&); template bool isgraph(_CharT, const locale&); template _CharT toupper(_CharT, const locale&); template _CharT tolower(_CharT, const locale&); class ctype_base; template class ctype; template<> class ctype; template<> class ctype; template class ctype_byname; class codecvt_base; template class codecvt; 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; } # 48 "/usr/include/c++/4.3/ios" 2 3 # 1 "/usr/include/c++/4.3/bits/ios_base.h" 1 3 # 44 "/usr/include/c++/4.3/bits/ios_base.h" 3 # 45 "/usr/include/c++/4.3/bits/ios_base.h" 3 # 1 "/usr/include/c++/4.3/ext/atomicity.h" 1 3 # 39 "/usr/include/c++/4.3/ext/atomicity.h" 3 # 1 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/gthr.h" 1 3 # 33 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/gthr.h" 3 #pragma GCC visibility push(default) # 132 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/gthr.h" 3 # 1 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/gthr-default.h" 1 3 # 43 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/gthr-default.h" 3 # 1 "/usr/include/pthread.h" 1 3 4 # 25 "/usr/include/pthread.h" 3 4 # 1 "/usr/include/sched.h" 1 3 4 # 29 "/usr/include/sched.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 30 "/usr/include/sched.h" 2 3 4 # 1 "/usr/include/time.h" 1 3 4 # 121 "/usr/include/time.h" 3 4 struct timespec { __time_t tv_sec; long int tv_nsec; }; # 33 "/usr/include/sched.h" 2 3 4 # 1 "/usr/include/bits/sched.h" 1 3 4 # 71 "/usr/include/bits/sched.h" 3 4 struct sched_param { int __sched_priority; }; extern "C" { extern int clone (int (*__fn) (void *__arg), void *__child_stack, int __flags, void *__arg, ...) throw (); extern int unshare (int __flags) throw (); extern int sched_getcpu (void) throw (); } struct __sched_param { int __sched_priority; }; # 113 "/usr/include/bits/sched.h" 3 4 typedef unsigned long int __cpu_mask; typedef struct { __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; } cpu_set_t; # 191 "/usr/include/bits/sched.h" 3 4 extern "C" { extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp) throw (); extern cpu_set_t *__sched_cpualloc (size_t __count) throw () ; extern void __sched_cpufree (cpu_set_t *__set) throw (); } # 36 "/usr/include/sched.h" 2 3 4 extern "C" { extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param) throw (); extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw (); extern int sched_setscheduler (__pid_t __pid, int __policy, __const struct sched_param *__param) throw (); extern int sched_getscheduler (__pid_t __pid) throw (); extern int sched_yield (void) throw (); extern int sched_get_priority_max (int __algorithm) throw (); extern int sched_get_priority_min (int __algorithm) throw (); extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw (); # 110 "/usr/include/sched.h" 3 4 extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize, __const cpu_set_t *__cpuset) throw (); extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize, cpu_set_t *__cpuset) throw (); } # 26 "/usr/include/pthread.h" 2 3 4 # 1 "/usr/include/time.h" 1 3 4 # 31 "/usr/include/time.h" 3 4 extern "C" { # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 40 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 44 "/usr/include/time.h" 2 3 4 # 59 "/usr/include/time.h" 3 4 typedef __clock_t clock_t; # 75 "/usr/include/time.h" 3 4 typedef __time_t time_t; # 93 "/usr/include/time.h" 3 4 typedef __clockid_t clockid_t; # 105 "/usr/include/time.h" 3 4 typedef __timer_t timer_t; # 132 "/usr/include/time.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; long int tm_gmtoff; __const char *tm_zone; }; struct itimerspec { struct timespec it_interval; struct timespec it_value; }; struct sigevent; typedef __pid_t pid_t; extern clock_t clock (void) throw (); extern time_t time (time_t *__timer) throw (); extern double difftime (time_t __time1, time_t __time0) throw () __attribute__ ((__const__)); extern time_t mktime (struct tm *__tp) throw (); extern size_t strftime (char *__restrict __s, size_t __maxsize, __const char *__restrict __format, __const struct tm *__restrict __tp) throw (); extern char *strptime (__const char *__restrict __s, __const char *__restrict __fmt, struct tm *__tp) throw (); extern size_t strftime_l (char *__restrict __s, size_t __maxsize, __const char *__restrict __format, __const struct tm *__restrict __tp, __locale_t __loc) throw (); extern char *strptime_l (__const char *__restrict __s, __const char *__restrict __fmt, struct tm *__tp, __locale_t __loc) throw (); extern struct tm *gmtime (__const time_t *__timer) throw (); extern struct tm *localtime (__const time_t *__timer) throw (); extern struct tm *gmtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) throw (); extern struct tm *localtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) throw (); extern char *asctime (__const struct tm *__tp) throw (); extern char *ctime (__const time_t *__timer) throw (); extern char *asctime_r (__const struct tm *__restrict __tp, char *__restrict __buf) throw (); extern char *ctime_r (__const time_t *__restrict __timer, char *__restrict __buf) throw (); extern char *__tzname[2]; extern int __daylight; extern long int __timezone; extern char *tzname[2]; extern void tzset (void) throw (); extern int daylight; extern long int timezone; extern int stime (__const time_t *__when) throw (); # 312 "/usr/include/time.h" 3 4 extern time_t timegm (struct tm *__tp) throw (); extern time_t timelocal (struct tm *__tp) throw (); extern int dysize (int __year) throw () __attribute__ ((__const__)); # 327 "/usr/include/time.h" 3 4 extern int nanosleep (__const struct timespec *__requested_time, struct timespec *__remaining); extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw (); extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw (); extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp) throw (); extern int clock_nanosleep (clockid_t __clock_id, int __flags, __const struct timespec *__req, struct timespec *__rem); extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) throw (); extern int timer_create (clockid_t __clock_id, struct sigevent *__restrict __evp, timer_t *__restrict __timerid) throw (); extern int timer_delete (timer_t __timerid) throw (); extern int timer_settime (timer_t __timerid, int __flags, __const struct itimerspec *__restrict __value, struct itimerspec *__restrict __ovalue) throw (); extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) throw (); extern int timer_getoverrun (timer_t __timerid) throw (); # 389 "/usr/include/time.h" 3 4 extern int getdate_err; # 398 "/usr/include/time.h" 3 4 extern struct tm *getdate (__const char *__string); # 412 "/usr/include/time.h" 3 4 extern int getdate_r (__const char *__restrict __string, struct tm *__restrict __resbufp); } # 27 "/usr/include/pthread.h" 2 3 4 # 1 "/usr/include/signal.h" 1 3 4 # 31 "/usr/include/signal.h" 3 4 extern "C" { # 1 "/usr/include/bits/sigset.h" 1 3 4 # 24 "/usr/include/bits/sigset.h" 3 4 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 34 "/usr/include/signal.h" 2 3 4 # 50 "/usr/include/signal.h" 3 4 typedef __sigset_t sigset_t; # 402 "/usr/include/signal.h" 3 4 } # 30 "/usr/include/pthread.h" 2 3 4 # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 # 23 "/usr/include/bits/pthreadtypes.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 # 50 "/usr/include/bits/pthreadtypes.h" 3 4 typedef unsigned long int pthread_t; typedef union { char __size[56]; long int __align; } pthread_attr_t; typedef struct __pthread_internal_list { struct __pthread_internal_list *__prev; struct __pthread_internal_list *__next; } __pthread_list_t; # 76 "/usr/include/bits/pthreadtypes.h" 3 4 typedef union { struct __pthread_mutex_s { int __lock; unsigned int __count; int __owner; unsigned int __nusers; int __kind; int __spins; __pthread_list_t __list; # 101 "/usr/include/bits/pthreadtypes.h" 3 4 } __data; char __size[40]; long int __align; } pthread_mutex_t; typedef union { char __size[4]; int __align; } pthread_mutexattr_t; typedef union { struct { int __lock; unsigned int __futex; __extension__ unsigned long long int __total_seq; __extension__ unsigned long long int __wakeup_seq; __extension__ unsigned long long int __woken_seq; void *__mutex; unsigned int __nwaiters; unsigned int __broadcast_seq; } __data; char __size[48]; __extension__ long long int __align; } pthread_cond_t; typedef union { char __size[4]; int __align; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef int pthread_once_t; typedef union { struct { int __lock; unsigned int __nr_readers; unsigned int __readers_wakeup; unsigned int __writer_wakeup; unsigned int __nr_readers_queued; unsigned int __nr_writers_queued; int __writer; int __shared; unsigned long int __pad1; unsigned long int __pad2; unsigned int __flags; } __data; # 187 "/usr/include/bits/pthreadtypes.h" 3 4 char __size[56]; long int __align; } pthread_rwlock_t; typedef union { char __size[8]; long int __align; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef union { char __size[32]; long int __align; } pthread_barrier_t; typedef union { char __size[4]; int __align; } pthread_barrierattr_t; # 31 "/usr/include/pthread.h" 2 3 4 # 1 "/usr/include/bits/setjmp.h" 1 3 4 # 27 "/usr/include/bits/setjmp.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 28 "/usr/include/bits/setjmp.h" 2 3 4 typedef long int __jmp_buf[8]; # 32 "/usr/include/pthread.h" 2 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 33 "/usr/include/pthread.h" 2 3 4 enum { PTHREAD_CREATE_JOINABLE, PTHREAD_CREATE_DETACHED }; enum { PTHREAD_MUTEX_TIMED_NP, PTHREAD_MUTEX_RECURSIVE_NP, PTHREAD_MUTEX_ERRORCHECK_NP, PTHREAD_MUTEX_ADAPTIVE_NP , PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP, PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP }; enum { PTHREAD_MUTEX_STALLED_NP, PTHREAD_MUTEX_ROBUST_NP }; enum { PTHREAD_PRIO_NONE, PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT }; # 115 "/usr/include/pthread.h" 3 4 enum { PTHREAD_RWLOCK_PREFER_READER_NP, PTHREAD_RWLOCK_PREFER_WRITER_NP, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP }; # 147 "/usr/include/pthread.h" 3 4 enum { PTHREAD_INHERIT_SCHED, PTHREAD_EXPLICIT_SCHED }; enum { PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS }; enum { PTHREAD_PROCESS_PRIVATE, PTHREAD_PROCESS_SHARED }; # 182 "/usr/include/pthread.h" 3 4 struct _pthread_cleanup_buffer { void (*__routine) (void *); void *__arg; int __canceltype; struct _pthread_cleanup_buffer *__prev; }; enum { PTHREAD_CANCEL_ENABLE, PTHREAD_CANCEL_DISABLE }; enum { PTHREAD_CANCEL_DEFERRED, PTHREAD_CANCEL_ASYNCHRONOUS }; # 220 "/usr/include/pthread.h" 3 4 extern "C" { extern int pthread_create (pthread_t *__restrict __newthread, __const pthread_attr_t *__restrict __attr, void *(*__start_routine) (void *), void *__restrict __arg) throw () __attribute__ ((__nonnull__ (1, 3))); extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); extern int pthread_join (pthread_t __th, void **__thread_return); extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) throw (); extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return, __const struct timespec *__abstime); extern int pthread_detach (pthread_t __th) throw (); extern pthread_t pthread_self (void) throw () __attribute__ ((__const__)); extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) throw (); extern int pthread_attr_init (pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_destroy (pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr, int *__detachstate) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, int __detachstate) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getguardsize (__const pthread_attr_t *__attr, size_t *__guardsize) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setguardsize (pthread_attr_t *__attr, size_t __guardsize) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict __attr, struct sched_param *__restrict __param) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr, __const struct sched_param *__restrict __param) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict __attr, int *__restrict __policy) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict __attr, int *__restrict __inherit) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, int __inherit) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr, int *__restrict __scope) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict __attr, void **__restrict __stackaddr) throw () __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__)); extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, void *__stackaddr) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)); extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict __attr, size_t *__restrict __stacksize) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_attr_setstacksize (pthread_attr_t *__attr, size_t __stacksize) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_getstack (__const pthread_attr_t *__restrict __attr, void **__restrict __stackaddr, size_t *__restrict __stacksize) throw () __attribute__ ((__nonnull__ (1, 2, 3))); extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, size_t __stacksize) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, size_t __cpusetsize, __const cpu_set_t *__cpuset) throw () __attribute__ ((__nonnull__ (1, 3))); extern int pthread_attr_getaffinity_np (__const pthread_attr_t *__attr, size_t __cpusetsize, cpu_set_t *__cpuset) throw () __attribute__ ((__nonnull__ (1, 3))); extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (2))); extern int pthread_setschedparam (pthread_t __target_thread, int __policy, __const struct sched_param *__param) throw () __attribute__ ((__nonnull__ (3))); extern int pthread_getschedparam (pthread_t __target_thread, int *__restrict __policy, struct sched_param *__restrict __param) throw () __attribute__ ((__nonnull__ (2, 3))); extern int pthread_setschedprio (pthread_t __target_thread, int __prio) throw (); extern int pthread_getconcurrency (void) throw (); extern int pthread_setconcurrency (int __level) throw (); extern int pthread_yield (void) throw (); extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize, __const cpu_set_t *__cpuset) throw () __attribute__ ((__nonnull__ (3))); extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize, cpu_set_t *__cpuset) throw () __attribute__ ((__nonnull__ (3))); # 466 "/usr/include/pthread.h" 3 4 extern int pthread_once (pthread_once_t *__once_control, void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2))); # 478 "/usr/include/pthread.h" 3 4 extern int pthread_setcancelstate (int __state, int *__oldstate); extern int pthread_setcanceltype (int __type, int *__oldtype); extern int pthread_cancel (pthread_t __th); extern void pthread_testcancel (void); typedef struct { struct { __jmp_buf __cancel_jmp_buf; int __mask_was_saved; } __cancel_jmp_buf[1]; void *__pad[4]; } __pthread_unwind_buf_t __attribute__ ((__aligned__)); # 512 "/usr/include/pthread.h" 3 4 struct __pthread_cleanup_frame { void (*__cancel_routine) (void *); void *__cancel_arg; int __do_it; int __cancel_type; }; class __pthread_cleanup_class { void (*__cancel_routine) (void *); void *__cancel_arg; int __do_it; int __cancel_type; public: __pthread_cleanup_class (void (*__fct) (void *), void *__arg) : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { } ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); } void __setdoit (int __newval) { __do_it = __newval; } void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED, &__cancel_type); } void __restore () const { pthread_setcanceltype (__cancel_type, 0); } }; # 714 "/usr/include/pthread.h" 3 4 struct __jmp_buf_tag; extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) throw (); extern int pthread_mutex_init (pthread_mutex_t *__mutex, __const pthread_mutexattr_t *__mutexattr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutex_lock (pthread_mutex_t *__mutex) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, __const struct timespec *__restrict __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutex_getprioceiling (__const pthread_mutex_t * __restrict __mutex, int *__restrict __prioceiling) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex, int __prioceiling, int *__restrict __old_ceiling) throw () __attribute__ ((__nonnull__ (1, 3))); extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t * __restrict __attr, int *__restrict __pshared) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, int __pshared) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__restrict __attr, int *__restrict __kind) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_getprotocol (__const pthread_mutexattr_t * __restrict __attr, int *__restrict __protocol) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr, int __protocol) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_getprioceiling (__const pthread_mutexattr_t * __restrict __attr, int *__restrict __prioceiling) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr, int __prioceiling) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_getrobust_np (__const pthread_mutexattr_t *__attr, int *__robustness) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr, int __robustness) throw () __attribute__ ((__nonnull__ (1))); # 848 "/usr/include/pthread.h" 3 4 extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, __const pthread_rwlockattr_t *__restrict __attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, __const struct timespec *__restrict __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, __const struct timespec *__restrict __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t * __restrict __attr, int *__restrict __pshared) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, int __pshared) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t * __restrict __attr, int *__restrict __pref) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, int __pref) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_cond_init (pthread_cond_t *__restrict __cond, __const pthread_condattr_t *__restrict __cond_attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_cond_destroy (pthread_cond_t *__cond) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_cond_signal (pthread_cond_t *__cond) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_cond_broadcast (pthread_cond_t *__cond) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, pthread_mutex_t *__restrict __mutex) __attribute__ ((__nonnull__ (1, 2))); # 960 "/usr/include/pthread.h" 3 4 extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, pthread_mutex_t *__restrict __mutex, __const struct timespec *__restrict __abstime) __attribute__ ((__nonnull__ (1, 2, 3))); extern int pthread_condattr_init (pthread_condattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_condattr_destroy (pthread_condattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_condattr_getpshared (__const pthread_condattr_t * __restrict __attr, int *__restrict __pshared) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_condattr_setpshared (pthread_condattr_t *__attr, int __pshared) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_condattr_getclock (__const pthread_condattr_t * __restrict __attr, __clockid_t *__restrict __clock_id) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_condattr_setclock (pthread_condattr_t *__attr, __clockid_t __clock_id) throw () __attribute__ ((__nonnull__ (1))); # 1004 "/usr/include/pthread.h" 3 4 extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_spin_destroy (pthread_spinlock_t *__lock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_spin_lock (pthread_spinlock_t *__lock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_spin_trylock (pthread_spinlock_t *__lock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_spin_unlock (pthread_spinlock_t *__lock) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier, __const pthread_barrierattr_t *__restrict __attr, unsigned int __count) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_barrier_wait (pthread_barrier_t *__barrier) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_barrierattr_getpshared (__const pthread_barrierattr_t * __restrict __attr, int *__restrict __pshared) throw () __attribute__ ((__nonnull__ (1, 2))); extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, int __pshared) throw () __attribute__ ((__nonnull__ (1))); # 1071 "/usr/include/pthread.h" 3 4 extern int pthread_key_create (pthread_key_t *__key, void (*__destr_function) (void *)) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_key_delete (pthread_key_t __key) throw (); extern void *pthread_getspecific (pthread_key_t __key) throw (); extern int pthread_setspecific (pthread_key_t __key, __const void *__pointer) throw () ; extern int pthread_getcpuclockid (pthread_t __thread_id, __clockid_t *__clock_id) throw () __attribute__ ((__nonnull__ (2))); # 1105 "/usr/include/pthread.h" 3 4 extern int pthread_atfork (void (*__prepare) (void), void (*__parent) (void), void (*__child) (void)) throw (); # 1119 "/usr/include/pthread.h" 3 4 } # 44 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/gthr-default.h" 2 3 # 1 "/usr/include/unistd.h" 1 3 4 # 28 "/usr/include/unistd.h" 3 4 extern "C" { # 173 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/bits/posix_opt.h" 1 3 4 # 174 "/usr/include/unistd.h" 2 3 4 # 1 "/usr/include/bits/environments.h" 1 3 4 # 23 "/usr/include/bits/environments.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 24 "/usr/include/bits/environments.h" 2 3 4 # 178 "/usr/include/unistd.h" 2 3 4 # 191 "/usr/include/unistd.h" 3 4 typedef __ssize_t ssize_t; # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 198 "/usr/include/unistd.h" 2 3 4 typedef __gid_t gid_t; typedef __uid_t uid_t; typedef __off_t off_t; typedef __off64_t off64_t; typedef __useconds_t useconds_t; # 245 "/usr/include/unistd.h" 3 4 typedef __socklen_t socklen_t; # 258 "/usr/include/unistd.h" 3 4 extern int access (__const char *__name, int __type) throw () __attribute__ ((__nonnull__ (1))); extern int euidaccess (__const char *__name, int __type) throw () __attribute__ ((__nonnull__ (1))); extern int eaccess (__const char *__name, int __type) throw () __attribute__ ((__nonnull__ (1))); extern int faccessat (int __fd, __const char *__file, int __type, int __flag) throw () __attribute__ ((__nonnull__ (2))) ; # 301 "/usr/include/unistd.h" 3 4 extern __off_t lseek (int __fd, __off_t __offset, int __whence) throw (); # 312 "/usr/include/unistd.h" 3 4 extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) throw (); extern int close (int __fd); extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ; extern ssize_t write (int __fd, __const void *__buf, size_t __n) ; # 343 "/usr/include/unistd.h" 3 4 extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset) ; extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, __off_t __offset) ; # 371 "/usr/include/unistd.h" 3 4 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) ; extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n, __off64_t __offset) ; extern int pipe (int __pipedes[2]) throw () ; # 393 "/usr/include/unistd.h" 3 4 extern unsigned int alarm (unsigned int __seconds) throw (); # 405 "/usr/include/unistd.h" 3 4 extern unsigned int sleep (unsigned int __seconds); extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) throw (); extern int usleep (__useconds_t __useconds); # 429 "/usr/include/unistd.h" 3 4 extern int pause (void); extern int chown (__const char *__file, __uid_t __owner, __gid_t __group) throw () __attribute__ ((__nonnull__ (1))) ; extern int fchown (int __fd, __uid_t __owner, __gid_t __group) throw () ; extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) throw () __attribute__ ((__nonnull__ (1))) ; extern int fchownat (int __fd, __const char *__file, __uid_t __owner, __gid_t __group, int __flag) throw () __attribute__ ((__nonnull__ (2))) ; extern int chdir (__const char *__path) throw () __attribute__ ((__nonnull__ (1))) ; extern int fchdir (int __fd) throw () ; # 471 "/usr/include/unistd.h" 3 4 extern char *getcwd (char *__buf, size_t __size) throw () ; extern char *get_current_dir_name (void) throw (); extern char *getwd (char *__buf) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) ; extern int dup (int __fd) throw () ; extern int dup2 (int __fd, int __fd2) throw (); extern char **__environ; extern char **environ; extern int execve (__const char *__path, char *__const __argv[], char *__const __envp[]) throw () __attribute__ ((__nonnull__ (1))); extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[]) throw (); extern int execv (__const char *__path, char *__const __argv[]) throw () __attribute__ ((__nonnull__ (1))); extern int execle (__const char *__path, __const char *__arg, ...) throw () __attribute__ ((__nonnull__ (1))); extern int execl (__const char *__path, __const char *__arg, ...) throw () __attribute__ ((__nonnull__ (1))); extern int execvp (__const char *__file, char *__const __argv[]) throw () __attribute__ ((__nonnull__ (1))); extern int execlp (__const char *__file, __const char *__arg, ...) throw () __attribute__ ((__nonnull__ (1))); extern int nice (int __inc) throw () ; extern void _exit (int __status) __attribute__ ((__noreturn__)); # 1 "/usr/include/bits/confname.h" 1 3 4 # 26 "/usr/include/bits/confname.h" 3 4 enum { _PC_LINK_MAX, _PC_MAX_CANON, _PC_MAX_INPUT, _PC_NAME_MAX, _PC_PATH_MAX, _PC_PIPE_BUF, _PC_CHOWN_RESTRICTED, _PC_NO_TRUNC, _PC_VDISABLE, _PC_SYNC_IO, _PC_ASYNC_IO, _PC_PRIO_IO, _PC_SOCK_MAXBUF, _PC_FILESIZEBITS, _PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, _PC_REC_MIN_XFER_SIZE, _PC_REC_XFER_ALIGN, _PC_ALLOC_SIZE_MIN, _PC_SYMLINK_MAX, _PC_2_SYMLINKS }; enum { _SC_ARG_MAX, _SC_CHILD_MAX, _SC_CLK_TCK, _SC_NGROUPS_MAX, _SC_OPEN_MAX, _SC_STREAM_MAX, _SC_TZNAME_MAX, _SC_JOB_CONTROL, _SC_SAVED_IDS, _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS, _SC_AIO_LISTIO_MAX, _SC_AIO_MAX, _SC_AIO_PRIO_DELTA_MAX, _SC_DELAYTIMER_MAX, _SC_MQ_OPEN_MAX, _SC_MQ_PRIO_MAX, _SC_VERSION, _SC_PAGESIZE, _SC_RTSIG_MAX, _SC_SEM_NSEMS_MAX, _SC_SEM_VALUE_MAX, _SC_SIGQUEUE_MAX, _SC_TIMER_MAX, _SC_BC_BASE_MAX, _SC_BC_DIM_MAX, _SC_BC_SCALE_MAX, _SC_BC_STRING_MAX, _SC_COLL_WEIGHTS_MAX, _SC_EQUIV_CLASS_MAX, _SC_EXPR_NEST_MAX, _SC_LINE_MAX, _SC_RE_DUP_MAX, _SC_CHARCLASS_NAME_MAX, _SC_2_VERSION, _SC_2_C_BIND, _SC_2_C_DEV, _SC_2_FORT_DEV, _SC_2_FORT_RUN, _SC_2_SW_DEV, _SC_2_LOCALEDEF, _SC_PII, _SC_PII_XTI, _SC_PII_SOCKET, _SC_PII_INTERNET, _SC_PII_OSI, _SC_POLL, _SC_SELECT, _SC_UIO_MAXIOV, _SC_IOV_MAX = _SC_UIO_MAXIOV, _SC_PII_INTERNET_STREAM, _SC_PII_INTERNET_DGRAM, _SC_PII_OSI_COTS, _SC_PII_OSI_CLTS, _SC_PII_OSI_M, _SC_T_IOV_MAX, _SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_GETGR_R_SIZE_MAX, _SC_GETPW_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_TTY_NAME_MAX, _SC_THREAD_DESTRUCTOR_ITERATIONS, _SC_THREAD_KEYS_MAX, _SC_THREAD_STACK_MIN, _SC_THREAD_THREADS_MAX, _SC_THREAD_ATTR_STACKADDR, _SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT, _SC_THREAD_PROCESS_SHARED, _SC_NPROCESSORS_CONF, _SC_NPROCESSORS_ONLN, _SC_PHYS_PAGES, _SC_AVPHYS_PAGES, _SC_ATEXIT_MAX, _SC_PASS_MAX, _SC_XOPEN_VERSION, _SC_XOPEN_XCU_VERSION, _SC_XOPEN_UNIX, _SC_XOPEN_CRYPT, _SC_XOPEN_ENH_I18N, _SC_XOPEN_SHM, _SC_2_CHAR_TERM, _SC_2_C_VERSION, _SC_2_UPE, _SC_XOPEN_XPG2, _SC_XOPEN_XPG3, _SC_XOPEN_XPG4, _SC_CHAR_BIT, _SC_CHAR_MAX, _SC_CHAR_MIN, _SC_INT_MAX, _SC_INT_MIN, _SC_LONG_BIT, _SC_WORD_BIT, _SC_MB_LEN_MAX, _SC_NZERO, _SC_SSIZE_MAX, _SC_SCHAR_MAX, _SC_SCHAR_MIN, _SC_SHRT_MAX, _SC_SHRT_MIN, _SC_UCHAR_MAX, _SC_UINT_MAX, _SC_ULONG_MAX, _SC_USHRT_MAX, _SC_NL_ARGMAX, _SC_NL_LANGMAX, _SC_NL_MSGMAX, _SC_NL_NMAX, _SC_NL_SETMAX, _SC_NL_TEXTMAX, _SC_XBS5_ILP32_OFF32, _SC_XBS5_ILP32_OFFBIG, _SC_XBS5_LP64_OFF64, _SC_XBS5_LPBIG_OFFBIG, _SC_XOPEN_LEGACY, _SC_XOPEN_REALTIME, _SC_XOPEN_REALTIME_THREADS, _SC_ADVISORY_INFO, _SC_BARRIERS, _SC_BASE, _SC_C_LANG_SUPPORT, _SC_C_LANG_SUPPORT_R, _SC_CLOCK_SELECTION, _SC_CPUTIME, _SC_THREAD_CPUTIME, _SC_DEVICE_IO, _SC_DEVICE_SPECIFIC, _SC_DEVICE_SPECIFIC_R, _SC_FD_MGMT, _SC_FIFO, _SC_PIPE, _SC_FILE_ATTRIBUTES, _SC_FILE_LOCKING, _SC_FILE_SYSTEM, _SC_MONOTONIC_CLOCK, _SC_MULTI_PROCESS, _SC_SINGLE_PROCESS, _SC_NETWORKING, _SC_READER_WRITER_LOCKS, _SC_SPIN_LOCKS, _SC_REGEXP, _SC_REGEX_VERSION, _SC_SHELL, _SC_SIGNALS, _SC_SPAWN, _SC_SPORADIC_SERVER, _SC_THREAD_SPORADIC_SERVER, _SC_SYSTEM_DATABASE, _SC_SYSTEM_DATABASE_R, _SC_TIMEOUTS, _SC_TYPED_MEMORY_OBJECTS, _SC_USER_GROUPS, _SC_USER_GROUPS_R, _SC_2_PBS, _SC_2_PBS_ACCOUNTING, _SC_2_PBS_LOCATE, _SC_2_PBS_MESSAGE, _SC_2_PBS_TRACK, _SC_SYMLOOP_MAX, _SC_STREAMS, _SC_2_PBS_CHECKPOINT, _SC_V6_ILP32_OFF32, _SC_V6_ILP32_OFFBIG, _SC_V6_LP64_OFF64, _SC_V6_LPBIG_OFFBIG, _SC_HOST_NAME_MAX, _SC_TRACE, _SC_TRACE_EVENT_FILTER, _SC_TRACE_INHERIT, _SC_TRACE_LOG, _SC_LEVEL1_ICACHE_SIZE, _SC_LEVEL1_ICACHE_ASSOC, _SC_LEVEL1_ICACHE_LINESIZE, _SC_LEVEL1_DCACHE_SIZE, _SC_LEVEL1_DCACHE_ASSOC, _SC_LEVEL1_DCACHE_LINESIZE, _SC_LEVEL2_CACHE_SIZE, _SC_LEVEL2_CACHE_ASSOC, _SC_LEVEL2_CACHE_LINESIZE, _SC_LEVEL3_CACHE_SIZE, _SC_LEVEL3_CACHE_ASSOC, _SC_LEVEL3_CACHE_LINESIZE, _SC_LEVEL4_CACHE_SIZE, _SC_LEVEL4_CACHE_ASSOC, _SC_LEVEL4_CACHE_LINESIZE, _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, _SC_RAW_SOCKETS }; enum { _CS_PATH, _CS_V6_WIDTH_RESTRICTED_ENVS, _CS_GNU_LIBC_VERSION, _CS_GNU_LIBPTHREAD_VERSION, _CS_LFS_CFLAGS = 1000, _CS_LFS_LDFLAGS, _CS_LFS_LIBS, _CS_LFS_LINTFLAGS, _CS_LFS64_CFLAGS, _CS_LFS64_LDFLAGS, _CS_LFS64_LIBS, _CS_LFS64_LINTFLAGS, _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, _CS_XBS5_ILP32_OFF32_LDFLAGS, _CS_XBS5_ILP32_OFF32_LIBS, _CS_XBS5_ILP32_OFF32_LINTFLAGS, _CS_XBS5_ILP32_OFFBIG_CFLAGS, _CS_XBS5_ILP32_OFFBIG_LDFLAGS, _CS_XBS5_ILP32_OFFBIG_LIBS, _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, _CS_XBS5_LP64_OFF64_CFLAGS, _CS_XBS5_LP64_OFF64_LDFLAGS, _CS_XBS5_LP64_OFF64_LIBS, _CS_XBS5_LP64_OFF64_LINTFLAGS, _CS_XBS5_LPBIG_OFFBIG_CFLAGS, _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, _CS_XBS5_LPBIG_OFFBIG_LIBS, _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V6_ILP32_OFF32_CFLAGS, _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, _CS_POSIX_V6_ILP32_OFF32_LIBS, _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LIBS, _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V6_LP64_OFF64_CFLAGS, _CS_POSIX_V6_LP64_OFF64_LDFLAGS, _CS_POSIX_V6_LP64_OFF64_LIBS, _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS }; # 555 "/usr/include/unistd.h" 2 3 4 extern long int pathconf (__const char *__path, int __name) throw () __attribute__ ((__nonnull__ (1))); extern long int fpathconf (int __fd, int __name) throw (); extern long int sysconf (int __name) throw (); extern size_t confstr (int __name, char *__buf, size_t __len) throw (); extern __pid_t getpid (void) throw (); extern __pid_t getppid (void) throw (); extern __pid_t getpgrp (void) throw (); # 591 "/usr/include/unistd.h" 3 4 extern __pid_t __getpgid (__pid_t __pid) throw (); extern __pid_t getpgid (__pid_t __pid) throw (); extern int setpgid (__pid_t __pid, __pid_t __pgid) throw (); # 617 "/usr/include/unistd.h" 3 4 extern int setpgrp (void) throw (); # 634 "/usr/include/unistd.h" 3 4 extern __pid_t setsid (void) throw (); extern __pid_t getsid (__pid_t __pid) throw (); extern __uid_t getuid (void) throw (); extern __uid_t geteuid (void) throw (); extern __gid_t getgid (void) throw (); extern __gid_t getegid (void) throw (); extern int getgroups (int __size, __gid_t __list[]) throw () ; extern int group_member (__gid_t __gid) throw (); extern int setuid (__uid_t __uid) throw (); extern int setreuid (__uid_t __ruid, __uid_t __euid) throw (); extern int seteuid (__uid_t __uid) throw (); extern int setgid (__gid_t __gid) throw (); extern int setregid (__gid_t __rgid, __gid_t __egid) throw (); extern int setegid (__gid_t __gid) throw (); extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid) throw (); extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid) throw (); extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid) throw (); extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid) throw (); extern __pid_t fork (void) throw (); extern __pid_t vfork (void) throw (); extern char *ttyname (int __fd) throw (); extern int ttyname_r (int __fd, char *__buf, size_t __buflen) throw () __attribute__ ((__nonnull__ (2))) ; extern int isatty (int __fd) throw (); extern int ttyslot (void) throw (); extern int link (__const char *__from, __const char *__to) throw () __attribute__ ((__nonnull__ (1, 2))) ; extern int linkat (int __fromfd, __const char *__from, int __tofd, __const char *__to, int __flags) throw () __attribute__ ((__nonnull__ (2, 4))) ; extern int symlink (__const char *__from, __const char *__to) throw () __attribute__ ((__nonnull__ (1, 2))) ; extern ssize_t readlink (__const char *__restrict __path, char *__restrict __buf, size_t __len) throw () __attribute__ ((__nonnull__ (1, 2))) ; extern int symlinkat (__const char *__from, int __tofd, __const char *__to) throw () __attribute__ ((__nonnull__ (1, 3))) ; extern ssize_t readlinkat (int __fd, __const char *__restrict __path, char *__restrict __buf, size_t __len) throw () __attribute__ ((__nonnull__ (2, 3))) ; extern int unlink (__const char *__name) throw () __attribute__ ((__nonnull__ (1))); extern int unlinkat (int __fd, __const char *__name, int __flag) throw () __attribute__ ((__nonnull__ (2))); extern int rmdir (__const char *__path) throw () __attribute__ ((__nonnull__ (1))); extern __pid_t tcgetpgrp (int __fd) throw (); extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) throw (); extern char *getlogin (void); extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1))); extern int setlogin (__const char *__name) throw () __attribute__ ((__nonnull__ (1))); # 837 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/getopt.h" 1 3 4 # 50 "/usr/include/getopt.h" 3 4 extern "C" { # 59 "/usr/include/getopt.h" 3 4 extern char *optarg; # 73 "/usr/include/getopt.h" 3 4 extern int optind; extern int opterr; extern int optopt; # 152 "/usr/include/getopt.h" 3 4 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) throw (); # 171 "/usr/include/getopt.h" 3 4 } # 838 "/usr/include/unistd.h" 2 3 4 extern int gethostname (char *__name, size_t __len) throw () __attribute__ ((__nonnull__ (1))); extern int sethostname (__const char *__name, size_t __len) throw () __attribute__ ((__nonnull__ (1))) ; extern int sethostid (long int __id) throw () ; extern int getdomainname (char *__name, size_t __len) throw () __attribute__ ((__nonnull__ (1))) ; extern int setdomainname (__const char *__name, size_t __len) throw () __attribute__ ((__nonnull__ (1))) ; extern int vhangup (void) throw (); extern int revoke (__const char *__file) throw () __attribute__ ((__nonnull__ (1))) ; extern int profil (unsigned short int *__sample_buffer, size_t __size, size_t __offset, unsigned int __scale) throw () __attribute__ ((__nonnull__ (1))); extern int acct (__const char *__name) throw (); extern char *getusershell (void) throw (); extern void endusershell (void) throw (); extern void setusershell (void) throw (); extern int daemon (int __nochdir, int __noclose) throw () ; extern int chroot (__const char *__path) throw () __attribute__ ((__nonnull__ (1))) ; extern char *getpass (__const char *__prompt) __attribute__ ((__nonnull__ (1))); # 923 "/usr/include/unistd.h" 3 4 extern int fsync (int __fd); extern long int gethostid (void); extern void sync (void) throw (); extern int getpagesize (void) throw () __attribute__ ((__const__)); extern int getdtablesize (void) throw (); extern int truncate (__const char *__file, __off_t __length) throw () __attribute__ ((__nonnull__ (1))) ; # 960 "/usr/include/unistd.h" 3 4 extern int truncate64 (__const char *__file, __off64_t __length) throw () __attribute__ ((__nonnull__ (1))) ; # 970 "/usr/include/unistd.h" 3 4 extern int ftruncate (int __fd, __off_t __length) throw () ; # 980 "/usr/include/unistd.h" 3 4 extern int ftruncate64 (int __fd, __off64_t __length) throw () ; # 990 "/usr/include/unistd.h" 3 4 extern int brk (void *__addr) throw () ; extern void *sbrk (intptr_t __delta) throw (); # 1011 "/usr/include/unistd.h" 3 4 extern long int syscall (long int __sysno, ...) throw (); # 1034 "/usr/include/unistd.h" 3 4 extern int lockf (int __fd, int __cmd, __off_t __len) ; # 1044 "/usr/include/unistd.h" 3 4 extern int lockf64 (int __fd, int __cmd, __off64_t __len) ; # 1065 "/usr/include/unistd.h" 3 4 extern int fdatasync (int __fildes); extern char *crypt (__const char *__key, __const char *__salt) throw () __attribute__ ((__nonnull__ (1, 2))); extern void encrypt (char *__block, int __edflag) throw () __attribute__ ((__nonnull__ (1))); extern void swab (__const void *__restrict __from, void *__restrict __to, ssize_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *ctermid (char *__s) throw (); # 1103 "/usr/include/unistd.h" 3 4 } # 45 "/usr/include/c++/4.3/x86_64-linux-gnu/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; typedef pthread_mutex_t __gthread_recursive_mutex_t; typedef pthread_cond_t __gthread_cond_t; # 100 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/gthr-default.h" 3 static __typeof(pthread_once) __gthrw_pthread_once __attribute__ ((__weakref__("pthread_once"))); static __typeof(pthread_getspecific) __gthrw_pthread_getspecific __attribute__ ((__weakref__("pthread_getspecific"))); static __typeof(pthread_setspecific) __gthrw_pthread_setspecific __attribute__ ((__weakref__("pthread_setspecific"))); static __typeof(pthread_create) __gthrw_pthread_create __attribute__ ((__weakref__("pthread_create"))); static __typeof(pthread_cancel) __gthrw_pthread_cancel __attribute__ ((__weakref__("pthread_cancel"))); static __typeof(pthread_mutex_lock) __gthrw_pthread_mutex_lock __attribute__ ((__weakref__("pthread_mutex_lock"))); static __typeof(pthread_mutex_trylock) __gthrw_pthread_mutex_trylock __attribute__ ((__weakref__("pthread_mutex_trylock"))); static __typeof(pthread_mutex_unlock) __gthrw_pthread_mutex_unlock __attribute__ ((__weakref__("pthread_mutex_unlock"))); static __typeof(pthread_mutex_init) __gthrw_pthread_mutex_init __attribute__ ((__weakref__("pthread_mutex_init"))); static __typeof(pthread_cond_broadcast) __gthrw_pthread_cond_broadcast __attribute__ ((__weakref__("pthread_cond_broadcast"))); static __typeof(pthread_cond_wait) __gthrw_pthread_cond_wait __attribute__ ((__weakref__("pthread_cond_wait"))); static __typeof(pthread_key_create) __gthrw_pthread_key_create __attribute__ ((__weakref__("pthread_key_create"))); static __typeof(pthread_key_delete) __gthrw_pthread_key_delete __attribute__ ((__weakref__("pthread_key_delete"))); static __typeof(pthread_mutexattr_init) __gthrw_pthread_mutexattr_init __attribute__ ((__weakref__("pthread_mutexattr_init"))); static __typeof(pthread_mutexattr_settype) __gthrw_pthread_mutexattr_settype __attribute__ ((__weakref__("pthread_mutexattr_settype"))); static __typeof(pthread_mutexattr_destroy) __gthrw_pthread_mutexattr_destroy __attribute__ ((__weakref__("pthread_mutexattr_destroy"))); # 211 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/gthr-default.h" 3 static inline int __gthread_active_p (void) { static void *const __gthread_active_ptr = __extension__ (void *) &__gthrw_pthread_cancel; return __gthread_active_ptr != 0; } # 649 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/gthr-default.h" 3 static inline int __gthread_once (__gthread_once_t *once, void (*func) (void)) { if (__gthread_active_p ()) return __gthrw_pthread_once (once, func); else return -1; } static inline int __gthread_key_create (__gthread_key_t *key, void (*dtor) (void *)) { return __gthrw_pthread_key_create (key, dtor); } static inline int __gthread_key_delete (__gthread_key_t key) { return __gthrw_pthread_key_delete (key); } static inline void * __gthread_getspecific (__gthread_key_t key) { return __gthrw_pthread_getspecific (key); } static inline int __gthread_setspecific (__gthread_key_t key, const void *ptr) { return __gthrw_pthread_setspecific (key, ptr); } static inline int __gthread_mutex_lock (__gthread_mutex_t *mutex) { if (__gthread_active_p ()) return __gthrw_pthread_mutex_lock (mutex); else return 0; } static inline int __gthread_mutex_trylock (__gthread_mutex_t *mutex) { if (__gthread_active_p ()) return __gthrw_pthread_mutex_trylock (mutex); else return 0; } static inline int __gthread_mutex_unlock (__gthread_mutex_t *mutex) { if (__gthread_active_p ()) return __gthrw_pthread_mutex_unlock (mutex); else return 0; } # 731 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/gthr-default.h" 3 static inline int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex) { return __gthread_mutex_lock (mutex); } static inline int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex) { return __gthread_mutex_trylock (mutex); } static inline int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex) { return __gthread_mutex_unlock (mutex); } static inline int __gthread_cond_broadcast (__gthread_cond_t *cond) { return __gthrw_pthread_cond_broadcast (cond); } static inline int __gthread_cond_wait (__gthread_cond_t *cond, __gthread_mutex_t *mutex) { return __gthrw_pthread_cond_wait (cond, mutex); } static inline int __gthread_cond_wait_recursive (__gthread_cond_t *cond, __gthread_recursive_mutex_t *mutex) { return __gthread_cond_wait (cond, mutex); } # 133 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/gthr.h" 2 3 #pragma GCC visibility pop # 40 "/usr/include/c++/4.3/ext/atomicity.h" 2 3 # 1 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/atomic_word.h" 1 3 # 37 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/atomic_word.h" 3 typedef int _Atomic_word; # 41 "/usr/include/c++/4.3/ext/atomicity.h" 2 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { static inline _Atomic_word __exchange_and_add(volatile _Atomic_word* __mem, int __val) { return __sync_fetch_and_add(__mem, __val); } static inline void __atomic_add(volatile _Atomic_word* __mem, int __val) { __sync_fetch_and_add(__mem, __val); } # 66 "/usr/include/c++/4.3/ext/atomicity.h" 3 static inline _Atomic_word __exchange_and_add_single(_Atomic_word* __mem, int __val) { _Atomic_word __result = *__mem; *__mem += __val; return __result; } static inline void __atomic_add_single(_Atomic_word* __mem, int __val) { *__mem += __val; } static inline _Atomic_word __attribute__ ((__unused__)) __exchange_and_add_dispatch(_Atomic_word* __mem, int __val) { if (__gthread_active_p()) return __exchange_and_add(__mem, __val); else return __exchange_and_add_single(__mem, __val); } static inline void __attribute__ ((__unused__)) __atomic_add_dispatch(_Atomic_word* __mem, int __val) { if (__gthread_active_p()) __atomic_add(__mem, __val); else __atomic_add_single(__mem, __val); } } # 47 "/usr/include/c++/4.3/bits/ios_base.h" 2 3 # 1 "/usr/include/c++/4.3/bits/locale_classes.h" 1 3 # 44 "/usr/include/c++/4.3/bits/locale_classes.h" 3 # 45 "/usr/include/c++/4.3/bits/locale_classes.h" 3 # 1 "/usr/include/c++/4.3/string" 1 3 # 43 "/usr/include/c++/4.3/string" 3 # 44 "/usr/include/c++/4.3/string" 3 # 1 "/usr/include/c++/4.3/bits/allocator.h" 1 3 # 53 "/usr/include/c++/4.3/bits/allocator.h" 3 # 1 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++allocator.h" 1 3 # 39 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++allocator.h" 3 # 1 "/usr/include/c++/4.3/ext/new_allocator.h" 1 3 # 37 "/usr/include/c++/4.3/ext/new_allocator.h" 3 # 1 "/usr/include/c++/4.3/new" 1 3 # 44 "/usr/include/c++/4.3/new" 3 # 1 "/usr/include/c++/4.3/cstddef" 1 3 # 45 "/usr/include/c++/4.3/cstddef" 3 # 46 "/usr/include/c++/4.3/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 49 "/usr/include/c++/4.3/cstddef" 2 3 # 45 "/usr/include/c++/4.3/new" 2 3 #pragma GCC visibility push(default) extern "C++" { namespace std { class bad_alloc : public exception { public: bad_alloc() throw() { } virtual ~bad_alloc() throw(); virtual const char* what() const throw(); }; struct nothrow_t { }; extern const nothrow_t nothrow; typedef void (*new_handler)(); new_handler set_new_handler(new_handler) throw(); } # 95 "/usr/include/c++/4.3/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() { } } #pragma GCC visibility pop # 38 "/usr/include/c++/4.3/ext/new_allocator.h" 2 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { using std::size_t; using std::ptrdiff_t; # 53 "/usr/include/c++/4.3/ext/new_allocator.h" 3 template class new_allocator { public: typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Tp* pointer; typedef const _Tp* const_pointer; typedef _Tp& reference; typedef const _Tp& const_reference; typedef _Tp value_type; template struct rebind { typedef new_allocator<_Tp1> other; }; new_allocator() throw() { } new_allocator(const new_allocator&) throw() { } template new_allocator(const new_allocator<_Tp1>&) throw() { } ~new_allocator() throw() { } pointer address(reference __x) const { return &__x; } const_pointer address(const_reference __x) const { return &__x; } pointer allocate(size_type __n, const void* = 0) { if (__builtin_expect(__n > this->max_size(), false)) std::__throw_bad_alloc(); return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); } void deallocate(pointer __p, size_type) { ::operator delete(__p); } size_type max_size() const throw() { return size_t(-1) / sizeof(_Tp); } void construct(pointer __p, const _Tp& __val) { ::new((void *)__p) _Tp(__val); } # 117 "/usr/include/c++/4.3/ext/new_allocator.h" 3 void destroy(pointer __p) { __p->~_Tp(); } }; template inline bool operator==(const new_allocator<_Tp>&, const new_allocator<_Tp>&) { return true; } template inline bool operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&) { return false; } } # 40 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++allocator.h" 2 3 # 54 "/usr/include/c++/4.3/bits/allocator.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template class allocator; template<> class allocator { public: typedef size_t size_type; typedef ptrdiff_t difference_type; typedef void* pointer; typedef const void* const_pointer; typedef void value_type; template struct rebind { typedef allocator<_Tp1> other; }; }; template class allocator: public __gnu_cxx::new_allocator<_Tp> { public: typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Tp* pointer; typedef const _Tp* const_pointer; typedef _Tp& reference; typedef const _Tp& const_reference; typedef _Tp value_type; template struct rebind { typedef allocator<_Tp1> other; }; allocator() throw() { } allocator(const allocator& __a) throw() : __gnu_cxx::new_allocator<_Tp>(__a) { } template allocator(const allocator<_Tp1>&) throw() { } ~allocator() throw() { } }; template inline bool operator==(const allocator<_T1>&, const allocator<_T2>&) { return true; } template inline bool operator==(const allocator<_Tp>&, const allocator<_Tp>&) { return true; } template inline bool operator!=(const allocator<_T1>&, const allocator<_T2>&) { return false; } template inline bool operator!=(const allocator<_Tp>&, const allocator<_Tp>&) { return false; } extern template class allocator; extern template class allocator; template struct __alloc_swap { static void _S_do_it(_Alloc&, _Alloc&) { } }; template struct __alloc_swap<_Alloc, false> { static void _S_do_it(_Alloc& __one, _Alloc& __two) { if (__one != __two) swap(__one, __two); } }; template struct __alloc_neq { static bool _S_do_it(const _Alloc&, const _Alloc&) { return false; } }; template struct __alloc_neq<_Alloc, false> { static bool _S_do_it(const _Alloc& __one, const _Alloc& __two) { return __one != __two; } }; } # 49 "/usr/include/c++/4.3/string" 2 3 # 1 "/usr/include/c++/4.3/bits/ostream_insert.h" 1 3 # 38 "/usr/include/c++/4.3/bits/ostream_insert.h" 3 # 39 "/usr/include/c++/4.3/bits/ostream_insert.h" 3 # 1 "/usr/include/c++/4.3/cxxabi-forced.h" 1 3 # 34 "/usr/include/c++/4.3/cxxabi-forced.h" 3 #pragma GCC visibility push(default) namespace __cxxabiv1 { class __forced_unwind { virtual ~__forced_unwind() throw(); virtual void __pure_dummy() = 0; }; } #pragma GCC visibility pop # 42 "/usr/include/c++/4.3/bits/ostream_insert.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline void __ostream_write(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s, streamsize __n) { typedef basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const streamsize __put = __out.rdbuf()->sputn(__s, __n); if (__put != __n) __out.setstate(__ios_base::badbit); } template inline void __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n) { typedef basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const _CharT __c = __out.fill(); for (; __n > 0; --__n) { const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c); if (_Traits::eq_int_type(__put, _Traits::eof())) { __out.setstate(__ios_base::badbit); break; } } } template basic_ostream<_CharT, _Traits>& __ostream_insert(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s, streamsize __n) { typedef basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; typename __ostream_type::sentry __cerb(__out); if (__cerb) { try { const streamsize __w = __out.width(); if (__w > __n) { const bool __left = ((__out.flags() & __ios_base::adjustfield) == __ios_base::left); if (!__left) __ostream_fill(__out, __w - __n); if (__out.good()) __ostream_write(__out, __s, __n); if (__left && __out.good()) __ostream_fill(__out, __w - __n); } else __ostream_write(__out, __s, __n); __out.width(0); } catch(__cxxabiv1::__forced_unwind&) { __out._M_setstate(__ios_base::badbit); throw; } catch(...) { __out._M_setstate(__ios_base::badbit); } } return __out; } extern template ostream& __ostream_insert(ostream&, const char*, streamsize); extern template wostream& __ostream_insert(wostream&, const wchar_t*, streamsize); } # 52 "/usr/include/c++/4.3/string" 2 3 # 1 "/usr/include/c++/4.3/bits/stl_function.h" 1 3 # 65 "/usr/include/c++/4.3/bits/stl_function.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 102 "/usr/include/c++/4.3/bits/stl_function.h" 3 template struct unary_function { typedef _Arg argument_type; typedef _Result result_type; }; template struct binary_function { typedef _Arg1 first_argument_type; typedef _Arg2 second_argument_type; typedef _Result result_type; }; # 136 "/usr/include/c++/4.3/bits/stl_function.h" 3 template struct plus : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x + __y; } }; template struct minus : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x - __y; } }; template struct multiplies : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x * __y; } }; template struct divides : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x / __y; } }; template struct modulus : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x % __y; } }; template struct negate : public unary_function<_Tp, _Tp> { _Tp operator()(const _Tp& __x) const { return -__x; } }; # 198 "/usr/include/c++/4.3/bits/stl_function.h" 3 template struct equal_to : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x == __y; } }; template struct not_equal_to : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x != __y; } }; template struct greater : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x > __y; } }; template struct less : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x < __y; } }; template struct greater_equal : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x >= __y; } }; template struct less_equal : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x <= __y; } }; # 260 "/usr/include/c++/4.3/bits/stl_function.h" 3 template struct logical_and : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x && __y; } }; template struct logical_or : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x || __y; } }; template struct logical_not : public unary_function<_Tp, bool> { bool operator()(const _Tp& __x) const { return !__x; } }; template struct bit_and : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x & __y; } }; template struct bit_or : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x | __y; } }; template struct bit_xor : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x ^ __y; } }; # 341 "/usr/include/c++/4.3/bits/stl_function.h" 3 template class unary_negate : public unary_function { protected: _Predicate _M_pred; public: explicit unary_negate(const _Predicate& __x) : _M_pred(__x) { } bool operator()(const typename _Predicate::argument_type& __x) const { return !_M_pred(__x); } }; template inline unary_negate<_Predicate> not1(const _Predicate& __pred) { return unary_negate<_Predicate>(__pred); } template class binary_negate : public binary_function { protected: _Predicate _M_pred; public: explicit binary_negate(const _Predicate& __x) : _M_pred(__x) { } bool operator()(const typename _Predicate::first_argument_type& __x, const typename _Predicate::second_argument_type& __y) const { return !_M_pred(__x, __y); } }; template inline binary_negate<_Predicate> not2(const _Predicate& __pred) { return binary_negate<_Predicate>(__pred); } # 410 "/usr/include/c++/4.3/bits/stl_function.h" 3 template class pointer_to_unary_function : public unary_function<_Arg, _Result> { protected: _Result (*_M_ptr)(_Arg); public: pointer_to_unary_function() { } explicit pointer_to_unary_function(_Result (*__x)(_Arg)) : _M_ptr(__x) { } _Result operator()(_Arg __x) const { return _M_ptr(__x); } }; template inline pointer_to_unary_function<_Arg, _Result> ptr_fun(_Result (*__x)(_Arg)) { return pointer_to_unary_function<_Arg, _Result>(__x); } template class pointer_to_binary_function : public binary_function<_Arg1, _Arg2, _Result> { protected: _Result (*_M_ptr)(_Arg1, _Arg2); public: pointer_to_binary_function() { } explicit pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2)) : _M_ptr(__x) { } _Result operator()(_Arg1 __x, _Arg2 __y) const { return _M_ptr(__x, __y); } }; template inline pointer_to_binary_function<_Arg1, _Arg2, _Result> ptr_fun(_Result (*__x)(_Arg1, _Arg2)) { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); } template struct _Identity : public unary_function<_Tp,_Tp> { _Tp& operator()(_Tp& __x) const { return __x; } const _Tp& operator()(const _Tp& __x) const { return __x; } }; template struct _Select1st : public unary_function<_Pair, typename _Pair::first_type> { typename _Pair::first_type& operator()(_Pair& __x) const { return __x.first; } const typename _Pair::first_type& operator()(const _Pair& __x) const { return __x.first; } }; template struct _Select2nd : public unary_function<_Pair, typename _Pair::second_type> { typename _Pair::second_type& operator()(_Pair& __x) const { return __x.second; } const typename _Pair::second_type& operator()(const _Pair& __x) const { return __x.second; } }; # 515 "/usr/include/c++/4.3/bits/stl_function.h" 3 template class mem_fun_t : public unary_function<_Tp*, _Ret> { public: explicit mem_fun_t(_Ret (_Tp::*__pf)()) : _M_f(__pf) { } _Ret operator()(_Tp* __p) const { return (__p->*_M_f)(); } private: _Ret (_Tp::*_M_f)(); }; template class const_mem_fun_t : public unary_function { public: explicit const_mem_fun_t(_Ret (_Tp::*__pf)() const) : _M_f(__pf) { } _Ret operator()(const _Tp* __p) const { return (__p->*_M_f)(); } private: _Ret (_Tp::*_M_f)() const; }; template class mem_fun_ref_t : public unary_function<_Tp, _Ret> { public: explicit mem_fun_ref_t(_Ret (_Tp::*__pf)()) : _M_f(__pf) { } _Ret operator()(_Tp& __r) const { return (__r.*_M_f)(); } private: _Ret (_Tp::*_M_f)(); }; template class const_mem_fun_ref_t : public unary_function<_Tp, _Ret> { public: explicit const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const) : _M_f(__pf) { } _Ret operator()(const _Tp& __r) const { return (__r.*_M_f)(); } private: _Ret (_Tp::*_M_f)() const; }; template class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret> { public: explicit mem_fun1_t(_Ret (_Tp::*__pf)(_Arg)) : _M_f(__pf) { } _Ret operator()(_Tp* __p, _Arg __x) const { return (__p->*_M_f)(__x); } private: _Ret (_Tp::*_M_f)(_Arg); }; template class const_mem_fun1_t : public binary_function { public: explicit const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const) : _M_f(__pf) { } _Ret operator()(const _Tp* __p, _Arg __x) const { return (__p->*_M_f)(__x); } private: _Ret (_Tp::*_M_f)(_Arg) const; }; template class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> { public: explicit mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg)) : _M_f(__pf) { } _Ret operator()(_Tp& __r, _Arg __x) const { return (__r.*_M_f)(__x); } private: _Ret (_Tp::*_M_f)(_Arg); }; template class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> { public: explicit const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const) : _M_f(__pf) { } _Ret operator()(const _Tp& __r, _Arg __x) const { return (__r.*_M_f)(__x); } private: _Ret (_Tp::*_M_f)(_Arg) const; }; template inline mem_fun_t<_Ret, _Tp> mem_fun(_Ret (_Tp::*__f)()) { return mem_fun_t<_Ret, _Tp>(__f); } template inline const_mem_fun_t<_Ret, _Tp> mem_fun(_Ret (_Tp::*__f)() const) { return const_mem_fun_t<_Ret, _Tp>(__f); } template inline mem_fun_ref_t<_Ret, _Tp> mem_fun_ref(_Ret (_Tp::*__f)()) { return mem_fun_ref_t<_Ret, _Tp>(__f); } template inline const_mem_fun_ref_t<_Ret, _Tp> mem_fun_ref(_Ret (_Tp::*__f)() const) { return const_mem_fun_ref_t<_Ret, _Tp>(__f); } template inline mem_fun1_t<_Ret, _Tp, _Arg> mem_fun(_Ret (_Tp::*__f)(_Arg)) { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); } template inline const_mem_fun1_t<_Ret, _Tp, _Arg> mem_fun(_Ret (_Tp::*__f)(_Arg) const) { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); } template inline mem_fun1_ref_t<_Ret, _Tp, _Arg> mem_fun_ref(_Ret (_Tp::*__f)(_Arg)) { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } template inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg> mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const) { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } } # 1 "/usr/include/c++/4.3/backward/binders.h" 1 3 # 65 "/usr/include/c++/4.3/backward/binders.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 99 "/usr/include/c++/4.3/backward/binders.h" 3 template class binder1st : public unary_function { protected: _Operation op; typename _Operation::first_argument_type value; public: binder1st(const _Operation& __x, const typename _Operation::first_argument_type& __y) : op(__x), value(__y) { } typename _Operation::result_type operator()(const typename _Operation::second_argument_type& __x) const { return op(value, __x); } typename _Operation::result_type operator()(typename _Operation::second_argument_type& __x) const { return op(value, __x); } } ; template inline binder1st<_Operation> bind1st(const _Operation& __fn, const _Tp& __x) { typedef typename _Operation::first_argument_type _Arg1_type; return binder1st<_Operation>(__fn, _Arg1_type(__x)); } template class binder2nd : public unary_function { protected: _Operation op; typename _Operation::second_argument_type value; public: binder2nd(const _Operation& __x, const typename _Operation::second_argument_type& __y) : op(__x), value(__y) { } typename _Operation::result_type operator()(const typename _Operation::first_argument_type& __x) const { return op(__x, value); } typename _Operation::result_type operator()(typename _Operation::first_argument_type& __x) const { return op(__x, value); } } ; template inline binder2nd<_Operation> bind2nd(const _Operation& __fn, const _Tp& __x) { typedef typename _Operation::second_argument_type _Arg2_type; return binder2nd<_Operation>(__fn, _Arg2_type(__x)); } } # 705 "/usr/include/c++/4.3/bits/stl_function.h" 2 3 # 56 "/usr/include/c++/4.3/string" 2 3 # 1 "/usr/include/c++/4.3/bits/basic_string.h" 1 3 # 44 "/usr/include/c++/4.3/bits/basic_string.h" 3 # 45 "/usr/include/c++/4.3/bits/basic_string.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 108 "/usr/include/c++/4.3/bits/basic_string.h" 3 template class basic_string { typedef typename _Alloc::template rebind<_CharT>::other _CharT_alloc_type; public: typedef _Traits traits_type; typedef typename _Traits::char_type value_type; typedef _Alloc allocator_type; typedef typename _CharT_alloc_type::size_type size_type; typedef typename _CharT_alloc_type::difference_type difference_type; typedef typename _CharT_alloc_type::reference reference; typedef typename _CharT_alloc_type::const_reference const_reference; typedef typename _CharT_alloc_type::pointer pointer; typedef typename _CharT_alloc_type::const_pointer const_pointer; typedef __gnu_cxx::__normal_iterator iterator; typedef __gnu_cxx::__normal_iterator const_iterator; typedef std::reverse_iterator const_reverse_iterator; typedef std::reverse_iterator reverse_iterator; private: # 145 "/usr/include/c++/4.3/bits/basic_string.h" 3 struct _Rep_base { size_type _M_length; size_type _M_capacity; _Atomic_word _M_refcount; }; struct _Rep : _Rep_base { typedef typename _Alloc::template rebind::other _Raw_bytes_alloc; # 170 "/usr/include/c++/4.3/bits/basic_string.h" 3 static const size_type _S_max_size; static const _CharT _S_terminal; static size_type _S_empty_rep_storage[]; static _Rep& _S_empty_rep() { void* __p = reinterpret_cast(&_S_empty_rep_storage); return *reinterpret_cast<_Rep*>(__p); } bool _M_is_leaked() const { return this->_M_refcount < 0; } bool _M_is_shared() const { return this->_M_refcount > 0; } void _M_set_leaked() { this->_M_refcount = -1; } void _M_set_sharable() { this->_M_refcount = 0; } void _M_set_length_and_sharable(size_type __n) { this->_M_set_sharable(); this->_M_length = __n; traits_type::assign(this->_M_refdata()[__n], _S_terminal); } _CharT* _M_refdata() throw() { return reinterpret_cast<_CharT*>(this + 1); } _CharT* _M_grab(const _Alloc& __alloc1, const _Alloc& __alloc2) { return (!_M_is_leaked() && __alloc1 == __alloc2) ? _M_refcopy() : _M_clone(__alloc1); } static _Rep* _S_create(size_type, size_type, const _Alloc&); void _M_dispose(const _Alloc& __a) { if (__builtin_expect(this != &_S_empty_rep(), false)) if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount, -1) <= 0) _M_destroy(__a); } void _M_destroy(const _Alloc&) throw(); _CharT* _M_refcopy() throw() { if (__builtin_expect(this != &_S_empty_rep(), false)) __gnu_cxx::__atomic_add_dispatch(&this->_M_refcount, 1); return _M_refdata(); } _CharT* _M_clone(const _Alloc&, size_type __res = 0); }; struct _Alloc_hider : _Alloc { _Alloc_hider(_CharT* __dat, const _Alloc& __a) : _Alloc(__a), _M_p(__dat) { } _CharT* _M_p; }; public: static const size_type npos = static_cast(-1); private: mutable _Alloc_hider _M_dataplus; _CharT* _M_data() const { return _M_dataplus._M_p; } _CharT* _M_data(_CharT* __p) { return (_M_dataplus._M_p = __p); } _Rep* _M_rep() const { return &((reinterpret_cast<_Rep*> (_M_data()))[-1]); } iterator _M_ibegin() const { return iterator(_M_data()); } iterator _M_iend() const { return iterator(_M_data() + this->size()); } void _M_leak() { if (!_M_rep()->_M_is_leaked()) _M_leak_hard(); } size_type _M_check(size_type __pos, const char* __s) const { if (__pos > this->size()) __throw_out_of_range((__s)); return __pos; } void _M_check_length(size_type __n1, size_type __n2, const char* __s) const { if (this->max_size() - (this->size() - __n1) < __n2) __throw_length_error((__s)); } size_type _M_limit(size_type __pos, size_type __off) const { const bool __testoff = __off < this->size() - __pos; return __testoff ? __off : this->size() - __pos; } bool _M_disjunct(const _CharT* __s) const { return (less()(__s, _M_data()) || less()(_M_data() + this->size(), __s)); } static void _M_copy(_CharT* __d, const _CharT* __s, size_type __n) { if (__n == 1) traits_type::assign(*__d, *__s); else traits_type::copy(__d, __s, __n); } static void _M_move(_CharT* __d, const _CharT* __s, size_type __n) { if (__n == 1) traits_type::assign(*__d, *__s); else traits_type::move(__d, __s, __n); } static void _M_assign(_CharT* __d, size_type __n, _CharT __c) { if (__n == 1) traits_type::assign(*__d, __c); else traits_type::assign(__d, __n, __c); } template static void _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) { for (; __k1 != __k2; ++__k1, ++__p) traits_type::assign(*__p, *__k1); } static void _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) { _S_copy_chars(__p, __k1.base(), __k2.base()); } static void _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) { _S_copy_chars(__p, __k1.base(), __k2.base()); } static void _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) { _M_copy(__p, __k1, __k2 - __k1); } static void _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) { _M_copy(__p, __k1, __k2 - __k1); } static int _S_compare(size_type __n1, size_type __n2) { const difference_type __d = difference_type(__n1 - __n2); if (__d > __gnu_cxx::__numeric_traits::__max) return __gnu_cxx::__numeric_traits::__max; else if (__d < __gnu_cxx::__numeric_traits::__min) return __gnu_cxx::__numeric_traits::__min; else return int(__d); } void _M_mutate(size_type __pos, size_type __len1, size_type __len2); void _M_leak_hard(); static _Rep& _S_empty_rep() { return _Rep::_S_empty_rep(); } public: inline basic_string(); explicit basic_string(const _Alloc& __a); basic_string(const basic_string& __str); basic_string(const basic_string& __str, size_type __pos, size_type __n = npos); basic_string(const basic_string& __str, size_type __pos, size_type __n, const _Alloc& __a); # 464 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string(const _CharT* __s, size_type __n, const _Alloc& __a = _Alloc()); basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()); basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()); template basic_string(_InputIterator __beg, _InputIterator __end, const _Alloc& __a = _Alloc()); ~basic_string() { _M_rep()->_M_dispose(this->get_allocator()); } basic_string& operator=(const basic_string& __str) { return this->assign(__str); } basic_string& operator=(const _CharT* __s) { return this->assign(__s); } # 519 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& operator=(_CharT __c) { this->assign(1, __c); return *this; } iterator begin() { _M_leak(); return iterator(_M_data()); } const_iterator begin() const { return const_iterator(_M_data()); } iterator end() { _M_leak(); return iterator(_M_data() + this->size()); } const_iterator end() const { return const_iterator(_M_data() + this->size()); } reverse_iterator rbegin() { return reverse_iterator(this->end()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(this->end()); } reverse_iterator rend() { return reverse_iterator(this->begin()); } const_reverse_iterator rend() const { return const_reverse_iterator(this->begin()); } public: size_type size() const { return _M_rep()->_M_length; } size_type length() const { return _M_rep()->_M_length; } size_type max_size() const { return _Rep::_S_max_size; } # 630 "/usr/include/c++/4.3/bits/basic_string.h" 3 void resize(size_type __n, _CharT __c); # 643 "/usr/include/c++/4.3/bits/basic_string.h" 3 void resize(size_type __n) { this->resize(__n, _CharT()); } size_type capacity() const { return _M_rep()->_M_capacity; } # 672 "/usr/include/c++/4.3/bits/basic_string.h" 3 void reserve(size_type __res_arg = 0); void clear() { _M_mutate(0, this->size(), 0); } bool empty() const { return this->size() == 0; } # 700 "/usr/include/c++/4.3/bits/basic_string.h" 3 const_reference operator[] (size_type __pos) const { ; return _M_data()[__pos]; } # 717 "/usr/include/c++/4.3/bits/basic_string.h" 3 reference operator[](size_type __pos) { ; ; _M_leak(); return _M_data()[__pos]; } # 738 "/usr/include/c++/4.3/bits/basic_string.h" 3 const_reference at(size_type __n) const { if (__n >= this->size()) __throw_out_of_range(("basic_string::at")); return _M_data()[__n]; } # 757 "/usr/include/c++/4.3/bits/basic_string.h" 3 reference at(size_type __n) { if (__n >= size()) __throw_out_of_range(("basic_string::at")); _M_leak(); return _M_data()[__n]; } basic_string& operator+=(const basic_string& __str) { return this->append(__str); } basic_string& operator+=(const _CharT* __s) { return this->append(__s); } basic_string& operator+=(_CharT __c) { this->push_back(__c); return *this; } basic_string& append(const basic_string& __str); # 817 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& append(const basic_string& __str, size_type __pos, size_type __n); basic_string& append(const _CharT* __s, size_type __n); basic_string& append(const _CharT* __s) { ; return this->append(__s, traits_type::length(__s)); } # 849 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& append(size_type __n, _CharT __c); # 860 "/usr/include/c++/4.3/bits/basic_string.h" 3 template basic_string& append(_InputIterator __first, _InputIterator __last) { return this->replace(_M_iend(), _M_iend(), __first, __last); } void push_back(_CharT __c) { const size_type __len = 1 + this->size(); if (__len > this->capacity() || _M_rep()->_M_is_shared()) this->reserve(__len); traits_type::assign(_M_data()[this->size()], __c); _M_rep()->_M_set_length_and_sharable(__len); } basic_string& assign(const basic_string& __str); # 899 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& assign(const basic_string& __str, size_type __pos, size_type __n) { return this->assign(__str._M_data() + __str._M_check(__pos, "basic_string::assign"), __str._M_limit(__pos, __n)); } # 915 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& assign(const _CharT* __s, size_type __n); # 927 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& assign(const _CharT* __s) { ; return this->assign(__s, traits_type::length(__s)); } # 943 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& assign(size_type __n, _CharT __c) { return _M_replace_aux(size_type(0), this->size(), __n, __c); } # 955 "/usr/include/c++/4.3/bits/basic_string.h" 3 template basic_string& assign(_InputIterator __first, _InputIterator __last) { return this->replace(_M_ibegin(), _M_iend(), __first, __last); } # 972 "/usr/include/c++/4.3/bits/basic_string.h" 3 void insert(iterator __p, size_type __n, _CharT __c) { this->replace(__p, __p, __n, __c); } # 987 "/usr/include/c++/4.3/bits/basic_string.h" 3 template void insert(iterator __p, _InputIterator __beg, _InputIterator __end) { this->replace(__p, __p, __beg, __end); } # 1003 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& insert(size_type __pos1, const basic_string& __str) { return this->insert(__pos1, __str, size_type(0), __str.size()); } # 1025 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& insert(size_type __pos1, const basic_string& __str, size_type __pos2, size_type __n) { return this->insert(__pos1, __str._M_data() + __str._M_check(__pos2, "basic_string::insert"), __str._M_limit(__pos2, __n)); } # 1048 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& insert(size_type __pos, const _CharT* __s, size_type __n); # 1066 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& insert(size_type __pos, const _CharT* __s) { ; return this->insert(__pos, __s, traits_type::length(__s)); } # 1089 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& insert(size_type __pos, size_type __n, _CharT __c) { return _M_replace_aux(_M_check(__pos, "basic_string::insert"), size_type(0), __n, __c); } # 1106 "/usr/include/c++/4.3/bits/basic_string.h" 3 iterator insert(iterator __p, _CharT __c) { ; const size_type __pos = __p - _M_ibegin(); _M_replace_aux(__pos, size_type(0), size_type(1), __c); _M_rep()->_M_set_leaked(); return iterator(_M_data() + __pos); } # 1130 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& erase(size_type __pos = 0, size_type __n = npos) { _M_mutate(_M_check(__pos, "basic_string::erase"), _M_limit(__pos, __n), size_type(0)); return *this; } # 1146 "/usr/include/c++/4.3/bits/basic_string.h" 3 iterator erase(iterator __position) { ; const size_type __pos = __position - _M_ibegin(); _M_mutate(__pos, size_type(1), size_type(0)); _M_rep()->_M_set_leaked(); return iterator(_M_data() + __pos); } # 1166 "/usr/include/c++/4.3/bits/basic_string.h" 3 iterator erase(iterator __first, iterator __last) { ; const size_type __pos = __first - _M_ibegin(); _M_mutate(__pos, __last - __first, size_type(0)); _M_rep()->_M_set_leaked(); return iterator(_M_data() + __pos); } # 1193 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& replace(size_type __pos, size_type __n, const basic_string& __str) { return this->replace(__pos, __n, __str._M_data(), __str.size()); } # 1215 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& replace(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2) { return this->replace(__pos1, __n1, __str._M_data() + __str._M_check(__pos2, "basic_string::replace"), __str._M_limit(__pos2, __n2)); } # 1239 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& replace(size_type __pos, size_type __n1, const _CharT* __s, size_type __n2); # 1258 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& replace(size_type __pos, size_type __n1, const _CharT* __s) { ; return this->replace(__pos, __n1, __s, traits_type::length(__s)); } # 1281 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c) { return _M_replace_aux(_M_check(__pos, "basic_string::replace"), _M_limit(__pos, __n1), __n2, __c); } # 1299 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& replace(iterator __i1, iterator __i2, const basic_string& __str) { return this->replace(__i1, __i2, __str._M_data(), __str.size()); } # 1317 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& replace(iterator __i1, iterator __i2, const _CharT* __s, size_type __n) { ; return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __s, __n); } # 1338 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& replace(iterator __i1, iterator __i2, const _CharT* __s) { ; return this->replace(__i1, __i2, __s, traits_type::length(__s)); } # 1359 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string& replace(iterator __i1, iterator __i2, size_type __n, _CharT __c) { ; return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __c); } # 1381 "/usr/include/c++/4.3/bits/basic_string.h" 3 template basic_string& replace(iterator __i1, iterator __i2, _InputIterator __k1, _InputIterator __k2) { ; ; typedef typename std::__is_integer<_InputIterator>::__type _Integral; return _M_replace_dispatch(__i1, __i2, __k1, __k2, _Integral()); } basic_string& replace(iterator __i1, iterator __i2, _CharT* __k1, _CharT* __k2) { ; ; return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __k1, __k2 - __k1); } basic_string& replace(iterator __i1, iterator __i2, const _CharT* __k1, const _CharT* __k2) { ; ; return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __k1, __k2 - __k1); } basic_string& replace(iterator __i1, iterator __i2, iterator __k1, iterator __k2) { ; ; return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __k1.base(), __k2 - __k1); } basic_string& replace(iterator __i1, iterator __i2, const_iterator __k1, const_iterator __k2) { ; ; return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __k1.base(), __k2 - __k1); } private: template basic_string& _M_replace_dispatch(iterator __i1, iterator __i2, _Integer __n, _Integer __val, __true_type) { return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __val); } template basic_string& _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1, _InputIterator __k2, __false_type); basic_string& _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, _CharT __c); basic_string& _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s, size_type __n2); template static _CharT* _S_construct_aux(_InIterator __beg, _InIterator __end, const _Alloc& __a, __false_type) { typedef typename iterator_traits<_InIterator>::iterator_category _Tag; return _S_construct(__beg, __end, __a, _Tag()); } template static _CharT* _S_construct_aux(_Integer __beg, _Integer __end, const _Alloc& __a, __true_type) { return _S_construct(static_cast(__beg), __end, __a); } template static _CharT* _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a) { typedef typename std::__is_integer<_InIterator>::__type _Integral; return _S_construct_aux(__beg, __end, __a, _Integral()); } template static _CharT* _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, input_iterator_tag); template static _CharT* _S_construct(_FwdIterator __beg, _FwdIterator __end, const _Alloc& __a, forward_iterator_tag); static _CharT* _S_construct(size_type __req, _CharT __c, const _Alloc& __a); public: # 1513 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type copy(_CharT* __s, size_type __n, size_type __pos = 0) const; # 1523 "/usr/include/c++/4.3/bits/basic_string.h" 3 void swap(basic_string& __s); # 1533 "/usr/include/c++/4.3/bits/basic_string.h" 3 const _CharT* c_str() const { return _M_data(); } const _CharT* data() const { return _M_data(); } allocator_type get_allocator() const { return _M_dataplus; } # 1565 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find(const _CharT* __s, size_type __pos, size_type __n) const; # 1578 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find(const basic_string& __str, size_type __pos = 0) const { return this->find(__str.data(), __pos, __str.size()); } # 1592 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find(const _CharT* __s, size_type __pos = 0) const { ; return this->find(__s, __pos, traits_type::length(__s)); } # 1609 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find(_CharT __c, size_type __pos = 0) const; # 1622 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type rfind(const basic_string& __str, size_type __pos = npos) const { return this->rfind(__str.data(), __pos, __str.size()); } # 1637 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type rfind(const _CharT* __s, size_type __pos, size_type __n) const; # 1650 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type rfind(const _CharT* __s, size_type __pos = npos) const { ; return this->rfind(__s, __pos, traits_type::length(__s)); } # 1667 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type rfind(_CharT __c, size_type __pos = npos) const; # 1680 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find_first_of(const basic_string& __str, size_type __pos = 0) const { return this->find_first_of(__str.data(), __pos, __str.size()); } # 1695 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find_first_of(const _CharT* __s, size_type __pos, size_type __n) const; # 1708 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find_first_of(const _CharT* __s, size_type __pos = 0) const { ; return this->find_first_of(__s, __pos, traits_type::length(__s)); } # 1727 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find_first_of(_CharT __c, size_type __pos = 0) const { return this->find(__c, __pos); } # 1741 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find_last_of(const basic_string& __str, size_type __pos = npos) const { return this->find_last_of(__str.data(), __pos, __str.size()); } # 1756 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find_last_of(const _CharT* __s, size_type __pos, size_type __n) const; # 1769 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find_last_of(const _CharT* __s, size_type __pos = npos) const { ; return this->find_last_of(__s, __pos, traits_type::length(__s)); } # 1788 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find_last_of(_CharT __c, size_type __pos = npos) const { return this->rfind(__c, __pos); } # 1802 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find_first_not_of(const basic_string& __str, size_type __pos = 0) const { return this->find_first_not_of(__str.data(), __pos, __str.size()); } # 1817 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const; # 1831 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find_first_not_of(const _CharT* __s, size_type __pos = 0) const { ; return this->find_first_not_of(__s, __pos, traits_type::length(__s)); } # 1848 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find_first_not_of(_CharT __c, size_type __pos = 0) const; # 1861 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find_last_not_of(const basic_string& __str, size_type __pos = npos) const { return this->find_last_not_of(__str.data(), __pos, __str.size()); } # 1877 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const; # 1890 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find_last_not_of(const _CharT* __s, size_type __pos = npos) const { ; return this->find_last_not_of(__s, __pos, traits_type::length(__s)); } # 1907 "/usr/include/c++/4.3/bits/basic_string.h" 3 size_type find_last_not_of(_CharT __c, size_type __pos = npos) const; # 1922 "/usr/include/c++/4.3/bits/basic_string.h" 3 basic_string substr(size_type __pos = 0, size_type __n = npos) const { return basic_string(*this, _M_check(__pos, "basic_string::substr"), __n); } # 1940 "/usr/include/c++/4.3/bits/basic_string.h" 3 int compare(const basic_string& __str) const { const size_type __size = this->size(); const size_type __osize = __str.size(); const size_type __len = std::min(__size, __osize); int __r = traits_type::compare(_M_data(), __str.data(), __len); if (!__r) __r = _S_compare(__size, __osize); return __r; } # 1970 "/usr/include/c++/4.3/bits/basic_string.h" 3 int compare(size_type __pos, size_type __n, const basic_string& __str) const; # 1994 "/usr/include/c++/4.3/bits/basic_string.h" 3 int compare(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2) const; # 2012 "/usr/include/c++/4.3/bits/basic_string.h" 3 int compare(const _CharT* __s) const; # 2035 "/usr/include/c++/4.3/bits/basic_string.h" 3 int compare(size_type __pos, size_type __n1, const _CharT* __s) const; # 2060 "/usr/include/c++/4.3/bits/basic_string.h" 3 int compare(size_type __pos, size_type __n1, const _CharT* __s, size_type __n2) const; }; template inline basic_string<_CharT, _Traits, _Alloc>:: basic_string() : _M_dataplus(_S_empty_rep()._M_refdata(), _Alloc()) { } # 2081 "/usr/include/c++/4.3/bits/basic_string.h" 3 template basic_string<_CharT, _Traits, _Alloc> operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { basic_string<_CharT, _Traits, _Alloc> __str(__lhs); __str.append(__rhs); return __str; } template basic_string<_CharT,_Traits,_Alloc> operator+(const _CharT* __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs); template basic_string<_CharT,_Traits,_Alloc> operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs); template inline basic_string<_CharT, _Traits, _Alloc> operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { basic_string<_CharT, _Traits, _Alloc> __str(__lhs); __str.append(__rhs); return __str; } template inline basic_string<_CharT, _Traits, _Alloc> operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) { typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef typename __string_type::size_type __size_type; __string_type __str(__lhs); __str.append(__size_type(1), __rhs); return __str; } # 2152 "/usr/include/c++/4.3/bits/basic_string.h" 3 template inline bool operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) == 0; } template inline typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, bool>::__type operator==(const basic_string<_CharT>& __lhs, const basic_string<_CharT>& __rhs) { return (__lhs.size() == __rhs.size() && !std::char_traits<_CharT>::compare(__lhs.data(), __rhs.data(), __lhs.size())); } template inline bool operator==(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) == 0; } template inline bool operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) == 0; } # 2198 "/usr/include/c++/4.3/bits/basic_string.h" 3 template inline bool operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return !(__lhs == __rhs); } template inline bool operator!=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return !(__lhs == __rhs); } template inline bool operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return !(__lhs == __rhs); } # 2235 "/usr/include/c++/4.3/bits/basic_string.h" 3 template inline bool operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) < 0; } template inline bool operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) < 0; } template inline bool operator<(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) > 0; } # 2272 "/usr/include/c++/4.3/bits/basic_string.h" 3 template inline bool operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) > 0; } template inline bool operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) > 0; } template inline bool operator>(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) < 0; } # 2309 "/usr/include/c++/4.3/bits/basic_string.h" 3 template inline bool operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) <= 0; } template inline bool operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) <= 0; } template inline bool operator<=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) >= 0; } # 2346 "/usr/include/c++/4.3/bits/basic_string.h" 3 template inline bool operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) >= 0; } template inline bool operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) >= 0; } template inline bool operator>=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) <= 0; } # 2383 "/usr/include/c++/4.3/bits/basic_string.h" 3 template inline void swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, basic_string<_CharT, _Traits, _Alloc>& __rhs) { __lhs.swap(__rhs); } # 2400 "/usr/include/c++/4.3/bits/basic_string.h" 3 template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Alloc>& __str); template<> basic_istream& operator>>(basic_istream& __is, basic_string& __str); # 2418 "/usr/include/c++/4.3/bits/basic_string.h" 3 template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, const basic_string<_CharT, _Traits, _Alloc>& __str) { return __ostream_insert(__os, __str.data(), __str.size()); } # 2441 "/usr/include/c++/4.3/bits/basic_string.h" 3 template basic_istream<_CharT, _Traits>& getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); # 2458 "/usr/include/c++/4.3/bits/basic_string.h" 3 template inline basic_istream<_CharT, _Traits>& getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Alloc>& __str) { return getline(__is, __str, __is.widen('\n')); } template<> basic_istream& getline(basic_istream& __in, basic_string& __str, char __delim); template<> basic_istream& getline(basic_istream& __in, basic_string& __str, wchar_t __delim); } # 59 "/usr/include/c++/4.3/string" 2 3 # 1 "/usr/include/c++/4.3/bits/basic_string.tcc" 1 3 # 47 "/usr/include/c++/4.3/bits/basic_string.tcc" 3 # 48 "/usr/include/c++/4.3/bits/basic_string.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template const typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: _Rep::_S_max_size = (((npos - sizeof(_Rep_base))/sizeof(_CharT)) - 1) / 4; template const _CharT basic_string<_CharT, _Traits, _Alloc>:: _Rep::_S_terminal = _CharT(); template const typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>::npos; template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>::_Rep::_S_empty_rep_storage[ (sizeof(_Rep_base) + sizeof(_CharT) + sizeof(size_type) - 1) / sizeof(size_type)]; template template _CharT* basic_string<_CharT, _Traits, _Alloc>:: _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, input_iterator_tag) { if (__beg == __end && __a == _Alloc()) return _S_empty_rep()._M_refdata(); _CharT __buf[128]; size_type __len = 0; while (__beg != __end && __len < sizeof(__buf) / sizeof(_CharT)) { __buf[__len++] = *__beg; ++__beg; } _Rep* __r = _Rep::_S_create(__len, size_type(0), __a); _M_copy(__r->_M_refdata(), __buf, __len); try { while (__beg != __end) { if (__len == __r->_M_capacity) { _Rep* __another = _Rep::_S_create(__len + 1, __len, __a); _M_copy(__another->_M_refdata(), __r->_M_refdata(), __len); __r->_M_destroy(__a); __r = __another; } __r->_M_refdata()[__len++] = *__beg; ++__beg; } } catch(...) { __r->_M_destroy(__a); throw; } __r->_M_set_length_and_sharable(__len); return __r->_M_refdata(); } template template _CharT* basic_string<_CharT, _Traits, _Alloc>:: _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, forward_iterator_tag) { if (__beg == __end && __a == _Alloc()) return _S_empty_rep()._M_refdata(); if (__builtin_expect(__gnu_cxx::__is_null_pointer(__beg) && __beg != __end, 0)) __throw_logic_error(("basic_string::_S_construct NULL not valid")); const size_type __dnew = static_cast(std::distance(__beg, __end)); _Rep* __r = _Rep::_S_create(__dnew, size_type(0), __a); try { _S_copy_chars(__r->_M_refdata(), __beg, __end); } catch(...) { __r->_M_destroy(__a); throw; } __r->_M_set_length_and_sharable(__dnew); return __r->_M_refdata(); } template _CharT* basic_string<_CharT, _Traits, _Alloc>:: _S_construct(size_type __n, _CharT __c, const _Alloc& __a) { if (__n == 0 && __a == _Alloc()) return _S_empty_rep()._M_refdata(); _Rep* __r = _Rep::_S_create(__n, size_type(0), __a); if (__n) _M_assign(__r->_M_refdata(), __n, __c); __r->_M_set_length_and_sharable(__n); return __r->_M_refdata(); } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const basic_string& __str) : _M_dataplus(__str._M_rep()->_M_grab(_Alloc(__str.get_allocator()), __str.get_allocator()), __str.get_allocator()) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const _Alloc& __a) : _M_dataplus(_S_construct(size_type(), _CharT(), __a), __a) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const basic_string& __str, size_type __pos, size_type __n) : _M_dataplus(_S_construct(__str._M_data() + __str._M_check(__pos, "basic_string::basic_string"), __str._M_data() + __str._M_limit(__pos, __n) + __pos, _Alloc()), _Alloc()) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const basic_string& __str, size_type __pos, size_type __n, const _Alloc& __a) : _M_dataplus(_S_construct(__str._M_data() + __str._M_check(__pos, "basic_string::basic_string"), __str._M_data() + __str._M_limit(__pos, __n) + __pos, __a), __a) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const _CharT* __s, size_type __n, const _Alloc& __a) : _M_dataplus(_S_construct(__s, __s + __n, __a), __a) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(const _CharT* __s, const _Alloc& __a) : _M_dataplus(_S_construct(__s, __s ? __s + traits_type::length(__s) : __s + npos, __a), __a) { } template basic_string<_CharT, _Traits, _Alloc>:: basic_string(size_type __n, _CharT __c, const _Alloc& __a) : _M_dataplus(_S_construct(__n, __c, __a), __a) { } template template basic_string<_CharT, _Traits, _Alloc>:: basic_string(_InputIterator __beg, _InputIterator __end, const _Alloc& __a) : _M_dataplus(_S_construct(__beg, __end, __a), __a) { } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: assign(const basic_string& __str) { if (_M_rep() != __str._M_rep()) { const allocator_type __a = this->get_allocator(); _CharT* __tmp = __str._M_rep()->_M_grab(__a, __str.get_allocator()); _M_rep()->_M_dispose(__a); _M_data(__tmp); } return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: assign(const _CharT* __s, size_type __n) { ; _M_check_length(this->size(), __n, "basic_string::assign"); if (_M_disjunct(__s) || _M_rep()->_M_is_shared()) return _M_replace_safe(size_type(0), this->size(), __s, __n); else { const size_type __pos = __s - _M_data(); if (__pos >= __n) _M_copy(_M_data(), __s, __n); else if (__pos) _M_move(_M_data(), __s, __n); _M_rep()->_M_set_length_and_sharable(__n); return *this; } } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: append(size_type __n, _CharT __c) { if (__n) { _M_check_length(size_type(0), __n, "basic_string::append"); const size_type __len = __n + this->size(); if (__len > this->capacity() || _M_rep()->_M_is_shared()) this->reserve(__len); _M_assign(_M_data() + this->size(), __n, __c); _M_rep()->_M_set_length_and_sharable(__len); } return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: append(const _CharT* __s, size_type __n) { ; if (__n) { _M_check_length(size_type(0), __n, "basic_string::append"); const size_type __len = __n + this->size(); if (__len > this->capacity() || _M_rep()->_M_is_shared()) { if (_M_disjunct(__s)) this->reserve(__len); else { const size_type __off = __s - _M_data(); this->reserve(__len); __s = _M_data() + __off; } } _M_copy(_M_data() + this->size(), __s, __n); _M_rep()->_M_set_length_and_sharable(__len); } return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: append(const basic_string& __str) { const size_type __size = __str.size(); if (__size) { const size_type __len = __size + this->size(); if (__len > this->capacity() || _M_rep()->_M_is_shared()) this->reserve(__len); _M_copy(_M_data() + this->size(), __str._M_data(), __size); _M_rep()->_M_set_length_and_sharable(__len); } return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: append(const basic_string& __str, size_type __pos, size_type __n) { __str._M_check(__pos, "basic_string::append"); __n = __str._M_limit(__pos, __n); if (__n) { const size_type __len = __n + this->size(); if (__len > this->capacity() || _M_rep()->_M_is_shared()) this->reserve(__len); _M_copy(_M_data() + this->size(), __str._M_data() + __pos, __n); _M_rep()->_M_set_length_and_sharable(__len); } return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: insert(size_type __pos, const _CharT* __s, size_type __n) { ; _M_check(__pos, "basic_string::insert"); _M_check_length(size_type(0), __n, "basic_string::insert"); if (_M_disjunct(__s) || _M_rep()->_M_is_shared()) return _M_replace_safe(__pos, size_type(0), __s, __n); else { const size_type __off = __s - _M_data(); _M_mutate(__pos, 0, __n); __s = _M_data() + __off; _CharT* __p = _M_data() + __pos; if (__s + __n <= __p) _M_copy(__p, __s, __n); else if (__s >= __p) _M_copy(__p, __s + __n, __n); else { const size_type __nleft = __p - __s; _M_copy(__p, __s, __nleft); _M_copy(__p + __nleft, __p + __n, __n - __nleft); } return *this; } } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: replace(size_type __pos, size_type __n1, const _CharT* __s, size_type __n2) { ; _M_check(__pos, "basic_string::replace"); __n1 = _M_limit(__pos, __n1); _M_check_length(__n1, __n2, "basic_string::replace"); bool __left; if (_M_disjunct(__s) || _M_rep()->_M_is_shared()) return _M_replace_safe(__pos, __n1, __s, __n2); else if ((__left = __s + __n2 <= _M_data() + __pos) || _M_data() + __pos + __n1 <= __s) { size_type __off = __s - _M_data(); __left ? __off : (__off += __n2 - __n1); _M_mutate(__pos, __n1, __n2); _M_copy(_M_data() + __pos, _M_data() + __off, __n2); return *this; } else { const basic_string __tmp(__s, __n2); return _M_replace_safe(__pos, __n1, __tmp._M_data(), __n2); } } template void basic_string<_CharT, _Traits, _Alloc>::_Rep:: _M_destroy(const _Alloc& __a) throw () { const size_type __size = sizeof(_Rep_base) + (this->_M_capacity + 1) * sizeof(_CharT); _Raw_bytes_alloc(__a).deallocate(reinterpret_cast(this), __size); } template void basic_string<_CharT, _Traits, _Alloc>:: _M_leak_hard() { if (_M_rep() == &_S_empty_rep()) return; if (_M_rep()->_M_is_shared()) _M_mutate(0, 0, 0); _M_rep()->_M_set_leaked(); } template void basic_string<_CharT, _Traits, _Alloc>:: _M_mutate(size_type __pos, size_type __len1, size_type __len2) { const size_type __old_size = this->size(); const size_type __new_size = __old_size + __len2 - __len1; const size_type __how_much = __old_size - __pos - __len1; if (__new_size > this->capacity() || _M_rep()->_M_is_shared()) { const allocator_type __a = get_allocator(); _Rep* __r = _Rep::_S_create(__new_size, this->capacity(), __a); if (__pos) _M_copy(__r->_M_refdata(), _M_data(), __pos); if (__how_much) _M_copy(__r->_M_refdata() + __pos + __len2, _M_data() + __pos + __len1, __how_much); _M_rep()->_M_dispose(__a); _M_data(__r->_M_refdata()); } else if (__how_much && __len1 != __len2) { _M_move(_M_data() + __pos + __len2, _M_data() + __pos + __len1, __how_much); } _M_rep()->_M_set_length_and_sharable(__new_size); } template void basic_string<_CharT, _Traits, _Alloc>:: reserve(size_type __res) { if (__res != this->capacity() || _M_rep()->_M_is_shared()) { if (__res < this->size()) __res = this->size(); const allocator_type __a = get_allocator(); _CharT* __tmp = _M_rep()->_M_clone(__a, __res - this->size()); _M_rep()->_M_dispose(__a); _M_data(__tmp); } } template void basic_string<_CharT, _Traits, _Alloc>:: swap(basic_string& __s) { if (_M_rep()->_M_is_leaked()) _M_rep()->_M_set_sharable(); if (__s._M_rep()->_M_is_leaked()) __s._M_rep()->_M_set_sharable(); if (this->get_allocator() == __s.get_allocator()) { _CharT* __tmp = _M_data(); _M_data(__s._M_data()); __s._M_data(__tmp); } else { const basic_string __tmp1(_M_ibegin(), _M_iend(), __s.get_allocator()); const basic_string __tmp2(__s._M_ibegin(), __s._M_iend(), this->get_allocator()); *this = __tmp2; __s = __tmp1; } } template typename basic_string<_CharT, _Traits, _Alloc>::_Rep* basic_string<_CharT, _Traits, _Alloc>::_Rep:: _S_create(size_type __capacity, size_type __old_capacity, const _Alloc& __alloc) { if (__capacity > _S_max_size) __throw_length_error(("basic_string::_S_create")); # 552 "/usr/include/c++/4.3/bits/basic_string.tcc" 3 const size_type __pagesize = 4096; const size_type __malloc_header_size = 4 * sizeof(void*); if (__capacity > __old_capacity && __capacity < 2 * __old_capacity) __capacity = 2 * __old_capacity; size_type __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep); const size_type __adj_size = __size + __malloc_header_size; if (__adj_size > __pagesize && __capacity > __old_capacity) { const size_type __extra = __pagesize - __adj_size % __pagesize; __capacity += __extra / sizeof(_CharT); if (__capacity > _S_max_size) __capacity = _S_max_size; __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep); } void* __place = _Raw_bytes_alloc(__alloc).allocate(__size); _Rep *__p = new (__place) _Rep; __p->_M_capacity = __capacity; __p->_M_set_sharable(); return __p; } template _CharT* basic_string<_CharT, _Traits, _Alloc>::_Rep:: _M_clone(const _Alloc& __alloc, size_type __res) { const size_type __requested_cap = this->_M_length + __res; _Rep* __r = _Rep::_S_create(__requested_cap, this->_M_capacity, __alloc); if (this->_M_length) _M_copy(__r->_M_refdata(), _M_refdata(), this->_M_length); __r->_M_set_length_and_sharable(this->_M_length); return __r->_M_refdata(); } template void basic_string<_CharT, _Traits, _Alloc>:: resize(size_type __n, _CharT __c) { const size_type __size = this->size(); _M_check_length(__size, __n, "basic_string::resize"); if (__size < __n) this->append(__n - __size, __c); else if (__n < __size) this->erase(__n); } template template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1, _InputIterator __k2, __false_type) { const basic_string __s(__k1, __k2); const size_type __n1 = __i2 - __i1; _M_check_length(__n1, __s.size(), "basic_string::_M_replace_dispatch"); return _M_replace_safe(__i1 - _M_ibegin(), __n1, __s._M_data(), __s.size()); } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, _CharT __c) { _M_check_length(__n1, __n2, "basic_string::_M_replace_aux"); _M_mutate(__pos1, __n1, __n2); if (__n2) _M_assign(_M_data() + __pos1, __n2, __c); return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s, size_type __n2) { _M_mutate(__pos1, __n1, __n2); if (__n2) _M_copy(_M_data() + __pos1, __s, __n2); return *this; } template basic_string<_CharT, _Traits, _Alloc> operator+(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { ; typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef typename __string_type::size_type __size_type; const __size_type __len = _Traits::length(__lhs); __string_type __str; __str.reserve(__len + __rhs.size()); __str.append(__lhs, __len); __str.append(__rhs); return __str; } template basic_string<_CharT, _Traits, _Alloc> operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef typename __string_type::size_type __size_type; __string_type __str; const __size_type __len = __rhs.size(); __str.reserve(__len + 1); __str.append(__size_type(1), __lhs); __str.append(__rhs); return __str; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: copy(_CharT* __s, size_type __n, size_type __pos) const { _M_check(__pos, "basic_string::copy"); __n = _M_limit(__pos, __n); ; if (__n) _M_copy(__s, _M_data() + __pos, __n); return __n; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find(const _CharT* __s, size_type __pos, size_type __n) const { ; const size_type __size = this->size(); const _CharT* __data = _M_data(); if (__n == 0) return __pos <= __size ? __pos : npos; if (__n <= __size) { for (; __pos <= __size - __n; ++__pos) if (traits_type::eq(__data[__pos], __s[0]) && traits_type::compare(__data + __pos + 1, __s + 1, __n - 1) == 0) return __pos; } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find(_CharT __c, size_type __pos) const { size_type __ret = npos; const size_type __size = this->size(); if (__pos < __size) { const _CharT* __data = _M_data(); const size_type __n = __size - __pos; const _CharT* __p = traits_type::find(__data + __pos, __n, __c); if (__p) __ret = __p - __data; } return __ret; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: rfind(const _CharT* __s, size_type __pos, size_type __n) const { ; const size_type __size = this->size(); if (__n <= __size) { __pos = std::min(size_type(__size - __n), __pos); const _CharT* __data = _M_data(); do { if (traits_type::compare(__data + __pos, __s, __n) == 0) return __pos; } while (__pos-- > 0); } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: rfind(_CharT __c, size_type __pos) const { size_type __size = this->size(); if (__size) { if (--__size > __pos) __size = __pos; for (++__size; __size-- > 0; ) if (traits_type::eq(_M_data()[__size], __c)) return __size; } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_first_of(const _CharT* __s, size_type __pos, size_type __n) const { ; for (; __n && __pos < this->size(); ++__pos) { const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]); if (__p) return __pos; } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_last_of(const _CharT* __s, size_type __pos, size_type __n) const { ; size_type __size = this->size(); if (__size && __n) { if (--__size > __pos) __size = __pos; do { if (traits_type::find(__s, __n, _M_data()[__size])) return __size; } while (__size-- != 0); } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const { ; for (; __pos < this->size(); ++__pos) if (!traits_type::find(__s, __n, _M_data()[__pos])) return __pos; return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_first_not_of(_CharT __c, size_type __pos) const { for (; __pos < this->size(); ++__pos) if (!traits_type::eq(_M_data()[__pos], __c)) return __pos; return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const { ; size_type __size = this->size(); if (__size) { if (--__size > __pos) __size = __pos; do { if (!traits_type::find(__s, __n, _M_data()[__size])) return __size; } while (__size--); } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_last_not_of(_CharT __c, size_type __pos) const { size_type __size = this->size(); if (__size) { if (--__size > __pos) __size = __pos; do { if (!traits_type::eq(_M_data()[__size], __c)) return __size; } while (__size--); } return npos; } template int basic_string<_CharT, _Traits, _Alloc>:: compare(size_type __pos, size_type __n, const basic_string& __str) const { _M_check(__pos, "basic_string::compare"); __n = _M_limit(__pos, __n); const size_type __osize = __str.size(); const size_type __len = std::min(__n, __osize); int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len); if (!__r) __r = _S_compare(__n, __osize); return __r; } template int basic_string<_CharT, _Traits, _Alloc>:: compare(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2) const { _M_check(__pos1, "basic_string::compare"); __str._M_check(__pos2, "basic_string::compare"); __n1 = _M_limit(__pos1, __n1); __n2 = __str._M_limit(__pos2, __n2); const size_type __len = std::min(__n1, __n2); int __r = traits_type::compare(_M_data() + __pos1, __str.data() + __pos2, __len); if (!__r) __r = _S_compare(__n1, __n2); return __r; } template int basic_string<_CharT, _Traits, _Alloc>:: compare(const _CharT* __s) const { ; const size_type __size = this->size(); const size_type __osize = traits_type::length(__s); const size_type __len = std::min(__size, __osize); int __r = traits_type::compare(_M_data(), __s, __len); if (!__r) __r = _S_compare(__size, __osize); return __r; } template int basic_string <_CharT, _Traits, _Alloc>:: compare(size_type __pos, size_type __n1, const _CharT* __s) const { ; _M_check(__pos, "basic_string::compare"); __n1 = _M_limit(__pos, __n1); const size_type __osize = traits_type::length(__s); const size_type __len = std::min(__n1, __osize); int __r = traits_type::compare(_M_data() + __pos, __s, __len); if (!__r) __r = _S_compare(__n1, __osize); return __r; } template int basic_string <_CharT, _Traits, _Alloc>:: compare(size_type __pos, size_type __n1, const _CharT* __s, size_type __n2) const { ; _M_check(__pos, "basic_string::compare"); __n1 = _M_limit(__pos, __n1); const size_type __len = std::min(__n1, __n2); int __r = traits_type::compare(_M_data() + __pos, __s, __len); if (!__r) __r = _S_compare(__n1, __n2); return __r; } template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, basic_string<_CharT, _Traits, _Alloc>& __str) { typedef basic_istream<_CharT, _Traits> __istream_type; typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef typename __istream_type::ios_base __ios_base; typedef typename __istream_type::int_type __int_type; typedef typename __string_type::size_type __size_type; typedef ctype<_CharT> __ctype_type; typedef typename __ctype_type::ctype_base __ctype_base; __size_type __extracted = 0; typename __ios_base::iostate __err = __ios_base::goodbit; typename __istream_type::sentry __cerb(__in, false); if (__cerb) { try { __str.erase(); _CharT __buf[128]; __size_type __len = 0; const streamsize __w = __in.width(); const __size_type __n = __w > 0 ? static_cast<__size_type>(__w) : __str.max_size(); const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); const __int_type __eof = _Traits::eof(); __int_type __c = __in.rdbuf()->sgetc(); while (__extracted < __n && !_Traits::eq_int_type(__c, __eof) && !__ct.is(__ctype_base::space, _Traits::to_char_type(__c))) { if (__len == sizeof(__buf) / sizeof(_CharT)) { __str.append(__buf, sizeof(__buf) / sizeof(_CharT)); __len = 0; } __buf[__len++] = _Traits::to_char_type(__c); ++__extracted; __c = __in.rdbuf()->snextc(); } __str.append(__buf, __len); if (_Traits::eq_int_type(__c, __eof)) __err |= __ios_base::eofbit; __in.width(0); } catch(__cxxabiv1::__forced_unwind&) { __in._M_setstate(__ios_base::badbit); throw; } catch(...) { __in._M_setstate(__ios_base::badbit); } } if (!__extracted) __err |= __ios_base::failbit; if (__err) __in.setstate(__err); return __in; } template basic_istream<_CharT, _Traits>& getline(basic_istream<_CharT, _Traits>& __in, basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) { typedef basic_istream<_CharT, _Traits> __istream_type; typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef typename __istream_type::ios_base __ios_base; typedef typename __istream_type::int_type __int_type; typedef typename __string_type::size_type __size_type; __size_type __extracted = 0; const __size_type __n = __str.max_size(); typename __ios_base::iostate __err = __ios_base::goodbit; typename __istream_type::sentry __cerb(__in, true); if (__cerb) { try { __str.erase(); const __int_type __idelim = _Traits::to_int_type(__delim); const __int_type __eof = _Traits::eof(); __int_type __c = __in.rdbuf()->sgetc(); while (__extracted < __n && !_Traits::eq_int_type(__c, __eof) && !_Traits::eq_int_type(__c, __idelim)) { __str += _Traits::to_char_type(__c); ++__extracted; __c = __in.rdbuf()->snextc(); } if (_Traits::eq_int_type(__c, __eof)) __err |= __ios_base::eofbit; else if (_Traits::eq_int_type(__c, __idelim)) { ++__extracted; __in.rdbuf()->sbumpc(); } else __err |= __ios_base::failbit; } catch(__cxxabiv1::__forced_unwind&) { __in._M_setstate(__ios_base::badbit); throw; } catch(...) { __in._M_setstate(__ios_base::badbit); } } if (!__extracted) __err |= __ios_base::failbit; if (__err) __in.setstate(__err); return __in; } extern template class basic_string; extern template basic_istream& operator>>(basic_istream&, string&); extern template basic_ostream& operator<<(basic_ostream&, const string&); extern template basic_istream& getline(basic_istream&, string&, char); extern template basic_istream& getline(basic_istream&, string&); extern template class basic_string; extern template basic_istream& operator>>(basic_istream&, wstring&); extern template basic_ostream& operator<<(basic_ostream&, const wstring&); extern template basic_istream& getline(basic_istream&, wstring&, wchar_t); extern template basic_istream& getline(basic_istream&, wstring&); } # 62 "/usr/include/c++/4.3/string" 2 3 # 48 "/usr/include/c++/4.3/bits/locale_classes.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 66 "/usr/include/c++/4.3/bits/locale_classes.h" 3 class locale { public: typedef int category; class facet; class id; class _Impl; friend class facet; friend class _Impl; template friend bool has_facet(const locale&) throw(); template friend const _Facet& use_facet(const locale&); template friend struct __use_cache; # 102 "/usr/include/c++/4.3/bits/locale_classes.h" 3 static const category none = 0; static const category ctype = 1L << 0; static const category numeric = 1L << 1; static const category collate = 1L << 2; static const category time = 1L << 3; static const category monetary = 1L << 4; static const category messages = 1L << 5; static const category all = (ctype | numeric | collate | time | monetary | messages); # 121 "/usr/include/c++/4.3/bits/locale_classes.h" 3 locale() throw(); # 130 "/usr/include/c++/4.3/bits/locale_classes.h" 3 locale(const locale& __other) throw(); # 140 "/usr/include/c++/4.3/bits/locale_classes.h" 3 explicit locale(const char* __s); # 155 "/usr/include/c++/4.3/bits/locale_classes.h" 3 locale(const locale& __base, const char* __s, category __cat); # 168 "/usr/include/c++/4.3/bits/locale_classes.h" 3 locale(const locale& __base, const locale& __add, category __cat); # 180 "/usr/include/c++/4.3/bits/locale_classes.h" 3 template locale(const locale& __other, _Facet* __f); ~locale() throw(); # 194 "/usr/include/c++/4.3/bits/locale_classes.h" 3 const locale& operator=(const locale& __other) throw(); # 209 "/usr/include/c++/4.3/bits/locale_classes.h" 3 template locale combine(const locale& __other) const; string name() const; # 228 "/usr/include/c++/4.3/bits/locale_classes.h" 3 bool operator==(const locale& __other) const throw (); bool operator!=(const locale& __other) const throw () { return !(this->operator==(__other)); } # 256 "/usr/include/c++/4.3/bits/locale_classes.h" 3 template bool operator()(const basic_string<_Char, _Traits, _Alloc>& __s1, const basic_string<_Char, _Traits, _Alloc>& __s2) const; # 272 "/usr/include/c++/4.3/bits/locale_classes.h" 3 static locale global(const locale&); static const locale& classic(); private: _Impl* _M_impl; static _Impl* _S_classic; static _Impl* _S_global; static const char* const* const _S_categories; # 307 "/usr/include/c++/4.3/bits/locale_classes.h" 3 enum { _S_categories_size = 6 + 6 }; static __gthread_once_t _S_once; explicit locale(_Impl*) throw(); static void _S_initialize(); static void _S_initialize_once(); static category _S_normalize_category(category); void _M_coalesce(const locale& __base, const locale& __add, category __cat); }; # 340 "/usr/include/c++/4.3/bits/locale_classes.h" 3 class locale::facet { private: friend class locale; friend class locale::_Impl; mutable _Atomic_word _M_refcount; static __c_locale _S_c_locale; static const char _S_c_name[2]; static __gthread_once_t _S_once; static void _S_initialize_once(); protected: # 371 "/usr/include/c++/4.3/bits/locale_classes.h" 3 explicit facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0) { } virtual ~facet(); static void _S_create_c_locale(__c_locale& __cloc, const char* __s, __c_locale __old = 0); static __c_locale _S_clone_c_locale(__c_locale& __cloc); static void _S_destroy_c_locale(__c_locale& __cloc); static __c_locale _S_get_c_locale(); static const char* _S_get_c_name(); private: void _M_add_reference() const throw() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } void _M_remove_reference() const throw() { if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) { try { delete this; } catch(...) { } } } facet(const facet&); facet& operator=(const facet&); }; # 431 "/usr/include/c++/4.3/bits/locale_classes.h" 3 class locale::id { private: friend class locale; friend class locale::_Impl; template friend const _Facet& use_facet(const locale&); template friend bool has_facet(const locale&) throw (); mutable size_t _M_index; static _Atomic_word _S_refcount; void operator=(const id&); id(const id&); public: id() { } size_t _M_id() const; }; class locale::_Impl { public: friend class locale; friend class locale::facet; template friend bool has_facet(const locale&) throw(); template friend const _Facet& use_facet(const locale&); template friend struct __use_cache; private: _Atomic_word _M_refcount; const facet** _M_facets; size_t _M_facets_size; const facet** _M_caches; char** _M_names; static const locale::id* const _S_id_ctype[]; static const locale::id* const _S_id_numeric[]; static const locale::id* const _S_id_collate[]; static const locale::id* const _S_id_time[]; static const locale::id* const _S_id_monetary[]; static const locale::id* const _S_id_messages[]; static const locale::id* const* const _S_facet_categories[]; void _M_add_reference() throw() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } void _M_remove_reference() throw() { if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) { try { delete this; } catch(...) { } } } _Impl(const _Impl&, size_t); _Impl(const char*, size_t); _Impl(size_t) throw(); ~_Impl() throw(); _Impl(const _Impl&); void operator=(const _Impl&); bool _M_check_same_name() { bool __ret = true; if (_M_names[1]) for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i) __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0; return __ret; } void _M_replace_categories(const _Impl*, category); void _M_replace_category(const _Impl*, const locale::id* const*); void _M_replace_facet(const _Impl*, const locale::id*); void _M_install_facet(const locale::id*, const facet*); template void _M_init_facet(_Facet* __facet) { _M_install_facet(&_Facet::id, __facet); } void _M_install_cache(const facet*, size_t); }; # 574 "/usr/include/c++/4.3/bits/locale_classes.h" 3 template bool has_facet(const locale& __loc) throw(); # 591 "/usr/include/c++/4.3/bits/locale_classes.h" 3 template const _Facet& use_facet(const locale& __loc); # 608 "/usr/include/c++/4.3/bits/locale_classes.h" 3 template class collate : public locale::facet { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; protected: __c_locale _M_c_locale_collate; public: static locale::id id; # 635 "/usr/include/c++/4.3/bits/locale_classes.h" 3 explicit collate(size_t __refs = 0) : facet(__refs), _M_c_locale_collate(_S_get_c_locale()) { } # 649 "/usr/include/c++/4.3/bits/locale_classes.h" 3 explicit collate(__c_locale __cloc, size_t __refs = 0) : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc)) { } # 666 "/usr/include/c++/4.3/bits/locale_classes.h" 3 int compare(const _CharT* __lo1, const _CharT* __hi1, const _CharT* __lo2, const _CharT* __hi2) const { return this->do_compare(__lo1, __hi1, __lo2, __hi2); } # 685 "/usr/include/c++/4.3/bits/locale_classes.h" 3 string_type transform(const _CharT* __lo, const _CharT* __hi) const { return this->do_transform(__lo, __hi); } # 699 "/usr/include/c++/4.3/bits/locale_classes.h" 3 long hash(const _CharT* __lo, const _CharT* __hi) const { return this->do_hash(__lo, __hi); } int _M_compare(const _CharT*, const _CharT*) const; size_t _M_transform(_CharT*, const _CharT*, size_t) const; protected: virtual ~collate() { _S_destroy_c_locale(_M_c_locale_collate); } # 728 "/usr/include/c++/4.3/bits/locale_classes.h" 3 virtual int do_compare(const _CharT* __lo1, const _CharT* __hi1, const _CharT* __lo2, const _CharT* __hi2) const; # 744 "/usr/include/c++/4.3/bits/locale_classes.h" 3 virtual string_type do_transform(const _CharT* __lo, const _CharT* __hi) const; # 757 "/usr/include/c++/4.3/bits/locale_classes.h" 3 virtual long do_hash(const _CharT* __lo, const _CharT* __hi) const; }; template locale::id collate<_CharT>::id; template<> int collate::_M_compare(const char*, const char*) const; template<> size_t collate::_M_transform(char*, const char*, size_t) const; template<> int collate::_M_compare(const wchar_t*, const wchar_t*) const; template<> size_t collate::_M_transform(wchar_t*, const wchar_t*, size_t) const; template class collate_byname : public collate<_CharT> { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; explicit collate_byname(const char* __s, size_t __refs = 0) : collate<_CharT>(__refs) { if (__builtin_strcmp(__s, "C") != 0 && __builtin_strcmp(__s, "POSIX") != 0) { this->_S_destroy_c_locale(this->_M_c_locale_collate); this->_S_create_c_locale(this->_M_c_locale_collate, __s); } } protected: virtual ~collate_byname() { } }; } # 1 "/usr/include/c++/4.3/bits/locale_classes.tcc" 1 3 # 42 "/usr/include/c++/4.3/bits/locale_classes.tcc" 3 # 43 "/usr/include/c++/4.3/bits/locale_classes.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template locale:: locale(const locale& __other, _Facet* __f) { _M_impl = new _Impl(*__other._M_impl, 1); try { _M_impl->_M_install_facet(&_Facet::id, __f); } catch(...) { _M_impl->_M_remove_reference(); throw; } delete [] _M_impl->_M_names[0]; _M_impl->_M_names[0] = 0; } template locale locale:: combine(const locale& __other) const { _Impl* __tmp = new _Impl(*_M_impl, 1); try { __tmp->_M_replace_facet(__other._M_impl, &_Facet::id); } catch(...) { __tmp->_M_remove_reference(); throw; } return locale(__tmp); } template bool locale:: operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1, const basic_string<_CharT, _Traits, _Alloc>& __s2) const { typedef std::collate<_CharT> __collate_type; const __collate_type& __collate = use_facet<__collate_type>(*this); return (__collate.compare(__s1.data(), __s1.data() + __s1.length(), __s2.data(), __s2.data() + __s2.length()) < 0); } template bool has_facet(const locale& __loc) throw() { const size_t __i = _Facet::id._M_id(); const locale::facet** __facets = __loc._M_impl->_M_facets; return (__i < __loc._M_impl->_M_facets_size && dynamic_cast(__facets[__i])); } template const _Facet& use_facet(const locale& __loc) { const size_t __i = _Facet::id._M_id(); const locale::facet** __facets = __loc._M_impl->_M_facets; if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i]) __throw_bad_cast(); return dynamic_cast(*__facets[__i]); } template int collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const { return 0; } template size_t collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const { return 0; } template int collate<_CharT>:: do_compare(const _CharT* __lo1, const _CharT* __hi1, const _CharT* __lo2, const _CharT* __hi2) const { const string_type __one(__lo1, __hi1); const string_type __two(__lo2, __hi2); const _CharT* __p = __one.c_str(); const _CharT* __pend = __one.data() + __one.length(); const _CharT* __q = __two.c_str(); const _CharT* __qend = __two.data() + __two.length(); for (;;) { const int __res = _M_compare(__p, __q); if (__res) return __res; __p += char_traits<_CharT>::length(__p); __q += char_traits<_CharT>::length(__q); if (__p == __pend && __q == __qend) return 0; else if (__p == __pend) return -1; else if (__q == __qend) return 1; __p++; __q++; } } template typename collate<_CharT>::string_type collate<_CharT>:: do_transform(const _CharT* __lo, const _CharT* __hi) const { string_type __ret; const string_type __str(__lo, __hi); const _CharT* __p = __str.c_str(); const _CharT* __pend = __str.data() + __str.length(); size_t __len = (__hi - __lo) * 2; _CharT* __c = new _CharT[__len]; try { for (;;) { size_t __res = _M_transform(__c, __p, __len); if (__res >= __len) { __len = __res + 1; delete [] __c, __c = 0; __c = new _CharT[__len]; __res = _M_transform(__c, __p, __len); } __ret.append(__c, __res); __p += char_traits<_CharT>::length(__p); if (__p == __pend) break; __p++; __ret.push_back(_CharT()); } } catch(...) { delete [] __c; throw; } delete [] __c; return __ret; } template long collate<_CharT>:: do_hash(const _CharT* __lo, const _CharT* __hi) const { unsigned long __val = 0; for (; __lo < __hi; ++__lo) __val = *__lo + ((__val << 7) | (__val >> (__gnu_cxx::__numeric_traits:: __digits - 7))); return static_cast(__val); } extern template class collate; extern template class collate_byname; extern template const collate& use_facet >(const locale&); extern template bool has_facet >(const locale&); extern template class collate; extern template class collate_byname; extern template const collate& use_facet >(const locale&); extern template bool has_facet >(const locale&); } # 815 "/usr/include/c++/4.3/bits/locale_classes.h" 2 3 # 49 "/usr/include/c++/4.3/bits/ios_base.h" 2 3 # 1 "/usr/include/c++/4.3/cstdio" 1 3 # 46 "/usr/include/c++/4.3/cstdio" 3 # 47 "/usr/include/c++/4.3/cstdio" 3 # 1 "/usr/include/c++/4.3/cstddef" 1 3 # 45 "/usr/include/c++/4.3/cstddef" 3 # 46 "/usr/include/c++/4.3/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 49 "/usr/include/c++/4.3/cstddef" 2 3 # 50 "/usr/include/c++/4.3/cstdio" 2 3 # 50 "/usr/include/c++/4.3/bits/ios_base.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { enum _Ios_Fmtflags { _S_boolalpha = 1L << 0, _S_dec = 1L << 1, _S_fixed = 1L << 2, _S_hex = 1L << 3, _S_internal = 1L << 4, _S_left = 1L << 5, _S_oct = 1L << 6, _S_right = 1L << 7, _S_scientific = 1L << 8, _S_showbase = 1L << 9, _S_showpoint = 1L << 10, _S_showpos = 1L << 11, _S_skipws = 1L << 12, _S_unitbuf = 1L << 13, _S_uppercase = 1L << 14, _S_adjustfield = _S_left | _S_right | _S_internal, _S_basefield = _S_dec | _S_oct | _S_hex, _S_floatfield = _S_scientific | _S_fixed, _S_ios_fmtflags_end = 1L << 16 }; inline _Ios_Fmtflags operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b) { return _Ios_Fmtflags(static_cast(__a) & static_cast(__b)); } inline _Ios_Fmtflags operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b) { return _Ios_Fmtflags(static_cast(__a) | static_cast(__b)); } inline _Ios_Fmtflags operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b) { return _Ios_Fmtflags(static_cast(__a) ^ static_cast(__b)); } inline _Ios_Fmtflags& operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) { return __a = __a | __b; } inline _Ios_Fmtflags& operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) { return __a = __a & __b; } inline _Ios_Fmtflags& operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) { return __a = __a ^ __b; } inline _Ios_Fmtflags operator~(_Ios_Fmtflags __a) { return _Ios_Fmtflags(~static_cast(__a)); } enum _Ios_Openmode { _S_app = 1L << 0, _S_ate = 1L << 1, _S_bin = 1L << 2, _S_in = 1L << 3, _S_out = 1L << 4, _S_trunc = 1L << 5, _S_ios_openmode_end = 1L << 16 }; inline _Ios_Openmode operator&(_Ios_Openmode __a, _Ios_Openmode __b) { return _Ios_Openmode(static_cast(__a) & static_cast(__b)); } inline _Ios_Openmode operator|(_Ios_Openmode __a, _Ios_Openmode __b) { return _Ios_Openmode(static_cast(__a) | static_cast(__b)); } inline _Ios_Openmode operator^(_Ios_Openmode __a, _Ios_Openmode __b) { return _Ios_Openmode(static_cast(__a) ^ static_cast(__b)); } inline _Ios_Openmode& operator|=(_Ios_Openmode& __a, _Ios_Openmode __b) { return __a = __a | __b; } inline _Ios_Openmode& operator&=(_Ios_Openmode& __a, _Ios_Openmode __b) { return __a = __a & __b; } inline _Ios_Openmode& operator^=(_Ios_Openmode& __a, _Ios_Openmode __b) { return __a = __a ^ __b; } inline _Ios_Openmode operator~(_Ios_Openmode __a) { return _Ios_Openmode(~static_cast(__a)); } enum _Ios_Iostate { _S_goodbit = 0, _S_badbit = 1L << 0, _S_eofbit = 1L << 1, _S_failbit = 1L << 2, _S_ios_iostate_end = 1L << 16 }; inline _Ios_Iostate operator&(_Ios_Iostate __a, _Ios_Iostate __b) { return _Ios_Iostate(static_cast(__a) & static_cast(__b)); } inline _Ios_Iostate operator|(_Ios_Iostate __a, _Ios_Iostate __b) { return _Ios_Iostate(static_cast(__a) | static_cast(__b)); } inline _Ios_Iostate operator^(_Ios_Iostate __a, _Ios_Iostate __b) { return _Ios_Iostate(static_cast(__a) ^ static_cast(__b)); } inline _Ios_Iostate& operator|=(_Ios_Iostate& __a, _Ios_Iostate __b) { return __a = __a | __b; } inline _Ios_Iostate& operator&=(_Ios_Iostate& __a, _Ios_Iostate __b) { return __a = __a & __b; } inline _Ios_Iostate& operator^=(_Ios_Iostate& __a, _Ios_Iostate __b) { return __a = __a ^ __b; } inline _Ios_Iostate operator~(_Ios_Iostate __a) { return _Ios_Iostate(~static_cast(__a)); } enum _Ios_Seekdir { _S_beg = 0, _S_cur = 1, _S_end = 2, _S_ios_seekdir_end = 1L << 16 }; # 203 "/usr/include/c++/4.3/bits/ios_base.h" 3 class ios_base { public: class failure : public exception { public: explicit failure(const string& __str) throw(); virtual ~failure() throw(); virtual const char* what() const throw(); private: string _M_msg; }; # 255 "/usr/include/c++/4.3/bits/ios_base.h" 3 typedef _Ios_Fmtflags fmtflags; static const fmtflags boolalpha = _S_boolalpha; static const fmtflags dec = _S_dec; static const fmtflags fixed = _S_fixed; static const fmtflags hex = _S_hex; static const fmtflags internal = _S_internal; static const fmtflags left = _S_left; static const fmtflags oct = _S_oct; static const fmtflags right = _S_right; static const fmtflags scientific = _S_scientific; static const fmtflags showbase = _S_showbase; static const fmtflags showpoint = _S_showpoint; static const fmtflags showpos = _S_showpos; static const fmtflags skipws = _S_skipws; static const fmtflags unitbuf = _S_unitbuf; static const fmtflags uppercase = _S_uppercase; static const fmtflags adjustfield = _S_adjustfield; static const fmtflags basefield = _S_basefield; static const fmtflags floatfield = _S_floatfield; # 330 "/usr/include/c++/4.3/bits/ios_base.h" 3 typedef _Ios_Iostate iostate; static const iostate badbit = _S_badbit; static const iostate eofbit = _S_eofbit; static const iostate failbit = _S_failbit; static const iostate goodbit = _S_goodbit; # 361 "/usr/include/c++/4.3/bits/ios_base.h" 3 typedef _Ios_Openmode openmode; static const openmode app = _S_app; static const openmode ate = _S_ate; static const openmode binary = _S_bin; static const openmode in = _S_in; static const openmode out = _S_out; static const openmode trunc = _S_trunc; # 394 "/usr/include/c++/4.3/bits/ios_base.h" 3 typedef _Ios_Seekdir seekdir; static const seekdir beg = _S_beg; static const seekdir cur = _S_cur; static const seekdir end = _S_end; typedef int io_state; typedef int open_mode; typedef int seek_dir; typedef std::streampos streampos; typedef std::streamoff streamoff; # 420 "/usr/include/c++/4.3/bits/ios_base.h" 3 enum event { erase_event, imbue_event, copyfmt_event }; # 437 "/usr/include/c++/4.3/bits/ios_base.h" 3 typedef void (*event_callback) (event, ios_base&, int); # 449 "/usr/include/c++/4.3/bits/ios_base.h" 3 void register_callback(event_callback __fn, int __index); protected: streamsize _M_precision; streamsize _M_width; fmtflags _M_flags; iostate _M_exception; iostate _M_streambuf_state; struct _Callback_list { _Callback_list* _M_next; ios_base::event_callback _M_fn; int _M_index; _Atomic_word _M_refcount; _Callback_list(ios_base::event_callback __fn, int __index, _Callback_list* __cb) : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { } void _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } int _M_remove_reference() { return __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1); } }; _Callback_list* _M_callbacks; void _M_call_callbacks(event __ev) throw(); void _M_dispose_callbacks(void); struct _Words { void* _M_pword; long _M_iword; _Words() : _M_pword(0), _M_iword(0) { } }; _Words _M_word_zero; enum { _S_local_word_size = 8 }; _Words _M_local_word[_S_local_word_size]; int _M_word_size; _Words* _M_word; _Words& _M_grow_words(int __index, bool __iword); locale _M_ios_locale; void _M_init(); public: class Init { friend class ios_base; public: Init(); ~Init(); private: static _Atomic_word _S_refcount; static bool _S_synced_with_stdio; }; fmtflags flags() const { return _M_flags; } # 558 "/usr/include/c++/4.3/bits/ios_base.h" 3 fmtflags flags(fmtflags __fmtfl) { fmtflags __old = _M_flags; _M_flags = __fmtfl; return __old; } # 574 "/usr/include/c++/4.3/bits/ios_base.h" 3 fmtflags setf(fmtflags __fmtfl) { fmtflags __old = _M_flags; _M_flags |= __fmtfl; return __old; } # 591 "/usr/include/c++/4.3/bits/ios_base.h" 3 fmtflags setf(fmtflags __fmtfl, fmtflags __mask) { fmtflags __old = _M_flags; _M_flags &= ~__mask; _M_flags |= (__fmtfl & __mask); return __old; } void unsetf(fmtflags __mask) { _M_flags &= ~__mask; } # 617 "/usr/include/c++/4.3/bits/ios_base.h" 3 streamsize precision() const { return _M_precision; } streamsize precision(streamsize __prec) { streamsize __old = _M_precision; _M_precision = __prec; return __old; } streamsize width() const { return _M_width; } streamsize width(streamsize __wide) { streamsize __old = _M_width; _M_width = __wide; return __old; } # 668 "/usr/include/c++/4.3/bits/ios_base.h" 3 static bool sync_with_stdio(bool __sync = true); # 680 "/usr/include/c++/4.3/bits/ios_base.h" 3 locale imbue(const locale& __loc); # 691 "/usr/include/c++/4.3/bits/ios_base.h" 3 locale getloc() const { return _M_ios_locale; } # 702 "/usr/include/c++/4.3/bits/ios_base.h" 3 const locale& _M_getloc() const { return _M_ios_locale; } # 721 "/usr/include/c++/4.3/bits/ios_base.h" 3 static int xalloc() throw(); # 737 "/usr/include/c++/4.3/bits/ios_base.h" 3 long& iword(int __ix) { _Words& __word = (__ix < _M_word_size) ? _M_word[__ix] : _M_grow_words(__ix, true); return __word._M_iword; } # 758 "/usr/include/c++/4.3/bits/ios_base.h" 3 void*& pword(int __ix) { _Words& __word = (__ix < _M_word_size) ? _M_word[__ix] : _M_grow_words(__ix, false); return __word._M_pword; } # 775 "/usr/include/c++/4.3/bits/ios_base.h" 3 virtual ~ios_base(); protected: ios_base(); private: ios_base(const ios_base&); ios_base& operator=(const ios_base&); }; inline ios_base& boolalpha(ios_base& __base) { __base.setf(ios_base::boolalpha); return __base; } inline ios_base& noboolalpha(ios_base& __base) { __base.unsetf(ios_base::boolalpha); return __base; } inline ios_base& showbase(ios_base& __base) { __base.setf(ios_base::showbase); return __base; } inline ios_base& noshowbase(ios_base& __base) { __base.unsetf(ios_base::showbase); return __base; } inline ios_base& showpoint(ios_base& __base) { __base.setf(ios_base::showpoint); return __base; } inline ios_base& noshowpoint(ios_base& __base) { __base.unsetf(ios_base::showpoint); return __base; } inline ios_base& showpos(ios_base& __base) { __base.setf(ios_base::showpos); return __base; } inline ios_base& noshowpos(ios_base& __base) { __base.unsetf(ios_base::showpos); return __base; } inline ios_base& skipws(ios_base& __base) { __base.setf(ios_base::skipws); return __base; } inline ios_base& noskipws(ios_base& __base) { __base.unsetf(ios_base::skipws); return __base; } inline ios_base& uppercase(ios_base& __base) { __base.setf(ios_base::uppercase); return __base; } inline ios_base& nouppercase(ios_base& __base) { __base.unsetf(ios_base::uppercase); return __base; } inline ios_base& unitbuf(ios_base& __base) { __base.setf(ios_base::unitbuf); return __base; } inline ios_base& nounitbuf(ios_base& __base) { __base.unsetf(ios_base::unitbuf); return __base; } inline ios_base& internal(ios_base& __base) { __base.setf(ios_base::internal, ios_base::adjustfield); return __base; } inline ios_base& left(ios_base& __base) { __base.setf(ios_base::left, ios_base::adjustfield); return __base; } inline ios_base& right(ios_base& __base) { __base.setf(ios_base::right, ios_base::adjustfield); return __base; } inline ios_base& dec(ios_base& __base) { __base.setf(ios_base::dec, ios_base::basefield); return __base; } inline ios_base& hex(ios_base& __base) { __base.setf(ios_base::hex, ios_base::basefield); return __base; } inline ios_base& oct(ios_base& __base) { __base.setf(ios_base::oct, ios_base::basefield); return __base; } inline ios_base& fixed(ios_base& __base) { __base.setf(ios_base::fixed, ios_base::floatfield); return __base; } inline ios_base& scientific(ios_base& __base) { __base.setf(ios_base::scientific, ios_base::floatfield); return __base; } } # 49 "/usr/include/c++/4.3/ios" 2 3 # 1 "/usr/include/c++/4.3/streambuf" 1 3 # 42 "/usr/include/c++/4.3/streambuf" 3 # 43 "/usr/include/c++/4.3/streambuf" 3 # 51 "/usr/include/c++/4.3/streambuf" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template streamsize __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*, basic_streambuf<_CharT, _Traits>*, bool&); # 118 "/usr/include/c++/4.3/streambuf" 3 template class basic_streambuf { public: typedef _CharT char_type; typedef _Traits traits_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_streambuf __streambuf_type; friend class basic_ios; friend class basic_istream; friend class basic_ostream; friend class istreambuf_iterator; friend class ostreambuf_iterator; friend streamsize __copy_streambufs_eof<>(__streambuf_type*, __streambuf_type*, bool&); template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, _CharT2*>::__type __copy_move_a2(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, _CharT2*); template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, istreambuf_iterator<_CharT2> >::__type find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, const _CharT2&); template friend basic_istream<_CharT2, _Traits2>& operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2*); template friend basic_istream<_CharT2, _Traits2>& operator>>(basic_istream<_CharT2, _Traits2>&, basic_string<_CharT2, _Traits2, _Alloc>&); template friend basic_istream<_CharT2, _Traits2>& getline(basic_istream<_CharT2, _Traits2>&, basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2); protected: # 184 "/usr/include/c++/4.3/streambuf" 3 char_type* _M_in_beg; char_type* _M_in_cur; char_type* _M_in_end; char_type* _M_out_beg; char_type* _M_out_cur; char_type* _M_out_end; locale _M_buf_locale; public: virtual ~basic_streambuf() { } # 208 "/usr/include/c++/4.3/streambuf" 3 locale pubimbue(const locale &__loc) { locale __tmp(this->getloc()); this->imbue(__loc); _M_buf_locale = __loc; return __tmp; } # 225 "/usr/include/c++/4.3/streambuf" 3 locale getloc() const { return _M_buf_locale; } # 238 "/usr/include/c++/4.3/streambuf" 3 __streambuf_type* pubsetbuf(char_type* __s, streamsize __n) { return this->setbuf(__s, __n); } pos_type pubseekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode = ios_base::in | ios_base::out) { return this->seekoff(__off, __way, __mode); } pos_type pubseekpos(pos_type __sp, ios_base::openmode __mode = ios_base::in | ios_base::out) { return this->seekpos(__sp, __mode); } int pubsync() { return this->sync(); } # 265 "/usr/include/c++/4.3/streambuf" 3 streamsize in_avail() { const streamsize __ret = this->egptr() - this->gptr(); return __ret ? __ret : this->showmanyc(); } # 279 "/usr/include/c++/4.3/streambuf" 3 int_type snextc() { int_type __ret = traits_type::eof(); if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(), __ret), true)) __ret = this->sgetc(); return __ret; } # 297 "/usr/include/c++/4.3/streambuf" 3 int_type sbumpc() { int_type __ret; if (__builtin_expect(this->gptr() < this->egptr(), true)) { __ret = traits_type::to_int_type(*this->gptr()); this->gbump(1); } else __ret = this->uflow(); return __ret; } # 319 "/usr/include/c++/4.3/streambuf" 3 int_type sgetc() { int_type __ret; if (__builtin_expect(this->gptr() < this->egptr(), true)) __ret = traits_type::to_int_type(*this->gptr()); else __ret = this->underflow(); return __ret; } # 338 "/usr/include/c++/4.3/streambuf" 3 streamsize sgetn(char_type* __s, streamsize __n) { return this->xsgetn(__s, __n); } # 352 "/usr/include/c++/4.3/streambuf" 3 int_type sputbackc(char_type __c) { int_type __ret; const bool __testpos = this->eback() < this->gptr(); if (__builtin_expect(!__testpos || !traits_type::eq(__c, this->gptr()[-1]), false)) __ret = this->pbackfail(traits_type::to_int_type(__c)); else { this->gbump(-1); __ret = traits_type::to_int_type(*this->gptr()); } return __ret; } # 377 "/usr/include/c++/4.3/streambuf" 3 int_type sungetc() { int_type __ret; if (__builtin_expect(this->eback() < this->gptr(), true)) { this->gbump(-1); __ret = traits_type::to_int_type(*this->gptr()); } else __ret = this->pbackfail(); return __ret; } # 404 "/usr/include/c++/4.3/streambuf" 3 int_type sputc(char_type __c) { int_type __ret; if (__builtin_expect(this->pptr() < this->epptr(), true)) { *this->pptr() = __c; this->pbump(1); __ret = traits_type::to_int_type(__c); } else __ret = this->overflow(traits_type::to_int_type(__c)); return __ret; } # 430 "/usr/include/c++/4.3/streambuf" 3 streamsize sputn(const char_type* __s, streamsize __n) { return this->xsputn(__s, __n); } protected: # 444 "/usr/include/c++/4.3/streambuf" 3 basic_streambuf() : _M_in_beg(0), _M_in_cur(0), _M_in_end(0), _M_out_beg(0), _M_out_cur(0), _M_out_end(0), _M_buf_locale(locale()) { } # 462 "/usr/include/c++/4.3/streambuf" 3 char_type* eback() const { return _M_in_beg; } char_type* gptr() const { return _M_in_cur; } char_type* egptr() const { return _M_in_end; } # 478 "/usr/include/c++/4.3/streambuf" 3 void gbump(int __n) { _M_in_cur += __n; } # 489 "/usr/include/c++/4.3/streambuf" 3 void setg(char_type* __gbeg, char_type* __gnext, char_type* __gend) { _M_in_beg = __gbeg; _M_in_cur = __gnext; _M_in_end = __gend; } # 509 "/usr/include/c++/4.3/streambuf" 3 char_type* pbase() const { return _M_out_beg; } char_type* pptr() const { return _M_out_cur; } char_type* epptr() const { return _M_out_end; } # 525 "/usr/include/c++/4.3/streambuf" 3 void pbump(int __n) { _M_out_cur += __n; } # 535 "/usr/include/c++/4.3/streambuf" 3 void setp(char_type* __pbeg, char_type* __pend) { _M_out_beg = _M_out_cur = __pbeg; _M_out_end = __pend; } # 556 "/usr/include/c++/4.3/streambuf" 3 virtual void imbue(const locale&) { } # 571 "/usr/include/c++/4.3/streambuf" 3 virtual basic_streambuf* setbuf(char_type*, streamsize) { return this; } # 582 "/usr/include/c++/4.3/streambuf" 3 virtual pos_type seekoff(off_type, ios_base::seekdir, ios_base::openmode = ios_base::in | ios_base::out) { return pos_type(off_type(-1)); } # 594 "/usr/include/c++/4.3/streambuf" 3 virtual pos_type seekpos(pos_type, ios_base::openmode = ios_base::in | ios_base::out) { return pos_type(off_type(-1)); } # 607 "/usr/include/c++/4.3/streambuf" 3 virtual int sync() { return 0; } # 629 "/usr/include/c++/4.3/streambuf" 3 virtual streamsize showmanyc() { return 0; } # 645 "/usr/include/c++/4.3/streambuf" 3 virtual streamsize xsgetn(char_type* __s, streamsize __n); # 667 "/usr/include/c++/4.3/streambuf" 3 virtual int_type underflow() { return traits_type::eof(); } # 680 "/usr/include/c++/4.3/streambuf" 3 virtual int_type uflow() { int_type __ret = traits_type::eof(); const bool __testeof = traits_type::eq_int_type(this->underflow(), __ret); if (!__testeof) { __ret = traits_type::to_int_type(*this->gptr()); this->gbump(1); } return __ret; } # 704 "/usr/include/c++/4.3/streambuf" 3 virtual int_type pbackfail(int_type = traits_type::eof()) { return traits_type::eof(); } # 722 "/usr/include/c++/4.3/streambuf" 3 virtual streamsize xsputn(const char_type* __s, streamsize __n); # 747 "/usr/include/c++/4.3/streambuf" 3 virtual int_type overflow(int_type = traits_type::eof()) { return traits_type::eof(); } public: # 762 "/usr/include/c++/4.3/streambuf" 3 void stossc() { if (this->gptr() < this->egptr()) this->gbump(1); else this->uflow(); } private: basic_streambuf(const __streambuf_type& __sb) : _M_in_beg(__sb._M_in_beg), _M_in_cur(__sb._M_in_cur), _M_in_end(__sb._M_in_end), _M_out_beg(__sb._M_out_beg), _M_out_cur(__sb._M_out_cur), _M_out_end(__sb._M_out_cur), _M_buf_locale(__sb._M_buf_locale) { } __streambuf_type& operator=(const __streambuf_type&) { return *this; }; }; template<> streamsize __copy_streambufs_eof(basic_streambuf* __sbin, basic_streambuf* __sbout, bool& __ineof); template<> streamsize __copy_streambufs_eof(basic_streambuf* __sbin, basic_streambuf* __sbout, bool& __ineof); } # 1 "/usr/include/c++/4.3/bits/streambuf.tcc" 1 3 # 43 "/usr/include/c++/4.3/bits/streambuf.tcc" 3 # 44 "/usr/include/c++/4.3/bits/streambuf.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template streamsize basic_streambuf<_CharT, _Traits>:: xsgetn(char_type* __s, streamsize __n) { streamsize __ret = 0; while (__ret < __n) { const streamsize __buf_len = this->egptr() - this->gptr(); if (__buf_len) { const streamsize __remaining = __n - __ret; const streamsize __len = std::min(__buf_len, __remaining); traits_type::copy(__s, this->gptr(), __len); __ret += __len; __s += __len; this->gbump(__len); } if (__ret < __n) { const int_type __c = this->uflow(); if (!traits_type::eq_int_type(__c, traits_type::eof())) { traits_type::assign(*__s++, traits_type::to_char_type(__c)); ++__ret; } else break; } } return __ret; } template streamsize basic_streambuf<_CharT, _Traits>:: xsputn(const char_type* __s, streamsize __n) { streamsize __ret = 0; while (__ret < __n) { const streamsize __buf_len = this->epptr() - this->pptr(); if (__buf_len) { const streamsize __remaining = __n - __ret; const streamsize __len = std::min(__buf_len, __remaining); traits_type::copy(this->pptr(), __s, __len); __ret += __len; __s += __len; this->pbump(__len); } if (__ret < __n) { int_type __c = this->overflow(traits_type::to_int_type(*__s)); if (!traits_type::eq_int_type(__c, traits_type::eof())) { ++__ret; ++__s; } else break; } } return __ret; } template streamsize __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin, basic_streambuf<_CharT, _Traits>* __sbout, bool& __ineof) { streamsize __ret = 0; __ineof = true; typename _Traits::int_type __c = __sbin->sgetc(); while (!_Traits::eq_int_type(__c, _Traits::eof())) { __c = __sbout->sputc(_Traits::to_char_type(__c)); if (_Traits::eq_int_type(__c, _Traits::eof())) { __ineof = false; break; } ++__ret; __c = __sbin->snextc(); } return __ret; } template inline streamsize __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin, basic_streambuf<_CharT, _Traits>* __sbout) { bool __ineof; return __copy_streambufs_eof(__sbin, __sbout, __ineof); } extern template class basic_streambuf; extern template streamsize __copy_streambufs(basic_streambuf*, basic_streambuf*); extern template streamsize __copy_streambufs_eof(basic_streambuf*, basic_streambuf*, bool&); extern template class basic_streambuf; extern template streamsize __copy_streambufs(basic_streambuf*, basic_streambuf*); extern template streamsize __copy_streambufs_eof(basic_streambuf*, basic_streambuf*, bool&); } # 802 "/usr/include/c++/4.3/streambuf" 2 3 # 50 "/usr/include/c++/4.3/ios" 2 3 # 1 "/usr/include/c++/4.3/bits/basic_ios.h" 1 3 # 40 "/usr/include/c++/4.3/bits/basic_ios.h" 3 # 41 "/usr/include/c++/4.3/bits/basic_ios.h" 3 # 1 "/usr/include/c++/4.3/bits/locale_facets.h" 1 3 # 44 "/usr/include/c++/4.3/bits/locale_facets.h" 3 # 45 "/usr/include/c++/4.3/bits/locale_facets.h" 3 # 1 "/usr/include/c++/4.3/cwctype" 1 3 # 46 "/usr/include/c++/4.3/cwctype" 3 # 47 "/usr/include/c++/4.3/cwctype" 3 # 1 "/usr/include/wctype.h" 1 3 4 # 50 "/usr/include/wctype.h" 3 4 typedef unsigned long int wctype_t; # 72 "/usr/include/wctype.h" 3 4 enum { __ISwupper = 0, __ISwlower = 1, __ISwalpha = 2, __ISwdigit = 3, __ISwxdigit = 4, __ISwspace = 5, __ISwprint = 6, __ISwgraph = 7, __ISwblank = 8, __ISwcntrl = 9, __ISwpunct = 10, __ISwalnum = 11, _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))), _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))), _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))), _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))), _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))), _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))), _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))), _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))), _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))), _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))), _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))), _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24)))) }; extern "C" { extern int iswalnum (wint_t __wc) throw (); extern int iswalpha (wint_t __wc) throw (); extern int iswcntrl (wint_t __wc) throw (); extern int iswdigit (wint_t __wc) throw (); extern int iswgraph (wint_t __wc) throw (); extern int iswlower (wint_t __wc) throw (); extern int iswprint (wint_t __wc) throw (); extern int iswpunct (wint_t __wc) throw (); extern int iswspace (wint_t __wc) throw (); extern int iswupper (wint_t __wc) throw (); extern int iswxdigit (wint_t __wc) throw (); extern int iswblank (wint_t __wc) throw (); # 172 "/usr/include/wctype.h" 3 4 extern wctype_t wctype (__const char *__property) throw (); extern int iswctype (wint_t __wc, wctype_t __desc) throw (); typedef __const __int32_t *wctrans_t; extern wint_t towlower (wint_t __wc) throw (); extern wint_t towupper (wint_t __wc) throw (); } # 214 "/usr/include/wctype.h" 3 4 extern "C" { extern wctrans_t wctrans (__const char *__property) throw (); extern wint_t towctrans (wint_t __wc, wctrans_t __desc) throw (); extern int iswalnum_l (wint_t __wc, __locale_t __locale) throw (); extern int iswalpha_l (wint_t __wc, __locale_t __locale) throw (); extern int iswcntrl_l (wint_t __wc, __locale_t __locale) throw (); extern int iswdigit_l (wint_t __wc, __locale_t __locale) throw (); extern int iswgraph_l (wint_t __wc, __locale_t __locale) throw (); extern int iswlower_l (wint_t __wc, __locale_t __locale) throw (); extern int iswprint_l (wint_t __wc, __locale_t __locale) throw (); extern int iswpunct_l (wint_t __wc, __locale_t __locale) throw (); extern int iswspace_l (wint_t __wc, __locale_t __locale) throw (); extern int iswupper_l (wint_t __wc, __locale_t __locale) throw (); extern int iswxdigit_l (wint_t __wc, __locale_t __locale) throw (); extern int iswblank_l (wint_t __wc, __locale_t __locale) throw (); extern wctype_t wctype_l (__const char *__property, __locale_t __locale) throw (); extern int iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale) throw (); extern wint_t towlower_l (wint_t __wc, __locale_t __locale) throw (); extern wint_t towupper_l (wint_t __wc, __locale_t __locale) throw (); extern wctrans_t wctrans_l (__const char *__property, __locale_t __locale) throw (); extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc, __locale_t __locale) throw (); } # 52 "/usr/include/c++/4.3/cwctype" 2 3 # 81 "/usr/include/c++/4.3/cwctype" 3 namespace std __attribute__ ((__visibility__ ("default"))) { using ::wctrans_t; using ::wctype_t; using ::wint_t; using ::iswalnum; using ::iswalpha; using ::iswblank; using ::iswcntrl; using ::iswctype; using ::iswdigit; using ::iswgraph; using ::iswlower; using ::iswprint; using ::iswpunct; using ::iswspace; using ::iswupper; using ::iswxdigit; using ::towctrans; using ::towlower; using ::towupper; using ::wctrans; using ::wctype; } # 47 "/usr/include/c++/4.3/bits/locale_facets.h" 2 3 # 1 "/usr/include/c++/4.3/cctype" 1 3 # 46 "/usr/include/c++/4.3/cctype" 3 # 47 "/usr/include/c++/4.3/cctype" 3 # 48 "/usr/include/c++/4.3/bits/locale_facets.h" 2 3 # 1 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/ctype_base.h" 1 3 # 42 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/ctype_base.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { struct ctype_base { typedef const int* __to_type; typedef unsigned short mask; static const mask upper = _ISupper; static const mask lower = _ISlower; static const mask alpha = _ISalpha; static const mask digit = _ISdigit; static const mask xdigit = _ISxdigit; static const mask space = _ISspace; static const mask print = _ISprint; static const mask graph = _ISalpha | _ISdigit | _ISpunct; static const mask cntrl = _IScntrl; static const mask punct = _ISpunct; static const mask alnum = _ISalpha | _ISdigit; }; } # 49 "/usr/include/c++/4.3/bits/locale_facets.h" 2 3 # 1 "/usr/include/c++/4.3/bits/streambuf_iterator.h" 1 3 # 40 "/usr/include/c++/4.3/bits/streambuf_iterator.h" 3 # 41 "/usr/include/c++/4.3/bits/streambuf_iterator.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template class istreambuf_iterator : public iterator { public: typedef _CharT char_type; typedef _Traits traits_type; typedef typename _Traits::int_type int_type; typedef basic_streambuf<_CharT, _Traits> streambuf_type; typedef basic_istream<_CharT, _Traits> istream_type; template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, ostreambuf_iterator<_CharT2> >::__type copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, ostreambuf_iterator<_CharT2>); template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, _CharT2*>::__type __copy_move_a2(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, _CharT2*); template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, istreambuf_iterator<_CharT2> >::__type find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, const _CharT2&); private: mutable streambuf_type* _M_sbuf; mutable int_type _M_c; public: istreambuf_iterator() throw() : _M_sbuf(0), _M_c(traits_type::eof()) { } istreambuf_iterator(istream_type& __s) throw() : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { } istreambuf_iterator(streambuf_type* __s) throw() : _M_sbuf(__s), _M_c(traits_type::eof()) { } char_type operator*() const { return traits_type::to_char_type(_M_get()); } istreambuf_iterator& operator++() { ; if (_M_sbuf) { _M_sbuf->sbumpc(); _M_c = traits_type::eof(); } return *this; } istreambuf_iterator operator++(int) { ; istreambuf_iterator __old = *this; if (_M_sbuf) { __old._M_c = _M_sbuf->sbumpc(); _M_c = traits_type::eof(); } return __old; } bool equal(const istreambuf_iterator& __b) const { return _M_at_eof() == __b._M_at_eof(); } private: int_type _M_get() const { const int_type __eof = traits_type::eof(); int_type __ret = __eof; if (_M_sbuf) { if (!traits_type::eq_int_type(_M_c, __eof)) __ret = _M_c; else if (!traits_type::eq_int_type((__ret = _M_sbuf->sgetc()), __eof)) _M_c = __ret; else _M_sbuf = 0; } return __ret; } bool _M_at_eof() const { const int_type __eof = traits_type::eof(); return traits_type::eq_int_type(_M_get(), __eof); } }; template inline bool operator==(const istreambuf_iterator<_CharT, _Traits>& __a, const istreambuf_iterator<_CharT, _Traits>& __b) { return __a.equal(__b); } template inline bool operator!=(const istreambuf_iterator<_CharT, _Traits>& __a, const istreambuf_iterator<_CharT, _Traits>& __b) { return !__a.equal(__b); } template class ostreambuf_iterator : public iterator { public: typedef _CharT char_type; typedef _Traits traits_type; typedef basic_streambuf<_CharT, _Traits> streambuf_type; typedef basic_ostream<_CharT, _Traits> ostream_type; template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, ostreambuf_iterator<_CharT2> >::__type copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, ostreambuf_iterator<_CharT2>); private: streambuf_type* _M_sbuf; bool _M_failed; public: ostreambuf_iterator(ostream_type& __s) throw () : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { } ostreambuf_iterator(streambuf_type* __s) throw () : _M_sbuf(__s), _M_failed(!_M_sbuf) { } ostreambuf_iterator& operator=(_CharT __c) { if (!_M_failed && _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof())) _M_failed = true; return *this; } ostreambuf_iterator& operator*() { return *this; } ostreambuf_iterator& operator++(int) { return *this; } ostreambuf_iterator& operator++() { return *this; } bool failed() const throw() { return _M_failed; } ostreambuf_iterator& _M_put(const _CharT* __ws, streamsize __len) { if (__builtin_expect(!_M_failed, true) && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len, false)) _M_failed = true; return *this; } }; template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, ostreambuf_iterator<_CharT> >::__type copy(istreambuf_iterator<_CharT> __first, istreambuf_iterator<_CharT> __last, ostreambuf_iterator<_CharT> __result) { if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed) { bool __ineof; __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof); if (!__ineof) __result._M_failed = true; } return __result; } template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, ostreambuf_iterator<_CharT> >::__type __copy_move_a2(_CharT* __first, _CharT* __last, ostreambuf_iterator<_CharT> __result) { const streamsize __num = __last - __first; if (__num > 0) __result._M_put(__first, __num); return __result; } template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, ostreambuf_iterator<_CharT> >::__type __copy_move_a2(const _CharT* __first, const _CharT* __last, ostreambuf_iterator<_CharT> __result) { const streamsize __num = __last - __first; if (__num > 0) __result._M_put(__first, __num); return __result; } template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, _CharT*>::__type __copy_move_a2(istreambuf_iterator<_CharT> __first, istreambuf_iterator<_CharT> __last, _CharT* __result) { typedef istreambuf_iterator<_CharT> __is_iterator_type; typedef typename __is_iterator_type::traits_type traits_type; typedef typename __is_iterator_type::streambuf_type streambuf_type; typedef typename traits_type::int_type int_type; if (__first._M_sbuf && !__last._M_sbuf) { streambuf_type* __sb = __first._M_sbuf; int_type __c = __sb->sgetc(); while (!traits_type::eq_int_type(__c, traits_type::eof())) { const streamsize __n = __sb->egptr() - __sb->gptr(); if (__n > 1) { traits_type::copy(__result, __sb->gptr(), __n); __sb->gbump(__n); __result += __n; __c = __sb->underflow(); } else { *__result++ = traits_type::to_char_type(__c); __c = __sb->snextc(); } } } return __result; } template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, istreambuf_iterator<_CharT> >::__type find(istreambuf_iterator<_CharT> __first, istreambuf_iterator<_CharT> __last, const _CharT& __val) { typedef istreambuf_iterator<_CharT> __is_iterator_type; typedef typename __is_iterator_type::traits_type traits_type; typedef typename __is_iterator_type::streambuf_type streambuf_type; typedef typename traits_type::int_type int_type; if (__first._M_sbuf && !__last._M_sbuf) { const int_type __ival = traits_type::to_int_type(__val); streambuf_type* __sb = __first._M_sbuf; int_type __c = __sb->sgetc(); while (!traits_type::eq_int_type(__c, traits_type::eof()) && !traits_type::eq_int_type(__c, __ival)) { streamsize __n = __sb->egptr() - __sb->gptr(); if (__n > 1) { const _CharT* __p = traits_type::find(__sb->gptr(), __n, __val); if (__p) __n = __p - __sb->gptr(); __sb->gbump(__n); __c = __sb->sgetc(); } else __c = __sb->snextc(); } if (!traits_type::eq_int_type(__c, traits_type::eof())) __first._M_c = __c; else __first._M_sbuf = 0; } return __first; } } # 56 "/usr/include/c++/4.3/bits/locale_facets.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 69 "/usr/include/c++/4.3/bits/locale_facets.h" 3 template void __convert_to_v(const char* __in, _Tv& __out, ios_base::iostate& __err, const __c_locale& __cloc); template<> void __convert_to_v(const char*, float&, ios_base::iostate&, const __c_locale&); template<> void __convert_to_v(const char*, double&, ios_base::iostate&, const __c_locale&); template<> void __convert_to_v(const char*, long double&, ios_base::iostate&, const __c_locale&); template struct __pad { static void _S_pad(ios_base& __io, _CharT __fill, _CharT* __news, const _CharT* __olds, const streamsize __newlen, const streamsize __oldlen); }; template _CharT* __add_grouping(_CharT* __s, _CharT __sep, const char* __gbeg, size_t __gsize, const _CharT* __first, const _CharT* __last); template inline ostreambuf_iterator<_CharT> __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len) { __s._M_put(__ws, __len); return __s; } template inline _OutIter __write(_OutIter __s, const _CharT* __ws, int __len) { for (int __j = 0; __j < __len; __j++, ++__s) *__s = __ws[__j]; return __s; } # 149 "/usr/include/c++/4.3/bits/locale_facets.h" 3 template class __ctype_abstract_base : public locale::facet, public ctype_base { public: typedef _CharT char_type; # 167 "/usr/include/c++/4.3/bits/locale_facets.h" 3 bool is(mask __m, char_type __c) const { return this->do_is(__m, __c); } # 184 "/usr/include/c++/4.3/bits/locale_facets.h" 3 const char_type* is(const char_type *__lo, const char_type *__hi, mask *__vec) const { return this->do_is(__lo, __hi, __vec); } # 200 "/usr/include/c++/4.3/bits/locale_facets.h" 3 const char_type* scan_is(mask __m, const char_type* __lo, const char_type* __hi) const { return this->do_scan_is(__m, __lo, __hi); } # 216 "/usr/include/c++/4.3/bits/locale_facets.h" 3 const char_type* scan_not(mask __m, const char_type* __lo, const char_type* __hi) const { return this->do_scan_not(__m, __lo, __hi); } # 230 "/usr/include/c++/4.3/bits/locale_facets.h" 3 char_type toupper(char_type __c) const { return this->do_toupper(__c); } # 245 "/usr/include/c++/4.3/bits/locale_facets.h" 3 const char_type* toupper(char_type *__lo, const char_type* __hi) const { return this->do_toupper(__lo, __hi); } # 259 "/usr/include/c++/4.3/bits/locale_facets.h" 3 char_type tolower(char_type __c) const { return this->do_tolower(__c); } # 274 "/usr/include/c++/4.3/bits/locale_facets.h" 3 const char_type* tolower(char_type* __lo, const char_type* __hi) const { return this->do_tolower(__lo, __hi); } # 291 "/usr/include/c++/4.3/bits/locale_facets.h" 3 char_type widen(char __c) const { return this->do_widen(__c); } # 310 "/usr/include/c++/4.3/bits/locale_facets.h" 3 const char* widen(const char* __lo, const char* __hi, char_type* __to) const { return this->do_widen(__lo, __hi, __to); } # 329 "/usr/include/c++/4.3/bits/locale_facets.h" 3 char narrow(char_type __c, char __dfault) const { return this->do_narrow(__c, __dfault); } # 351 "/usr/include/c++/4.3/bits/locale_facets.h" 3 const char_type* narrow(const char_type* __lo, const char_type* __hi, char __dfault, char *__to) const { return this->do_narrow(__lo, __hi, __dfault, __to); } protected: explicit __ctype_abstract_base(size_t __refs = 0): facet(__refs) { } virtual ~__ctype_abstract_base() { } # 376 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual bool do_is(mask __m, char_type __c) const = 0; # 395 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual const char_type* do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const = 0; # 414 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual const char_type* do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const = 0; # 433 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual const char_type* do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const = 0; # 451 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual char_type do_toupper(char_type) const = 0; # 468 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const = 0; # 484 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual char_type do_tolower(char_type) const = 0; # 501 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const = 0; # 520 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual char_type do_widen(char) const = 0; # 541 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual const char* do_widen(const char* __lo, const char* __hi, char_type* __dest) const = 0; # 563 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual char do_narrow(char_type, char __dfault) const = 0; # 587 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual const char_type* do_narrow(const char_type* __lo, const char_type* __hi, char __dfault, char* __dest) const = 0; }; # 610 "/usr/include/c++/4.3/bits/locale_facets.h" 3 template class ctype : public __ctype_abstract_base<_CharT> { public: typedef _CharT char_type; typedef typename __ctype_abstract_base<_CharT>::mask mask; static locale::id id; explicit ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { } protected: virtual ~ctype(); virtual bool do_is(mask __m, char_type __c) const; virtual const char_type* do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; virtual const char_type* do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; virtual const char_type* do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const; virtual char_type do_toupper(char_type __c) const; virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const; virtual char_type do_tolower(char_type __c) const; virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const; virtual char_type do_widen(char __c) const; virtual const char* do_widen(const char* __lo, const char* __hi, char_type* __dest) const; virtual char do_narrow(char_type, char __dfault) const; virtual const char_type* do_narrow(const char_type* __lo, const char_type* __hi, char __dfault, char* __dest) const; }; template locale::id ctype<_CharT>::id; # 679 "/usr/include/c++/4.3/bits/locale_facets.h" 3 template<> class ctype : public locale::facet, public ctype_base { public: typedef char char_type; protected: __c_locale _M_c_locale_ctype; bool _M_del; __to_type _M_toupper; __to_type _M_tolower; const mask* _M_table; mutable char _M_widen_ok; mutable char _M_widen[1 + static_cast(-1)]; mutable char _M_narrow[1 + static_cast(-1)]; mutable char _M_narrow_ok; public: static locale::id id; static const size_t table_size = 1 + static_cast(-1); # 716 "/usr/include/c++/4.3/bits/locale_facets.h" 3 explicit ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0); # 729 "/usr/include/c++/4.3/bits/locale_facets.h" 3 explicit ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false, size_t __refs = 0); # 742 "/usr/include/c++/4.3/bits/locale_facets.h" 3 inline bool is(mask __m, char __c) const; # 757 "/usr/include/c++/4.3/bits/locale_facets.h" 3 inline const char* is(const char* __lo, const char* __hi, mask* __vec) const; # 771 "/usr/include/c++/4.3/bits/locale_facets.h" 3 inline const char* scan_is(mask __m, const char* __lo, const char* __hi) const; # 785 "/usr/include/c++/4.3/bits/locale_facets.h" 3 inline const char* scan_not(mask __m, const char* __lo, const char* __hi) const; # 800 "/usr/include/c++/4.3/bits/locale_facets.h" 3 char_type toupper(char_type __c) const { return this->do_toupper(__c); } # 817 "/usr/include/c++/4.3/bits/locale_facets.h" 3 const char_type* toupper(char_type *__lo, const char_type* __hi) const { return this->do_toupper(__lo, __hi); } # 833 "/usr/include/c++/4.3/bits/locale_facets.h" 3 char_type tolower(char_type __c) const { return this->do_tolower(__c); } # 850 "/usr/include/c++/4.3/bits/locale_facets.h" 3 const char_type* tolower(char_type* __lo, const char_type* __hi) const { return this->do_tolower(__lo, __hi); } # 870 "/usr/include/c++/4.3/bits/locale_facets.h" 3 char_type widen(char __c) const { if (_M_widen_ok) return _M_widen[static_cast(__c)]; this->_M_widen_init(); return this->do_widen(__c); } # 897 "/usr/include/c++/4.3/bits/locale_facets.h" 3 const char* widen(const char* __lo, const char* __hi, char_type* __to) const { if (_M_widen_ok == 1) { __builtin_memcpy(__to, __lo, __hi - __lo); return __hi; } if (!_M_widen_ok) _M_widen_init(); return this->do_widen(__lo, __hi, __to); } # 928 "/usr/include/c++/4.3/bits/locale_facets.h" 3 char narrow(char_type __c, char __dfault) const { if (_M_narrow[static_cast(__c)]) return _M_narrow[static_cast(__c)]; const char __t = do_narrow(__c, __dfault); if (__t != __dfault) _M_narrow[static_cast(__c)] = __t; return __t; } # 961 "/usr/include/c++/4.3/bits/locale_facets.h" 3 const char_type* narrow(const char_type* __lo, const char_type* __hi, char __dfault, char *__to) const { if (__builtin_expect(_M_narrow_ok == 1, true)) { __builtin_memcpy(__to, __lo, __hi - __lo); return __hi; } if (!_M_narrow_ok) _M_narrow_init(); return this->do_narrow(__lo, __hi, __dfault, __to); } const mask* table() const throw() { return _M_table; } static const mask* classic_table() throw(); protected: virtual ~ctype(); # 1010 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual char_type do_toupper(char_type) const; # 1027 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const; # 1043 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual char_type do_tolower(char_type) const; # 1060 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const; # 1080 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual char_type do_widen(char __c) const { return __c; } # 1103 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual const char* do_widen(const char* __lo, const char* __hi, char_type* __dest) const { __builtin_memcpy(__dest, __lo, __hi - __lo); return __hi; } # 1129 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual char do_narrow(char_type __c, char) const { return __c; } # 1155 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual const char_type* do_narrow(const char_type* __lo, const char_type* __hi, char, char* __dest) const { __builtin_memcpy(__dest, __lo, __hi - __lo); return __hi; } private: void _M_widen_init() const { char __tmp[sizeof(_M_widen)]; for (size_t __i = 0; __i < sizeof(_M_widen); ++__i) __tmp[__i] = __i; do_widen(__tmp, __tmp + sizeof(__tmp), _M_widen); _M_widen_ok = 1; if (__builtin_memcmp(__tmp, _M_widen, sizeof(_M_widen))) _M_widen_ok = 2; } void _M_narrow_init() const { char __tmp[sizeof(_M_narrow)]; for (size_t __i = 0; __i < sizeof(_M_narrow); ++__i) __tmp[__i] = __i; do_narrow(__tmp, __tmp + sizeof(__tmp), 0, _M_narrow); _M_narrow_ok = 1; if (__builtin_memcmp(__tmp, _M_narrow, sizeof(_M_narrow))) _M_narrow_ok = 2; else { char __c; do_narrow(__tmp, __tmp + 1, 1, &__c); if (__c == 1) _M_narrow_ok = 2; } } }; template<> const ctype& use_facet >(const locale& __loc); # 1219 "/usr/include/c++/4.3/bits/locale_facets.h" 3 template<> class ctype : public __ctype_abstract_base { public: typedef wchar_t char_type; typedef wctype_t __wmask_type; protected: __c_locale _M_c_locale_ctype; bool _M_narrow_ok; char _M_narrow[128]; wint_t _M_widen[1 + static_cast(-1)]; mask _M_bit[16]; __wmask_type _M_wmask[16]; public: static locale::id id; # 1252 "/usr/include/c++/4.3/bits/locale_facets.h" 3 explicit ctype(size_t __refs = 0); # 1263 "/usr/include/c++/4.3/bits/locale_facets.h" 3 explicit ctype(__c_locale __cloc, size_t __refs = 0); protected: __wmask_type _M_convert_to_wmask(const mask __m) const; virtual ~ctype(); # 1287 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual bool do_is(mask __m, char_type __c) const; # 1306 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual const char_type* do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; # 1324 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual const char_type* do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; # 1342 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual const char_type* do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const; # 1359 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual char_type do_toupper(char_type) const; # 1376 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const; # 1392 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual char_type do_tolower(char_type) const; # 1409 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const; # 1429 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual char_type do_widen(char) const; # 1451 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual const char* do_widen(const char* __lo, const char* __hi, char_type* __dest) const; # 1474 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual char do_narrow(char_type, char __dfault) const; # 1500 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual const char_type* do_narrow(const char_type* __lo, const char_type* __hi, char __dfault, char* __dest) const; void _M_initialize_ctype(); }; template<> const ctype& use_facet >(const locale& __loc); template class ctype_byname : public ctype<_CharT> { public: typedef typename ctype<_CharT>::mask mask; explicit ctype_byname(const char* __s, size_t __refs = 0); protected: virtual ~ctype_byname() { }; }; template<> class ctype_byname : public ctype { public: explicit ctype_byname(const char* __s, size_t __refs = 0); protected: virtual ~ctype_byname(); }; template<> class ctype_byname : public ctype { public: explicit ctype_byname(const char* __s, size_t __refs = 0); protected: virtual ~ctype_byname(); }; } # 1 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/ctype_inline.h" 1 3 # 42 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/ctype_inline.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { bool ctype:: is(mask __m, char __c) const { return _M_table[static_cast(__c)] & __m; } const char* ctype:: is(const char* __low, const char* __high, mask* __vec) const { while (__low < __high) *__vec++ = _M_table[static_cast(*__low++)]; return __high; } const char* ctype:: scan_is(mask __m, const char* __low, const char* __high) const { while (__low < __high && !(_M_table[static_cast(*__low)] & __m)) ++__low; return __low; } const char* ctype:: scan_not(mask __m, const char* __low, const char* __high) const { while (__low < __high && (_M_table[static_cast(*__low)] & __m) != 0) ++__low; return __low; } } # 1560 "/usr/include/c++/4.3/bits/locale_facets.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { class __num_base { public: enum { _S_ominus, _S_oplus, _S_ox, _S_oX, _S_odigits, _S_odigits_end = _S_odigits + 16, _S_oudigits = _S_odigits_end, _S_oudigits_end = _S_oudigits + 16, _S_oe = _S_odigits + 14, _S_oE = _S_oudigits + 14, _S_oend = _S_oudigits_end }; static const char* _S_atoms_out; static const char* _S_atoms_in; enum { _S_iminus, _S_iplus, _S_ix, _S_iX, _S_izero, _S_ie = _S_izero + 14, _S_iE = _S_izero + 20, _S_iend = 26 }; static void _S_format_float(const ios_base& __io, char* __fptr, char __mod); }; template struct __numpunct_cache : public locale::facet { const char* _M_grouping; size_t _M_grouping_size; bool _M_use_grouping; const _CharT* _M_truename; size_t _M_truename_size; const _CharT* _M_falsename; size_t _M_falsename_size; _CharT _M_decimal_point; _CharT _M_thousands_sep; _CharT _M_atoms_out[__num_base::_S_oend]; _CharT _M_atoms_in[__num_base::_S_iend]; bool _M_allocated; __numpunct_cache(size_t __refs = 0) : facet(__refs), _M_grouping(__null), _M_grouping_size(0), _M_use_grouping(false), _M_truename(__null), _M_truename_size(0), _M_falsename(__null), _M_falsename_size(0), _M_decimal_point(_CharT()), _M_thousands_sep(_CharT()), _M_allocated(false) { } ~__numpunct_cache(); void _M_cache(const locale& __loc); private: __numpunct_cache& operator=(const __numpunct_cache&); explicit __numpunct_cache(const __numpunct_cache&); }; template __numpunct_cache<_CharT>::~__numpunct_cache() { if (_M_allocated) { delete [] _M_grouping; delete [] _M_truename; delete [] _M_falsename; } } # 1684 "/usr/include/c++/4.3/bits/locale_facets.h" 3 template class numpunct : public locale::facet { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; typedef __numpunct_cache<_CharT> __cache_type; protected: __cache_type* _M_data; public: static locale::id id; explicit numpunct(size_t __refs = 0) : facet(__refs), _M_data(__null) { _M_initialize_numpunct(); } # 1721 "/usr/include/c++/4.3/bits/locale_facets.h" 3 explicit numpunct(__cache_type* __cache, size_t __refs = 0) : facet(__refs), _M_data(__cache) { _M_initialize_numpunct(); } # 1735 "/usr/include/c++/4.3/bits/locale_facets.h" 3 explicit numpunct(__c_locale __cloc, size_t __refs = 0) : facet(__refs), _M_data(__null) { _M_initialize_numpunct(__cloc); } # 1749 "/usr/include/c++/4.3/bits/locale_facets.h" 3 char_type decimal_point() const { return this->do_decimal_point(); } # 1762 "/usr/include/c++/4.3/bits/locale_facets.h" 3 char_type thousands_sep() const { return this->do_thousands_sep(); } # 1793 "/usr/include/c++/4.3/bits/locale_facets.h" 3 string grouping() const { return this->do_grouping(); } # 1806 "/usr/include/c++/4.3/bits/locale_facets.h" 3 string_type truename() const { return this->do_truename(); } # 1819 "/usr/include/c++/4.3/bits/locale_facets.h" 3 string_type falsename() const { return this->do_falsename(); } protected: virtual ~numpunct(); # 1836 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual char_type do_decimal_point() const { return _M_data->_M_decimal_point; } # 1848 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual char_type do_thousands_sep() const { return _M_data->_M_thousands_sep; } # 1861 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual string do_grouping() const { return _M_data->_M_grouping; } # 1874 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual string_type do_truename() const { return _M_data->_M_truename; } # 1887 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual string_type do_falsename() const { return _M_data->_M_falsename; } void _M_initialize_numpunct(__c_locale __cloc = __null); }; template locale::id numpunct<_CharT>::id; template<> numpunct::~numpunct(); template<> void numpunct::_M_initialize_numpunct(__c_locale __cloc); template<> numpunct::~numpunct(); template<> void numpunct::_M_initialize_numpunct(__c_locale __cloc); template class numpunct_byname : public numpunct<_CharT> { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; explicit numpunct_byname(const char* __s, size_t __refs = 0) : numpunct<_CharT>(__refs) { if (__builtin_strcmp(__s, "C") != 0 && __builtin_strcmp(__s, "POSIX") != 0) { __c_locale __tmp; this->_S_create_c_locale(__tmp, __s); this->_M_initialize_numpunct(__tmp); this->_S_destroy_c_locale(__tmp); } } protected: virtual ~numpunct_byname() { } }; # 1956 "/usr/include/c++/4.3/bits/locale_facets.h" 3 template class num_get : public locale::facet { public: typedef _CharT char_type; typedef _InIter iter_type; static locale::id id; # 1977 "/usr/include/c++/4.3/bits/locale_facets.h" 3 explicit num_get(size_t __refs = 0) : facet(__refs) { } # 2003 "/usr/include/c++/4.3/bits/locale_facets.h" 3 iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, bool& __v) const { return this->do_get(__in, __end, __io, __err, __v); } # 2039 "/usr/include/c++/4.3/bits/locale_facets.h" 3 iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, long& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned short& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned int& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned long& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, long long& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned long long& __v) const { return this->do_get(__in, __end, __io, __err, __v); } # 2098 "/usr/include/c++/4.3/bits/locale_facets.h" 3 iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, float& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, double& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, long double& __v) const { return this->do_get(__in, __end, __io, __err, __v); } # 2140 "/usr/include/c++/4.3/bits/locale_facets.h" 3 iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, void*& __v) const { return this->do_get(__in, __end, __io, __err, __v); } protected: virtual ~num_get() { } iter_type _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&, string& __xtrc) const; template iter_type _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&, _ValueT& __v) const; template typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type _M_find(const _CharT2*, size_t __len, _CharT2 __c) const { int __ret = -1; if (__len <= 10) { if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len)) __ret = __c - _CharT2('0'); } else { if (__c >= _CharT2('0') && __c <= _CharT2('9')) __ret = __c - _CharT2('0'); else if (__c >= _CharT2('a') && __c <= _CharT2('f')) __ret = 10 + (__c - _CharT2('a')); else if (__c >= _CharT2('A') && __c <= _CharT2('F')) __ret = 10 + (__c - _CharT2('A')); } return __ret; } template typename __gnu_cxx::__enable_if::__value, int>::__type _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const { int __ret = -1; const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c); if (__q) { __ret = __q - __zero; if (__ret > 15) __ret -= 6; } return __ret; } # 2211 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const; virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, long&) const; virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, unsigned short&) const; virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, unsigned int&) const; virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, unsigned long&) const; virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, long long&) const; virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, unsigned long long&) const; virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, float&) const; virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, double&) const; virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, long double&) const; virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err, void*&) const; # 2270 "/usr/include/c++/4.3/bits/locale_facets.h" 3 }; template locale::id num_get<_CharT, _InIter>::id; # 2287 "/usr/include/c++/4.3/bits/locale_facets.h" 3 template class num_put : public locale::facet { public: typedef _CharT char_type; typedef _OutIter iter_type; static locale::id id; # 2308 "/usr/include/c++/4.3/bits/locale_facets.h" 3 explicit num_put(size_t __refs = 0) : facet(__refs) { } # 2326 "/usr/include/c++/4.3/bits/locale_facets.h" 3 iter_type put(iter_type __s, ios_base& __f, char_type __fill, bool __v) const { return this->do_put(__s, __f, __fill, __v); } # 2368 "/usr/include/c++/4.3/bits/locale_facets.h" 3 iter_type put(iter_type __s, ios_base& __f, char_type __fill, long __v) const { return this->do_put(__s, __f, __fill, __v); } iter_type put(iter_type __s, ios_base& __f, char_type __fill, unsigned long __v) const { return this->do_put(__s, __f, __fill, __v); } iter_type put(iter_type __s, ios_base& __f, char_type __fill, long long __v) const { return this->do_put(__s, __f, __fill, __v); } iter_type put(iter_type __s, ios_base& __f, char_type __fill, unsigned long long __v) const { return this->do_put(__s, __f, __fill, __v); } # 2431 "/usr/include/c++/4.3/bits/locale_facets.h" 3 iter_type put(iter_type __s, ios_base& __f, char_type __fill, double __v) const { return this->do_put(__s, __f, __fill, __v); } iter_type put(iter_type __s, ios_base& __f, char_type __fill, long double __v) const { return this->do_put(__s, __f, __fill, __v); } # 2456 "/usr/include/c++/4.3/bits/locale_facets.h" 3 iter_type put(iter_type __s, ios_base& __f, char_type __fill, const void* __v) const { return this->do_put(__s, __f, __fill, __v); } protected: template iter_type _M_insert_float(iter_type, ios_base& __io, char_type __fill, char __mod, _ValueT __v) const; void _M_group_float(const char* __grouping, size_t __grouping_size, char_type __sep, const char_type* __p, char_type* __new, char_type* __cs, int& __len) const; template iter_type _M_insert_int(iter_type, ios_base& __io, char_type __fill, _ValueT __v) const; void _M_group_int(const char* __grouping, size_t __grouping_size, char_type __sep, ios_base& __io, char_type* __new, char_type* __cs, int& __len) const; void _M_pad(char_type __fill, streamsize __w, ios_base& __io, char_type* __new, const char_type* __cs, int& __len) const; virtual ~num_put() { }; # 2504 "/usr/include/c++/4.3/bits/locale_facets.h" 3 virtual iter_type do_put(iter_type, ios_base&, char_type __fill, bool __v) const; virtual iter_type do_put(iter_type, ios_base&, char_type __fill, long __v) const; virtual iter_type do_put(iter_type, ios_base&, char_type __fill, unsigned long) const; virtual iter_type do_put(iter_type, ios_base&, char_type __fill, long long __v) const; virtual iter_type do_put(iter_type, ios_base&, char_type __fill, unsigned long long) const; virtual iter_type do_put(iter_type, ios_base&, char_type __fill, double __v) const; virtual iter_type do_put(iter_type, ios_base&, char_type __fill, long double __v) const; virtual iter_type do_put(iter_type, ios_base&, char_type __fill, const void* __v) const; }; template locale::id num_put<_CharT, _OutIter>::id; template inline bool isspace(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::space, __c); } template inline bool isprint(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::print, __c); } template inline bool iscntrl(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::cntrl, __c); } template inline bool isupper(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::upper, __c); } template inline bool islower(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::lower, __c); } template inline bool isalpha(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::alpha, __c); } template inline bool isdigit(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::digit, __c); } template inline bool ispunct(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::punct, __c); } template inline bool isxdigit(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::xdigit, __c); } template inline bool isalnum(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::alnum, __c); } template inline bool isgraph(_CharT __c, const locale& __loc) { return use_facet >(__loc).is(ctype_base::graph, __c); } template inline _CharT toupper(_CharT __c, const locale& __loc) { return use_facet >(__loc).toupper(__c); } template inline _CharT tolower(_CharT __c, const locale& __loc) { return use_facet >(__loc).tolower(__c); } } # 1 "/usr/include/c++/4.3/bits/locale_facets.tcc" 1 3 # 40 "/usr/include/c++/4.3/bits/locale_facets.tcc" 3 # 41 "/usr/include/c++/4.3/bits/locale_facets.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct __use_cache { const _Facet* operator() (const locale& __loc) const; }; template struct __use_cache<__numpunct_cache<_CharT> > { const __numpunct_cache<_CharT>* operator() (const locale& __loc) const { const size_t __i = numpunct<_CharT>::id._M_id(); const locale::facet** __caches = __loc._M_impl->_M_caches; if (!__caches[__i]) { __numpunct_cache<_CharT>* __tmp = __null; try { __tmp = new __numpunct_cache<_CharT>; __tmp->_M_cache(__loc); } catch(...) { delete __tmp; throw; } __loc._M_impl->_M_install_cache(__tmp, __i); } return static_cast*>(__caches[__i]); } }; template void __numpunct_cache<_CharT>::_M_cache(const locale& __loc) { _M_allocated = true; const numpunct<_CharT>& __np = use_facet >(__loc); _M_grouping_size = __np.grouping().size(); char* __grouping = new char[_M_grouping_size]; __np.grouping().copy(__grouping, _M_grouping_size); _M_grouping = __grouping; _M_use_grouping = (_M_grouping_size && static_cast(__np.grouping()[0]) > 0); _M_truename_size = __np.truename().size(); _CharT* __truename = new _CharT[_M_truename_size]; __np.truename().copy(__truename, _M_truename_size); _M_truename = __truename; _M_falsename_size = __np.falsename().size(); _CharT* __falsename = new _CharT[_M_falsename_size]; __np.falsename().copy(__falsename, _M_falsename_size); _M_falsename = __falsename; _M_decimal_point = __np.decimal_point(); _M_thousands_sep = __np.thousands_sep(); const ctype<_CharT>& __ct = use_facet >(__loc); __ct.widen(__num_base::_S_atoms_out, __num_base::_S_atoms_out + __num_base::_S_oend, _M_atoms_out); __ct.widen(__num_base::_S_atoms_in, __num_base::_S_atoms_in + __num_base::_S_iend, _M_atoms_in); } # 124 "/usr/include/c++/4.3/bits/locale_facets.tcc" 3 bool __verify_grouping(const char* __grouping, size_t __grouping_size, const string& __grouping_tmp); template _InIter num_get<_CharT, _InIter>:: _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io, ios_base::iostate& __err, string& __xtrc) const { typedef char_traits<_CharT> __traits_type; typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); const _CharT* __lit = __lc->_M_atoms_in; char_type __c = char_type(); bool __testeof = __beg == __end; if (!__testeof) { __c = *__beg; const bool __plus = __c == __lit[__num_base::_S_iplus]; if ((__plus || __c == __lit[__num_base::_S_iminus]) && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) && !(__c == __lc->_M_decimal_point)) { __xtrc += __plus ? '+' : '-'; if (++__beg != __end) __c = *__beg; else __testeof = true; } } bool __found_mantissa = false; int __sep_pos = 0; while (!__testeof) { if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) || __c == __lc->_M_decimal_point) break; else if (__c == __lit[__num_base::_S_izero]) { if (!__found_mantissa) { __xtrc += '0'; __found_mantissa = true; } ++__sep_pos; if (++__beg != __end) __c = *__beg; else __testeof = true; } else break; } bool __found_dec = false; bool __found_sci = false; string __found_grouping; if (__lc->_M_use_grouping) __found_grouping.reserve(32); const char_type* __lit_zero = __lit + __num_base::_S_izero; if (!__lc->_M_allocated) while (!__testeof) { const int __digit = _M_find(__lit_zero, 10, __c); if (__digit != -1) { __xtrc += '0' + __digit; __found_mantissa = true; } else if (__c == __lc->_M_decimal_point && !__found_dec && !__found_sci) { __xtrc += '.'; __found_dec = true; } else if ((__c == __lit[__num_base::_S_ie] || __c == __lit[__num_base::_S_iE]) && !__found_sci && __found_mantissa) { __xtrc += 'e'; __found_sci = true; if (++__beg != __end) { __c = *__beg; const bool __plus = __c == __lit[__num_base::_S_iplus]; if (__plus || __c == __lit[__num_base::_S_iminus]) __xtrc += __plus ? '+' : '-'; else continue; } else { __testeof = true; break; } } else break; if (++__beg != __end) __c = *__beg; else __testeof = true; } else while (!__testeof) { if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) { if (!__found_dec && !__found_sci) { if (__sep_pos) { __found_grouping += static_cast(__sep_pos); __sep_pos = 0; } else { __xtrc.clear(); break; } } else break; } else if (__c == __lc->_M_decimal_point) { if (!__found_dec && !__found_sci) { if (__found_grouping.size()) __found_grouping += static_cast(__sep_pos); __xtrc += '.'; __found_dec = true; } else break; } else { const char_type* __q = __traits_type::find(__lit_zero, 10, __c); if (__q) { __xtrc += '0' + (__q - __lit_zero); __found_mantissa = true; ++__sep_pos; } else if ((__c == __lit[__num_base::_S_ie] || __c == __lit[__num_base::_S_iE]) && !__found_sci && __found_mantissa) { if (__found_grouping.size() && !__found_dec) __found_grouping += static_cast(__sep_pos); __xtrc += 'e'; __found_sci = true; if (++__beg != __end) { __c = *__beg; const bool __plus = __c == __lit[__num_base::_S_iplus]; if ((__plus || __c == __lit[__num_base::_S_iminus]) && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) && !(__c == __lc->_M_decimal_point)) __xtrc += __plus ? '+' : '-'; else continue; } else { __testeof = true; break; } } else break; } if (++__beg != __end) __c = *__beg; else __testeof = true; } if (__found_grouping.size()) { if (!__found_dec && !__found_sci) __found_grouping += static_cast(__sep_pos); if (!std::__verify_grouping(__lc->_M_grouping, __lc->_M_grouping_size, __found_grouping)) __err |= ios_base::failbit; } if (__testeof) __err |= ios_base::eofbit; return __beg; } template template _InIter num_get<_CharT, _InIter>:: _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io, ios_base::iostate& __err, _ValueT& __v) const { typedef char_traits<_CharT> __traits_type; using __gnu_cxx::__add_unsigned; typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); const _CharT* __lit = __lc->_M_atoms_in; char_type __c = char_type(); const ios_base::fmtflags __basefield = __io.flags() & ios_base::basefield; const bool __oct = __basefield == ios_base::oct; int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10); bool __testeof = __beg == __end; bool __negative = false; if (!__testeof) { __c = *__beg; if (__gnu_cxx::__numeric_traits<_ValueT>::__is_signed) __negative = __c == __lit[__num_base::_S_iminus]; if ((__negative || __c == __lit[__num_base::_S_iplus]) && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) && !(__c == __lc->_M_decimal_point)) { if (++__beg != __end) __c = *__beg; else __testeof = true; } } bool __found_zero = false; int __sep_pos = 0; while (!__testeof) { if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) || __c == __lc->_M_decimal_point) break; else if (__c == __lit[__num_base::_S_izero] && (!__found_zero || __base == 10)) { __found_zero = true; ++__sep_pos; if (__basefield == 0) __base = 8; if (__base == 8) __sep_pos = 0; } else if (__found_zero && (__c == __lit[__num_base::_S_ix] || __c == __lit[__num_base::_S_iX])) { if (__basefield == 0) __base = 16; if (__base == 16) { __found_zero = false; __sep_pos = 0; } else break; } else break; if (++__beg != __end) { __c = *__beg; if (!__found_zero) break; } else __testeof = true; } const size_t __len = (__base == 16 ? __num_base::_S_iend - __num_base::_S_izero : __base); string __found_grouping; if (__lc->_M_use_grouping) __found_grouping.reserve(32); bool __testfail = false; const __unsigned_type __max = __negative ? -__gnu_cxx::__numeric_traits<_ValueT>::__min : __gnu_cxx::__numeric_traits<_ValueT>::__max; const __unsigned_type __smax = __max / __base; __unsigned_type __result = 0; int __digit = 0; const char_type* __lit_zero = __lit + __num_base::_S_izero; if (!__lc->_M_allocated) while (!__testeof) { __digit = _M_find(__lit_zero, __len, __c); if (__digit == -1) break; if (__result > __smax) __testfail = true; else { __result *= __base; __testfail |= __result > __max - __digit; __result += __digit; ++__sep_pos; } if (++__beg != __end) __c = *__beg; else __testeof = true; } else while (!__testeof) { if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep) { if (__sep_pos) { __found_grouping += static_cast(__sep_pos); __sep_pos = 0; } else { __testfail = true; break; } } else if (__c == __lc->_M_decimal_point) break; else { const char_type* __q = __traits_type::find(__lit_zero, __len, __c); if (!__q) break; __digit = __q - __lit_zero; if (__digit > 15) __digit -= 6; if (__result > __smax) __testfail = true; else { __result *= __base; __testfail |= __result > __max - __digit; __result += __digit; ++__sep_pos; } } if (++__beg != __end) __c = *__beg; else __testeof = true; } if (__found_grouping.size()) { __found_grouping += static_cast(__sep_pos); if (!std::__verify_grouping(__lc->_M_grouping, __lc->_M_grouping_size, __found_grouping)) __err |= ios_base::failbit; } if (!__testfail && (__sep_pos || __found_zero || __found_grouping.size())) __v = __negative ? -__result : __result; else __err |= ios_base::failbit; if (__testeof) __err |= ios_base::eofbit; return __beg; } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, bool& __v) const { if (!(__io.flags() & ios_base::boolalpha)) { long __l = -1; __beg = _M_extract_int(__beg, __end, __io, __err, __l); if (__l == 0 || __l == 1) __v = bool(__l); else __err |= ios_base::failbit; } else { typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); bool __testf = true; bool __testt = true; size_t __n; bool __testeof = __beg == __end; for (__n = 0; !__testeof; ++__n) { const char_type __c = *__beg; if (__testf) { if (__n < __lc->_M_falsename_size) __testf = __c == __lc->_M_falsename[__n]; else break; } if (__testt) { if (__n < __lc->_M_truename_size) __testt = __c == __lc->_M_truename[__n]; else break; } if (!__testf && !__testt) break; if (++__beg == __end) __testeof = true; } if (__testf && __n == __lc->_M_falsename_size) __v = false; else if (__testt && __n == __lc->_M_truename_size) __v = true; else __err |= ios_base::failbit; if (__testeof) __err |= ios_base::eofbit; } return __beg; } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, long& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned short& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned int& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned long& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, long long& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned long long& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, float& __v) const { string __xtrc; __xtrc.reserve(32); __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); return __beg; } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, double& __v) const { string __xtrc; __xtrc.reserve(32); __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); return __beg; } # 717 "/usr/include/c++/4.3/bits/locale_facets.tcc" 3 template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, long double& __v) const { string __xtrc; __xtrc.reserve(32); __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); return __beg; } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, void*& __v) const { typedef ios_base::fmtflags fmtflags; const fmtflags __fmt = __io.flags(); __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex); typedef __gnu_cxx::__conditional_type<(sizeof(void*) <= sizeof(unsigned long)), unsigned long, unsigned long long>::__type _UIntPtrType; _UIntPtrType __ul; __beg = _M_extract_int(__beg, __end, __io, __err, __ul); __io.flags(__fmt); if (!(__err & ios_base::failbit)) __v = reinterpret_cast(__ul); return __beg; } template void num_put<_CharT, _OutIter>:: _M_pad(_CharT __fill, streamsize __w, ios_base& __io, _CharT* __new, const _CharT* __cs, int& __len) const { __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new, __cs, __w, __len); __len = static_cast(__w); } template int __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit, ios_base::fmtflags __flags, bool __dec) { _CharT* __buf = __bufend; if (__builtin_expect(__dec, true)) { do { *--__buf = __lit[(__v % 10) + __num_base::_S_odigits]; __v /= 10; } while (__v != 0); } else if ((__flags & ios_base::basefield) == ios_base::oct) { do { *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits]; __v >>= 3; } while (__v != 0); } else { const bool __uppercase = __flags & ios_base::uppercase; const int __case_offset = __uppercase ? __num_base::_S_oudigits : __num_base::_S_odigits; do { *--__buf = __lit[(__v & 0xf) + __case_offset]; __v >>= 4; } while (__v != 0); } return __bufend - __buf; } template void num_put<_CharT, _OutIter>:: _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep, ios_base&, _CharT* __new, _CharT* __cs, int& __len) const { _CharT* __p = std::__add_grouping(__new, __sep, __grouping, __grouping_size, __cs, __cs + __len); __len = __p - __new; } template template _OutIter num_put<_CharT, _OutIter>:: _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill, _ValueT __v) const { using __gnu_cxx::__add_unsigned; typedef typename __add_unsigned<_ValueT>::__type __unsigned_type; typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); const _CharT* __lit = __lc->_M_atoms_out; const ios_base::fmtflags __flags = __io.flags(); const int __ilen = 5 * sizeof(_ValueT); _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __ilen)); const ios_base::fmtflags __basefield = __flags & ios_base::basefield; const bool __dec = (__basefield != ios_base::oct && __basefield != ios_base::hex); const __unsigned_type __u = ((__v > 0 || !__dec) ? __unsigned_type(__v) : -__unsigned_type(__v)); int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec); __cs += __ilen - __len; if (__lc->_M_use_grouping) { _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * (__len + 1) * 2)); _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size, __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len); __cs = __cs2 + 2; } if (__builtin_expect(__dec, true)) { if (__v >= 0) { if (bool(__flags & ios_base::showpos) && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) *--__cs = __lit[__num_base::_S_oplus], ++__len; } else *--__cs = __lit[__num_base::_S_ominus], ++__len; } else if (bool(__flags & ios_base::showbase) && __v) { if (__basefield == ios_base::oct) *--__cs = __lit[__num_base::_S_odigits], ++__len; else { const bool __uppercase = __flags & ios_base::uppercase; *--__cs = __lit[__num_base::_S_ox + __uppercase]; *--__cs = __lit[__num_base::_S_odigits]; __len += 2; } } const streamsize __w = __io.width(); if (__w > static_cast(__len)) { _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w)); _M_pad(__fill, __w, __io, __cs3, __cs, __len); __cs = __cs3; } __io.width(0); return std::__write(__s, __cs, __len); } template void num_put<_CharT, _OutIter>:: _M_group_float(const char* __grouping, size_t __grouping_size, _CharT __sep, const _CharT* __p, _CharT* __new, _CharT* __cs, int& __len) const { const int __declen = __p ? __p - __cs : __len; _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping, __grouping_size, __cs, __cs + __declen); int __newlen = __p2 - __new; if (__p) { char_traits<_CharT>::copy(__p2, __p, __len - __declen); __newlen += __len - __declen; } __len = __newlen; } # 952 "/usr/include/c++/4.3/bits/locale_facets.tcc" 3 template template _OutIter num_put<_CharT, _OutIter>:: _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod, _ValueT __v) const { typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision(); const int __max_digits = __gnu_cxx::__numeric_traits<_ValueT>::__digits10; int __len; char __fbuf[16]; __num_base::_S_format_float(__io, __fbuf, __mod); int __cs_size = __max_digits * 3; char* __cs = static_cast(__builtin_alloca(__cs_size)); __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, __fbuf, __prec, __v); if (__len >= __cs_size) { __cs_size = __len + 1; __cs = static_cast(__builtin_alloca(__cs_size)); __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, __fbuf, __prec, __v); } # 1013 "/usr/include/c++/4.3/bits/locale_facets.tcc" 3 const ctype<_CharT>& __ctype = use_facet >(__loc); _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __len)); __ctype.widen(__cs, __cs + __len, __ws); _CharT* __wp = 0; const char* __p = char_traits::find(__cs, __len, '.'); if (__p) { __wp = __ws + (__p - __cs); *__wp = __lc->_M_decimal_point; } if (__lc->_M_use_grouping && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9' && __cs[1] >= '0' && __cs[2] >= '0'))) { _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __len * 2)); streamsize __off = 0; if (__cs[0] == '-' || __cs[0] == '+') { __off = 1; __ws2[0] = __ws[0]; __len -= 1; } _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size, __lc->_M_thousands_sep, __wp, __ws2 + __off, __ws + __off, __len); __len += __off; __ws = __ws2; } const streamsize __w = __io.width(); if (__w > static_cast(__len)) { _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w)); _M_pad(__fill, __w, __io, __ws3, __ws, __len); __ws = __ws3; } __io.width(0); return std::__write(__s, __ws, __len); } template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const { const ios_base::fmtflags __flags = __io.flags(); if ((__flags & ios_base::boolalpha) == 0) { const long __l = __v; __s = _M_insert_int(__s, __io, __fill, __l); } else { typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); const _CharT* __name = __v ? __lc->_M_truename : __lc->_M_falsename; int __len = __v ? __lc->_M_truename_size : __lc->_M_falsename_size; const streamsize __w = __io.width(); if (__w > static_cast(__len)) { _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w)); _M_pad(__fill, __w, __io, __cs, __name, __len); __name = __cs; } __io.width(0); __s = std::__write(__s, __name, __len); } return __s; } template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const { return _M_insert_int(__s, __io, __fill, __v); } template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, unsigned long __v) const { return _M_insert_int(__s, __io, __fill, __v); } template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const { return _M_insert_int(__s, __io, __fill, __v); } template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, unsigned long long __v) const { return _M_insert_int(__s, __io, __fill, __v); } template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const { return _M_insert_float(__s, __io, __fill, char(), __v); } # 1152 "/usr/include/c++/4.3/bits/locale_facets.tcc" 3 template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, long double __v) const { return _M_insert_float(__s, __io, __fill, 'L', __v); } template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, const void* __v) const { const ios_base::fmtflags __flags = __io.flags(); const ios_base::fmtflags __fmt = ~(ios_base::basefield | ios_base::uppercase | ios_base::internal); __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase)); typedef __gnu_cxx::__conditional_type<(sizeof(const void*) <= sizeof(unsigned long)), unsigned long, unsigned long long>::__type _UIntPtrType; __s = _M_insert_int(__s, __io, __fill, reinterpret_cast<_UIntPtrType>(__v)); __io.flags(__flags); return __s; } # 1190 "/usr/include/c++/4.3/bits/locale_facets.tcc" 3 template void __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill, _CharT* __news, const _CharT* __olds, const streamsize __newlen, const streamsize __oldlen) { const size_t __plen = static_cast(__newlen - __oldlen); const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield; if (__adjust == ios_base::left) { _Traits::copy(__news, __olds, __oldlen); _Traits::assign(__news + __oldlen, __plen, __fill); return; } size_t __mod = 0; if (__adjust == ios_base::internal) { const locale& __loc = __io._M_getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); if (__ctype.widen('-') == __olds[0] || __ctype.widen('+') == __olds[0]) { __news[0] = __olds[0]; __mod = 1; ++__news; } else if (__ctype.widen('0') == __olds[0] && __oldlen > 1 && (__ctype.widen('x') == __olds[1] || __ctype.widen('X') == __olds[1])) { __news[0] = __olds[0]; __news[1] = __olds[1]; __mod = 2; __news += 2; } } _Traits::assign(__news, __plen, __fill); _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod); } template _CharT* __add_grouping(_CharT* __s, _CharT __sep, const char* __gbeg, size_t __gsize, const _CharT* __first, const _CharT* __last) { size_t __idx = 0; size_t __ctr = 0; while (__last - __first > __gbeg[__idx] && static_cast(__gbeg[__idx]) > 0) { __last -= __gbeg[__idx]; __idx < __gsize - 1 ? ++__idx : ++__ctr; } while (__first != __last) *__s++ = *__first++; while (__ctr--) { *__s++ = __sep; for (char __i = __gbeg[__idx]; __i > 0; --__i) *__s++ = *__first++; } while (__idx--) { *__s++ = __sep; for (char __i = __gbeg[__idx]; __i > 0; --__i) *__s++ = *__first++; } return __s; } extern template class numpunct; extern template class numpunct_byname; extern template class num_get; extern template class num_put; extern template class ctype_byname; extern template const numpunct& use_facet >(const locale&); extern template const num_put& use_facet >(const locale&); extern template const num_get& use_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template class numpunct; extern template class numpunct_byname; extern template class num_get; extern template class num_put; extern template class ctype_byname; extern template const numpunct& use_facet >(const locale&); extern template const num_put& use_facet >(const locale&); extern template const num_get& use_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); } # 2636 "/usr/include/c++/4.3/bits/locale_facets.h" 2 3 # 45 "/usr/include/c++/4.3/bits/basic_ios.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline const _Facet& __check_facet(const _Facet* __f) { if (!__f) __throw_bad_cast(); return *__f; } # 65 "/usr/include/c++/4.3/bits/basic_ios.h" 3 template class basic_ios : public ios_base { public: typedef _CharT char_type; typedef typename _Traits::int_type int_type; typedef typename _Traits::pos_type pos_type; typedef typename _Traits::off_type off_type; typedef _Traits traits_type; typedef ctype<_CharT> __ctype_type; typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > __num_put_type; typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > __num_get_type; protected: basic_ostream<_CharT, _Traits>* _M_tie; mutable char_type _M_fill; mutable bool _M_fill_init; basic_streambuf<_CharT, _Traits>* _M_streambuf; const __ctype_type* _M_ctype; const __num_put_type* _M_num_put; const __num_get_type* _M_num_get; public: operator void*() const { return this->fail() ? 0 : const_cast(this); } bool operator!() const { return this->fail(); } # 130 "/usr/include/c++/4.3/bits/basic_ios.h" 3 iostate rdstate() const { return _M_streambuf_state; } # 141 "/usr/include/c++/4.3/bits/basic_ios.h" 3 void clear(iostate __state = goodbit); void setstate(iostate __state) { this->clear(this->rdstate() | __state); } void _M_setstate(iostate __state) { _M_streambuf_state |= __state; if (this->exceptions() & __state) throw; } bool good() const { return this->rdstate() == 0; } bool eof() const { return (this->rdstate() & eofbit) != 0; } # 194 "/usr/include/c++/4.3/bits/basic_ios.h" 3 bool fail() const { return (this->rdstate() & (badbit | failbit)) != 0; } bool bad() const { return (this->rdstate() & badbit) != 0; } # 215 "/usr/include/c++/4.3/bits/basic_ios.h" 3 iostate exceptions() const { return _M_exception; } # 250 "/usr/include/c++/4.3/bits/basic_ios.h" 3 void exceptions(iostate __except) { _M_exception = __except; this->clear(_M_streambuf_state); } explicit basic_ios(basic_streambuf<_CharT, _Traits>* __sb) : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) { this->init(__sb); } virtual ~basic_ios() { } # 288 "/usr/include/c++/4.3/bits/basic_ios.h" 3 basic_ostream<_CharT, _Traits>* tie() const { return _M_tie; } # 300 "/usr/include/c++/4.3/bits/basic_ios.h" 3 basic_ostream<_CharT, _Traits>* tie(basic_ostream<_CharT, _Traits>* __tiestr) { basic_ostream<_CharT, _Traits>* __old = _M_tie; _M_tie = __tiestr; return __old; } basic_streambuf<_CharT, _Traits>* rdbuf() const { return _M_streambuf; } # 340 "/usr/include/c++/4.3/bits/basic_ios.h" 3 basic_streambuf<_CharT, _Traits>* rdbuf(basic_streambuf<_CharT, _Traits>* __sb); # 354 "/usr/include/c++/4.3/bits/basic_ios.h" 3 basic_ios& copyfmt(const basic_ios& __rhs); char_type fill() const { if (!_M_fill_init) { _M_fill = this->widen(' '); _M_fill_init = true; } return _M_fill; } # 383 "/usr/include/c++/4.3/bits/basic_ios.h" 3 char_type fill(char_type __ch) { char_type __old = this->fill(); _M_fill = __ch; return __old; } # 403 "/usr/include/c++/4.3/bits/basic_ios.h" 3 locale imbue(const locale& __loc); # 423 "/usr/include/c++/4.3/bits/basic_ios.h" 3 char narrow(char_type __c, char __dfault) const { return __check_facet(_M_ctype).narrow(__c, __dfault); } # 442 "/usr/include/c++/4.3/bits/basic_ios.h" 3 char_type widen(char __c) const { return __check_facet(_M_ctype).widen(__c); } protected: basic_ios() : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false), _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) { } void init(basic_streambuf<_CharT, _Traits>* __sb); void _M_cache_locale(const locale& __loc); }; } # 1 "/usr/include/c++/4.3/bits/basic_ios.tcc" 1 3 # 39 "/usr/include/c++/4.3/bits/basic_ios.tcc" 3 # 40 "/usr/include/c++/4.3/bits/basic_ios.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template void basic_ios<_CharT, _Traits>::clear(iostate __state) { if (this->rdbuf()) _M_streambuf_state = __state; else _M_streambuf_state = __state | badbit; if (this->exceptions() & this->rdstate()) __throw_ios_failure(("basic_ios::clear")); } template basic_streambuf<_CharT, _Traits>* basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb) { basic_streambuf<_CharT, _Traits>* __old = _M_streambuf; _M_streambuf = __sb; this->clear(); return __old; } template basic_ios<_CharT, _Traits>& basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs) { if (this != &__rhs) { _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ? _M_local_word : new _Words[__rhs._M_word_size]; _Callback_list* __cb = __rhs._M_callbacks; if (__cb) __cb->_M_add_reference(); _M_call_callbacks(erase_event); if (_M_word != _M_local_word) { delete [] _M_word; _M_word = 0; } _M_dispose_callbacks(); _M_callbacks = __cb; for (int __i = 0; __i < __rhs._M_word_size; ++__i) __words[__i] = __rhs._M_word[__i]; _M_word = __words; _M_word_size = __rhs._M_word_size; this->flags(__rhs.flags()); this->width(__rhs.width()); this->precision(__rhs.precision()); this->tie(__rhs.tie()); this->fill(__rhs.fill()); _M_ios_locale = __rhs.getloc(); _M_cache_locale(_M_ios_locale); _M_call_callbacks(copyfmt_event); this->exceptions(__rhs.exceptions()); } return *this; } template locale basic_ios<_CharT, _Traits>::imbue(const locale& __loc) { locale __old(this->getloc()); ios_base::imbue(__loc); _M_cache_locale(__loc); if (this->rdbuf() != 0) this->rdbuf()->pubimbue(__loc); return __old; } template void basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb) { ios_base::_M_init(); _M_cache_locale(_M_ios_locale); # 150 "/usr/include/c++/4.3/bits/basic_ios.tcc" 3 _M_fill = _CharT(); _M_fill_init = false; _M_tie = 0; _M_exception = goodbit; _M_streambuf = __sb; _M_streambuf_state = __sb ? goodbit : badbit; } template void basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc) { if (__builtin_expect(has_facet<__ctype_type>(__loc), true)) _M_ctype = &use_facet<__ctype_type>(__loc); else _M_ctype = 0; if (__builtin_expect(has_facet<__num_put_type>(__loc), true)) _M_num_put = &use_facet<__num_put_type>(__loc); else _M_num_put = 0; if (__builtin_expect(has_facet<__num_get_type>(__loc), true)) _M_num_get = &use_facet<__num_get_type>(__loc); else _M_num_get = 0; } extern template class basic_ios; extern template class basic_ios; } # 476 "/usr/include/c++/4.3/bits/basic_ios.h" 2 3 # 51 "/usr/include/c++/4.3/ios" 2 3 # 46 "/usr/include/c++/4.3/istream" 2 3 # 1 "/usr/include/c++/4.3/ostream" 1 3 # 43 "/usr/include/c++/4.3/ostream" 3 # 44 "/usr/include/c++/4.3/ostream" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 58 "/usr/include/c++/4.3/ostream" 3 template class basic_ostream : virtual public basic_ios<_CharT, _Traits> { public: typedef _CharT char_type; typedef typename _Traits::int_type int_type; typedef typename _Traits::pos_type pos_type; typedef typename _Traits::off_type off_type; typedef _Traits traits_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef basic_ios<_CharT, _Traits> __ios_type; typedef basic_ostream<_CharT, _Traits> __ostream_type; typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > __num_put_type; typedef ctype<_CharT> __ctype_type; # 85 "/usr/include/c++/4.3/ostream" 3 explicit basic_ostream(__streambuf_type* __sb) { this->init(__sb); } virtual ~basic_ostream() { } class sentry; friend class sentry; # 111 "/usr/include/c++/4.3/ostream" 3 __ostream_type& operator<<(__ostream_type& (*__pf)(__ostream_type&)) { return __pf(*this); } __ostream_type& operator<<(__ios_type& (*__pf)(__ios_type&)) { __pf(*this); return *this; } __ostream_type& operator<<(ios_base& (*__pf) (ios_base&)) { __pf(*this); return *this; } # 168 "/usr/include/c++/4.3/ostream" 3 __ostream_type& operator<<(long __n) { return _M_insert(__n); } __ostream_type& operator<<(unsigned long __n) { return _M_insert(__n); } __ostream_type& operator<<(bool __n) { return _M_insert(__n); } __ostream_type& operator<<(short __n); __ostream_type& operator<<(unsigned short __n) { return _M_insert(static_cast(__n)); } __ostream_type& operator<<(int __n); __ostream_type& operator<<(unsigned int __n) { return _M_insert(static_cast(__n)); } __ostream_type& operator<<(long long __n) { return _M_insert(__n); } __ostream_type& operator<<(unsigned long long __n) { return _M_insert(__n); } __ostream_type& operator<<(double __f) { return _M_insert(__f); } __ostream_type& operator<<(float __f) { return _M_insert(static_cast(__f)); } __ostream_type& operator<<(long double __f) { return _M_insert(__f); } __ostream_type& operator<<(const void* __p) { return _M_insert(__p); } # 253 "/usr/include/c++/4.3/ostream" 3 __ostream_type& operator<<(__streambuf_type* __sb); # 286 "/usr/include/c++/4.3/ostream" 3 __ostream_type& put(char_type __c); void _M_write(const char_type* __s, streamsize __n) { const streamsize __put = this->rdbuf()->sputn(__s, __n); if (__put != __n) this->setstate(ios_base::badbit); } # 314 "/usr/include/c++/4.3/ostream" 3 __ostream_type& write(const char_type* __s, streamsize __n); # 327 "/usr/include/c++/4.3/ostream" 3 __ostream_type& flush(); # 338 "/usr/include/c++/4.3/ostream" 3 pos_type tellp(); # 349 "/usr/include/c++/4.3/ostream" 3 __ostream_type& seekp(pos_type); # 361 "/usr/include/c++/4.3/ostream" 3 __ostream_type& seekp(off_type, ios_base::seekdir); protected: basic_ostream() { this->init(0); } template __ostream_type& _M_insert(_ValueT __v); }; # 383 "/usr/include/c++/4.3/ostream" 3 template class basic_ostream<_CharT, _Traits>::sentry { bool _M_ok; basic_ostream<_CharT, _Traits>& _M_os; public: # 402 "/usr/include/c++/4.3/ostream" 3 explicit sentry(basic_ostream<_CharT, _Traits>& __os); # 412 "/usr/include/c++/4.3/ostream" 3 ~sentry() { if (bool(_M_os.flags() & ios_base::unitbuf) && !uncaught_exception()) { if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1) _M_os.setstate(ios_base::badbit); } } # 430 "/usr/include/c++/4.3/ostream" 3 operator bool() const { return _M_ok; } }; # 451 "/usr/include/c++/4.3/ostream" 3 template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) { return __ostream_insert(__out, &__c, 1); } template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) { return (__out << __out.widen(__c)); } template inline basic_ostream& operator<<(basic_ostream& __out, char __c) { return __ostream_insert(__out, &__c, 1); } template inline basic_ostream& operator<<(basic_ostream& __out, signed char __c) { return (__out << static_cast(__c)); } template inline basic_ostream& operator<<(basic_ostream& __out, unsigned char __c) { return (__out << static_cast(__c)); } # 493 "/usr/include/c++/4.3/ostream" 3 template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) { if (!__s) __out.setstate(ios_base::badbit); else __ostream_insert(__out, __s, static_cast(_Traits::length(__s))); return __out; } template basic_ostream<_CharT, _Traits> & operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s); template inline basic_ostream& operator<<(basic_ostream& __out, const char* __s) { if (!__s) __out.setstate(ios_base::badbit); else __ostream_insert(__out, __s, static_cast(_Traits::length(__s))); return __out; } template inline basic_ostream& operator<<(basic_ostream& __out, const signed char* __s) { return (__out << reinterpret_cast(__s)); } template inline basic_ostream & operator<<(basic_ostream& __out, const unsigned char* __s) { return (__out << reinterpret_cast(__s)); } # 543 "/usr/include/c++/4.3/ostream" 3 template inline basic_ostream<_CharT, _Traits>& endl(basic_ostream<_CharT, _Traits>& __os) { return flush(__os.put(__os.widen('\n'))); } template inline basic_ostream<_CharT, _Traits>& ends(basic_ostream<_CharT, _Traits>& __os) { return __os.put(_CharT()); } template inline basic_ostream<_CharT, _Traits>& flush(basic_ostream<_CharT, _Traits>& __os) { return __os.flush(); } } # 1 "/usr/include/c++/4.3/bits/ostream.tcc" 1 3 # 44 "/usr/include/c++/4.3/bits/ostream.tcc" 3 # 45 "/usr/include/c++/4.3/bits/ostream.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template basic_ostream<_CharT, _Traits>::sentry:: sentry(basic_ostream<_CharT, _Traits>& __os) : _M_ok(false), _M_os(__os) { if (__os.tie() && __os.good()) __os.tie()->flush(); if (__os.good()) _M_ok = true; else __os.setstate(ios_base::failbit); } template template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: _M_insert(_ValueT __v) { sentry __cerb(*this); if (__cerb) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); try { const __num_put_type& __np = __check_facet(this->_M_num_put); if (__np.put(*this, *this, this->fill(), __v).failed()) __err |= ios_base::badbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: operator<<(short __n) { const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; if (__fmt == ios_base::oct || __fmt == ios_base::hex) return _M_insert(static_cast(static_cast(__n))); else return _M_insert(static_cast(__n)); } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: operator<<(int __n) { const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield; if (__fmt == ios_base::oct || __fmt == ios_base::hex) return _M_insert(static_cast(static_cast(__n))); else return _M_insert(static_cast(__n)); } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: operator<<(__streambuf_type* __sbin) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); sentry __cerb(*this); if (__cerb && __sbin) { try { if (!__copy_streambufs(__sbin, this->rdbuf())) __err |= ios_base::failbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::failbit); } } else if (!__sbin) __err |= ios_base::badbit; if (__err) this->setstate(__err); return *this; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: put(char_type __c) { sentry __cerb(*this); if (__cerb) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); try { const int_type __put = this->rdbuf()->sputc(__c); if (traits_type::eq_int_type(__put, traits_type::eof())) __err |= ios_base::badbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: write(const _CharT* __s, streamsize __n) { sentry __cerb(*this); if (__cerb) { try { _M_write(__s, __n); } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } } return *this; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: flush() { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); try { if (this->rdbuf() && this->rdbuf()->pubsync() == -1) __err |= ios_base::badbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); return *this; } template typename basic_ostream<_CharT, _Traits>::pos_type basic_ostream<_CharT, _Traits>:: tellp() { pos_type __ret = pos_type(-1); try { if (!this->fail()) __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out); } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } return __ret; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: seekp(pos_type __pos) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); try { if (!this->fail()) { const pos_type __p = this->rdbuf()->pubseekpos(__pos, ios_base::out); if (__p == pos_type(off_type(-1))) __err |= ios_base::failbit; } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); return *this; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: seekp(off_type __off, ios_base::seekdir __dir) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); try { if (!this->fail()) { const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, ios_base::out); if (__p == pos_type(off_type(-1))) __err |= ios_base::failbit; } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); return *this; } template basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) { if (!__s) __out.setstate(ios_base::badbit); else { const size_t __clen = char_traits::length(__s); try { struct __ptr_guard { _CharT *__p; __ptr_guard (_CharT *__ip): __p(__ip) { } ~__ptr_guard() { delete[] __p; } _CharT* __get() { return __p; } } __pg (new _CharT[__clen]); _CharT *__ws = __pg.__get(); for (size_t __i = 0; __i < __clen; ++__i) __ws[__i] = __out.widen(__s[__i]); __ostream_insert(__out, __ws, __clen); } catch(__cxxabiv1::__forced_unwind&) { __out._M_setstate(ios_base::badbit); throw; } catch(...) { __out._M_setstate(ios_base::badbit); } } return __out; } extern template class basic_ostream; extern template ostream& endl(ostream&); extern template ostream& ends(ostream&); extern template ostream& flush(ostream&); extern template ostream& operator<<(ostream&, char); extern template ostream& operator<<(ostream&, unsigned char); extern template ostream& operator<<(ostream&, signed char); extern template ostream& operator<<(ostream&, const char*); extern template ostream& operator<<(ostream&, const unsigned char*); extern template ostream& operator<<(ostream&, const signed char*); extern template ostream& ostream::_M_insert(long); extern template ostream& ostream::_M_insert(unsigned long); extern template ostream& ostream::_M_insert(bool); extern template ostream& ostream::_M_insert(long long); extern template ostream& ostream::_M_insert(unsigned long long); extern template ostream& ostream::_M_insert(double); extern template ostream& ostream::_M_insert(long double); extern template ostream& ostream::_M_insert(const void*); extern template class basic_ostream; extern template wostream& endl(wostream&); extern template wostream& ends(wostream&); extern template wostream& flush(wostream&); extern template wostream& operator<<(wostream&, wchar_t); extern template wostream& operator<<(wostream&, char); extern template wostream& operator<<(wostream&, const wchar_t*); extern template wostream& operator<<(wostream&, const char*); extern template wostream& wostream::_M_insert(long); extern template wostream& wostream::_M_insert(unsigned long); extern template wostream& wostream::_M_insert(bool); extern template wostream& wostream::_M_insert(long long); extern template wostream& wostream::_M_insert(unsigned long long); extern template wostream& wostream::_M_insert(double); extern template wostream& wostream::_M_insert(long double); extern template wostream& wostream::_M_insert(const void*); } # 573 "/usr/include/c++/4.3/ostream" 2 3 # 47 "/usr/include/c++/4.3/istream" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 58 "/usr/include/c++/4.3/istream" 3 template class basic_istream : virtual public basic_ios<_CharT, _Traits> { public: typedef _CharT char_type; typedef typename _Traits::int_type int_type; typedef typename _Traits::pos_type pos_type; typedef typename _Traits::off_type off_type; typedef _Traits traits_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef basic_ios<_CharT, _Traits> __ios_type; typedef basic_istream<_CharT, _Traits> __istream_type; typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > __num_get_type; typedef ctype<_CharT> __ctype_type; protected: streamsize _M_gcount; public: # 94 "/usr/include/c++/4.3/istream" 3 explicit basic_istream(__streambuf_type* __sb) : _M_gcount(streamsize(0)) { this->init(__sb); } virtual ~basic_istream() { _M_gcount = streamsize(0); } class sentry; friend class sentry; # 122 "/usr/include/c++/4.3/istream" 3 __istream_type& operator>>(__istream_type& (*__pf)(__istream_type&)) { return __pf(*this); } __istream_type& operator>>(__ios_type& (*__pf)(__ios_type&)) { __pf(*this); return *this; } __istream_type& operator>>(ios_base& (*__pf)(ios_base&)) { __pf(*this); return *this; } # 169 "/usr/include/c++/4.3/istream" 3 __istream_type& operator>>(bool& __n) { return _M_extract(__n); } __istream_type& operator>>(short& __n); __istream_type& operator>>(unsigned short& __n) { return _M_extract(__n); } __istream_type& operator>>(int& __n); __istream_type& operator>>(unsigned int& __n) { return _M_extract(__n); } __istream_type& operator>>(long& __n) { return _M_extract(__n); } __istream_type& operator>>(unsigned long& __n) { return _M_extract(__n); } __istream_type& operator>>(long long& __n) { return _M_extract(__n); } __istream_type& operator>>(unsigned long long& __n) { return _M_extract(__n); } __istream_type& operator>>(float& __f) { return _M_extract(__f); } __istream_type& operator>>(double& __f) { return _M_extract(__f); } __istream_type& operator>>(long double& __f) { return _M_extract(__f); } __istream_type& operator>>(void*& __p) { return _M_extract(__p); } # 241 "/usr/include/c++/4.3/istream" 3 __istream_type& operator>>(__streambuf_type* __sb); # 251 "/usr/include/c++/4.3/istream" 3 streamsize gcount() const { return _M_gcount; } # 283 "/usr/include/c++/4.3/istream" 3 int_type get(); # 297 "/usr/include/c++/4.3/istream" 3 __istream_type& get(char_type& __c); # 324 "/usr/include/c++/4.3/istream" 3 __istream_type& get(char_type* __s, streamsize __n, char_type __delim); # 335 "/usr/include/c++/4.3/istream" 3 __istream_type& get(char_type* __s, streamsize __n) { return this->get(__s, __n, this->widen('\n')); } # 358 "/usr/include/c++/4.3/istream" 3 __istream_type& get(__streambuf_type& __sb, char_type __delim); # 368 "/usr/include/c++/4.3/istream" 3 __istream_type& get(__streambuf_type& __sb) { return this->get(__sb, this->widen('\n')); } # 397 "/usr/include/c++/4.3/istream" 3 __istream_type& getline(char_type* __s, streamsize __n, char_type __delim); # 408 "/usr/include/c++/4.3/istream" 3 __istream_type& getline(char_type* __s, streamsize __n) { return this->getline(__s, __n, this->widen('\n')); } # 432 "/usr/include/c++/4.3/istream" 3 __istream_type& ignore(); __istream_type& ignore(streamsize __n); __istream_type& ignore(streamsize __n, int_type __delim); # 449 "/usr/include/c++/4.3/istream" 3 int_type peek(); # 467 "/usr/include/c++/4.3/istream" 3 __istream_type& read(char_type* __s, streamsize __n); # 486 "/usr/include/c++/4.3/istream" 3 streamsize readsome(char_type* __s, streamsize __n); # 502 "/usr/include/c++/4.3/istream" 3 __istream_type& putback(char_type __c); # 517 "/usr/include/c++/4.3/istream" 3 __istream_type& unget(); # 535 "/usr/include/c++/4.3/istream" 3 int sync(); # 549 "/usr/include/c++/4.3/istream" 3 pos_type tellg(); # 564 "/usr/include/c++/4.3/istream" 3 __istream_type& seekg(pos_type); # 580 "/usr/include/c++/4.3/istream" 3 __istream_type& seekg(off_type, ios_base::seekdir); protected: basic_istream() : _M_gcount(streamsize(0)) { this->init(0); } template __istream_type& _M_extract(_ValueT& __v); }; template<> basic_istream& basic_istream:: getline(char_type* __s, streamsize __n, char_type __delim); template<> basic_istream& basic_istream:: ignore(streamsize __n); template<> basic_istream& basic_istream:: ignore(streamsize __n, int_type __delim); template<> basic_istream& basic_istream:: getline(char_type* __s, streamsize __n, char_type __delim); template<> basic_istream& basic_istream:: ignore(streamsize __n); template<> basic_istream& basic_istream:: ignore(streamsize __n, int_type __delim); # 638 "/usr/include/c++/4.3/istream" 3 template class basic_istream<_CharT, _Traits>::sentry { public: typedef _Traits traits_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::__ctype_type __ctype_type; typedef typename _Traits::int_type __int_type; # 670 "/usr/include/c++/4.3/istream" 3 explicit sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false); # 680 "/usr/include/c++/4.3/istream" 3 operator bool() const { return _M_ok; } private: bool _M_ok; }; # 700 "/usr/include/c++/4.3/istream" 3 template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c); template inline basic_istream& operator>>(basic_istream& __in, unsigned char& __c) { return (__in >> reinterpret_cast(__c)); } template inline basic_istream& operator>>(basic_istream& __in, signed char& __c) { return (__in >> reinterpret_cast(__c)); } # 741 "/usr/include/c++/4.3/istream" 3 template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s); template<> basic_istream& operator>>(basic_istream& __in, char* __s); template inline basic_istream& operator>>(basic_istream& __in, unsigned char* __s) { return (__in >> reinterpret_cast(__s)); } template inline basic_istream& operator>>(basic_istream& __in, signed char* __s) { return (__in >> reinterpret_cast(__s)); } # 768 "/usr/include/c++/4.3/istream" 3 template class basic_iostream : public basic_istream<_CharT, _Traits>, public basic_ostream<_CharT, _Traits> { public: typedef _CharT char_type; typedef typename _Traits::int_type int_type; typedef typename _Traits::pos_type pos_type; typedef typename _Traits::off_type off_type; typedef _Traits traits_type; typedef basic_istream<_CharT, _Traits> __istream_type; typedef basic_ostream<_CharT, _Traits> __ostream_type; explicit basic_iostream(basic_streambuf<_CharT, _Traits>* __sb) : __istream_type(__sb), __ostream_type(__sb) { } virtual ~basic_iostream() { } protected: basic_iostream() : __istream_type(), __ostream_type() { } }; # 829 "/usr/include/c++/4.3/istream" 3 template basic_istream<_CharT, _Traits>& ws(basic_istream<_CharT, _Traits>& __is); } # 1 "/usr/include/c++/4.3/bits/istream.tcc" 1 3 # 44 "/usr/include/c++/4.3/bits/istream.tcc" 3 # 45 "/usr/include/c++/4.3/bits/istream.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template basic_istream<_CharT, _Traits>::sentry:: sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); if (__in.good()) { if (__in.tie()) __in.tie()->flush(); if (!__noskip && bool(__in.flags() & ios_base::skipws)) { const __int_type __eof = traits_type::eof(); __streambuf_type* __sb = __in.rdbuf(); __int_type __c = __sb->sgetc(); const __ctype_type& __ct = __check_facet(__in._M_ctype); while (!traits_type::eq_int_type(__c, __eof) && __ct.is(ctype_base::space, traits_type::to_char_type(__c))) __c = __sb->snextc(); if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; } } if (__in.good() && __err == ios_base::goodbit) _M_ok = true; else { __err |= ios_base::failbit; __in.setstate(__err); } } template template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: _M_extract(_ValueT& __v) { sentry __cerb(*this, false); if (__cerb) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); try { const __num_get_type& __ng = __check_facet(this->_M_num_get); __ng.get(*this, 0, *this, __err, __v); } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: operator>>(short& __n) { long __l; _M_extract(__l); if (!this->fail()) { if (__gnu_cxx::__numeric_traits::__min <= __l && __l <= __gnu_cxx::__numeric_traits::__max) __n = short(__l); else this->setstate(ios_base::failbit); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: operator>>(int& __n) { long __l; _M_extract(__l); if (!this->fail()) { if (__gnu_cxx::__numeric_traits::__min <= __l && __l <= __gnu_cxx::__numeric_traits::__max) __n = int(__l); else this->setstate(ios_base::failbit); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: operator>>(__streambuf_type* __sbout) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); sentry __cerb(*this, false); if (__cerb && __sbout) { try { bool __ineof; if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof)) __err |= ios_base::failbit; if (__ineof) __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::failbit); throw; } catch(...) { this->_M_setstate(ios_base::failbit); } } else if (!__sbout) __err |= ios_base::failbit; if (__err) this->setstate(__err); return *this; } template typename basic_istream<_CharT, _Traits>::int_type basic_istream<_CharT, _Traits>:: get(void) { const int_type __eof = traits_type::eof(); int_type __c = __eof; _M_gcount = 0; ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); sentry __cerb(*this, true); if (__cerb) { try { __c = this->rdbuf()->sbumpc(); if (!traits_type::eq_int_type(__c, __eof)) _M_gcount = 1; else __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } } if (!_M_gcount) __err |= ios_base::failbit; if (__err) this->setstate(__err); return __c; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: get(char_type& __c) { _M_gcount = 0; ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); sentry __cerb(*this, true); if (__cerb) { try { const int_type __cb = this->rdbuf()->sbumpc(); if (!traits_type::eq_int_type(__cb, traits_type::eof())) { _M_gcount = 1; __c = traits_type::to_char_type(__cb); } else __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } } if (!_M_gcount) __err |= ios_base::failbit; if (__err) this->setstate(__err); return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: get(char_type* __s, streamsize __n, char_type __delim) { _M_gcount = 0; ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); sentry __cerb(*this, true); if (__cerb) { try { const int_type __idelim = traits_type::to_int_type(__delim); const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); int_type __c = __sb->sgetc(); while (_M_gcount + 1 < __n && !traits_type::eq_int_type(__c, __eof) && !traits_type::eq_int_type(__c, __idelim)) { *__s++ = traits_type::to_char_type(__c); ++_M_gcount; __c = __sb->snextc(); } if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } } if (__n > 0) *__s = char_type(); if (!_M_gcount) __err |= ios_base::failbit; if (__err) this->setstate(__err); return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: get(__streambuf_type& __sb, char_type __delim) { _M_gcount = 0; ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); sentry __cerb(*this, true); if (__cerb) { try { const int_type __idelim = traits_type::to_int_type(__delim); const int_type __eof = traits_type::eof(); __streambuf_type* __this_sb = this->rdbuf(); int_type __c = __this_sb->sgetc(); char_type __c2 = traits_type::to_char_type(__c); while (!traits_type::eq_int_type(__c, __eof) && !traits_type::eq_int_type(__c, __idelim) && !traits_type::eq_int_type(__sb.sputc(__c2), __eof)) { ++_M_gcount; __c = __this_sb->snextc(); __c2 = traits_type::to_char_type(__c); } if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } } if (!_M_gcount) __err |= ios_base::failbit; if (__err) this->setstate(__err); return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: getline(char_type* __s, streamsize __n, char_type __delim) { _M_gcount = 0; ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); sentry __cerb(*this, true); if (__cerb) { try { const int_type __idelim = traits_type::to_int_type(__delim); const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); int_type __c = __sb->sgetc(); while (_M_gcount + 1 < __n && !traits_type::eq_int_type(__c, __eof) && !traits_type::eq_int_type(__c, __idelim)) { *__s++ = traits_type::to_char_type(__c); __c = __sb->snextc(); ++_M_gcount; } if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; else { if (traits_type::eq_int_type(__c, __idelim)) { __sb->sbumpc(); ++_M_gcount; } else __err |= ios_base::failbit; } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } } if (__n > 0) *__s = char_type(); if (!_M_gcount) __err |= ios_base::failbit; if (__err) this->setstate(__err); return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: ignore(void) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); try { const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); if (traits_type::eq_int_type(__sb->sbumpc(), __eof)) __err |= ios_base::eofbit; else _M_gcount = 1; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: ignore(streamsize __n) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb && __n > 0) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); try { const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); int_type __c = __sb->sgetc(); # 468 "/usr/include/c++/4.3/bits/istream.tcc" 3 bool __large_ignore = false; while (true) { while (_M_gcount < __n && !traits_type::eq_int_type(__c, __eof)) { ++_M_gcount; __c = __sb->snextc(); } if (__n == __gnu_cxx::__numeric_traits::__max && !traits_type::eq_int_type(__c, __eof)) { _M_gcount = __gnu_cxx::__numeric_traits::__min; __large_ignore = true; } else break; } if (__large_ignore) _M_gcount = __gnu_cxx::__numeric_traits::__max; if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: ignore(streamsize __n, int_type __delim) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb && __n > 0) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); try { const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); int_type __c = __sb->sgetc(); bool __large_ignore = false; while (true) { while (_M_gcount < __n && !traits_type::eq_int_type(__c, __eof) && !traits_type::eq_int_type(__c, __delim)) { ++_M_gcount; __c = __sb->snextc(); } if (__n == __gnu_cxx::__numeric_traits::__max && !traits_type::eq_int_type(__c, __eof) && !traits_type::eq_int_type(__c, __delim)) { _M_gcount = __gnu_cxx::__numeric_traits::__min; __large_ignore = true; } else break; } if (__large_ignore) _M_gcount = __gnu_cxx::__numeric_traits::__max; if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; else if (traits_type::eq_int_type(__c, __delim)) { if (_M_gcount < __gnu_cxx::__numeric_traits::__max) ++_M_gcount; __sb->sbumpc(); } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template typename basic_istream<_CharT, _Traits>::int_type basic_istream<_CharT, _Traits>:: peek(void) { int_type __c = traits_type::eof(); _M_gcount = 0; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); try { __c = this->rdbuf()->sgetc(); if (traits_type::eq_int_type(__c, traits_type::eof())) __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return __c; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: read(char_type* __s, streamsize __n) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); try { _M_gcount = this->rdbuf()->sgetn(__s, __n); if (_M_gcount != __n) __err |= (ios_base::eofbit | ios_base::failbit); } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template streamsize basic_istream<_CharT, _Traits>:: readsome(char_type* __s, streamsize __n) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); try { const streamsize __num = this->rdbuf()->in_avail(); if (__num > 0) _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n)); else if (__num == -1) __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return _M_gcount; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: putback(char_type __c) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); try { const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); if (!__sb || traits_type::eq_int_type(__sb->sputbackc(__c), __eof)) __err |= ios_base::badbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: unget(void) { _M_gcount = 0; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); try { const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); if (!__sb || traits_type::eq_int_type(__sb->sungetc(), __eof)) __err |= ios_base::badbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return *this; } template int basic_istream<_CharT, _Traits>:: sync(void) { int __ret = -1; sentry __cerb(*this, true); if (__cerb) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); try { __streambuf_type* __sb = this->rdbuf(); if (__sb) { if (__sb->pubsync() == -1) __err |= ios_base::badbit; else __ret = 0; } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); } return __ret; } template typename basic_istream<_CharT, _Traits>::pos_type basic_istream<_CharT, _Traits>:: tellg(void) { pos_type __ret = pos_type(-1); try { if (!this->fail()) __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::in); } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } return __ret; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: seekg(pos_type __pos) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); try { if (!this->fail()) { const pos_type __p = this->rdbuf()->pubseekpos(__pos, ios_base::in); if (__p == pos_type(off_type(-1))) __err |= ios_base::failbit; } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); return *this; } template basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>:: seekg(off_type __off, ios_base::seekdir __dir) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); try { if (!this->fail()) { const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, ios_base::in); if (__p == pos_type(off_type(-1))) __err |= ios_base::failbit; } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(__err); return *this; } template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) { typedef basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::int_type __int_type; typename __istream_type::sentry __cerb(__in, false); if (__cerb) { ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); try { const __int_type __cb = __in.rdbuf()->sbumpc(); if (!_Traits::eq_int_type(__cb, _Traits::eof())) __c = _Traits::to_char_type(__cb); else __err |= (ios_base::eofbit | ios_base::failbit); } catch(__cxxabiv1::__forced_unwind&) { __in._M_setstate(ios_base::badbit); throw; } catch(...) { __in._M_setstate(ios_base::badbit); } if (__err) __in.setstate(__err); } return __in; } template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s) { typedef basic_istream<_CharT, _Traits> __istream_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef typename _Traits::int_type int_type; typedef _CharT char_type; typedef ctype<_CharT> __ctype_type; streamsize __extracted = 0; ios_base::iostate __err = ios_base::iostate(ios_base::goodbit); typename __istream_type::sentry __cerb(__in, false); if (__cerb) { try { streamsize __num = __in.width(); if (__num <= 0) __num = __gnu_cxx::__numeric_traits::__max; const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); const int_type __eof = _Traits::eof(); __streambuf_type* __sb = __in.rdbuf(); int_type __c = __sb->sgetc(); while (__extracted < __num - 1 && !_Traits::eq_int_type(__c, __eof) && !__ct.is(ctype_base::space, _Traits::to_char_type(__c))) { *__s++ = _Traits::to_char_type(__c); ++__extracted; __c = __sb->snextc(); } if (_Traits::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; *__s = char_type(); __in.width(0); } catch(__cxxabiv1::__forced_unwind&) { __in._M_setstate(ios_base::badbit); throw; } catch(...) { __in._M_setstate(ios_base::badbit); } } if (!__extracted) __err |= ios_base::failbit; if (__err) __in.setstate(__err); return __in; } template basic_istream<_CharT, _Traits>& ws(basic_istream<_CharT, _Traits>& __in) { typedef basic_istream<_CharT, _Traits> __istream_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef typename __istream_type::int_type __int_type; typedef ctype<_CharT> __ctype_type; const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); const __int_type __eof = _Traits::eof(); __streambuf_type* __sb = __in.rdbuf(); __int_type __c = __sb->sgetc(); while (!_Traits::eq_int_type(__c, __eof) && __ct.is(ctype_base::space, _Traits::to_char_type(__c))) __c = __sb->snextc(); if (_Traits::eq_int_type(__c, __eof)) __in.setstate(ios_base::eofbit); return __in; } extern template class basic_istream; extern template istream& ws(istream&); extern template istream& operator>>(istream&, char&); extern template istream& operator>>(istream&, char*); extern template istream& operator>>(istream&, unsigned char&); extern template istream& operator>>(istream&, signed char&); extern template istream& operator>>(istream&, unsigned char*); extern template istream& operator>>(istream&, signed char*); extern template istream& istream::_M_extract(unsigned short&); extern template istream& istream::_M_extract(unsigned int&); extern template istream& istream::_M_extract(long&); extern template istream& istream::_M_extract(unsigned long&); extern template istream& istream::_M_extract(bool&); extern template istream& istream::_M_extract(long long&); extern template istream& istream::_M_extract(unsigned long long&); extern template istream& istream::_M_extract(float&); extern template istream& istream::_M_extract(double&); extern template istream& istream::_M_extract(long double&); extern template istream& istream::_M_extract(void*&); extern template class basic_iostream; extern template class basic_istream; extern template wistream& ws(wistream&); extern template wistream& operator>>(wistream&, wchar_t&); extern template wistream& operator>>(wistream&, wchar_t*); extern template wistream& wistream::_M_extract(unsigned short&); extern template wistream& wistream::_M_extract(unsigned int&); extern template wistream& wistream::_M_extract(long&); extern template wistream& wistream::_M_extract(unsigned long&); extern template wistream& wistream::_M_extract(bool&); extern template wistream& wistream::_M_extract(long long&); extern template wistream& wistream::_M_extract(unsigned long long&); extern template wistream& wistream::_M_extract(float&); extern template wistream& wistream::_M_extract(double&); extern template wistream& wistream::_M_extract(long double&); extern template wistream& wistream::_M_extract(void*&); extern template class basic_iostream; } # 837 "/usr/include/c++/4.3/istream" 2 3 # 46 "/usr/include/c++/4.3/fstream" 2 3 # 1 "/usr/include/c++/4.3/bits/codecvt.h" 1 3 # 45 "/usr/include/c++/4.3/bits/codecvt.h" 3 # 46 "/usr/include/c++/4.3/bits/codecvt.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { class codecvt_base { public: enum result { ok, partial, error, noconv }; }; # 71 "/usr/include/c++/4.3/bits/codecvt.h" 3 template class __codecvt_abstract_base : public locale::facet, public codecvt_base { public: typedef codecvt_base::result result; typedef _InternT intern_type; typedef _ExternT extern_type; typedef _StateT state_type; # 119 "/usr/include/c++/4.3/bits/codecvt.h" 3 result out(state_type& __state, const intern_type* __from, const intern_type* __from_end, const intern_type*& __from_next, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const { return this->do_out(__state, __from, __from_end, __from_next, __to, __to_end, __to_next); } # 158 "/usr/include/c++/4.3/bits/codecvt.h" 3 result unshift(state_type& __state, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const { return this->do_unshift(__state, __to,__to_end,__to_next); } # 199 "/usr/include/c++/4.3/bits/codecvt.h" 3 result in(state_type& __state, const extern_type* __from, const extern_type* __from_end, const extern_type*& __from_next, intern_type* __to, intern_type* __to_end, intern_type*& __to_next) const { return this->do_in(__state, __from, __from_end, __from_next, __to, __to_end, __to_next); } int encoding() const throw() { return this->do_encoding(); } bool always_noconv() const throw() { return this->do_always_noconv(); } int length(state_type& __state, const extern_type* __from, const extern_type* __end, size_t __max) const { return this->do_length(__state, __from, __end, __max); } int max_length() const throw() { return this->do_max_length(); } protected: explicit __codecvt_abstract_base(size_t __refs = 0) : locale::facet(__refs) { } virtual ~__codecvt_abstract_base() { } # 240 "/usr/include/c++/4.3/bits/codecvt.h" 3 virtual result do_out(state_type& __state, const intern_type* __from, const intern_type* __from_end, const intern_type*& __from_next, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const = 0; virtual result do_unshift(state_type& __state, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const = 0; virtual result do_in(state_type& __state, const extern_type* __from, const extern_type* __from_end, const extern_type*& __from_next, intern_type* __to, intern_type* __to_end, intern_type*& __to_next) const = 0; virtual int do_encoding() const throw() = 0; virtual bool do_always_noconv() const throw() = 0; virtual int do_length(state_type&, const extern_type* __from, const extern_type* __end, size_t __max) const = 0; virtual int do_max_length() const throw() = 0; }; template class codecvt : public __codecvt_abstract_base<_InternT, _ExternT, _StateT> { public: typedef codecvt_base::result result; typedef _InternT intern_type; typedef _ExternT extern_type; typedef _StateT state_type; protected: __c_locale _M_c_locale_codecvt; public: static locale::id id; explicit codecvt(size_t __refs = 0) : __codecvt_abstract_base<_InternT, _ExternT, _StateT> (__refs) { } explicit codecvt(__c_locale __cloc, size_t __refs = 0); protected: virtual ~codecvt() { } virtual result do_out(state_type& __state, const intern_type* __from, const intern_type* __from_end, const intern_type*& __from_next, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_unshift(state_type& __state, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_in(state_type& __state, const extern_type* __from, const extern_type* __from_end, const extern_type*& __from_next, intern_type* __to, intern_type* __to_end, intern_type*& __to_next) const; virtual int do_encoding() const throw(); virtual bool do_always_noconv() const throw(); virtual int do_length(state_type&, const extern_type* __from, const extern_type* __end, size_t __max) const; virtual int do_max_length() const throw(); }; template locale::id codecvt<_InternT, _ExternT, _StateT>::id; template<> class codecvt : public __codecvt_abstract_base { public: typedef char intern_type; typedef char extern_type; typedef mbstate_t state_type; protected: __c_locale _M_c_locale_codecvt; public: static locale::id id; explicit codecvt(size_t __refs = 0); explicit codecvt(__c_locale __cloc, size_t __refs = 0); protected: virtual ~codecvt(); virtual result do_out(state_type& __state, const intern_type* __from, const intern_type* __from_end, const intern_type*& __from_next, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_unshift(state_type& __state, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_in(state_type& __state, const extern_type* __from, const extern_type* __from_end, const extern_type*& __from_next, intern_type* __to, intern_type* __to_end, intern_type*& __to_next) const; virtual int do_encoding() const throw(); virtual bool do_always_noconv() const throw(); virtual int do_length(state_type&, const extern_type* __from, const extern_type* __end, size_t __max) const; virtual int do_max_length() const throw(); }; template<> class codecvt : public __codecvt_abstract_base { public: typedef wchar_t intern_type; typedef char extern_type; typedef mbstate_t state_type; protected: __c_locale _M_c_locale_codecvt; public: static locale::id id; explicit codecvt(size_t __refs = 0); explicit codecvt(__c_locale __cloc, size_t __refs = 0); protected: virtual ~codecvt(); virtual result do_out(state_type& __state, const intern_type* __from, const intern_type* __from_end, const intern_type*& __from_next, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_unshift(state_type& __state, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_in(state_type& __state, const extern_type* __from, const extern_type* __from_end, const extern_type*& __from_next, intern_type* __to, intern_type* __to_end, intern_type*& __to_next) const; virtual int do_encoding() const throw(); virtual bool do_always_noconv() const throw(); virtual int do_length(state_type&, const extern_type* __from, const extern_type* __end, size_t __max) const; virtual int do_max_length() const throw(); }; template class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT> { public: explicit codecvt_byname(const char* __s, size_t __refs = 0) : codecvt<_InternT, _ExternT, _StateT>(__refs) { if (__builtin_strcmp(__s, "C") != 0 && __builtin_strcmp(__s, "POSIX") != 0) { this->_S_destroy_c_locale(this->_M_c_locale_codecvt); this->_S_create_c_locale(this->_M_c_locale_codecvt, __s); } } protected: virtual ~codecvt_byname() { } }; extern template class codecvt_byname; extern template const codecvt& use_facet >(const locale&); extern template bool has_facet >(const locale&); extern template class codecvt_byname; extern template const codecvt& use_facet >(const locale&); extern template bool has_facet >(const locale&); } # 48 "/usr/include/c++/4.3/fstream" 2 3 # 1 "/usr/include/c++/4.3/cstdio" 1 3 # 46 "/usr/include/c++/4.3/cstdio" 3 # 47 "/usr/include/c++/4.3/cstdio" 3 # 1 "/usr/include/c++/4.3/cstddef" 1 3 # 45 "/usr/include/c++/4.3/cstddef" 3 # 46 "/usr/include/c++/4.3/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 49 "/usr/include/c++/4.3/cstddef" 2 3 # 50 "/usr/include/c++/4.3/cstdio" 2 3 # 49 "/usr/include/c++/4.3/fstream" 2 3 # 1 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/basic_file.h" 1 3 # 43 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/basic_file.h" 3 # 44 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/basic_file.h" 3 # 1 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++io.h" 1 3 # 41 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++io.h" 3 # 1 "/usr/include/c++/4.3/cstdio" 1 3 # 46 "/usr/include/c++/4.3/cstdio" 3 # 47 "/usr/include/c++/4.3/cstdio" 3 # 1 "/usr/include/c++/4.3/cstddef" 1 3 # 45 "/usr/include/c++/4.3/cstddef" 3 # 46 "/usr/include/c++/4.3/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 49 "/usr/include/c++/4.3/cstddef" 2 3 # 50 "/usr/include/c++/4.3/cstdio" 2 3 # 42 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++io.h" 2 3 # 1 "/usr/include/c++/4.3/cstddef" 1 3 # 45 "/usr/include/c++/4.3/cstddef" 3 # 46 "/usr/include/c++/4.3/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 49 "/usr/include/c++/4.3/cstddef" 2 3 # 43 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/c++io.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { typedef __gthread_mutex_t __c_lock; typedef FILE __c_file; } # 47 "/usr/include/c++/4.3/x86_64-linux-gnu/bits/basic_file.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template class __basic_file; template<> class __basic_file { __c_file* _M_cfile; bool _M_cfile_created; public: __basic_file(__c_lock* __lock = 0); __basic_file* open(const char* __name, ios_base::openmode __mode, int __prot = 0664); __basic_file* sys_open(__c_file* __file, ios_base::openmode); __basic_file* sys_open(int __fd, ios_base::openmode __mode); __basic_file* close(); bool is_open() const; int fd(); __c_file* file(); ~__basic_file(); streamsize xsputn(const char* __s, streamsize __n); streamsize xsputn_2(const char* __s1, streamsize __n1, const char* __s2, streamsize __n2); streamsize xsgetn(char* __s, streamsize __n); streamoff seekoff(streamoff __off, ios_base::seekdir __way); int sync(); streamsize showmanyc(); }; } # 50 "/usr/include/c++/4.3/fstream" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 67 "/usr/include/c++/4.3/fstream" 3 template class basic_filebuf : public basic_streambuf<_CharT, _Traits> { public: typedef _CharT char_type; typedef _Traits traits_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_streambuf __streambuf_type; typedef basic_filebuf __filebuf_type; typedef __basic_file __file_type; typedef typename traits_type::state_type __state_type; typedef codecvt __codecvt_type; friend class ios_base; protected: __c_lock _M_lock; __file_type _M_file; ios_base::openmode _M_mode; __state_type _M_state_beg; __state_type _M_state_cur; __state_type _M_state_last; char_type* _M_buf; size_t _M_buf_size; bool _M_buf_allocated; # 129 "/usr/include/c++/4.3/fstream" 3 bool _M_reading; bool _M_writing; char_type _M_pback; char_type* _M_pback_cur_save; char_type* _M_pback_end_save; bool _M_pback_init; const __codecvt_type* _M_codecvt; char* _M_ext_buf; streamsize _M_ext_buf_size; const char* _M_ext_next; char* _M_ext_end; void _M_create_pback() { if (!_M_pback_init) { _M_pback_cur_save = this->gptr(); _M_pback_end_save = this->egptr(); this->setg(&_M_pback, &_M_pback, &_M_pback + 1); _M_pback_init = true; } } void _M_destroy_pback() throw() { if (_M_pback_init) { _M_pback_cur_save += this->gptr() != this->eback(); this->setg(_M_buf, _M_pback_cur_save, _M_pback_end_save); _M_pback_init = false; } } public: basic_filebuf(); virtual ~basic_filebuf() { this->close(); } bool is_open() const throw() { return _M_file.is_open(); } # 265 "/usr/include/c++/4.3/fstream" 3 __filebuf_type* open(const char* __s, ios_base::openmode __mode); # 279 "/usr/include/c++/4.3/fstream" 3 __filebuf_type* close(); protected: void _M_allocate_internal_buffer(); void _M_destroy_internal_buffer() throw(); virtual streamsize showmanyc(); virtual int_type underflow(); virtual int_type pbackfail(int_type __c = _Traits::eof()); # 311 "/usr/include/c++/4.3/fstream" 3 virtual int_type overflow(int_type __c = _Traits::eof()); bool _M_convert_to_external(char_type*, streamsize); # 331 "/usr/include/c++/4.3/fstream" 3 virtual __streambuf_type* setbuf(char_type* __s, streamsize __n); virtual pos_type seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode = ios_base::in | ios_base::out); virtual pos_type seekpos(pos_type __pos, ios_base::openmode __mode = ios_base::in | ios_base::out); pos_type _M_seek(off_type __off, ios_base::seekdir __way, __state_type __state); virtual int sync(); virtual void imbue(const locale& __loc); virtual streamsize xsgetn(char_type* __s, streamsize __n); virtual streamsize xsputn(const char_type* __s, streamsize __n); bool _M_terminate_output(); # 374 "/usr/include/c++/4.3/fstream" 3 void _M_set_buffer(streamsize __off) { const bool __testin = _M_mode & ios_base::in; const bool __testout = _M_mode & ios_base::out; if (__testin && __off > 0) this->setg(_M_buf, _M_buf, _M_buf + __off); else this->setg(_M_buf, _M_buf, _M_buf); if (__testout && __off == 0 && _M_buf_size > 1 ) this->setp(_M_buf, _M_buf + _M_buf_size - 1); else this->setp(__null, __null); } }; # 401 "/usr/include/c++/4.3/fstream" 3 template class basic_ifstream : public basic_istream<_CharT, _Traits> { public: typedef _CharT char_type; typedef _Traits traits_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_filebuf __filebuf_type; typedef basic_istream __istream_type; private: __filebuf_type _M_filebuf; public: # 428 "/usr/include/c++/4.3/fstream" 3 basic_ifstream() : __istream_type(), _M_filebuf() { this->init(&_M_filebuf); } # 441 "/usr/include/c++/4.3/fstream" 3 explicit basic_ifstream(const char* __s, ios_base::openmode __mode = ios_base::in) : __istream_type(), _M_filebuf() { this->init(&_M_filebuf); this->open(__s, __mode); } ~basic_ifstream() { } # 465 "/usr/include/c++/4.3/fstream" 3 __filebuf_type* rdbuf() const { return const_cast<__filebuf_type*>(&_M_filebuf); } bool is_open() { return _M_filebuf.is_open(); } bool is_open() const { return _M_filebuf.is_open(); } # 494 "/usr/include/c++/4.3/fstream" 3 void open(const char* __s, ios_base::openmode __mode = ios_base::in) { if (!_M_filebuf.open(__s, __mode | ios_base::in)) this->setstate(ios_base::failbit); else this->clear(); } void close() { if (!_M_filebuf.close()) this->setstate(ios_base::failbit); } }; # 529 "/usr/include/c++/4.3/fstream" 3 template class basic_ofstream : public basic_ostream<_CharT,_Traits> { public: typedef _CharT char_type; typedef _Traits traits_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_filebuf __filebuf_type; typedef basic_ostream __ostream_type; private: __filebuf_type _M_filebuf; public: # 556 "/usr/include/c++/4.3/fstream" 3 basic_ofstream(): __ostream_type(), _M_filebuf() { this->init(&_M_filebuf); } # 570 "/usr/include/c++/4.3/fstream" 3 explicit basic_ofstream(const char* __s, ios_base::openmode __mode = ios_base::out|ios_base::trunc) : __ostream_type(), _M_filebuf() { this->init(&_M_filebuf); this->open(__s, __mode); } ~basic_ofstream() { } # 595 "/usr/include/c++/4.3/fstream" 3 __filebuf_type* rdbuf() const { return const_cast<__filebuf_type*>(&_M_filebuf); } bool is_open() { return _M_filebuf.is_open(); } bool is_open() const { return _M_filebuf.is_open(); } # 624 "/usr/include/c++/4.3/fstream" 3 void open(const char* __s, ios_base::openmode __mode = ios_base::out | ios_base::trunc) { if (!_M_filebuf.open(__s, __mode | ios_base::out)) this->setstate(ios_base::failbit); else this->clear(); } void close() { if (!_M_filebuf.close()) this->setstate(ios_base::failbit); } }; # 660 "/usr/include/c++/4.3/fstream" 3 template class basic_fstream : public basic_iostream<_CharT, _Traits> { public: typedef _CharT char_type; typedef _Traits traits_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_filebuf __filebuf_type; typedef basic_ios __ios_type; typedef basic_iostream __iostream_type; private: __filebuf_type _M_filebuf; public: # 688 "/usr/include/c++/4.3/fstream" 3 basic_fstream() : __iostream_type(), _M_filebuf() { this->init(&_M_filebuf); } # 700 "/usr/include/c++/4.3/fstream" 3 explicit basic_fstream(const char* __s, ios_base::openmode __mode = ios_base::in | ios_base::out) : __iostream_type(__null), _M_filebuf() { this->init(&_M_filebuf); this->open(__s, __mode); } ~basic_fstream() { } # 725 "/usr/include/c++/4.3/fstream" 3 __filebuf_type* rdbuf() const { return const_cast<__filebuf_type*>(&_M_filebuf); } bool is_open() { return _M_filebuf.is_open(); } bool is_open() const { return _M_filebuf.is_open(); } # 754 "/usr/include/c++/4.3/fstream" 3 void open(const char* __s, ios_base::openmode __mode = ios_base::in | ios_base::out) { if (!_M_filebuf.open(__s, __mode)) this->setstate(ios_base::failbit); else this->clear(); } void close() { if (!_M_filebuf.close()) this->setstate(ios_base::failbit); } }; } # 1 "/usr/include/c++/4.3/bits/fstream.tcc" 1 3 # 44 "/usr/include/c++/4.3/bits/fstream.tcc" 3 # 45 "/usr/include/c++/4.3/bits/fstream.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template void basic_filebuf<_CharT, _Traits>:: _M_allocate_internal_buffer() { if (!_M_buf_allocated && !_M_buf) { _M_buf = new char_type[_M_buf_size]; _M_buf_allocated = true; } } template void basic_filebuf<_CharT, _Traits>:: _M_destroy_internal_buffer() throw() { if (_M_buf_allocated) { delete [] _M_buf; _M_buf = __null; _M_buf_allocated = false; } delete [] _M_ext_buf; _M_ext_buf = __null; _M_ext_buf_size = 0; _M_ext_next = __null; _M_ext_end = __null; } template basic_filebuf<_CharT, _Traits>:: basic_filebuf() : __streambuf_type(), _M_lock(), _M_file(&_M_lock), _M_mode(ios_base::openmode(0)), _M_state_beg(), _M_state_cur(), _M_state_last(), _M_buf(__null), _M_buf_size(8192), _M_buf_allocated(false), _M_reading(false), _M_writing(false), _M_pback(), _M_pback_cur_save(0), _M_pback_end_save(0), _M_pback_init(false), _M_codecvt(0), _M_ext_buf(0), _M_ext_buf_size(0), _M_ext_next(0), _M_ext_end(0) { if (has_facet<__codecvt_type>(this->_M_buf_locale)) _M_codecvt = &use_facet<__codecvt_type>(this->_M_buf_locale); } template typename basic_filebuf<_CharT, _Traits>::__filebuf_type* basic_filebuf<_CharT, _Traits>:: open(const char* __s, ios_base::openmode __mode) { __filebuf_type *__ret = __null; if (!this->is_open()) { _M_file.open(__s, __mode); if (this->is_open()) { _M_allocate_internal_buffer(); _M_mode = __mode; _M_reading = false; _M_writing = false; _M_set_buffer(-1); _M_state_last = _M_state_cur = _M_state_beg; if ((__mode & ios_base::ate) && this->seekoff(0, ios_base::end, __mode) == pos_type(off_type(-1))) this->close(); else __ret = this; } } return __ret; } template typename basic_filebuf<_CharT, _Traits>::__filebuf_type* basic_filebuf<_CharT, _Traits>:: close() { if (!this->is_open()) return __null; bool __testfail = false; { struct __close_sentry { basic_filebuf *__fb; __close_sentry (basic_filebuf *__fbi): __fb(__fbi) { } ~__close_sentry () { __fb->_M_mode = ios_base::openmode(0); __fb->_M_pback_init = false; __fb->_M_destroy_internal_buffer(); __fb->_M_reading = false; __fb->_M_writing = false; __fb->_M_set_buffer(-1); __fb->_M_state_last = __fb->_M_state_cur = __fb->_M_state_beg; } } __cs (this); try { if (!_M_terminate_output()) __testfail = true; } catch(__cxxabiv1::__forced_unwind&) { _M_file.close(); throw; } catch(...) { __testfail = true; } } if (!_M_file.close()) __testfail = true; if (__testfail) return __null; else return this; } template streamsize basic_filebuf<_CharT, _Traits>:: showmanyc() { streamsize __ret = -1; const bool __testin = _M_mode & ios_base::in; if (__testin && this->is_open()) { __ret = this->egptr() - this->gptr(); if (__check_facet(_M_codecvt).encoding() >= 0) __ret += _M_file.showmanyc() / _M_codecvt->max_length(); } return __ret; } template typename basic_filebuf<_CharT, _Traits>::int_type basic_filebuf<_CharT, _Traits>:: underflow() { int_type __ret = traits_type::eof(); const bool __testin = _M_mode & ios_base::in; if (__testin && !_M_writing) { _M_destroy_pback(); if (this->gptr() < this->egptr()) return traits_type::to_int_type(*this->gptr()); const size_t __buflen = _M_buf_size > 1 ? _M_buf_size - 1 : 1; bool __got_eof = false; streamsize __ilen = 0; codecvt_base::result __r = codecvt_base::ok; if (__check_facet(_M_codecvt).always_noconv()) { __ilen = _M_file.xsgetn(reinterpret_cast(this->eback()), __buflen); if (__ilen == 0) __got_eof = true; } else { const int __enc = _M_codecvt->encoding(); streamsize __blen; streamsize __rlen; if (__enc > 0) __blen = __rlen = __buflen * __enc; else { __blen = __buflen + _M_codecvt->max_length() - 1; __rlen = __buflen; } const streamsize __remainder = _M_ext_end - _M_ext_next; __rlen = __rlen > __remainder ? __rlen - __remainder : 0; if (_M_reading && this->egptr() == this->eback() && __remainder) __rlen = 0; if (_M_ext_buf_size < __blen) { char* __buf = new char[__blen]; if (__remainder) __builtin_memcpy(__buf, _M_ext_next, __remainder); delete [] _M_ext_buf; _M_ext_buf = __buf; _M_ext_buf_size = __blen; } else if (__remainder) __builtin_memmove(_M_ext_buf, _M_ext_next, __remainder); _M_ext_next = _M_ext_buf; _M_ext_end = _M_ext_buf + __remainder; _M_state_last = _M_state_cur; do { if (__rlen > 0) { if (_M_ext_end - _M_ext_buf + __rlen > _M_ext_buf_size) { __throw_ios_failure(("basic_filebuf::underflow " "codecvt::max_length() " "is not valid")); } streamsize __elen = _M_file.xsgetn(_M_ext_end, __rlen); if (__elen == 0) __got_eof = true; else if (__elen == -1) break; _M_ext_end += __elen; } char_type* __iend = this->eback(); if (_M_ext_next < _M_ext_end) __r = _M_codecvt->in(_M_state_cur, _M_ext_next, _M_ext_end, _M_ext_next, this->eback(), this->eback() + __buflen, __iend); if (__r == codecvt_base::noconv) { size_t __avail = _M_ext_end - _M_ext_buf; __ilen = std::min(__avail, __buflen); traits_type::copy(this->eback(), reinterpret_cast (_M_ext_buf), __ilen); _M_ext_next = _M_ext_buf + __ilen; } else __ilen = __iend - this->eback(); if (__r == codecvt_base::error) break; __rlen = 1; } while (__ilen == 0 && !__got_eof); } if (__ilen > 0) { _M_set_buffer(__ilen); _M_reading = true; __ret = traits_type::to_int_type(*this->gptr()); } else if (__got_eof) { _M_set_buffer(-1); _M_reading = false; if (__r == codecvt_base::partial) __throw_ios_failure(("basic_filebuf::underflow " "incomplete character in file")); } else if (__r == codecvt_base::error) __throw_ios_failure(("basic_filebuf::underflow " "invalid byte sequence in file")); else __throw_ios_failure(("basic_filebuf::underflow " "error reading the file")); } return __ret; } template typename basic_filebuf<_CharT, _Traits>::int_type basic_filebuf<_CharT, _Traits>:: pbackfail(int_type __i) { int_type __ret = traits_type::eof(); const bool __testin = _M_mode & ios_base::in; if (__testin && !_M_writing) { const bool __testpb = _M_pback_init; const bool __testeof = traits_type::eq_int_type(__i, __ret); int_type __tmp; if (this->eback() < this->gptr()) { this->gbump(-1); __tmp = traits_type::to_int_type(*this->gptr()); } else if (this->seekoff(-1, ios_base::cur) != pos_type(off_type(-1))) { __tmp = this->underflow(); if (traits_type::eq_int_type(__tmp, __ret)) return __ret; } else { return __ret; } if (!__testeof && traits_type::eq_int_type(__i, __tmp)) __ret = __i; else if (__testeof) __ret = traits_type::not_eof(__i); else if (!__testpb) { _M_create_pback(); _M_reading = true; *this->gptr() = traits_type::to_char_type(__i); __ret = __i; } } return __ret; } template typename basic_filebuf<_CharT, _Traits>::int_type basic_filebuf<_CharT, _Traits>:: overflow(int_type __c) { int_type __ret = traits_type::eof(); const bool __testeof = traits_type::eq_int_type(__c, __ret); const bool __testout = _M_mode & ios_base::out; if (__testout && !_M_reading) { if (this->pbase() < this->pptr()) { if (!__testeof) { *this->pptr() = traits_type::to_char_type(__c); this->pbump(1); } if (_M_convert_to_external(this->pbase(), this->pptr() - this->pbase())) { _M_set_buffer(0); __ret = traits_type::not_eof(__c); } } else if (_M_buf_size > 1) { _M_set_buffer(0); _M_writing = true; if (!__testeof) { *this->pptr() = traits_type::to_char_type(__c); this->pbump(1); } __ret = traits_type::not_eof(__c); } else { char_type __conv = traits_type::to_char_type(__c); if (__testeof || _M_convert_to_external(&__conv, 1)) { _M_writing = true; __ret = traits_type::not_eof(__c); } } } return __ret; } template bool basic_filebuf<_CharT, _Traits>:: _M_convert_to_external(_CharT* __ibuf, streamsize __ilen) { streamsize __elen; streamsize __plen; if (__check_facet(_M_codecvt).always_noconv()) { __elen = _M_file.xsputn(reinterpret_cast(__ibuf), __ilen); __plen = __ilen; } else { streamsize __blen = __ilen * _M_codecvt->max_length(); char* __buf = static_cast(__builtin_alloca(__blen)); char* __bend; const char_type* __iend; codecvt_base::result __r; __r = _M_codecvt->out(_M_state_cur, __ibuf, __ibuf + __ilen, __iend, __buf, __buf + __blen, __bend); if (__r == codecvt_base::ok || __r == codecvt_base::partial) __blen = __bend - __buf; else if (__r == codecvt_base::noconv) { __buf = reinterpret_cast(__ibuf); __blen = __ilen; } else __throw_ios_failure(("basic_filebuf::_M_convert_to_external " "conversion error")); __elen = _M_file.xsputn(__buf, __blen); __plen = __blen; if (__r == codecvt_base::partial && __elen == __plen) { const char_type* __iresume = __iend; streamsize __rlen = this->pptr() - __iend; __r = _M_codecvt->out(_M_state_cur, __iresume, __iresume + __rlen, __iend, __buf, __buf + __blen, __bend); if (__r != codecvt_base::error) { __rlen = __bend - __buf; __elen = _M_file.xsputn(__buf, __rlen); __plen = __rlen; } else __throw_ios_failure(("basic_filebuf::_M_convert_to_external " "conversion error")); } } return __elen == __plen; } template streamsize basic_filebuf<_CharT, _Traits>:: xsgetn(_CharT* __s, streamsize __n) { streamsize __ret = 0; if (_M_pback_init) { if (__n > 0 && this->gptr() == this->eback()) { *__s++ = *this->gptr(); this->gbump(1); __ret = 1; --__n; } _M_destroy_pback(); } const bool __testin = _M_mode & ios_base::in; const streamsize __buflen = _M_buf_size > 1 ? _M_buf_size - 1 : 1; if (__n > __buflen && __check_facet(_M_codecvt).always_noconv() && __testin && !_M_writing) { const streamsize __avail = this->egptr() - this->gptr(); if (__avail != 0) { if (__avail == 1) *__s = *this->gptr(); else traits_type::copy(__s, this->gptr(), __avail); __s += __avail; this->gbump(__avail); __ret += __avail; __n -= __avail; } streamsize __len; for (;;) { __len = _M_file.xsgetn(reinterpret_cast(__s), __n); if (__len == -1) __throw_ios_failure(("basic_filebuf::xsgetn " "error reading the file")); if (__len == 0) break; __n -= __len; __ret += __len; if (__n == 0) break; __s += __len; } if (__n == 0) { _M_set_buffer(0); _M_reading = true; } else if (__len == 0) { _M_set_buffer(-1); _M_reading = false; } } else __ret += __streambuf_type::xsgetn(__s, __n); return __ret; } template streamsize basic_filebuf<_CharT, _Traits>:: xsputn(const _CharT* __s, streamsize __n) { streamsize __ret = 0; const bool __testout = _M_mode & ios_base::out; if (__check_facet(_M_codecvt).always_noconv() && __testout && !_M_reading) { const streamsize __chunk = 1ul << 10; streamsize __bufavail = this->epptr() - this->pptr(); if (!_M_writing && _M_buf_size > 1) __bufavail = _M_buf_size - 1; const streamsize __limit = std::min(__chunk, __bufavail); if (__n >= __limit) { const streamsize __buffill = this->pptr() - this->pbase(); const char* __buf = reinterpret_cast(this->pbase()); __ret = _M_file.xsputn_2(__buf, __buffill, reinterpret_cast(__s), __n); if (__ret == __buffill + __n) { _M_set_buffer(0); _M_writing = true; } if (__ret > __buffill) __ret -= __buffill; else __ret = 0; } else __ret = __streambuf_type::xsputn(__s, __n); } else __ret = __streambuf_type::xsputn(__s, __n); return __ret; } template typename basic_filebuf<_CharT, _Traits>::__streambuf_type* basic_filebuf<_CharT, _Traits>:: setbuf(char_type* __s, streamsize __n) { if (!this->is_open()) if (__s == 0 && __n == 0) _M_buf_size = 1; else if (__s && __n > 0) { # 677 "/usr/include/c++/4.3/bits/fstream.tcc" 3 _M_buf = __s; _M_buf_size = __n; } return this; } template typename basic_filebuf<_CharT, _Traits>::pos_type basic_filebuf<_CharT, _Traits>:: seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode) { int __width = 0; if (_M_codecvt) __width = _M_codecvt->encoding(); if (__width < 0) __width = 0; pos_type __ret = pos_type(off_type(-1)); const bool __testfail = __off != 0 && __width <= 0; if (this->is_open() && !__testfail) { _M_destroy_pback(); __state_type __state = _M_state_beg; off_type __computed_off = __off * __width; if (_M_reading && __way == ios_base::cur) { if (_M_codecvt->always_noconv()) __computed_off += this->gptr() - this->egptr(); else { const int __gptr_off = _M_codecvt->length(_M_state_last, _M_ext_buf, _M_ext_next, this->gptr() - this->eback()); __computed_off += _M_ext_buf + __gptr_off - _M_ext_end; __state = _M_state_last; } } __ret = _M_seek(__computed_off, __way, __state); } return __ret; } template typename basic_filebuf<_CharT, _Traits>::pos_type basic_filebuf<_CharT, _Traits>:: seekpos(pos_type __pos, ios_base::openmode) { pos_type __ret = pos_type(off_type(-1)); if (this->is_open()) { _M_destroy_pback(); __ret = _M_seek(off_type(__pos), ios_base::beg, __pos.state()); } return __ret; } template typename basic_filebuf<_CharT, _Traits>::pos_type basic_filebuf<_CharT, _Traits>:: _M_seek(off_type __off, ios_base::seekdir __way, __state_type __state) { pos_type __ret = pos_type(off_type(-1)); if (_M_terminate_output()) { __ret = pos_type(_M_file.seekoff(__off, __way)); if (__ret != pos_type(off_type(-1))) { _M_reading = false; _M_writing = false; _M_ext_next = _M_ext_end = _M_ext_buf; _M_set_buffer(-1); _M_state_cur = __state; __ret.state(_M_state_cur); } } return __ret; } template bool basic_filebuf<_CharT, _Traits>:: _M_terminate_output() { bool __testvalid = true; if (this->pbase() < this->pptr()) { const int_type __tmp = this->overflow(); if (traits_type::eq_int_type(__tmp, traits_type::eof())) __testvalid = false; } if (_M_writing && !__check_facet(_M_codecvt).always_noconv() && __testvalid) { const size_t __blen = 128; char __buf[__blen]; codecvt_base::result __r; streamsize __ilen = 0; do { char* __next; __r = _M_codecvt->unshift(_M_state_cur, __buf, __buf + __blen, __next); if (__r == codecvt_base::error) __testvalid = false; else if (__r == codecvt_base::ok || __r == codecvt_base::partial) { __ilen = __next - __buf; if (__ilen > 0) { const streamsize __elen = _M_file.xsputn(__buf, __ilen); if (__elen != __ilen) __testvalid = false; } } } while (__r == codecvt_base::partial && __ilen > 0 && __testvalid); if (__testvalid) { const int_type __tmp = this->overflow(); if (traits_type::eq_int_type(__tmp, traits_type::eof())) __testvalid = false; } } return __testvalid; } template int basic_filebuf<_CharT, _Traits>:: sync() { int __ret = 0; if (this->pbase() < this->pptr()) { const int_type __tmp = this->overflow(); if (traits_type::eq_int_type(__tmp, traits_type::eof())) __ret = -1; } return __ret; } template void basic_filebuf<_CharT, _Traits>:: imbue(const locale& __loc) { bool __testvalid = true; const __codecvt_type* _M_codecvt_tmp = 0; if (__builtin_expect(has_facet<__codecvt_type>(__loc), true)) _M_codecvt_tmp = &use_facet<__codecvt_type>(__loc); if (this->is_open()) { if ((_M_reading || _M_writing) && __check_facet(_M_codecvt).encoding() == -1) __testvalid = false; else { if (_M_reading) { if (__check_facet(_M_codecvt).always_noconv()) { if (_M_codecvt_tmp && !__check_facet(_M_codecvt_tmp).always_noconv()) __testvalid = this->seekoff(0, ios_base::cur, _M_mode) != pos_type(off_type(-1)); } else { _M_ext_next = _M_ext_buf + _M_codecvt->length(_M_state_last, _M_ext_buf, _M_ext_next, this->gptr() - this->eback()); const streamsize __remainder = _M_ext_end - _M_ext_next; if (__remainder) __builtin_memmove(_M_ext_buf, _M_ext_next, __remainder); _M_ext_next = _M_ext_buf; _M_ext_end = _M_ext_buf + __remainder; _M_set_buffer(-1); _M_state_last = _M_state_cur = _M_state_beg; } } else if (_M_writing && (__testvalid = _M_terminate_output())) _M_set_buffer(-1); } } if (__testvalid) _M_codecvt = _M_codecvt_tmp; else _M_codecvt = 0; } extern template class basic_filebuf; extern template class basic_ifstream; extern template class basic_ofstream; extern template class basic_fstream; extern template class basic_filebuf; extern template class basic_ifstream; extern template class basic_ofstream; extern template class basic_fstream; } # 784 "/usr/include/c++/4.3/fstream" 2 3 # 32 "/products/root_522/include/root/Riostream.h" 2 # 1 "/usr/include/c++/4.3/iostream" 1 3 # 42 "/usr/include/c++/4.3/iostream" 3 # 43 "/usr/include/c++/4.3/iostream" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 63 "/usr/include/c++/4.3/iostream" 3 extern istream cin; extern ostream cout; extern ostream cerr; extern ostream clog; extern wistream wcin; extern wostream wcout; extern wostream wcerr; extern wostream wclog; static ios_base::Init __ioinit; } # 33 "/products/root_522/include/root/Riostream.h" 2 # 1 "/usr/include/c++/4.3/iomanip" 1 3 # 43 "/usr/include/c++/4.3/iomanip" 3 # 44 "/usr/include/c++/4.3/iomanip" 3 namespace std __attribute__ ((__visibility__ ("default"))) { struct _Resetiosflags { ios_base::fmtflags _M_mask; }; # 63 "/usr/include/c++/4.3/iomanip" 3 inline _Resetiosflags resetiosflags(ios_base::fmtflags __mask) { _Resetiosflags __x; __x._M_mask = __mask; return __x; } template inline basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, _Resetiosflags __f) { __is.setf(ios_base::fmtflags(0), __f._M_mask); return __is; } template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, _Resetiosflags __f) { __os.setf(ios_base::fmtflags(0), __f._M_mask); return __os; } struct _Setiosflags { ios_base::fmtflags _M_mask; }; # 97 "/usr/include/c++/4.3/iomanip" 3 inline _Setiosflags setiosflags(ios_base::fmtflags __mask) { _Setiosflags __x; __x._M_mask = __mask; return __x; } template inline basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, _Setiosflags __f) { __is.setf(__f._M_mask); return __is; } template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, _Setiosflags __f) { __os.setf(__f._M_mask); return __os; } struct _Setbase { int _M_base; }; # 132 "/usr/include/c++/4.3/iomanip" 3 inline _Setbase setbase(int __base) { _Setbase __x; __x._M_base = __base; return __x; } template inline basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, _Setbase __f) { __is.setf(__f._M_base == 8 ? ios_base::oct : __f._M_base == 10 ? ios_base::dec : __f._M_base == 16 ? ios_base::hex : ios_base::fmtflags(0), ios_base::basefield); return __is; } template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, _Setbase __f) { __os.setf(__f._M_base == 8 ? ios_base::oct : __f._M_base == 10 ? ios_base::dec : __f._M_base == 16 ? ios_base::hex : ios_base::fmtflags(0), ios_base::basefield); return __os; } template struct _Setfill { _CharT _M_c; }; # 173 "/usr/include/c++/4.3/iomanip" 3 template inline _Setfill<_CharT> setfill(_CharT __c) { _Setfill<_CharT> __x; __x._M_c = __c; return __x; } template inline basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, _Setfill<_CharT> __f) { __is.fill(__f._M_c); return __is; } template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, _Setfill<_CharT> __f) { __os.fill(__f._M_c); return __os; } struct _Setprecision { int _M_n; }; # 208 "/usr/include/c++/4.3/iomanip" 3 inline _Setprecision setprecision(int __n) { _Setprecision __x; __x._M_n = __n; return __x; } template inline basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, _Setprecision __f) { __is.precision(__f._M_n); return __is; } template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, _Setprecision __f) { __os.precision(__f._M_n); return __os; } struct _Setw { int _M_n; }; # 242 "/usr/include/c++/4.3/iomanip" 3 inline _Setw setw(int __n) { _Setw __x; __x._M_n = __n; return __x; } template inline basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, _Setw __f) { __is.width(__f._M_n); return __is; } template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, _Setw __f) { __os.width(__f._M_n); return __os; } extern template ostream& operator<<(ostream&, _Setfill); extern template ostream& operator<<(ostream&, _Setiosflags); extern template ostream& operator<<(ostream&, _Resetiosflags); extern template ostream& operator<<(ostream&, _Setbase); extern template ostream& operator<<(ostream&, _Setprecision); extern template ostream& operator<<(ostream&, _Setw); extern template istream& operator>>(istream&, _Setfill); extern template istream& operator>>(istream&, _Setiosflags); extern template istream& operator>>(istream&, _Resetiosflags); extern template istream& operator>>(istream&, _Setbase); extern template istream& operator>>(istream&, _Setprecision); extern template istream& operator>>(istream&, _Setw); extern template wostream& operator<<(wostream&, _Setfill); extern template wostream& operator<<(wostream&, _Setiosflags); extern template wostream& operator<<(wostream&, _Resetiosflags); extern template wostream& operator<<(wostream&, _Setbase); extern template wostream& operator<<(wostream&, _Setprecision); extern template wostream& operator<<(wostream&, _Setw); extern template wistream& operator>>(wistream&, _Setfill); extern template wistream& operator>>(wistream&, _Setiosflags); extern template wistream& operator>>(wistream&, _Resetiosflags); extern template wistream& operator>>(wistream&, _Setbase); extern template wistream& operator>>(wistream&, _Setprecision); extern template wistream& operator>>(wistream&, _Setw); } # 34 "/products/root_522/include/root/Riostream.h" 2 using namespace std; # 7 "VBFStudy.cxx" 2 # 1 "/products/root_522/include/root/TROOT.h" 1 # 29 "/products/root_522/include/root/TROOT.h" # 1 "/products/root_522/include/root/TDirectory.h" 1 # 25 "/products/root_522/include/root/TDirectory.h" # 1 "/products/root_522/include/root/TNamed.h" 1 # 26 "/products/root_522/include/root/TNamed.h" # 1 "/products/root_522/include/root/TObject.h" 1 # 31 "/products/root_522/include/root/TObject.h" # 1 "/products/root_522/include/root/Rtypes.h" 1 # 27 "/products/root_522/include/root/Rtypes.h" # 1 "/products/root_522/include/root/DllImport.h" 1 # 28 "/products/root_522/include/root/Rtypes.h" 2 # 1 "/products/root_522/include/root/Rtypeinfo.h" 1 # 32 "/products/root_522/include/root/Rtypeinfo.h" # 1 "/usr/include/c++/4.3/typeinfo" 1 3 # 41 "/usr/include/c++/4.3/typeinfo" 3 #pragma GCC visibility push(default) extern "C++" { namespace __cxxabiv1 { class __class_type_info; } # 85 "/usr/include/c++/4.3/typeinfo" 3 namespace std { class type_info { public: virtual ~type_info(); const char* name() const { return __name; } # 122 "/usr/include/c++/4.3/typeinfo" 3 bool before(const type_info& __arg) const { return __name < __arg.__name; } bool operator==(const type_info& __arg) const { return __name == __arg.__name; } bool operator!=(const type_info& __arg) const { return !operator==(__arg); } virtual bool __is_pointer_p() const; virtual bool __is_function_p() const; virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj, unsigned __outer) const; virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target, void **__obj_ptr) const; protected: const char *__name; explicit type_info(const char *__n): __name(__n) { } private: type_info& operator=(const type_info&); type_info(const type_info&); }; class bad_cast : public exception { public: bad_cast() throw() { } virtual ~bad_cast() throw(); virtual const char* what() const throw(); }; class bad_typeid : public exception { public: bad_typeid () throw() { } virtual ~bad_typeid() throw(); virtual const char* what() const throw(); }; } #pragma GCC visibility pop } # 33 "/products/root_522/include/root/Rtypeinfo.h" 2 using std::type_info; # 31 "/products/root_522/include/root/Rtypes.h" 2 # 39 "/products/root_522/include/root/Rtypes.h" class TClass; class TBuffer; class TDirectory; class TMemberInspector; class TObject; class TNamed; class TRootIOCtor; typedef char Char_t; typedef unsigned char UChar_t; typedef short Short_t; typedef unsigned short UShort_t; typedef int Int_t; typedef unsigned int UInt_t; typedef int Seek_t; typedef long Long_t; typedef unsigned long ULong_t; typedef float Float_t; typedef float Float16_t; typedef double Double_t; typedef double Double32_t; typedef char Text_t; typedef bool Bool_t; typedef unsigned char Byte_t; typedef short Version_t; typedef const char Option_t; typedef int Ssiz_t; typedef float Real_t; typedef long long Long64_t; typedef unsigned long long ULong64_t; typedef double Axis_t; typedef double Stat_t; typedef short Font_t; typedef short Style_t; typedef short Marker_t; typedef short Width_t; typedef short Color_t; typedef short SCoord_t; typedef double Coord_t; typedef float Angle_t; typedef float Size_t; enum EColor { kWhite =0, kBlack =1, kGray=920, kRed =632, kGreen =416, kBlue=600, kYellow=400, kMagenta=616, kCyan=432, kOrange=800, kSpring=820, kTeal=840, kAzure =860, kViolet =880, kPink=900 }; class TClassStreamer; class TMemberStreamer; typedef void (*ClassStreamerFunc_t)(TBuffer&, void*); typedef void (*MemberStreamerFunc_t)(TBuffer&, void*, Int_t); class TVirtualCollectionProxy; typedef void (*VoidFuncPtr_t)(); # 128 "/products/root_522/include/root/Rtypes.h" const Bool_t kTRUE = true; const Bool_t kFALSE = false; const Int_t kMaxUChar = 256; const Int_t kMaxChar = kMaxUChar >> 1; const Int_t kMinChar = -kMaxChar - 1; const Int_t kMaxUShort = 65534; const Int_t kMaxShort = kMaxUShort >> 1; const Int_t kMinShort = -kMaxShort - 1; const UInt_t kMaxUInt = UInt_t(~0); const Int_t kMaxInt = Int_t(kMaxUInt >> 1); const Int_t kMinInt = -kMaxInt - 1; const ULong_t kMaxULong = ULong_t(~0); const Long_t kMaxLong = Long_t(kMaxULong >> 1); const Long_t kMinLong = -kMaxLong - 1; const ULong64_t kMaxULong64 = ULong64_t(~0LL); const Long64_t kMaxLong64 = Long64_t(kMaxULong64 >> 1); const Long64_t kMinLong64 = -kMaxLong64 - 1; const size_t kBitsPerByte = 8; const Ssiz_t kNPOS = ~(Ssiz_t)0; # 165 "/products/root_522/include/root/Rtypes.h" extern Int_t gDebug; typedef void (*ShowMembersFunc_t)(void *obj, TMemberInspector &R__insp, char *R__parent); class TVirtualIsAProxy; typedef TClass *(*IsAGlobalFunc_t)(const TClass*, const void *obj); template TBuffer &operator>>(TBuffer &buf, Tmpl *&obj); template TBuffer &operator<<(TBuffer &buf, const Tmpl *obj); namespace ROOT { class TGenericClassInfo; typedef void *(*NewFunc_t)(void *); typedef void *(*NewArrFunc_t)(Long_t size, void *arena); typedef void (*DelFunc_t)(void *); typedef void (*DelArrFunc_t)(void *); typedef void (*DesFunc_t)(void *); typedef void (*DirAutoAdd_t)(void *, TDirectory*); template Short_t SetClassVersion(RootClass *); extern TClass *CreateClass(const char *cname, Version_t id, const type_info &info, TVirtualIsAProxy *isa, ShowMembersFunc_t show, const char *dfil, const char *ifil, Int_t dl, Int_t il); extern void AddClass(const char *cname, Version_t id, const type_info &info, VoidFuncPtr_t dict, Int_t pragmabits); extern void RemoveClass(const char *cname); extern void ResetClassVersion(TClass*, const char*, Short_t); extern TNamed *RegisterClassTemplate(const char *name, const char *file, Int_t line); # 217 "/products/root_522/include/root/Rtypes.h" class TInitBehavior { public: virtual ~TInitBehavior() { } virtual void Register(const char *cname, Version_t id, const type_info &info, VoidFuncPtr_t dict, Int_t pragmabits) const = 0; virtual void Unregister(const char *classname) const = 0; virtual TClass *CreateClass(const char *cname, Version_t id, const type_info &info, TVirtualIsAProxy *isa, ShowMembersFunc_t show, const char *dfil, const char *ifil, Int_t dl, Int_t il) const = 0; }; class TDefaultInitBehavior : public TInitBehavior { public: virtual void Register(const char *cname, Version_t id, const type_info &info, VoidFuncPtr_t dict, Int_t pragmabits) const { ROOT::AddClass(cname, id, info, dict, pragmabits); } virtual void Unregister(const char *classname) const { ROOT::RemoveClass(classname); } virtual TClass *CreateClass(const char *cname, Version_t id, const type_info &info, TVirtualIsAProxy *isa, ShowMembersFunc_t show, const char *dfil, const char *ifil, Int_t dl, Int_t il) const { return ROOT::CreateClass(cname, id, info, isa, show, dfil, ifil, dl, il); } }; const TInitBehavior *DefineBehavior(void * , void * ); } # 1 "/products/root_522/include/root/TGenericClassInfo.h" 1 # 15 "/products/root_522/include/root/TGenericClassInfo.h" # 1 "/usr/include/c++/4.3/vector" 1 3 # 64 "/usr/include/c++/4.3/vector" 3 # 65 "/usr/include/c++/4.3/vector" 3 # 1 "/usr/include/c++/4.3/bits/stl_construct.h" 1 3 # 67 "/usr/include/c++/4.3/bits/stl_construct.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline void _Construct(_T1* __p, const _T2& __value) { ::new(static_cast(__p)) _T1(__value); } template inline void _Destroy(_Tp* __pointer) { __pointer->~_Tp(); } template inline void _Destroy(_ForwardIterator __first, _ForwardIterator __last) { typedef typename iterator_traits<_ForwardIterator>::value_type _Value_type; if (!__has_trivial_destructor(_Value_type)) for (; __first != __last; ++__first) std::_Destroy(&*__first); } template class allocator; template void _Destroy(_ForwardIterator __first, _ForwardIterator __last, _Allocator& __alloc) { for (; __first != __last; ++__first) __alloc.destroy(&*__first); } template inline void _Destroy(_ForwardIterator __first, _ForwardIterator __last, allocator<_Tp>&) { _Destroy(__first, __last); } } # 69 "/usr/include/c++/4.3/vector" 2 3 # 1 "/usr/include/c++/4.3/bits/stl_uninitialized.h" 1 3 # 65 "/usr/include/c++/4.3/bits/stl_uninitialized.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct __uninitialized_copy { template static _ForwardIterator uninitialized_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result) { _ForwardIterator __cur = __result; try { for (; __first != __last; ++__first, ++__cur) ::new(static_cast(&*__cur)) typename iterator_traits<_ForwardIterator>::value_type(*__first); return __cur; } catch(...) { std::_Destroy(__result, __cur); throw; } } }; template<> struct __uninitialized_copy { template static _ForwardIterator uninitialized_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result) { return std::copy(__first, __last, __result); } }; # 110 "/usr/include/c++/4.3/bits/stl_uninitialized.h" 3 template inline _ForwardIterator uninitialized_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result) { typedef typename iterator_traits<_InputIterator>::value_type _ValueType1; typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType2; return std::__uninitialized_copy<(__is_pod(_ValueType1) && __is_pod(_ValueType2))>:: uninitialized_copy(__first, __last, __result); } template struct __uninitialized_fill { template static void uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x) { _ForwardIterator __cur = __first; try { for (; __cur != __last; ++__cur) std::_Construct(&*__cur, __x); } catch(...) { std::_Destroy(__first, __cur); throw; } } }; template<> struct __uninitialized_fill { template static void uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x) { std::fill(__first, __last, __x); } }; # 167 "/usr/include/c++/4.3/bits/stl_uninitialized.h" 3 template inline void uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; std::__uninitialized_fill<__is_pod(_ValueType)>:: uninitialized_fill(__first, __last, __x); } template struct __uninitialized_fill_n { template static void uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) { _ForwardIterator __cur = __first; try { for (; __n > 0; --__n, ++__cur) std::_Construct(&*__cur, __x); } catch(...) { std::_Destroy(__first, __cur); throw; } } }; template<> struct __uninitialized_fill_n { template static void uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) { std::fill_n(__first, __n, __x); } }; # 221 "/usr/include/c++/4.3/bits/stl_uninitialized.h" 3 template inline void uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; std::__uninitialized_fill_n<__is_pod(_ValueType)>:: uninitialized_fill_n(__first, __n, __x); } template _ForwardIterator __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _Allocator& __alloc) { _ForwardIterator __cur = __result; try { for (; __first != __last; ++__first, ++__cur) __alloc.construct(&*__cur, *__first); return __cur; } catch(...) { std::_Destroy(__result, __cur, __alloc); throw; } } template inline _ForwardIterator __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, allocator<_Tp>&) { return std::uninitialized_copy(__first, __last, __result); } template inline _ForwardIterator __uninitialized_move_a(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _Allocator& __alloc) { return std::__uninitialized_copy_a((__first), (__last), __result, __alloc); } template void __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x, _Allocator& __alloc) { _ForwardIterator __cur = __first; try { for (; __cur != __last; ++__cur) __alloc.construct(&*__cur, __x); } catch(...) { std::_Destroy(__first, __cur, __alloc); throw; } } template inline void __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x, allocator<_Tp2>&) { std::uninitialized_fill(__first, __last, __x); } template void __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, const _Tp& __x, _Allocator& __alloc) { _ForwardIterator __cur = __first; try { for (; __n > 0; --__n, ++__cur) __alloc.construct(&*__cur, __x); } catch(...) { std::_Destroy(__first, __cur, __alloc); throw; } } template inline void __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, const _Tp& __x, allocator<_Tp2>&) { std::uninitialized_fill_n(__first, __n, __x); } # 335 "/usr/include/c++/4.3/bits/stl_uninitialized.h" 3 template inline _ForwardIterator __uninitialized_copy_move(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _ForwardIterator __result, _Allocator& __alloc) { _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1, __result, __alloc); try { return std::__uninitialized_move_a(__first2, __last2, __mid, __alloc); } catch(...) { std::_Destroy(__result, __mid, __alloc); throw; } } template inline _ForwardIterator __uninitialized_move_copy(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _ForwardIterator __result, _Allocator& __alloc) { _ForwardIterator __mid = std::__uninitialized_move_a(__first1, __last1, __result, __alloc); try { return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc); } catch(...) { std::_Destroy(__result, __mid, __alloc); throw; } } template inline _ForwardIterator __uninitialized_fill_move(_ForwardIterator __result, _ForwardIterator __mid, const _Tp& __x, _InputIterator __first, _InputIterator __last, _Allocator& __alloc) { std::__uninitialized_fill_a(__result, __mid, __x, __alloc); try { return std::__uninitialized_move_a(__first, __last, __mid, __alloc); } catch(...) { std::_Destroy(__result, __mid, __alloc); throw; } } template inline void __uninitialized_move_fill(_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2, const _Tp& __x, _Allocator& __alloc) { _ForwardIterator __mid2 = std::__uninitialized_move_a(__first1, __last1, __first2, __alloc); try { std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc); } catch(...) { std::_Destroy(__first2, __mid2, __alloc); throw; } } } # 70 "/usr/include/c++/4.3/vector" 2 3 # 1 "/usr/include/c++/4.3/bits/stl_vector.h" 1 3 # 69 "/usr/include/c++/4.3/bits/stl_vector.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct _Vector_base { typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type; struct _Vector_impl : public _Tp_alloc_type { _Tp* _M_start; _Tp* _M_finish; _Tp* _M_end_of_storage; _Vector_impl() : _Tp_alloc_type(), _M_start(0), _M_finish(0), _M_end_of_storage(0) { } _Vector_impl(_Tp_alloc_type const& __a) : _Tp_alloc_type(__a), _M_start(0), _M_finish(0), _M_end_of_storage(0) { } }; public: typedef _Alloc allocator_type; _Tp_alloc_type& _M_get_Tp_allocator() { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); } const _Tp_alloc_type& _M_get_Tp_allocator() const { return *static_cast(&this->_M_impl); } allocator_type get_allocator() const { return allocator_type(_M_get_Tp_allocator()); } _Vector_base() : _M_impl() { } _Vector_base(const allocator_type& __a) : _M_impl(__a) { } _Vector_base(size_t __n, const allocator_type& __a) : _M_impl(__a) { this->_M_impl._M_start = this->_M_allocate(__n); this->_M_impl._M_finish = this->_M_impl._M_start; this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; } # 135 "/usr/include/c++/4.3/bits/stl_vector.h" 3 ~_Vector_base() { _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); } public: _Vector_impl _M_impl; _Tp* _M_allocate(size_t __n) { return __n != 0 ? _M_impl.allocate(__n) : 0; } void _M_deallocate(_Tp* __p, size_t __n) { if (__p) _M_impl.deallocate(__p, __n); } }; # 174 "/usr/include/c++/4.3/bits/stl_vector.h" 3 template > class vector : protected _Vector_base<_Tp, _Alloc> { typedef typename _Alloc::value_type _Alloc_value_type; typedef _Vector_base<_Tp, _Alloc> _Base; typedef vector<_Tp, _Alloc> vector_type; typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; public: typedef _Tp value_type; typedef typename _Tp_alloc_type::pointer pointer; typedef typename _Tp_alloc_type::const_pointer const_pointer; typedef typename _Tp_alloc_type::reference reference; typedef typename _Tp_alloc_type::const_reference const_reference; typedef __gnu_cxx::__normal_iterator iterator; typedef __gnu_cxx::__normal_iterator const_iterator; typedef std::reverse_iterator const_reverse_iterator; typedef std::reverse_iterator reverse_iterator; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Alloc allocator_type; protected: using _Base::_M_allocate; using _Base::_M_deallocate; using _Base::_M_impl; using _Base::_M_get_Tp_allocator; public: vector() : _Base() { } explicit vector(const allocator_type& __a) : _Base(__a) { } # 232 "/usr/include/c++/4.3/bits/stl_vector.h" 3 explicit vector(size_type __n, const value_type& __value = value_type(), const allocator_type& __a = allocator_type()) : _Base(__n, __a) { _M_fill_initialize(__n, __value); } # 247 "/usr/include/c++/4.3/bits/stl_vector.h" 3 vector(const vector& __x) : _Base(__x.size(), __x._M_get_Tp_allocator()) { this->_M_impl._M_finish = std::__uninitialized_copy_a(__x.begin(), __x.end(), this->_M_impl._M_start, _M_get_Tp_allocator()); } # 283 "/usr/include/c++/4.3/bits/stl_vector.h" 3 template vector(_InputIterator __first, _InputIterator __last, const allocator_type& __a = allocator_type()) : _Base(__a) { typedef typename std::__is_integer<_InputIterator>::__type _Integral; _M_initialize_dispatch(__first, __last, _Integral()); } ~vector() { std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); } # 311 "/usr/include/c++/4.3/bits/stl_vector.h" 3 vector& operator=(const vector& __x); # 342 "/usr/include/c++/4.3/bits/stl_vector.h" 3 void assign(size_type __n, const value_type& __val) { _M_fill_assign(__n, __val); } # 358 "/usr/include/c++/4.3/bits/stl_vector.h" 3 template void assign(_InputIterator __first, _InputIterator __last) { typedef typename std::__is_integer<_InputIterator>::__type _Integral; _M_assign_dispatch(__first, __last, _Integral()); } using _Base::get_allocator; iterator begin() { return iterator(this->_M_impl._M_start); } const_iterator begin() const { return const_iterator(this->_M_impl._M_start); } iterator end() { return iterator(this->_M_impl._M_finish); } const_iterator end() const { return const_iterator(this->_M_impl._M_finish); } reverse_iterator rbegin() { return reverse_iterator(end()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } reverse_iterator rend() { return reverse_iterator(begin()); } const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } # 483 "/usr/include/c++/4.3/bits/stl_vector.h" 3 size_type size() const { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); } size_type max_size() const { return _M_get_Tp_allocator().max_size(); } # 503 "/usr/include/c++/4.3/bits/stl_vector.h" 3 void resize(size_type __new_size, value_type __x = value_type()) { if (__new_size < size()) _M_erase_at_end(this->_M_impl._M_start + __new_size); else insert(end(), __new_size - size(), __x); } size_type capacity() const { return size_type(this->_M_impl._M_end_of_storage - this->_M_impl._M_start); } bool empty() const { return begin() == end(); } # 546 "/usr/include/c++/4.3/bits/stl_vector.h" 3 void reserve(size_type __n); # 561 "/usr/include/c++/4.3/bits/stl_vector.h" 3 reference operator[](size_type __n) { return *(this->_M_impl._M_start + __n); } # 576 "/usr/include/c++/4.3/bits/stl_vector.h" 3 const_reference operator[](size_type __n) const { return *(this->_M_impl._M_start + __n); } protected: void _M_range_check(size_type __n) const { if (__n >= this->size()) __throw_out_of_range(("vector::_M_range_check")); } public: # 601 "/usr/include/c++/4.3/bits/stl_vector.h" 3 reference at(size_type __n) { _M_range_check(__n); return (*this)[__n]; } # 619 "/usr/include/c++/4.3/bits/stl_vector.h" 3 const_reference at(size_type __n) const { _M_range_check(__n); return (*this)[__n]; } reference front() { return *begin(); } const_reference front() const { return *begin(); } reference back() { return *(end() - 1); } const_reference back() const { return *(end() - 1); } # 665 "/usr/include/c++/4.3/bits/stl_vector.h" 3 pointer data() { return pointer(this->_M_impl._M_start); } const_pointer data() const { return const_pointer(this->_M_impl._M_start); } # 685 "/usr/include/c++/4.3/bits/stl_vector.h" 3 void push_back(const value_type& __x) { if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) { this->_M_impl.construct(this->_M_impl._M_finish, __x); ++this->_M_impl._M_finish; } else _M_insert_aux(end(), __x); } # 721 "/usr/include/c++/4.3/bits/stl_vector.h" 3 void pop_back() { --this->_M_impl._M_finish; this->_M_impl.destroy(this->_M_impl._M_finish); } # 757 "/usr/include/c++/4.3/bits/stl_vector.h" 3 iterator insert(iterator __position, const value_type& __x); # 790 "/usr/include/c++/4.3/bits/stl_vector.h" 3 void insert(iterator __position, size_type __n, const value_type& __x) { _M_fill_insert(__position, __n, __x); } # 808 "/usr/include/c++/4.3/bits/stl_vector.h" 3 template void insert(iterator __position, _InputIterator __first, _InputIterator __last) { typedef typename std::__is_integer<_InputIterator>::__type _Integral; _M_insert_dispatch(__position, __first, __last, _Integral()); } # 833 "/usr/include/c++/4.3/bits/stl_vector.h" 3 iterator erase(iterator __position); # 854 "/usr/include/c++/4.3/bits/stl_vector.h" 3 iterator erase(iterator __first, iterator __last); # 866 "/usr/include/c++/4.3/bits/stl_vector.h" 3 void swap(vector& __x) { std::swap(this->_M_impl._M_start, __x._M_impl._M_start); std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish); std::swap(this->_M_impl._M_end_of_storage, __x._M_impl._M_end_of_storage); std::__alloc_swap<_Tp_alloc_type>::_S_do_it(_M_get_Tp_allocator(), __x._M_get_Tp_allocator()); } void clear() { _M_erase_at_end(this->_M_impl._M_start); } protected: template pointer _M_allocate_and_copy(size_type __n, _ForwardIterator __first, _ForwardIterator __last) { pointer __result = this->_M_allocate(__n); try { std::__uninitialized_copy_a(__first, __last, __result, _M_get_Tp_allocator()); return __result; } catch(...) { _M_deallocate(__result, __n); throw; } } # 925 "/usr/include/c++/4.3/bits/stl_vector.h" 3 template void _M_initialize_dispatch(_Integer __n, _Integer __value, __true_type) { this->_M_impl._M_start = _M_allocate(static_cast(__n)); this->_M_impl._M_end_of_storage = this->_M_impl._M_start + static_cast(__n); _M_fill_initialize(static_cast(__n), __value); } template void _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, __false_type) { typedef typename std::iterator_traits<_InputIterator>:: iterator_category _IterCategory; _M_range_initialize(__first, __last, _IterCategory()); } template void _M_range_initialize(_InputIterator __first, _InputIterator __last, std::input_iterator_tag) { for (; __first != __last; ++__first) push_back(*__first); } template void _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { const size_type __n = std::distance(__first, __last); this->_M_impl._M_start = this->_M_allocate(__n); this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; this->_M_impl._M_finish = std::__uninitialized_copy_a(__first, __last, this->_M_impl._M_start, _M_get_Tp_allocator()); } void _M_fill_initialize(size_type __n, const value_type& __value) { std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value, _M_get_Tp_allocator()); this->_M_impl._M_finish = this->_M_impl._M_end_of_storage; } # 989 "/usr/include/c++/4.3/bits/stl_vector.h" 3 template void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) { _M_fill_assign(__n, __val); } template void _M_assign_dispatch(_InputIterator __first, _InputIterator __last, __false_type) { typedef typename std::iterator_traits<_InputIterator>:: iterator_category _IterCategory; _M_assign_aux(__first, __last, _IterCategory()); } template void _M_assign_aux(_InputIterator __first, _InputIterator __last, std::input_iterator_tag); template void _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag); void _M_fill_assign(size_type __n, const value_type& __val); # 1029 "/usr/include/c++/4.3/bits/stl_vector.h" 3 template void _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val, __true_type) { _M_fill_insert(__pos, __n, __val); } template void _M_insert_dispatch(iterator __pos, _InputIterator __first, _InputIterator __last, __false_type) { typedef typename std::iterator_traits<_InputIterator>:: iterator_category _IterCategory; _M_range_insert(__pos, __first, __last, _IterCategory()); } template void _M_range_insert(iterator __pos, _InputIterator __first, _InputIterator __last, std::input_iterator_tag); template void _M_range_insert(iterator __pos, _ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag); void _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); void _M_insert_aux(iterator __position, const value_type& __x); size_type _M_check_len(size_type __n, const char* __s) const { if (max_size() - size() < __n) __throw_length_error((__s)); const size_type __len = size() + std::max(size(), __n); return (__len < size() || __len > max_size()) ? max_size() : __len; } void _M_erase_at_end(pointer __pos) { std::_Destroy(__pos, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish = __pos; } }; # 1107 "/usr/include/c++/4.3/bits/stl_vector.h" 3 template inline bool operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { return (__x.size() == __y.size() && std::equal(__x.begin(), __x.end(), __y.begin())); } # 1124 "/usr/include/c++/4.3/bits/stl_vector.h" 3 template inline bool operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { return std::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end()); } template inline bool operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { return !(__x == __y); } template inline bool operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { return __y < __x; } template inline bool operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { return !(__y < __x); } template inline bool operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { return !(__x < __y); } template inline void swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y) { __x.swap(__y); } # 1172 "/usr/include/c++/4.3/bits/stl_vector.h" 3 } # 71 "/usr/include/c++/4.3/vector" 2 3 # 1 "/usr/include/c++/4.3/bits/stl_bvector.h" 1 3 # 65 "/usr/include/c++/4.3/bits/stl_bvector.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { typedef unsigned long _Bit_type; enum { _S_word_bit = int(8 * sizeof(_Bit_type)) }; struct _Bit_reference { _Bit_type * _M_p; _Bit_type _M_mask; _Bit_reference(_Bit_type * __x, _Bit_type __y) : _M_p(__x), _M_mask(__y) { } _Bit_reference() : _M_p(0), _M_mask(0) { } operator bool() const { return !!(*_M_p & _M_mask); } _Bit_reference& operator=(bool __x) { if (__x) *_M_p |= _M_mask; else *_M_p &= ~_M_mask; return *this; } _Bit_reference& operator=(const _Bit_reference& __x) { return *this = bool(__x); } bool operator==(const _Bit_reference& __x) const { return bool(*this) == bool(__x); } bool operator<(const _Bit_reference& __x) const { return !bool(*this) && bool(__x); } void flip() { *_M_p ^= _M_mask; } }; struct _Bit_iterator_base : public std::iterator { _Bit_type * _M_p; unsigned int _M_offset; _Bit_iterator_base(_Bit_type * __x, unsigned int __y) : _M_p(__x), _M_offset(__y) { } void _M_bump_up() { if (_M_offset++ == int(_S_word_bit) - 1) { _M_offset = 0; ++_M_p; } } void _M_bump_down() { if (_M_offset-- == 0) { _M_offset = int(_S_word_bit) - 1; --_M_p; } } void _M_incr(ptrdiff_t __i) { difference_type __n = __i + _M_offset; _M_p += __n / int(_S_word_bit); __n = __n % int(_S_word_bit); if (__n < 0) { __n += int(_S_word_bit); --_M_p; } _M_offset = static_cast(__n); } bool operator==(const _Bit_iterator_base& __i) const { return _M_p == __i._M_p && _M_offset == __i._M_offset; } bool operator<(const _Bit_iterator_base& __i) const { return _M_p < __i._M_p || (_M_p == __i._M_p && _M_offset < __i._M_offset); } bool operator!=(const _Bit_iterator_base& __i) const { return !(*this == __i); } bool operator>(const _Bit_iterator_base& __i) const { return __i < *this; } bool operator<=(const _Bit_iterator_base& __i) const { return !(__i < *this); } bool operator>=(const _Bit_iterator_base& __i) const { return !(*this < __i); } }; inline ptrdiff_t operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { return (int(_S_word_bit) * (__x._M_p - __y._M_p) + __x._M_offset - __y._M_offset); } struct _Bit_iterator : public _Bit_iterator_base { typedef _Bit_reference reference; typedef _Bit_reference* pointer; typedef _Bit_iterator iterator; _Bit_iterator() : _Bit_iterator_base(0, 0) { } _Bit_iterator(_Bit_type * __x, unsigned int __y) : _Bit_iterator_base(__x, __y) { } reference operator*() const { return reference(_M_p, 1UL << _M_offset); } iterator& operator++() { _M_bump_up(); return *this; } iterator operator++(int) { iterator __tmp = *this; _M_bump_up(); return __tmp; } iterator& operator--() { _M_bump_down(); return *this; } iterator operator--(int) { iterator __tmp = *this; _M_bump_down(); return __tmp; } iterator& operator+=(difference_type __i) { _M_incr(__i); return *this; } iterator& operator-=(difference_type __i) { *this += -__i; return *this; } iterator operator+(difference_type __i) const { iterator __tmp = *this; return __tmp += __i; } iterator operator-(difference_type __i) const { iterator __tmp = *this; return __tmp -= __i; } reference operator[](difference_type __i) const { return *(*this + __i); } }; inline _Bit_iterator operator+(ptrdiff_t __n, const _Bit_iterator& __x) { return __x + __n; } struct _Bit_const_iterator : public _Bit_iterator_base { typedef bool reference; typedef bool const_reference; typedef const bool* pointer; typedef _Bit_const_iterator const_iterator; _Bit_const_iterator() : _Bit_iterator_base(0, 0) { } _Bit_const_iterator(_Bit_type * __x, unsigned int __y) : _Bit_iterator_base(__x, __y) { } _Bit_const_iterator(const _Bit_iterator& __x) : _Bit_iterator_base(__x._M_p, __x._M_offset) { } const_reference operator*() const { return _Bit_reference(_M_p, 1UL << _M_offset); } const_iterator& operator++() { _M_bump_up(); return *this; } const_iterator operator++(int) { const_iterator __tmp = *this; _M_bump_up(); return __tmp; } const_iterator& operator--() { _M_bump_down(); return *this; } const_iterator operator--(int) { const_iterator __tmp = *this; _M_bump_down(); return __tmp; } const_iterator& operator+=(difference_type __i) { _M_incr(__i); return *this; } const_iterator& operator-=(difference_type __i) { *this += -__i; return *this; } const_iterator operator+(difference_type __i) const { const_iterator __tmp = *this; return __tmp += __i; } const_iterator operator-(difference_type __i) const { const_iterator __tmp = *this; return __tmp -= __i; } const_reference operator[](difference_type __i) const { return *(*this + __i); } }; inline _Bit_const_iterator operator+(ptrdiff_t __n, const _Bit_const_iterator& __x) { return __x + __n; } inline void __fill_bvector(_Bit_iterator __first, _Bit_iterator __last, bool __x) { for (; __first != __last; ++__first) *__first = __x; } inline void fill(_Bit_iterator __first, _Bit_iterator __last, const bool& __x) { if (__first._M_p != __last._M_p) { std::fill(__first._M_p + 1, __last._M_p, __x ? ~0 : 0); __fill_bvector(__first, _Bit_iterator(__first._M_p + 1, 0), __x); __fill_bvector(_Bit_iterator(__last._M_p, 0), __last, __x); } else __fill_bvector(__first, __last, __x); } template struct _Bvector_base { typedef typename _Alloc::template rebind<_Bit_type>::other _Bit_alloc_type; struct _Bvector_impl : public _Bit_alloc_type { _Bit_iterator _M_start; _Bit_iterator _M_finish; _Bit_type* _M_end_of_storage; _Bvector_impl() : _Bit_alloc_type(), _M_start(), _M_finish(), _M_end_of_storage(0) { } _Bvector_impl(const _Bit_alloc_type& __a) : _Bit_alloc_type(__a), _M_start(), _M_finish(), _M_end_of_storage(0) { } }; public: typedef _Alloc allocator_type; _Bit_alloc_type& _M_get_Bit_allocator() { return *static_cast<_Bit_alloc_type*>(&this->_M_impl); } const _Bit_alloc_type& _M_get_Bit_allocator() const { return *static_cast(&this->_M_impl); } allocator_type get_allocator() const { return allocator_type(_M_get_Bit_allocator()); } _Bvector_base() : _M_impl() { } _Bvector_base(const allocator_type& __a) : _M_impl(__a) { } # 432 "/usr/include/c++/4.3/bits/stl_bvector.h" 3 ~_Bvector_base() { this->_M_deallocate(); } protected: _Bvector_impl _M_impl; _Bit_type* _M_allocate(size_t __n) { return _M_impl.allocate((__n + int(_S_word_bit) - 1) / int(_S_word_bit)); } void _M_deallocate() { if (_M_impl._M_start._M_p) _M_impl.deallocate(_M_impl._M_start._M_p, _M_impl._M_end_of_storage - _M_impl._M_start._M_p); } }; } namespace std __attribute__ ((__visibility__ ("default"))) { # 477 "/usr/include/c++/4.3/bits/stl_bvector.h" 3 template class vector : protected _Bvector_base<_Alloc> { typedef _Bvector_base<_Alloc> _Base; public: typedef bool value_type; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Bit_reference reference; typedef bool const_reference; typedef _Bit_reference* pointer; typedef const bool* const_pointer; typedef _Bit_iterator iterator; typedef _Bit_const_iterator const_iterator; typedef std::reverse_iterator const_reverse_iterator; typedef std::reverse_iterator reverse_iterator; typedef _Alloc allocator_type; allocator_type get_allocator() const { return _Base::get_allocator(); } protected: using _Base::_M_allocate; using _Base::_M_deallocate; using _Base::_M_get_Bit_allocator; public: vector() : _Base() { } explicit vector(const allocator_type& __a) : _Base(__a) { } explicit vector(size_type __n, const bool& __value = bool(), const allocator_type& __a = allocator_type()) : _Base(__a) { _M_initialize(__n); std::fill(this->_M_impl._M_start._M_p, this->_M_impl._M_end_of_storage, __value ? ~0 : 0); } vector(const vector& __x) : _Base(__x._M_get_Bit_allocator()) { _M_initialize(__x.size()); _M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start); } template vector(_InputIterator __first, _InputIterator __last, const allocator_type& __a = allocator_type()) : _Base(__a) { typedef typename std::__is_integer<_InputIterator>::__type _Integral; _M_initialize_dispatch(__first, __last, _Integral()); } ~vector() { } vector& operator=(const vector& __x) { if (&__x == this) return *this; if (__x.size() > capacity()) { this->_M_deallocate(); _M_initialize(__x.size()); } this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(), begin()); return *this; } # 575 "/usr/include/c++/4.3/bits/stl_bvector.h" 3 void assign(size_type __n, const bool& __x) { _M_fill_assign(__n, __x); } template void assign(_InputIterator __first, _InputIterator __last) { typedef typename std::__is_integer<_InputIterator>::__type _Integral; _M_assign_dispatch(__first, __last, _Integral()); } iterator begin() { return this->_M_impl._M_start; } const_iterator begin() const { return this->_M_impl._M_start; } iterator end() { return this->_M_impl._M_finish; } const_iterator end() const { return this->_M_impl._M_finish; } reverse_iterator rbegin() { return reverse_iterator(end()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } reverse_iterator rend() { return reverse_iterator(begin()); } const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } # 637 "/usr/include/c++/4.3/bits/stl_bvector.h" 3 size_type size() const { return size_type(end() - begin()); } size_type max_size() const { const size_type __isize = __gnu_cxx::__numeric_traits::__max - int(_S_word_bit) + 1; const size_type __asize = _M_get_Bit_allocator().max_size(); return (__asize <= __isize / int(_S_word_bit) ? __asize * int(_S_word_bit) : __isize); } size_type capacity() const { return size_type(const_iterator(this->_M_impl._M_end_of_storage, 0) - begin()); } bool empty() const { return begin() == end(); } reference operator[](size_type __n) { return *iterator(this->_M_impl._M_start._M_p + __n / int(_S_word_bit), __n % int(_S_word_bit)); } const_reference operator[](size_type __n) const { return *const_iterator(this->_M_impl._M_start._M_p + __n / int(_S_word_bit), __n % int(_S_word_bit)); } protected: void _M_range_check(size_type __n) const { if (__n >= this->size()) __throw_out_of_range(("vector::_M_range_check")); } public: reference at(size_type __n) { _M_range_check(__n); return (*this)[__n]; } const_reference at(size_type __n) const { _M_range_check(__n); return (*this)[__n]; } void reserve(size_type __n); reference front() { return *begin(); } const_reference front() const { return *begin(); } reference back() { return *(end() - 1); } const_reference back() const { return *(end() - 1); } void data() { } void push_back(bool __x) { if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_of_storage) *this->_M_impl._M_finish++ = __x; else _M_insert_aux(end(), __x); } void swap(vector& __x) { std::swap(this->_M_impl._M_start, __x._M_impl._M_start); std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish); std::swap(this->_M_impl._M_end_of_storage, __x._M_impl._M_end_of_storage); std::__alloc_swap:: _S_do_it(_M_get_Bit_allocator(), __x._M_get_Bit_allocator()); } static void swap(reference __x, reference __y) { bool __tmp = __x; __x = __y; __y = __tmp; } iterator insert(iterator __position, const bool& __x = bool()) { const difference_type __n = __position - begin(); if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_of_storage && __position == end()) *this->_M_impl._M_finish++ = __x; else _M_insert_aux(__position, __x); return begin() + __n; } template void insert(iterator __position, _InputIterator __first, _InputIterator __last) { typedef typename std::__is_integer<_InputIterator>::__type _Integral; _M_insert_dispatch(__position, __first, __last, _Integral()); } void insert(iterator __position, size_type __n, const bool& __x) { _M_fill_insert(__position, __n, __x); } void pop_back() { --this->_M_impl._M_finish; } iterator erase(iterator __position) { if (__position + 1 != end()) std::copy(__position + 1, end(), __position); --this->_M_impl._M_finish; return __position; } iterator erase(iterator __first, iterator __last) { _M_erase_at_end(std::copy(__last, end(), __first)); return __first; } void resize(size_type __new_size, bool __x = bool()) { if (__new_size < size()) _M_erase_at_end(begin() + difference_type(__new_size)); else insert(end(), __new_size - size(), __x); } void flip() { for (_Bit_type * __p = this->_M_impl._M_start._M_p; __p != this->_M_impl._M_end_of_storage; ++__p) *__p = ~*__p; } void clear() { _M_erase_at_end(begin()); } protected: iterator _M_copy_aligned(const_iterator __first, const_iterator __last, iterator __result) { _Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p); return std::copy(const_iterator(__last._M_p, 0), __last, iterator(__q, 0)); } void _M_initialize(size_type __n) { _Bit_type* __q = this->_M_allocate(__n); this->_M_impl._M_end_of_storage = (__q + ((__n + int(_S_word_bit) - 1) / int(_S_word_bit))); this->_M_impl._M_start = iterator(__q, 0); this->_M_impl._M_finish = this->_M_impl._M_start + difference_type(__n); } template void _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) { _M_initialize(static_cast(__n)); std::fill(this->_M_impl._M_start._M_p, this->_M_impl._M_end_of_storage, __x ? ~0 : 0); } template void _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, __false_type) { _M_initialize_range(__first, __last, std::__iterator_category(__first)); } template void _M_initialize_range(_InputIterator __first, _InputIterator __last, std::input_iterator_tag) { for (; __first != __last; ++__first) push_back(*__first); } template void _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { const size_type __n = std::distance(__first, __last); _M_initialize(__n); std::copy(__first, __last, this->_M_impl._M_start); } template void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) { _M_fill_assign(__n, __val); } template void _M_assign_dispatch(_InputIterator __first, _InputIterator __last, __false_type) { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } void _M_fill_assign(size_t __n, bool __x) { if (__n > size()) { std::fill(this->_M_impl._M_start._M_p, this->_M_impl._M_end_of_storage, __x ? ~0 : 0); insert(end(), __n - size(), __x); } else { _M_erase_at_end(begin() + __n); std::fill(this->_M_impl._M_start._M_p, this->_M_impl._M_end_of_storage, __x ? ~0 : 0); } } template void _M_assign_aux(_InputIterator __first, _InputIterator __last, std::input_iterator_tag) { iterator __cur = begin(); for (; __first != __last && __cur != end(); ++__cur, ++__first) *__cur = *__first; if (__first == __last) _M_erase_at_end(__cur); else insert(end(), __first, __last); } template void _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { const size_type __len = std::distance(__first, __last); if (__len < size()) _M_erase_at_end(std::copy(__first, __last, begin())); else { _ForwardIterator __mid = __first; std::advance(__mid, size()); std::copy(__first, __mid, begin()); insert(end(), __mid, __last); } } template void _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, __true_type) { _M_fill_insert(__pos, __n, __x); } template void _M_insert_dispatch(iterator __pos, _InputIterator __first, _InputIterator __last, __false_type) { _M_insert_range(__pos, __first, __last, std::__iterator_category(__first)); } void _M_fill_insert(iterator __position, size_type __n, bool __x); template void _M_insert_range(iterator __pos, _InputIterator __first, _InputIterator __last, std::input_iterator_tag) { for (; __first != __last; ++__first) { __pos = insert(__pos, *__first); ++__pos; } } template void _M_insert_range(iterator __position, _ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag); void _M_insert_aux(iterator __position, bool __x); size_type _M_check_len(size_type __n, const char* __s) const { if (max_size() - size() < __n) __throw_length_error((__s)); const size_type __len = size() + std::max(size(), __n); return (__len < size() || __len > max_size()) ? max_size() : __len; } void _M_erase_at_end(iterator __pos) { this->_M_impl._M_finish = __pos; } }; } # 72 "/usr/include/c++/4.3/vector" 2 3 # 1 "/usr/include/c++/4.3/bits/vector.tcc" 1 3 # 65 "/usr/include/c++/4.3/bits/vector.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template void vector<_Tp, _Alloc>:: reserve(size_type __n) { if (__n > this->max_size()) __throw_length_error(("vector::reserve")); if (this->capacity() < __n) { const size_type __old_size = size(); pointer __tmp = _M_allocate_and_copy(__n, (this->_M_impl._M_start), (this->_M_impl._M_finish)); std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __tmp; this->_M_impl._M_finish = __tmp + __old_size; this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; } } template typename vector<_Tp, _Alloc>::iterator vector<_Tp, _Alloc>:: insert(iterator __position, const value_type& __x) { const size_type __n = __position - begin(); if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage && __position == end()) { this->_M_impl.construct(this->_M_impl._M_finish, __x); ++this->_M_impl._M_finish; } else { # 113 "/usr/include/c++/4.3/bits/vector.tcc" 3 _M_insert_aux(__position, __x); } return iterator(this->_M_impl._M_start + __n); } template typename vector<_Tp, _Alloc>::iterator vector<_Tp, _Alloc>:: erase(iterator __position) { if (__position + 1 != end()) std::copy(__position + 1, end(), __position); --this->_M_impl._M_finish; this->_M_impl.destroy(this->_M_impl._M_finish); return __position; } template typename vector<_Tp, _Alloc>::iterator vector<_Tp, _Alloc>:: erase(iterator __first, iterator __last) { if (__last != end()) std::copy(__last, end(), __first); _M_erase_at_end(__first.base() + (end() - __last)); return __first; } template vector<_Tp, _Alloc>& vector<_Tp, _Alloc>:: operator=(const vector<_Tp, _Alloc>& __x) { if (&__x != this) { const size_type __xlen = __x.size(); if (__xlen > capacity()) { pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(), __x.end()); std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __tmp; this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen; } else if (size() >= __xlen) { std::_Destroy(std::copy(__x.begin(), __x.end(), begin()), end(), _M_get_Tp_allocator()); } else { std::copy(__x._M_impl._M_start, __x._M_impl._M_start + size(), this->_M_impl._M_start); std::__uninitialized_copy_a(__x._M_impl._M_start + size(), __x._M_impl._M_finish, this->_M_impl._M_finish, _M_get_Tp_allocator()); } this->_M_impl._M_finish = this->_M_impl._M_start + __xlen; } return *this; } template void vector<_Tp, _Alloc>:: _M_fill_assign(size_t __n, const value_type& __val) { if (__n > capacity()) { vector __tmp(__n, __val, _M_get_Tp_allocator()); __tmp.swap(*this); } else if (__n > size()) { std::fill(begin(), end(), __val); std::__uninitialized_fill_n_a(this->_M_impl._M_finish, __n - size(), __val, _M_get_Tp_allocator()); this->_M_impl._M_finish += __n - size(); } else _M_erase_at_end(std::fill_n(this->_M_impl._M_start, __n, __val)); } template template void vector<_Tp, _Alloc>:: _M_assign_aux(_InputIterator __first, _InputIterator __last, std::input_iterator_tag) { pointer __cur(this->_M_impl._M_start); for (; __first != __last && __cur != this->_M_impl._M_finish; ++__cur, ++__first) *__cur = *__first; if (__first == __last) _M_erase_at_end(__cur); else insert(end(), __first, __last); } template template void vector<_Tp, _Alloc>:: _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { const size_type __len = std::distance(__first, __last); if (__len > capacity()) { pointer __tmp(_M_allocate_and_copy(__len, __first, __last)); std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __tmp; this->_M_impl._M_finish = this->_M_impl._M_start + __len; this->_M_impl._M_end_of_storage = this->_M_impl._M_finish; } else if (size() >= __len) _M_erase_at_end(std::copy(__first, __last, this->_M_impl._M_start)); else { _ForwardIterator __mid = __first; std::advance(__mid, size()); std::copy(__first, __mid, this->_M_impl._M_start); this->_M_impl._M_finish = std::__uninitialized_copy_a(__mid, __last, this->_M_impl._M_finish, _M_get_Tp_allocator()); } } # 280 "/usr/include/c++/4.3/bits/vector.tcc" 3 template void vector<_Tp, _Alloc>:: _M_insert_aux(iterator __position, const _Tp& __x) { if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) { this->_M_impl.construct(this->_M_impl._M_finish, (*(this->_M_impl._M_finish - 1))); ++this->_M_impl._M_finish; _Tp __x_copy = __x; std::copy_backward(__position.base(), this->_M_impl._M_finish - 2, this->_M_impl._M_finish - 1); *__position = __x_copy; } else { const size_type __len = _M_check_len(size_type(1), "vector::_M_insert_aux"); pointer __new_start(this->_M_allocate(__len)); pointer __new_finish(__new_start); try { __new_finish = std::__uninitialized_move_a(this->_M_impl._M_start, __position.base(), __new_start, _M_get_Tp_allocator()); this->_M_impl.construct(__new_finish, __x); ++__new_finish; __new_finish = std::__uninitialized_move_a(__position.base(), this->_M_impl._M_finish, __new_finish, _M_get_Tp_allocator()); } catch(...) { std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator()); _M_deallocate(__new_start, __len); throw; } std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __new_start; this->_M_impl._M_finish = __new_finish; this->_M_impl._M_end_of_storage = __new_start + __len; } } template void vector<_Tp, _Alloc>:: _M_fill_insert(iterator __position, size_type __n, const value_type& __x) { if (__n != 0) { if (size_type(this->_M_impl._M_end_of_storage - this->_M_impl._M_finish) >= __n) { value_type __x_copy = __x; const size_type __elems_after = end() - __position; pointer __old_finish(this->_M_impl._M_finish); if (__elems_after > __n) { std::__uninitialized_move_a(this->_M_impl._M_finish - __n, this->_M_impl._M_finish, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish += __n; std::copy_backward(__position.base(), __old_finish - __n, __old_finish); std::fill(__position.base(), __position.base() + __n, __x_copy); } else { std::__uninitialized_fill_n_a(this->_M_impl._M_finish, __n - __elems_after, __x_copy, _M_get_Tp_allocator()); this->_M_impl._M_finish += __n - __elems_after; std::__uninitialized_move_a(__position.base(), __old_finish, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish += __elems_after; std::fill(__position.base(), __old_finish, __x_copy); } } else { const size_type __len = _M_check_len(__n, "vector::_M_fill_insert"); pointer __new_start(this->_M_allocate(__len)); pointer __new_finish(__new_start); try { __new_finish = std::__uninitialized_move_a(this->_M_impl._M_start, __position.base(), __new_start, _M_get_Tp_allocator()); std::__uninitialized_fill_n_a(__new_finish, __n, __x, _M_get_Tp_allocator()); __new_finish += __n; __new_finish = std::__uninitialized_move_a(__position.base(), this->_M_impl._M_finish, __new_finish, _M_get_Tp_allocator()); } catch(...) { std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator()); _M_deallocate(__new_start, __len); throw; } std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __new_start; this->_M_impl._M_finish = __new_finish; this->_M_impl._M_end_of_storage = __new_start + __len; } } } template template void vector<_Tp, _Alloc>:: _M_range_insert(iterator __pos, _InputIterator __first, _InputIterator __last, std::input_iterator_tag) { for (; __first != __last; ++__first) { __pos = insert(__pos, *__first); ++__pos; } } template template void vector<_Tp, _Alloc>:: _M_range_insert(iterator __position, _ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { if (__first != __last) { const size_type __n = std::distance(__first, __last); if (size_type(this->_M_impl._M_end_of_storage - this->_M_impl._M_finish) >= __n) { const size_type __elems_after = end() - __position; pointer __old_finish(this->_M_impl._M_finish); if (__elems_after > __n) { std::__uninitialized_move_a(this->_M_impl._M_finish - __n, this->_M_impl._M_finish, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish += __n; std::copy_backward(__position.base(), __old_finish - __n, __old_finish); std::copy(__first, __last, __position); } else { _ForwardIterator __mid = __first; std::advance(__mid, __elems_after); std::__uninitialized_copy_a(__mid, __last, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish += __n - __elems_after; std::__uninitialized_move_a(__position.base(), __old_finish, this->_M_impl._M_finish, _M_get_Tp_allocator()); this->_M_impl._M_finish += __elems_after; std::copy(__first, __mid, __position); } } else { const size_type __len = _M_check_len(__n, "vector::_M_range_insert"); pointer __new_start(this->_M_allocate(__len)); pointer __new_finish(__new_start); try { __new_finish = std::__uninitialized_move_a(this->_M_impl._M_start, __position.base(), __new_start, _M_get_Tp_allocator()); __new_finish = std::__uninitialized_copy_a(__first, __last, __new_finish, _M_get_Tp_allocator()); __new_finish = std::__uninitialized_move_a(__position.base(), this->_M_impl._M_finish, __new_finish, _M_get_Tp_allocator()); } catch(...) { std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator()); _M_deallocate(__new_start, __len); throw; } std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start); this->_M_impl._M_start = __new_start; this->_M_impl._M_finish = __new_finish; this->_M_impl._M_end_of_storage = __new_start + __len; } } } template void vector:: reserve(size_type __n) { if (__n > this->max_size()) __throw_length_error(("vector::reserve")); if (this->capacity() < __n) { _Bit_type* __q = this->_M_allocate(__n); this->_M_impl._M_finish = _M_copy_aligned(begin(), end(), iterator(__q, 0)); this->_M_deallocate(); this->_M_impl._M_start = iterator(__q, 0); this->_M_impl._M_end_of_storage = (__q + (__n + int(_S_word_bit) - 1) / int(_S_word_bit)); } } template void vector:: _M_fill_insert(iterator __position, size_type __n, bool __x) { if (__n == 0) return; if (capacity() - size() >= __n) { std::copy_backward(__position, end(), this->_M_impl._M_finish + difference_type(__n)); std::fill(__position, __position + difference_type(__n), __x); this->_M_impl._M_finish += difference_type(__n); } else { const size_type __len = _M_check_len(__n, "vector::_M_fill_insert"); _Bit_type * __q = this->_M_allocate(__len); iterator __i = _M_copy_aligned(begin(), __position, iterator(__q, 0)); std::fill(__i, __i + difference_type(__n), __x); this->_M_impl._M_finish = std::copy(__position, end(), __i + difference_type(__n)); this->_M_deallocate(); this->_M_impl._M_end_of_storage = (__q + ((__len + int(_S_word_bit) - 1) / int(_S_word_bit))); this->_M_impl._M_start = iterator(__q, 0); } } template template void vector:: _M_insert_range(iterator __position, _ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) { if (__first != __last) { size_type __n = std::distance(__first, __last); if (capacity() - size() >= __n) { std::copy_backward(__position, end(), this->_M_impl._M_finish + difference_type(__n)); std::copy(__first, __last, __position); this->_M_impl._M_finish += difference_type(__n); } else { const size_type __len = _M_check_len(__n, "vector::_M_insert_range"); _Bit_type * __q = this->_M_allocate(__len); iterator __i = _M_copy_aligned(begin(), __position, iterator(__q, 0)); __i = std::copy(__first, __last, __i); this->_M_impl._M_finish = std::copy(__position, end(), __i); this->_M_deallocate(); this->_M_impl._M_end_of_storage = (__q + ((__len + int(_S_word_bit) - 1) / int(_S_word_bit))); this->_M_impl._M_start = iterator(__q, 0); } } } template void vector:: _M_insert_aux(iterator __position, bool __x) { if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_of_storage) { std::copy_backward(__position, this->_M_impl._M_finish, this->_M_impl._M_finish + 1); *__position = __x; ++this->_M_impl._M_finish; } else { const size_type __len = _M_check_len(size_type(1), "vector::_M_insert_aux"); _Bit_type * __q = this->_M_allocate(__len); iterator __i = _M_copy_aligned(begin(), __position, iterator(__q, 0)); *__i++ = __x; this->_M_impl._M_finish = std::copy(__position, end(), __i); this->_M_deallocate(); this->_M_impl._M_end_of_storage = (__q + ((__len + int(_S_word_bit) - 1) / int(_S_word_bit))); this->_M_impl._M_start = iterator(__q, 0); } } } # 75 "/usr/include/c++/4.3/vector" 2 3 # 16 "/products/root_522/include/root/TGenericClassInfo.h" 2 # 1 "/products/root_522/include/root/TSchemaHelper.h" 1 # 9 "/products/root_522/include/root/TSchemaHelper.h" namespace ROOT { struct TSchemaHelper { TSchemaHelper(): fTarget(), fSourceClass(), fSource(), fCode(), fVersion(), fChecksum(), fInclude(), fEmbed(kTRUE), fFunctionPtr( 0 ) {} std::string fTarget; std::string fSourceClass; std::string fSource; std::string fCode; std::string fVersion; std::string fChecksum; std::string fInclude; bool fEmbed; void* fFunctionPtr; TSchemaHelper(const TSchemaHelper &tsh) : fTarget(tsh.fTarget), fSourceClass(tsh.fSourceClass), fSource(tsh.fSource), fCode(tsh.fCode), fVersion(tsh.fVersion), fChecksum(tsh.fChecksum), fInclude(tsh.fInclude), fEmbed(tsh.fEmbed), fFunctionPtr(tsh.fFunctionPtr) {} TSchemaHelper& operator=(const TSchemaHelper &) {return *this;} }; } # 17 "/products/root_522/include/root/TGenericClassInfo.h" 2 class TVirtualIsAProxy; namespace ROOT { class TCollectionProxyInfo; class TGenericClassInfo { const TInitBehavior *fAction; TClass *fClass; const char *fClassName; const char *fDeclFileName; Int_t fDeclFileLine; VoidFuncPtr_t fDictionary; const type_info &fInfo; const char *fImplFileName; Int_t fImplFileLine; TVirtualIsAProxy *fIsA; void *fShowMembers; Int_t fVersion; NewFunc_t fNew; NewArrFunc_t fNewArray; DelFunc_t fDelete; DelArrFunc_t fDeleteArray; DesFunc_t fDestructor; DirAutoAdd_t fDirAutoAdd; TClassStreamer *fStreamer; TVirtualCollectionProxy *fCollectionProxy; Int_t fSizeof; TCollectionProxyInfo *fCollectionProxyInfo; TCollectionProxyInfo *fCollectionStreamerInfo; std::vector fReadRules; std::vector fReadRawRules; public: TGenericClassInfo(const char *fullClassname, const char *declFileName, Int_t declFileLine, const type_info &info, const TInitBehavior *action, void *showmembers, VoidFuncPtr_t dictionary, TVirtualIsAProxy *isa, Int_t pragmabits, Int_t sizof); TGenericClassInfo(const char *fullClassname, Int_t version, const char *declFileName, Int_t declFileLine, const type_info &info, const TInitBehavior *action, void *showmembers, VoidFuncPtr_t dictionary, TVirtualIsAProxy *isa, Int_t pragmabits, Int_t sizof); TGenericClassInfo(const char *fullClassname, Int_t version, const char *declFileName, Int_t declFileLine, const type_info &info, const TInitBehavior *action, VoidFuncPtr_t dictionary, TVirtualIsAProxy *isa, Int_t pragmabits, Int_t sizof); TGenericClassInfo(const char *fullClassname, Int_t version, const char *declFileName, Int_t declFileLine, const TInitBehavior *action, VoidFuncPtr_t dictionary, Int_t pragmabits); void Init(Int_t pragmabits); ~TGenericClassInfo(); const TInitBehavior &GetAction() const; TClass *GetClass(); const char *GetClassName() const; TCollectionProxyInfo *GetCollectionProxyInfo() const; TCollectionProxyInfo *GetCollectionStreamerInfo() const; const char *GetDeclFileName() const; Int_t GetDeclFileLine() const; DelFunc_t GetDelete() const; DelArrFunc_t GetDeleteArray() const; DesFunc_t GetDestructor() const; DirAutoAdd_t GetDirectoryAutoAdd() const; const char *GetImplFileName(); Int_t GetImplFileLine(); const type_info &GetInfo() const; TVirtualIsAProxy *GetIsA() const; NewFunc_t GetNew() const; NewArrFunc_t GetNewArray() const; const std::vector &GetReadRawRules() const; const std::vector &GetReadRules() const; void *GetShowMembers() const; Int_t GetVersion() const; TClass *IsA(const void *obj); Short_t AdoptStreamer(TClassStreamer*); Short_t AdoptCollectionProxy(TVirtualCollectionProxy*); void AdoptCollectionProxyInfo(TCollectionProxyInfo*); void AdoptCollectionStreamerInfo(TCollectionProxyInfo*); Int_t SetDeclFile(const char *file, Int_t line); void SetDelete(DelFunc_t deleteFunc); void SetDeleteArray(DelArrFunc_t deleteArrayFunc); void SetDestructor(DesFunc_t destructorFunc); void SetDirectoryAutoAdd(DirAutoAdd_t dirAutoAdd); void SetFromTemplate(); Int_t SetImplFile(const char *file, Int_t line); void SetNew(NewFunc_t newFunc); void SetNewArray(NewArrFunc_t newArrayFunc); void SetReadRawRules( const std::vector& rules ); void SetReadRules( const std::vector& rules ); Short_t SetStreamer(ClassStreamerFunc_t); Short_t SetVersion(Short_t version); private: void CreateRuleSet( std::vector& vect, Bool_t ProcessReadRules ); TGenericClassInfo(const TGenericClassInfo&); TGenericClassInfo& operator=(const TGenericClassInfo&); private: TGenericClassInfo(); }; } # 260 "/products/root_522/include/root/Rtypes.h" 2 # 32 "/products/root_522/include/root/TObject.h" 2 # 1 "/products/root_522/include/root/TStorage.h" 1 # 28 "/products/root_522/include/root/TStorage.h" typedef void (*FreeHookFun_t)(void*, void *addr, size_t); typedef void *(*ReAllocFun_t)(void*, size_t); typedef void *(*ReAllocCFun_t)(void*, size_t, size_t); class TStorage { private: static ULong_t fgHeapBegin; static ULong_t fgHeapEnd; static size_t fgMaxBlockSize; static FreeHookFun_t fgFreeHook; static void *fgFreeHookData; static ReAllocFun_t fgReAllocHook; static ReAllocCFun_t fgReAllocCHook; static Bool_t fgHasCustomNewDelete; public: virtual ~TStorage() { } static ULong_t GetHeapBegin(); static ULong_t GetHeapEnd(); static FreeHookFun_t GetFreeHook(); static void *GetFreeHookData(); static size_t GetMaxBlockSize(); static void *Alloc(size_t size); static void Dealloc(void *ptr); static void *ReAlloc(void *vp, size_t size); static void *ReAlloc(void *vp, size_t size, size_t oldsize); static char *ReAllocChar(char *vp, size_t size, size_t oldsize); static Int_t *ReAllocInt(Int_t *vp, size_t size, size_t oldsize); static void *ObjectAlloc(size_t size); static void *ObjectAlloc(size_t size, void *vp); static void ObjectDealloc(void *vp); static void ObjectDealloc(void *vp, void *ptr); static void EnterStat(size_t size, void *p); static void RemoveStat(void *p); static void PrintStatistics(); static void SetMaxBlockSize(size_t size); static void SetFreeHook(FreeHookFun_t func, void *data); static void SetReAllocHooks(ReAllocFun_t func1, ReAllocCFun_t func2); static void SetCustomNewDelete(); static void EnableStatistics(int size= -1, int ix= -1); static Bool_t HasCustomNewDelete(); static void AddToHeap(ULong_t begin, ULong_t end); static Bool_t IsOnHeap(void *p); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TStorage::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TStorage::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TStorage.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 79; } }; inline void TStorage::AddToHeap(ULong_t begin, ULong_t end) { if (begin < fgHeapBegin) fgHeapBegin = begin; if (end > fgHeapEnd) fgHeapEnd = end; } inline Bool_t TStorage::IsOnHeap(void *p) { return (ULong_t)p >= fgHeapBegin && (ULong_t)p < fgHeapEnd; } inline size_t TStorage::GetMaxBlockSize() { return fgMaxBlockSize; } inline void TStorage::SetMaxBlockSize(size_t size) { fgMaxBlockSize = size; } inline FreeHookFun_t TStorage::GetFreeHook() { return fgFreeHook; } # 35 "/products/root_522/include/root/TObject.h" 2 # 1 "/products/root_522/include/root/TVersionCheck.h" 1 # 28 "/products/root_522/include/root/TVersionCheck.h" class TVersionCheck { public: TVersionCheck(int versionCode); }; static TVersionCheck gVersionCheck(333312); # 38 "/products/root_522/include/root/TObject.h" 2 # 1 "/products/root_522/include/root/Riosfwd.h" 1 # 35 "/products/root_522/include/root/Riosfwd.h" using std::istream; using std::ostream; using std::fstream; using std::ifstream; using std::ofstream; # 41 "/products/root_522/include/root/TObject.h" 2 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stdarg.h" 1 3 4 # 43 "/products/root_522/include/root/TObject.h" 2 class TList; class TBrowser; class TBuffer; class TObjArray; class TMethod; class TTimer; class TObject { private: UInt_t fUniqueID; UInt_t fBits; static Long_t fgDtorOnly; static Bool_t fgObjectStat; protected: void MakeZombie() { fBits |= kZombie; } virtual void DoError(int level, const char *location, const char *fmt, va_list va) const; public: enum EStatusBits { kCanDelete = (1 << (0)), kMustCleanup = (1 << (3)), kObjInCanvas = (1 << (3)), kIsReferenced = (1 << (4)), kHasUUID = (1 << (5)), kCannotPick = (1 << (6)), kNoContextMenu = (1 << (8)), kInvalidObject = (1 << (13)) }; enum { kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kBitMask = 0x00ffffff }; enum { kSingleKey = (1 << (0)), kOverwrite = (1 << (1)), kWriteDelete = (1 << (2)) }; TObject(); TObject(const TObject &object); TObject &operator=(const TObject &rhs); virtual ~TObject(); virtual void AppendPad(Option_t *option=""); virtual void Browse(TBrowser *b); virtual const char *ClassName() const; virtual void Clear(Option_t * ="") { } virtual TObject *Clone(const char *newname="") const; virtual Int_t Compare(const TObject *obj) const; virtual void Copy(TObject &object) const; virtual void Delete(Option_t *option=""); virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); virtual void Draw(Option_t *option=""); virtual void DrawClass() const; virtual TObject *DrawClone(Option_t *option="") const; virtual void Dump() const; virtual void Execute(const char *method, const char *params, Int_t *error=0); virtual void Execute(TMethod *method, TObjArray *params, Int_t *error=0); virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); virtual TObject *FindObject(const char *name) const; virtual TObject *FindObject(const TObject *obj) const; virtual Option_t *GetDrawOption() const; virtual UInt_t GetUniqueID() const; virtual const char *GetName() const; virtual const char *GetIconName() const; virtual Option_t *GetOption() const { return ""; } virtual char *GetObjectInfo(Int_t px, Int_t py) const; virtual const char *GetTitle() const; virtual Bool_t HandleTimer(TTimer *timer); virtual ULong_t Hash() const; virtual Bool_t InheritsFrom(const char *classname) const; virtual Bool_t InheritsFrom(const TClass *cl) const; virtual void Inspect() const; virtual Bool_t IsFolder() const; virtual Bool_t IsEqual(const TObject *obj) const; virtual Bool_t IsSortable() const { return kFALSE; } Bool_t IsOnHeap() const { return TestBit(kIsOnHeap); } Bool_t IsZombie() const { return TestBit(kZombie); } virtual Bool_t Notify(); virtual void ls(Option_t *option="") const; virtual void Paint(Option_t *option=""); virtual void Pop(); virtual void Print(Option_t *option="") const; virtual Int_t Read(const char *name); virtual void RecursiveRemove(TObject *obj); virtual void SaveAs(const char *filename="",Option_t *option="") const; virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SetDrawOption(Option_t *option=""); virtual void SetUniqueID(UInt_t uid); virtual void UseCurrentStyle(); virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0); virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0) const; void *operator new(size_t sz) { return TStorage::ObjectAlloc(sz); } void *operator new[](size_t sz) { return TStorage::ObjectAlloc(sz); } void *operator new(size_t sz, void *vp) { return TStorage::ObjectAlloc(sz, vp); } void *operator new[](size_t sz, void *vp) { return TStorage::ObjectAlloc(sz, vp); } void operator delete(void *ptr); void operator delete[](void *ptr); void operator delete(void *ptr, void *vp); void operator delete[](void *ptr, void *vp); void SetBit(UInt_t f, Bool_t set); void SetBit(UInt_t f) { fBits |= f & kBitMask; } void ResetBit(UInt_t f) { fBits &= ~(f & kBitMask); } Bool_t TestBit(UInt_t f) const { return (Bool_t) ((fBits & f) != 0); } Int_t TestBits(UInt_t f) const { return (Int_t) (fBits & f); } void InvertBit(UInt_t f) { fBits ^= f & kBitMask; } virtual void Info(const char *method, const char *msgfmt, ...) const; virtual void Warning(const char *method, const char *msgfmt, ...) const; virtual void Error(const char *method, const char *msgfmt, ...) const; virtual void SysError(const char *method, const char *msgfmt, ...) const; virtual void Fatal(const char *method, const char *msgfmt, ...) const; void AbstractMethod(const char *method) const; void MayNotUse(const char *method) const; static Long_t GetDtorOnly(); static void SetDtorOnly(void *obj); static Bool_t GetObjectStat(); static void SetObjectStat(Bool_t stat); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TObject::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TObject::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TObject.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 191; } }; enum EObjBits { kCanDelete = TObject::kCanDelete, kMustCleanup = TObject::kMustCleanup, kObjInCanvas = TObject::kObjInCanvas, kIsReferenced = TObject::kIsReferenced, kHasUUID = TObject::kHasUUID, kCannotPick = TObject::kCannotPick, kNoContextMenu = TObject::kNoContextMenu, kInvalidObject = TObject::kInvalidObject }; # 1 "/products/root_522/include/root/TBuffer.h" 1 # 28 "/products/root_522/include/root/TBuffer.h" class TVirtualStreamerInfo; class TStreamerElement; class TClass; class TString; class TProcessID; class TClonesArray; class TRefTable; class TBuffer : public TObject { protected: Bool_t fMode; Int_t fVersion; Int_t fBufSize; char *fBuffer; char *fBufCur; char *fBufMax; TObject *fParent; TBuffer() : TObject(), fMode(0), fVersion(0), fBufSize(0), fBuffer(0), fBufCur(0), fBufMax(0), fParent(0) {} TBuffer(const TBuffer &); void operator=(const TBuffer &); void Expand(Int_t newsize); Int_t Read(const char *name) { return TObject::Read(name); } Int_t Write(const char *name, Int_t opt, Int_t bufs) { return TObject::Write(name, opt, bufs); } Int_t Write(const char *name, Int_t opt, Int_t bufs) const { return TObject::Write(name, opt, bufs); } public: enum EMode { kRead = 0, kWrite = 1 }; enum { kIsOwner = (1 << (16)) }; enum { kCannotHandleMemberWiseStreaming = (1 << (17))}; enum { kInitialSize = 1024, kMinimalSize = 128 }; TBuffer(EMode mode); TBuffer(EMode mode, Int_t bufsiz); TBuffer(EMode mode, Int_t bufsiz, void *buf, Bool_t adopt = kTRUE); virtual ~TBuffer(); Int_t GetBufferVersion() const { return fVersion; } Bool_t IsReading() const { return (fMode & kWrite) == 0; } Bool_t IsWriting() const { return (fMode & kWrite) != 0; } void SetReadMode(); void SetWriteMode(); void SetBuffer(void *buf, UInt_t bufsiz = 0, Bool_t adopt = kTRUE); void SetBufferOffset(Int_t offset = 0) { fBufCur = fBuffer+offset; } void SetParent(TObject *parent); TObject *GetParent() const; char *Buffer() const { return fBuffer; } Int_t BufferSize() const { return fBufSize; } void DetachBuffer() { fBuffer = 0; } Int_t Length() const { return (Int_t)(fBufCur - fBuffer); } virtual Bool_t CheckObject(const TObject *obj) = 0; virtual Bool_t CheckObject(const void *obj, const TClass *ptrClass) = 0; virtual Int_t ReadBuf(void *buf, Int_t max) = 0; virtual void WriteBuf(const void *buf, Int_t max) = 0; virtual char *ReadString(char *s, Int_t max) = 0; virtual void WriteString(const char *s) = 0; virtual Int_t GetVersionOwner() const = 0; virtual Int_t GetMapCount() const = 0; virtual void GetMappedObject(UInt_t tag, void* &ptr, TClass* &ClassPtr) const = 0; virtual void MapObject(const TObject *obj, UInt_t offset = 1) = 0; virtual void MapObject(const void *obj, const TClass *cl, UInt_t offset = 1) = 0; virtual void Reset() = 0; virtual void InitMap() = 0; virtual void ResetMap() = 0; virtual void SetReadParam(Int_t mapsize) = 0; virtual void SetWriteParam(Int_t mapsize) = 0; virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss) = 0; virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const char *classname) = 0; virtual void SetByteCount(UInt_t cntpos, Bool_t packInVersion = kFALSE)= 0; virtual Version_t ReadVersion(UInt_t *start = 0, UInt_t *bcnt = 0, const TClass *cl = 0) = 0; virtual UInt_t WriteVersion(const TClass *cl, Bool_t useBcnt = kFALSE) = 0; virtual UInt_t WriteVersionMemberWise(const TClass *cl, Bool_t useBcnt = kFALSE) = 0; virtual void *ReadObjectAny(const TClass* cast) = 0; virtual void SkipObjectAny() = 0; virtual void IncrementLevel(TVirtualStreamerInfo* info) = 0; virtual void SetStreamerElementNumber(Int_t) = 0; virtual void DecrementLevel(TVirtualStreamerInfo*) = 0; virtual void ClassBegin(const TClass*, Version_t = -1) = 0; virtual void ClassEnd(const TClass*) = 0; virtual void ClassMember(const char*, const char* = 0, Int_t = -1, Int_t = -1) = 0; virtual TVirtualStreamerInfo *GetInfo() = 0; virtual TClass *ReadClass(const TClass *cl = 0, UInt_t *objTag = 0) = 0; virtual void WriteClass(const TClass *cl) = 0; virtual TObject *ReadObject(const TClass *cl) = 0; virtual void WriteObject(const TObject *obj) = 0; virtual Int_t WriteObjectAny(const void *obj, const TClass *ptrClass) = 0; virtual UShort_t GetPidOffset() const = 0; virtual void SetPidOffset(UShort_t offset) = 0; virtual Int_t GetBufferDisplacement() const = 0; virtual void SetBufferDisplacement() = 0; virtual void SetBufferDisplacement(Int_t skipped) = 0; virtual void ReadFloat16 (Float_t *f, TStreamerElement *ele=0) = 0; virtual void WriteFloat16(Float_t *f, TStreamerElement *ele=0) = 0; virtual void ReadDouble32 (Double_t *d, TStreamerElement *ele=0) = 0; virtual void WriteDouble32(Double_t *d, TStreamerElement *ele=0) = 0; virtual Int_t ReadArray(Bool_t *&b) = 0; virtual Int_t ReadArray(Char_t *&c) = 0; virtual Int_t ReadArray(UChar_t *&c) = 0; virtual Int_t ReadArray(Short_t *&h) = 0; virtual Int_t ReadArray(UShort_t *&h) = 0; virtual Int_t ReadArray(Int_t *&i) = 0; virtual Int_t ReadArray(UInt_t *&i) = 0; virtual Int_t ReadArray(Long_t *&l) = 0; virtual Int_t ReadArray(ULong_t *&l) = 0; virtual Int_t ReadArray(Long64_t *&l) = 0; virtual Int_t ReadArray(ULong64_t *&l) = 0; virtual Int_t ReadArray(Float_t *&f) = 0; virtual Int_t ReadArray(Double_t *&d) = 0; virtual Int_t ReadArrayFloat16(Float_t *&f, TStreamerElement *ele=0) = 0; virtual Int_t ReadArrayDouble32(Double_t *&d, TStreamerElement *ele=0) = 0; virtual Int_t ReadStaticArray(Bool_t *b) = 0; virtual Int_t ReadStaticArray(Char_t *c) = 0; virtual Int_t ReadStaticArray(UChar_t *c) = 0; virtual Int_t ReadStaticArray(Short_t *h) = 0; virtual Int_t ReadStaticArray(UShort_t *h) = 0; virtual Int_t ReadStaticArray(Int_t *i) = 0; virtual Int_t ReadStaticArray(UInt_t *i) = 0; virtual Int_t ReadStaticArray(Long_t *l) = 0; virtual Int_t ReadStaticArray(ULong_t *l) = 0; virtual Int_t ReadStaticArray(Long64_t *l) = 0; virtual Int_t ReadStaticArray(ULong64_t *l) = 0; virtual Int_t ReadStaticArray(Float_t *f) = 0; virtual Int_t ReadStaticArray(Double_t *d) = 0; virtual Int_t ReadStaticArrayFloat16(Float_t *f, TStreamerElement *ele=0) = 0; virtual Int_t ReadStaticArrayDouble32(Double_t *d, TStreamerElement *ele=0) = 0; virtual void ReadFastArray(Bool_t *b, Int_t n) = 0; virtual void ReadFastArray(Char_t *c, Int_t n) = 0; virtual void ReadFastArrayString(Char_t *c, Int_t n) = 0; virtual void ReadFastArray(UChar_t *c, Int_t n) = 0; virtual void ReadFastArray(Short_t *h, Int_t n) = 0; virtual void ReadFastArray(UShort_t *h, Int_t n) = 0; virtual void ReadFastArray(Int_t *i, Int_t n) = 0; virtual void ReadFastArray(UInt_t *i, Int_t n) = 0; virtual void ReadFastArray(Long_t *l, Int_t n) = 0; virtual void ReadFastArray(ULong_t *l, Int_t n) = 0; virtual void ReadFastArray(Long64_t *l, Int_t n) = 0; virtual void ReadFastArray(ULong64_t *l, Int_t n) = 0; virtual void ReadFastArray(Float_t *f, Int_t n) = 0; virtual void ReadFastArray(Double_t *d, Int_t n) = 0; virtual void ReadFastArrayFloat16(Float_t *f, Int_t n, TStreamerElement *ele=0) = 0; virtual void ReadFastArrayDouble32(Double_t *d, Int_t n, TStreamerElement *ele=0) = 0; virtual void ReadFastArray(void *start , const TClass *cl, Int_t n=1, TMemberStreamer *s=0, const TClass *onFileClass=0) = 0; virtual void ReadFastArray(void **startp, const TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=0, const TClass *onFileClass=0) = 0; virtual void WriteArray(const Bool_t *b, Int_t n) = 0; virtual void WriteArray(const Char_t *c, Int_t n) = 0; virtual void WriteArray(const UChar_t *c, Int_t n) = 0; virtual void WriteArray(const Short_t *h, Int_t n) = 0; virtual void WriteArray(const UShort_t *h, Int_t n) = 0; virtual void WriteArray(const Int_t *i, Int_t n) = 0; virtual void WriteArray(const UInt_t *i, Int_t n) = 0; virtual void WriteArray(const Long_t *l, Int_t n) = 0; virtual void WriteArray(const ULong_t *l, Int_t n) = 0; virtual void WriteArray(const Long64_t *l, Int_t n) = 0; virtual void WriteArray(const ULong64_t *l, Int_t n) = 0; virtual void WriteArray(const Float_t *f, Int_t n) = 0; virtual void WriteArray(const Double_t *d, Int_t n) = 0; virtual void WriteArrayFloat16(const Float_t *f, Int_t n, TStreamerElement *ele=0) = 0; virtual void WriteArrayDouble32(const Double_t *d, Int_t n, TStreamerElement *ele=0) = 0; virtual void WriteFastArray(const Bool_t *b, Int_t n) = 0; virtual void WriteFastArray(const Char_t *c, Int_t n) = 0; virtual void WriteFastArrayString(const Char_t *c, Int_t n) = 0; virtual void WriteFastArray(const UChar_t *c, Int_t n) = 0; virtual void WriteFastArray(const Short_t *h, Int_t n) = 0; virtual void WriteFastArray(const UShort_t *h, Int_t n) = 0; virtual void WriteFastArray(const Int_t *i, Int_t n) = 0; virtual void WriteFastArray(const UInt_t *i, Int_t n) = 0; virtual void WriteFastArray(const Long_t *l, Int_t n) = 0; virtual void WriteFastArray(const ULong_t *l, Int_t n) = 0; virtual void WriteFastArray(const Long64_t *l, Int_t n) = 0; virtual void WriteFastArray(const ULong64_t *l, Int_t n) = 0; virtual void WriteFastArray(const Float_t *f, Int_t n) = 0; virtual void WriteFastArray(const Double_t *d, Int_t n) = 0; virtual void WriteFastArrayFloat16(const Float_t *f, Int_t n, TStreamerElement *ele=0) = 0; virtual void WriteFastArrayDouble32(const Double_t *d, Int_t n, TStreamerElement *ele=0) = 0; virtual void WriteFastArray(void *start, const TClass *cl, Int_t n=1, TMemberStreamer *s=0) = 0; virtual Int_t WriteFastArray(void **startp, const TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=0) = 0; virtual void StreamObject(void *obj, const type_info &typeinfo, const TClass* onFileClass = 0 ) = 0; virtual void StreamObject(void *obj, const char *className, const TClass* onFileClass = 0 ) = 0; virtual void StreamObject(void *obj, const TClass *cl, const TClass* onFileClass = 0 ) = 0; virtual void StreamObject(TObject *obj) = 0; virtual void ReadBool(Bool_t &b) = 0; virtual void ReadChar(Char_t &c) = 0; virtual void ReadUChar(UChar_t &c) = 0; virtual void ReadShort(Short_t &s) = 0; virtual void ReadUShort(UShort_t &s) = 0; virtual void ReadInt(Int_t &i) = 0; virtual void ReadUInt(UInt_t &i) = 0; virtual void ReadLong(Long_t &l) = 0; virtual void ReadULong(ULong_t &l) = 0; virtual void ReadLong64(Long64_t &l) = 0; virtual void ReadULong64(ULong64_t &l) = 0; virtual void ReadFloat(Float_t &f) = 0; virtual void ReadDouble(Double_t &d) = 0; virtual void ReadCharP(Char_t *c) = 0; virtual void ReadTString(TString &s) = 0; virtual void WriteBool(Bool_t b) = 0; virtual void WriteChar(Char_t c) = 0; virtual void WriteUChar(UChar_t c) = 0; virtual void WriteShort(Short_t s) = 0; virtual void WriteUShort(UShort_t s) = 0; virtual void WriteInt(Int_t i) = 0; virtual void WriteUInt(UInt_t i) = 0; virtual void WriteLong(Long_t l) = 0; virtual void WriteULong(ULong_t l) = 0; virtual void WriteLong64(Long64_t l) = 0; virtual void WriteULong64(ULong64_t l) = 0; virtual void WriteFloat(Float_t f) = 0; virtual void WriteDouble(Double_t d) = 0; virtual void WriteCharP(const Char_t *c) = 0; virtual void WriteTString(const TString &s) = 0; virtual TProcessID *GetLastProcessID(TRefTable *reftable) const = 0; virtual UInt_t GetTRefExecId() = 0; virtual TProcessID *ReadProcessID(UShort_t pidf) = 0; virtual UShort_t WriteProcessID(TProcessID *pid) = 0; virtual void ForceWriteInfo(TVirtualStreamerInfo *info, Bool_t force) = 0; virtual void ForceWriteInfoClones(TClonesArray *a) = 0; virtual Int_t ReadClones (TClonesArray *a, Int_t nobjects, Version_t objvers) = 0; virtual Int_t WriteClones(TClonesArray *a, Int_t nobjects) = 0; virtual Int_t ReadClassEmulated(const TClass *cl, void *object, const TClass *onfile_class = 0) = 0; virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, const TClass *onfile_class = 0) = 0; virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, Int_t version, UInt_t start, UInt_t count, const TClass *onfile_class = 0) = 0; virtual Int_t WriteClassBuffer(const TClass *cl, void *pointer) = 0; static TClass *GetClass(const type_info &typeinfo); static TClass *GetClass(const char *className); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TBuffer::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TBuffer::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TBuffer.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 292; } }; inline TBuffer &operator>>(TBuffer &buf, Bool_t &b) { buf.ReadBool(b); return buf; } inline TBuffer &operator>>(TBuffer &buf, Char_t &c) { buf.ReadChar(c); return buf; } inline TBuffer &operator>>(TBuffer &buf, UChar_t &c) { buf.ReadUChar(c); return buf; } inline TBuffer &operator>>(TBuffer &buf, Short_t &s) { buf.ReadShort(s); return buf; } inline TBuffer &operator>>(TBuffer &buf, UShort_t &s) { buf.ReadUShort(s); return buf; } inline TBuffer &operator>>(TBuffer &buf, Int_t &i) { buf.ReadInt(i); return buf; } inline TBuffer &operator>>(TBuffer &buf, UInt_t &i) { buf.ReadUInt(i); return buf; } inline TBuffer &operator>>(TBuffer &buf, Long_t &l) { buf.ReadLong(l); return buf; } inline TBuffer &operator>>(TBuffer &buf, ULong_t &l) { buf.ReadULong(l); return buf; } inline TBuffer &operator>>(TBuffer &buf, Long64_t &l) { buf.ReadLong64(l); return buf; } inline TBuffer &operator>>(TBuffer &buf, ULong64_t &l){ buf.ReadULong64(l);return buf; } inline TBuffer &operator>>(TBuffer &buf, Float_t &f) { buf.ReadFloat(f); return buf; } inline TBuffer &operator>>(TBuffer &buf, Double_t &d) { buf.ReadDouble(d); return buf; } inline TBuffer &operator>>(TBuffer &buf, Char_t *c) { buf.ReadCharP(c); return buf; } inline TBuffer &operator>>(TBuffer &buf, TString &s) { buf.ReadTString(s);return buf; } inline TBuffer &operator<<(TBuffer &buf, Bool_t b) { buf.WriteBool(b); return buf; } inline TBuffer &operator<<(TBuffer &buf, Char_t c) { buf.WriteChar(c); return buf; } inline TBuffer &operator<<(TBuffer &buf, UChar_t c) { buf.WriteUChar(c); return buf; } inline TBuffer &operator<<(TBuffer &buf, Short_t s) { buf.WriteShort(s); return buf; } inline TBuffer &operator<<(TBuffer &buf, UShort_t s) { buf.WriteUShort(s); return buf; } inline TBuffer &operator<<(TBuffer &buf, Int_t i) { buf.WriteInt(i); return buf; } inline TBuffer &operator<<(TBuffer &buf, UInt_t i) { buf.WriteUInt(i); return buf; } inline TBuffer &operator<<(TBuffer &buf, Long_t l) { buf.WriteLong(l); return buf; } inline TBuffer &operator<<(TBuffer &buf, ULong_t l) { buf.WriteULong(l); return buf; } inline TBuffer &operator<<(TBuffer &buf, Long64_t l) { buf.WriteLong64(l); return buf; } inline TBuffer &operator<<(TBuffer &buf, ULong64_t l){ buf.WriteULong64(l);return buf; } inline TBuffer &operator<<(TBuffer &buf, Float_t f) { buf.WriteFloat(f); return buf; } inline TBuffer &operator<<(TBuffer &buf, Double_t d) { buf.WriteDouble(d); return buf; } inline TBuffer &operator<<(TBuffer &buf, const Char_t *c) { buf.WriteCharP(c); return buf; } inline TBuffer &operator<<(TBuffer &buf, const TString &s) { buf.WriteTString(s);return buf; } # 336 "/products/root_522/include/root/TBuffer.h" template TBuffer &operator>>(TBuffer &buf, Tmpl *&obj) { # 347 "/products/root_522/include/root/TBuffer.h" TClass *cl = TBuffer::GetClass(typeid(Tmpl)); obj = (Tmpl *) ( (void*) buf.ReadObjectAny(cl) ); return buf; } template TBuffer &operator<<(TBuffer &buf, const Tmpl *obj) { TClass *cl = (obj) ? TBuffer::GetClass(typeid(*obj)) : 0; buf.WriteObjectAny(obj, cl); return buf; } # 367 "/products/root_522/include/root/TBuffer.h" inline TBuffer &operator<<(TBuffer &buf, const TObject *obj) { buf.WriteObjectAny(obj, TObject::Class()); return buf; } # 210 "/products/root_522/include/root/TObject.h" 2 # 27 "/products/root_522/include/root/TNamed.h" 2 # 1 "/products/root_522/include/root/TString.h" 1 # 27 "/products/root_522/include/root/TString.h" # 1 "/usr/include/string.h" 1 3 4 # 28 "/usr/include/string.h" 3 4 extern "C" { # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 34 "/usr/include/string.h" 2 3 4 extern void *memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *memmove (void *__dest, __const void *__src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *memset (void *__s, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1))); extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memchr (__const void *__s, int __c, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern void *rawmemchr (__const void *__s, int __c) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern void *memrchr (__const void *__s, int __c, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *strcat (char *__restrict __dest, __const char *__restrict __src) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *strncat (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern int strcmp (__const char *__s1, __const char *__s2) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcoll (__const char *__s1, __const char *__s2) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strxfrm (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (2))); # 121 "/usr/include/string.h" 3 4 extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n, __locale_t __l) throw () __attribute__ ((__nonnull__ (2, 4))); extern char *strdup (__const char *__s) throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); extern char *strndup (__const char *__string, size_t __n) throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); # 165 "/usr/include/string.h" 3 4 extern char *strchr (__const char *__s, int __c) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strrchr (__const char *__s, int __c) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strchrnul (__const char *__s, int __c) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strcspn (__const char *__s, __const char *__reject) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strspn (__const char *__s, __const char *__accept) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strpbrk (__const char *__s, __const char *__accept) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strstr (__const char *__haystack, __const char *__needle) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strtok (char *__restrict __s, __const char *__restrict __delim) throw () __attribute__ ((__nonnull__ (2))); extern char *__strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) throw () __attribute__ ((__nonnull__ (2, 3))); extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) throw () __attribute__ ((__nonnull__ (2, 3))); extern char *strcasestr (__const char *__haystack, __const char *__needle) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memmem (__const void *__haystack, size_t __haystacklen, __const void *__needle, size_t __needlelen) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))); extern void *__mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern size_t strlen (__const char *__s) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strnlen (__const char *__string, size_t __maxlen) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strerror (int __errnum) throw (); # 281 "/usr/include/string.h" 3 4 extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) throw () __attribute__ ((__nonnull__ (2))); extern char *strerror_l (int __errnum, __locale_t __l) throw (); extern void __bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); extern void bcopy (__const void *__src, void *__dest, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *index (__const char *__s, int __c) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *rindex (__const char *__s, int __c) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern int ffs (int __i) throw () __attribute__ ((__const__)); extern int ffsl (long int __l) throw () __attribute__ ((__const__)); __extension__ extern int ffsll (long long int __ll) throw () __attribute__ ((__const__)); extern int strcasecmp (__const char *__s1, __const char *__s2) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcasecmp_l (__const char *__s1, __const char *__s2, __locale_t __loc) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern int strncasecmp_l (__const char *__s1, __const char *__s2, size_t __n, __locale_t __loc) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); extern char *strsep (char **__restrict __stringp, __const char *__restrict __delim) throw () __attribute__ ((__nonnull__ (1, 2))); extern int strverscmp (__const char *__s1, __const char *__s2) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strsignal (int __sig) throw (); extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *__stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *strfry (char *__string) throw () __attribute__ ((__nonnull__ (1))); extern void *memfrob (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); extern char *basename (__const char *__filename) throw () __attribute__ ((__nonnull__ (1))); # 432 "/usr/include/string.h" 3 4 } # 28 "/products/root_522/include/root/TString.h" 2 # 1 "/products/root_522/include/root/TRefCnt.h" 1 # 29 "/products/root_522/include/root/TRefCnt.h" class TRefCnt { protected: UInt_t fRefs; public: enum EReferenceFlag { kStaticInit }; TRefCnt(Int_t initRef = 0) : fRefs((UInt_t)initRef-1) { } TRefCnt(EReferenceFlag); virtual ~TRefCnt() { } UInt_t References() const { return fRefs+1; } void SetRefCount(UInt_t r) { fRefs = r-1; } void AddReference() { fRefs++; } UInt_t RemoveReference() { return fRefs--; } }; # 33 "/products/root_522/include/root/TString.h" 2 # 1 "/products/root_522/include/root/TMathBase.h" 1 # 33 "/products/root_522/include/root/TMathBase.h" namespace TMath { inline Short_t Abs(Short_t d); inline Int_t Abs(Int_t d); inline Long_t Abs(Long_t d); inline Long64_t Abs(Long64_t d); inline Float_t Abs(Float_t d); inline Double_t Abs(Double_t d); inline Bool_t Even(Long_t a); inline Bool_t Odd(Long_t a); inline Short_t Sign(Short_t a, Short_t b); inline Int_t Sign(Int_t a, Int_t b); inline Long_t Sign(Long_t a, Long_t b); inline Long64_t Sign(Long64_t a, Long64_t b); inline Float_t Sign(Float_t a, Float_t b); inline Double_t Sign(Double_t a, Double_t b); inline Short_t Min(Short_t a, Short_t b); inline UShort_t Min(UShort_t a, UShort_t b); inline Int_t Min(Int_t a, Int_t b); inline UInt_t Min(UInt_t a, UInt_t b); inline Long_t Min(Long_t a, Long_t b); inline ULong_t Min(ULong_t a, ULong_t b); inline Long64_t Min(Long64_t a, Long64_t b); inline ULong64_t Min(ULong64_t a, ULong64_t b); inline Float_t Min(Float_t a, Float_t b); inline Double_t Min(Double_t a, Double_t b); inline Short_t Max(Short_t a, Short_t b); inline UShort_t Max(UShort_t a, UShort_t b); inline Int_t Max(Int_t a, Int_t b); inline UInt_t Max(UInt_t a, UInt_t b); inline Long_t Max(Long_t a, Long_t b); inline ULong_t Max(ULong_t a, ULong_t b); inline Long64_t Max(Long64_t a, Long64_t b); inline ULong64_t Max(ULong64_t a, ULong64_t b); inline Float_t Max(Float_t a, Float_t b); inline Double_t Max(Double_t a, Double_t b); inline Short_t Range(Short_t lb, Short_t ub, Short_t x); inline Int_t Range(Int_t lb, Int_t ub, Int_t x); inline Long_t Range(Long_t lb, Long_t ub, Long_t x); inline ULong_t Range(ULong_t lb, ULong_t ub, ULong_t x); inline Double_t Range(Double_t lb, Double_t ub, Double_t x); Long_t NextPrime(Long_t x); } inline Bool_t TMath::Even(Long_t a) { return ! (a & 1); } inline Bool_t TMath::Odd(Long_t a) { return (a & 1); } inline Short_t TMath::Abs(Short_t d) { return (d >= 0) ? d : -d; } inline Int_t TMath::Abs(Int_t d) { return (d >= 0) ? d : -d; } inline Long_t TMath::Abs(Long_t d) { return (d >= 0) ? d : -d; } inline Long64_t TMath::Abs(Long64_t d) { return (d >= 0) ? d : -d; } inline Float_t TMath::Abs(Float_t d) { return (d >= 0) ? d : -d; } inline Double_t TMath::Abs(Double_t d) { return (d >= 0) ? d : -d; } inline Short_t TMath::Sign(Short_t a, Short_t b) { return (b >= 0) ? Abs(a) : -Abs(a); } inline Int_t TMath::Sign(Int_t a, Int_t b) { return (b >= 0) ? Abs(a) : -Abs(a); } inline Long_t TMath::Sign(Long_t a, Long_t b) { return (b >= 0) ? Abs(a) : -Abs(a); } inline Long64_t TMath::Sign(Long64_t a, Long64_t b) { return (b >= 0) ? Abs(a) : -Abs(a); } inline Float_t TMath::Sign(Float_t a, Float_t b) { return (b >= 0) ? Abs(a) : -Abs(a); } inline Double_t TMath::Sign(Double_t a, Double_t b) { return (b >= 0) ? Abs(a) : -Abs(a); } inline Short_t TMath::Min(Short_t a, Short_t b) { return a <= b ? a : b; } inline UShort_t TMath::Min(UShort_t a, UShort_t b) { return a <= b ? a : b; } inline Int_t TMath::Min(Int_t a, Int_t b) { return a <= b ? a : b; } inline UInt_t TMath::Min(UInt_t a, UInt_t b) { return a <= b ? a : b; } inline Long_t TMath::Min(Long_t a, Long_t b) { return a <= b ? a : b; } inline ULong_t TMath::Min(ULong_t a, ULong_t b) { return a <= b ? a : b; } inline Long64_t TMath::Min(Long64_t a, Long64_t b) { return a <= b ? a : b; } inline ULong64_t TMath::Min(ULong64_t a, ULong64_t b) { return a <= b ? a : b; } inline Float_t TMath::Min(Float_t a, Float_t b) { return a <= b ? a : b; } inline Double_t TMath::Min(Double_t a, Double_t b) { return a <= b ? a : b; } inline Short_t TMath::Max(Short_t a, Short_t b) { return a >= b ? a : b; } inline UShort_t TMath::Max(UShort_t a, UShort_t b) { return a >= b ? a : b; } inline Int_t TMath::Max(Int_t a, Int_t b) { return a >= b ? a : b; } inline UInt_t TMath::Max(UInt_t a, UInt_t b) { return a >= b ? a : b; } inline Long_t TMath::Max(Long_t a, Long_t b) { return a >= b ? a : b; } inline ULong_t TMath::Max(ULong_t a, ULong_t b) { return a >= b ? a : b; } inline Long64_t TMath::Max(Long64_t a, Long64_t b) { return a >= b ? a : b; } inline ULong64_t TMath::Max(ULong64_t a, ULong64_t b) { return a >= b ? a : b; } inline Float_t TMath::Max(Float_t a, Float_t b) { return a >= b ? a : b; } inline Double_t TMath::Max(Double_t a, Double_t b) { return a >= b ? a : b; } inline Short_t TMath::Range(Short_t lb, Short_t ub, Short_t x) { return x < lb ? lb : (x > ub ? ub : x); } inline Int_t TMath::Range(Int_t lb, Int_t ub, Int_t x) { return x < lb ? lb : (x > ub ? ub : x); } inline Long_t TMath::Range(Long_t lb, Long_t ub, Long_t x) { return x < lb ? lb : (x > ub ? ub : x); } inline ULong_t TMath::Range(ULong_t lb, ULong_t ub, ULong_t x) { return x < lb ? lb : (x > ub ? ub : x); } inline Double_t TMath::Range(Double_t lb, Double_t ub, Double_t x) { return x < lb ? lb : (x > ub ? ub : x); } # 41 "/products/root_522/include/root/TString.h" 2 # 50 "/products/root_522/include/root/TString.h" class TRegexp; class TPRegexp; class TString; class TSubString; class TObjArray; class TVirtualMutex; extern TVirtualMutex *gStringMutex; TString operator+(const TString &s1, const TString &s2); TString operator+(const TString &s, const char *cs); TString operator+(const char *cs, const TString &s); TString operator+(const TString &s, char c); TString operator+(const TString &s, Long_t i); TString operator+(const TString &s, ULong_t i); TString operator+(const TString &s, Long64_t i); TString operator+(const TString &s, ULong64_t i); TString operator+(char c, const TString &s); TString operator+(Long_t i, const TString &s); TString operator+(ULong_t i, const TString &s); TString operator+(Long64_t i, const TString &s); TString operator+(ULong64_t i, const TString &s); Bool_t operator==(const TString &s1, const TString &s2); Bool_t operator==(const TString &s1, const char *s2); Bool_t operator==(const TSubString &s1, const TSubString &s2); Bool_t operator==(const TSubString &s1, const TString &s2); Bool_t operator==(const TSubString &s1, const char *s2); # 88 "/products/root_522/include/root/TString.h" class TStringRef : public TRefCnt { friend class TString; friend class TStringLong; friend class TSubString; private: Ssiz_t fCapacity; Ssiz_t fNchars; void UnLink(); Ssiz_t Length() const { return fNchars; } Ssiz_t Capacity() const { return fCapacity; } char *Data() const { return (char*)(this+1); } char &operator[](Ssiz_t i) { return ((char*)(this+1))[i]; } char operator[](Ssiz_t i) const { return ((char*)(this+1))[i]; } Ssiz_t First(char c) const; Ssiz_t First(const char *s) const; UInt_t Hash() const; UInt_t HashFoldCase() const; Ssiz_t Last(char) const; static TStringRef *GetRep(Ssiz_t capac, Ssiz_t nchar); }; # 125 "/products/root_522/include/root/TString.h" class TSubString { friend class TStringLong; friend class TString; friend Bool_t operator==(const TSubString &s1, const TSubString &s2); friend Bool_t operator==(const TSubString &s1, const TString &s2); friend Bool_t operator==(const TSubString &s1, const char *s2); private: TString &fStr; Ssiz_t fBegin; Ssiz_t fExtent; TSubString(const TString &s, Ssiz_t start, Ssiz_t len); protected: void SubStringError(Ssiz_t, Ssiz_t, Ssiz_t) const; void AssertElement(Ssiz_t i) const; public: TSubString(const TSubString &s) : fStr(s.fStr), fBegin(s.fBegin), fExtent(s.fExtent) { } TSubString &operator=(const char *s); TSubString &operator=(const TString &s); TSubString &operator=(const TSubString &s); char &operator()(Ssiz_t i); char &operator[](Ssiz_t i); char operator()(Ssiz_t i) const; char operator[](Ssiz_t i) const; const char *Data() const; Ssiz_t Length() const { return fExtent; } Ssiz_t Start() const { return fBegin; } TString& String() { return fStr; } void ToLower(); void ToUpper(); Bool_t IsNull() const { return fBegin == kNPOS; } int operator!() const { return fBegin == kNPOS; } }; class TString { friend class TSubString; friend class TStringRef; friend TString operator+(const TString &s1, const TString &s2); friend TString operator+(const TString &s, const char *cs); friend TString operator+(const char *cs, const TString &s); friend TString operator+(const TString &s, char c); friend TString operator+(const TString &s, Long_t i); friend TString operator+(const TString &s, ULong_t i); friend TString operator+(const TString &s, Long64_t i); friend TString operator+(const TString &s, ULong64_t i); friend TString operator+(char c, const TString &s); friend TString operator+(Long_t i, const TString &s); friend TString operator+(ULong_t i, const TString &s); friend TString operator+(Long64_t i, const TString &s); friend TString operator+(ULong64_t i, const TString &s); friend Bool_t operator==(const TString &s1, const TString &s2); friend Bool_t operator==(const TString &s1, const char *s2); private: static Ssiz_t fgInitialCapac; static Ssiz_t fgResizeInc; static Ssiz_t fgFreeboard; void Clone(); void Clone(Ssiz_t nc); void FormImp(const char *fmt, va_list ap); protected: char *fData; TString(const char *a1, Ssiz_t n1, const char *a2, Ssiz_t n2); TStringRef *Pref() const { return (((TStringRef*) fData) - 1); } void AssertElement(Ssiz_t nc) const; void Clobber(Ssiz_t nc); void Cow(); void Cow(Ssiz_t nc); static Ssiz_t AdjustCapacity(Ssiz_t nc); void InitChar(char c); public: enum EStripType { kLeading = 0x1, kTrailing = 0x2, kBoth = 0x3 }; enum ECaseCompare { kExact, kIgnoreCase }; TString(); TString(Ssiz_t ic); TString(const TString &s) : fData(s.fData) { Pref()->AddReference(); } TString(const char *s); TString(const char *s, Ssiz_t n); TString(const std::string &s); TString(char c) : fData(0) { InitChar(c); } TString(char c, Ssiz_t s); TString(const TSubString &sub); virtual ~TString(); virtual void FillBuffer(char *&buffer); virtual void ReadBuffer(char *&buffer); virtual Int_t Sizeof() const; static TString *ReadString(TBuffer &b, const TClass *clReq); static void WriteString(TBuffer &b, const TString *a); friend TBuffer &operator<<(TBuffer &b, const TString *obj); Bool_t Gets(FILE *fp, Bool_t chop=kTRUE); void Puts(FILE *fp); operator const char*() const { return fData; } TString &operator=(char s); TString &operator=(const char *s); TString &operator=(const TString &s); TString &operator=(const std::string &s); TString &operator=(const TSubString &s); TString &operator+=(const char *s); TString &operator+=(const TString &s); TString &operator+=(char c); TString &operator+=(Short_t i); TString &operator+=(UShort_t i); TString &operator+=(Int_t i); TString &operator+=(UInt_t i); TString &operator+=(Long_t i); TString &operator+=(ULong_t i); TString &operator+=(Float_t f); TString &operator+=(Double_t f); TString &operator+=(Long64_t i); TString &operator+=(ULong64_t i); char &operator[](Ssiz_t i); char &operator()(Ssiz_t i); TSubString operator()(Ssiz_t start, Ssiz_t len); TSubString operator()(const TRegexp &re); TSubString operator()(const TRegexp &re, Ssiz_t start); TSubString operator()(TPRegexp &re); TSubString operator()(TPRegexp &re, Ssiz_t start); TSubString SubString(const char *pat, Ssiz_t start = 0, ECaseCompare cmp = kExact); char operator[](Ssiz_t i) const; char operator()(Ssiz_t i) const; TSubString operator()(Ssiz_t start, Ssiz_t len) const; TSubString operator()(const TRegexp &re) const; TSubString operator()(const TRegexp &re, Ssiz_t start) const; TSubString operator()(TPRegexp &re) const; TSubString operator()(TPRegexp &re, Ssiz_t start) const; TSubString SubString(const char *pat, Ssiz_t start = 0, ECaseCompare cmp = kExact) const; TString &Append(const char *cs); TString &Append(const char *cs, Ssiz_t n); TString &Append(const TString &s); TString &Append(const TString &s, Ssiz_t n); TString &Append(char c, Ssiz_t rep = 1); Int_t Atoi() const; Long64_t Atoll() const; Double_t Atof() const; Bool_t BeginsWith(const char *s, ECaseCompare cmp = kExact) const; Bool_t BeginsWith(const TString &pat, ECaseCompare cmp = kExact) const; Ssiz_t Capacity() const { return Pref()->Capacity(); } Ssiz_t Capacity(Ssiz_t n); TString &Chop(); int CompareTo(const char *cs, ECaseCompare cmp = kExact) const; int CompareTo(const TString &st, ECaseCompare cmp = kExact) const; Bool_t Contains(const char *pat, ECaseCompare cmp = kExact) const; Bool_t Contains(const TString &pat, ECaseCompare cmp = kExact) const; Bool_t Contains(const TRegexp &pat) const; Bool_t Contains(TPRegexp &pat) const; Int_t CountChar(Int_t c) const; TString Copy() const; const char *Data() const { return fData; } Bool_t EndsWith(const char *pat, ECaseCompare cmp = kExact) const; Ssiz_t First(char c) const { return Pref()->First(c); } Ssiz_t First(const char *cs) const { return Pref()->First(cs); } void Form(const char *fmt, ...); UInt_t Hash(ECaseCompare cmp = kExact) const; Ssiz_t Index(const char *pat, Ssiz_t i = 0, ECaseCompare cmp = kExact) const; Ssiz_t Index(const TString &s, Ssiz_t i = 0, ECaseCompare cmp = kExact) const; Ssiz_t Index(const char *pat, Ssiz_t patlen, Ssiz_t i, ECaseCompare cmp) const; Ssiz_t Index(const TString &s, Ssiz_t patlen, Ssiz_t i, ECaseCompare cmp) const; Ssiz_t Index(const TRegexp &pat, Ssiz_t i = 0) const; Ssiz_t Index(const TRegexp &pat, Ssiz_t *ext, Ssiz_t i = 0) const; Ssiz_t Index(TPRegexp &pat, Ssiz_t i = 0) const; Ssiz_t Index(TPRegexp &pat, Ssiz_t *ext, Ssiz_t i = 0) const; TString &Insert(Ssiz_t pos, const char *s); TString &Insert(Ssiz_t pos, const char *s, Ssiz_t extent); TString &Insert(Ssiz_t pos, const TString &s); TString &Insert(Ssiz_t pos, const TString &s, Ssiz_t extent); Bool_t IsAscii() const; Bool_t IsAlpha() const; Bool_t IsAlnum() const; Bool_t IsDigit() const; Bool_t IsFloat() const; Bool_t IsHex() const; Bool_t IsNull() const { return Pref()->fNchars == 0; } Bool_t IsWhitespace() const { return (Length() == CountChar(' ')); } Ssiz_t Last(char c) const { return Pref()->Last(c); } Ssiz_t Length() const { return Pref()->fNchars; } Bool_t MaybeRegexp() const; Bool_t MaybeWildcard() const; TString &Prepend(const char *cs); TString &Prepend(const char *cs, Ssiz_t n); TString &Prepend(const TString &s); TString &Prepend(const TString &s, Ssiz_t n); TString &Prepend(char c, Ssiz_t rep = 1); istream &ReadFile(istream &str); istream &ReadLine(istream &str, Bool_t skipWhite = kTRUE); istream &ReadString(istream &str); istream &ReadToDelim(istream &str, char delim = '\n'); istream &ReadToken(istream &str); TString &Remove(Ssiz_t pos); TString &Remove(Ssiz_t pos, Ssiz_t n); TString &Remove(EStripType s, char c); TString &Replace(Ssiz_t pos, Ssiz_t n, const char *s); TString &Replace(Ssiz_t pos, Ssiz_t n, const char *s, Ssiz_t ns); TString &Replace(Ssiz_t pos, Ssiz_t n, const TString &s); TString &Replace(Ssiz_t pos, Ssiz_t n1, const TString &s, Ssiz_t n2); TString &ReplaceAll(const TString &s1, const TString &s2); TString &ReplaceAll(const TString &s1, const char *s2); TString &ReplaceAll(const char *s1, const TString &s2); TString &ReplaceAll(const char *s1, const char *s2); TString &ReplaceAll(const char *s1, Ssiz_t ls1, const char *s2, Ssiz_t ls2); void Resize(Ssiz_t n); TSubString Strip(EStripType s = kTrailing, char c = ' '); TSubString Strip(EStripType s = kTrailing, char c = ' ') const; void ToLower(); void ToUpper(); TObjArray *Tokenize(const TString &delim) const; Bool_t Tokenize(TString &tok, Ssiz_t &from, const char *delim = " ") const; static ULong_t Hash(const void *txt, Int_t ntxt); static Ssiz_t InitialCapacity(Ssiz_t ic = 15); static Ssiz_t MaxWaste(Ssiz_t mw = 15); static Ssiz_t ResizeIncrement(Ssiz_t ri = 16); static Ssiz_t GetInitialCapacity(); static Ssiz_t GetResizeIncrement(); static Ssiz_t GetMaxWaste(); static TString Format(const char *fmt, ...); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TString::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TString::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TString.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 391; } }; istream &operator>>(istream &str, TString &s); ostream &operator<<(ostream &str, const TString &s); TBuffer &operator>>(TBuffer &buf, TString *&sp); TString ToLower(const TString &s); TString ToUpper(const TString &s); inline UInt_t Hash(const TString &s) { return s.Hash(); } inline UInt_t Hash(const TString *s) { return s->Hash(); } UInt_t Hash(const char *s); extern char *Form(const char *fmt, ...); extern void Printf(const char *fmt, ...); extern char *Strip(const char *str, char c = ' '); extern char *StrDup(const char *str); extern char *Compress(const char *str); extern int EscChar(const char *src, char *dst, int dstlen, char *specchars, char escchar); extern int UnEscChar(const char *src, char *dst, int dstlen, char *specchars, char escchar); # 431 "/products/root_522/include/root/TString.h" inline void TStringRef::UnLink() { if (RemoveReference() == 0) delete [] (char*)this; } inline void TString::Cow() { if (Pref()->References() > 1) Clone(); } inline void TString::Cow(Ssiz_t nc) { if (Pref()->References() > 1 || Capacity() < nc) Clone(nc); } inline TString &TString::Append(const char *cs) { return Replace(Length(), 0, cs, cs ? strlen(cs) : 0); } inline TString &TString::Append(const char *cs, Ssiz_t n) { return Replace(Length(), 0, cs, n); } inline TString &TString::Append(const TString &s) { return Replace(Length(), 0, s.Data(), s.Length()); } inline TString &TString::Append(const TString &s, Ssiz_t n) { return Replace(Length(), 0, s.Data(), TMath::Min(n, s.Length())); } inline TString &TString::operator+=(const char *cs) { return Append(cs, cs ? strlen(cs) : 0); } inline TString &TString::operator+=(const TString &s) { return Append(s.Data(), s.Length()); } inline TString &TString::operator+=(char c) { return Append(c); } inline TString &TString::operator+=(Long_t i) { char s[32]; sprintf(s, "%ld", i); return operator+=(s); } inline TString &TString::operator+=(ULong_t i) { char s[32]; sprintf(s, "%lu", i); return operator+=(s); } inline TString &TString::operator+=(Short_t i) { return operator+=((Long_t) i); } inline TString &TString::operator+=(UShort_t i) { return operator+=((ULong_t) i); } inline TString &TString::operator+=(Int_t i) { return operator+=((Long_t) i); } inline TString &TString::operator+=(UInt_t i) { return operator+=((ULong_t) i); } inline TString &TString::operator+=(Double_t f) { char s[32]; sprintf(s, "%9.9g", f); return operator+=(s); } inline TString &TString::operator+=(Float_t f) { return operator+=((Double_t) f); } inline TString &TString::operator+=(Long64_t l) { char s[32]; sprintf(s, "%lld", l); return operator+=(s); } inline TString &TString::operator+=(ULong64_t ul) { char s[32]; sprintf(s, "%llu", ul); return operator+=(s); } inline Bool_t TString::BeginsWith(const char *s, ECaseCompare cmp) const { return Index(s, s ? strlen(s) : (Ssiz_t)0, (Ssiz_t)0, cmp) == 0; } inline Bool_t TString::BeginsWith(const TString &pat, ECaseCompare cmp) const { return Index(pat.Data(), pat.Length(), (Ssiz_t)0, cmp) == 0; } inline Bool_t TString::Contains(const TString &pat, ECaseCompare cmp) const { return Index(pat.Data(), pat.Length(), (Ssiz_t)0, cmp) != kNPOS; } inline Bool_t TString::Contains(const char *s, ECaseCompare cmp) const { return Index(s, s ? strlen(s) : 0, (Ssiz_t)0, cmp) != kNPOS; } inline Bool_t TString::Contains(const TRegexp &pat) const { return Index(pat, (Ssiz_t)0) != kNPOS; } inline Bool_t TString::Contains(TPRegexp &pat) const { return Index(pat, (Ssiz_t)0) != kNPOS; } inline Ssiz_t TString::Index(const char *s, Ssiz_t i, ECaseCompare cmp) const { return Index(s, s ? strlen(s) : 0, i, cmp); } inline Ssiz_t TString::Index(const TString &s, Ssiz_t i, ECaseCompare cmp) const { return Index(s.Data(), s.Length(), i, cmp); } inline Ssiz_t TString::Index(const TString &pat, Ssiz_t patlen, Ssiz_t i, ECaseCompare cmp) const { return Index(pat.Data(), patlen, i, cmp); } inline TString &TString::Insert(Ssiz_t pos, const char *cs) { return Replace(pos, 0, cs, cs ? strlen(cs) : 0); } inline TString &TString::Insert(Ssiz_t pos, const char *cs, Ssiz_t n) { return Replace(pos, 0, cs, n); } inline TString &TString::Insert(Ssiz_t pos, const TString &s) { return Replace(pos, 0, s.Data(), s.Length()); } inline TString &TString::Insert(Ssiz_t pos, const TString &s, Ssiz_t n) { return Replace(pos, 0, s.Data(), TMath::Min(n, s.Length())); } inline TString &TString::Prepend(const char *cs) { return Replace(0, 0, cs, cs ? strlen(cs) : 0); } inline TString &TString::Prepend(const char *cs, Ssiz_t n) { return Replace(0, 0, cs, n); } inline TString &TString::Prepend(const TString &s) { return Replace(0, 0, s.Data(), s.Length()); } inline TString &TString::Prepend(const TString &s, Ssiz_t n) { return Replace(0, 0, s.Data(), TMath::Min(n, s.Length())); } inline TString &TString::Remove(Ssiz_t pos) { return Replace(pos, TMath::Max(0, Length()-pos), 0, 0); } inline TString &TString::Remove(Ssiz_t pos, Ssiz_t n) { return Replace(pos, n, 0, 0); } inline TString &TString::Chop() { return Remove(TMath::Max(0, Length()-1)); } inline TString &TString::Replace(Ssiz_t pos, Ssiz_t n, const char *cs) { return Replace(pos, n, cs, cs ? strlen(cs) : 0); } inline TString &TString::Replace(Ssiz_t pos, Ssiz_t n, const TString& s) { return Replace(pos, n, s.Data(), s.Length()); } inline TString &TString::Replace(Ssiz_t pos, Ssiz_t n1, const TString &s, Ssiz_t n2) { return Replace(pos, n1, s.Data(), TMath::Min(s.Length(), n2)); } inline TString &TString::ReplaceAll(const TString &s1, const TString &s2) { return ReplaceAll(s1.Data(), s1.Length(), s2.Data(), s2.Length()) ; } inline TString &TString::ReplaceAll(const TString &s1, const char *s2) { return ReplaceAll(s1.Data(), s1.Length(), s2, s2 ? strlen(s2) : 0); } inline TString &TString::ReplaceAll(const char *s1, const TString &s2) { return ReplaceAll(s1, s1 ? strlen(s1) : 0, s2.Data(), s2.Length()); } inline TString &TString::ReplaceAll(const char *s1,const char *s2) { return ReplaceAll(s1, s1 ? strlen(s1) : 0, s2, s2 ? strlen(s2) : 0); } inline char &TString::operator()(Ssiz_t i) { Cow(); return fData[i]; } inline char TString::operator[](Ssiz_t i) const { AssertElement(i); return fData[i]; } inline char TString::operator()(Ssiz_t i) const { return fData[i]; } inline const char *TSubString::Data() const { return fStr.Data() + fBegin; } inline char TSubString::operator[](Ssiz_t i) const { AssertElement(i); return fStr.fData[fBegin+i]; } inline char TSubString::operator()(Ssiz_t i) const { return fStr.fData[fBegin+i]; } inline TSubString &TSubString::operator=(const TSubString &s) { fStr = s.fStr; fBegin = s.fBegin; fExtent = s.fExtent; return *this; } inline Bool_t operator==(const TString &s1, const TString &s2) { return ((s1.Length() == s2.Length()) && !memcmp(s1.Data(), s2.Data(), s1.Length())); } inline Bool_t operator!=(const TString &s1, const TString &s2) { return !(s1 == s2); } inline Bool_t operator<(const TString &s1, const TString &s2) { return s1.CompareTo(s2) < 0; } inline Bool_t operator>(const TString &s1, const TString &s2) { return s1.CompareTo(s2) > 0; } inline Bool_t operator<=(const TString &s1, const TString &s2) { return s1.CompareTo(s2) <= 0; } inline Bool_t operator>=(const TString &s1, const TString &s2) { return s1.CompareTo(s2) >= 0; } inline Bool_t operator!=(const TString &s1, const char *s2) { return !(s1 == s2); } inline Bool_t operator<(const TString &s1, const char *s2) { return s1.CompareTo(s2) < 0; } inline Bool_t operator>(const TString &s1, const char *s2) { return s1.CompareTo(s2) > 0; } inline Bool_t operator<=(const TString &s1, const char *s2) { return s1.CompareTo(s2) <= 0; } inline Bool_t operator>=(const TString &s1, const char *s2) { return s1.CompareTo(s2) >= 0; } inline Bool_t operator==(const char *s1, const TString &s2) { return (s2 == s1); } inline Bool_t operator!=(const char *s1, const TString &s2) { return !(s2 == s1); } inline Bool_t operator<(const char *s1, const TString &s2) { return s2.CompareTo(s1) > 0; } inline Bool_t operator>(const char *s1, const TString &s2) { return s2.CompareTo(s1) < 0; } inline Bool_t operator<=(const char *s1, const TString &s2) { return s2.CompareTo(s1) >= 0; } inline Bool_t operator>=(const char *s1, const TString &s2) { return s2.CompareTo(s1) <= 0; } inline Bool_t operator==(const TString &s1, const TSubString &s2) { return (s2 == s1); } inline Bool_t operator==(const char *s1, const TSubString &s2) { return (s2 == s1); } inline Bool_t operator!=(const TSubString &s1, const char *s2) { return !(s1 == s2); } inline Bool_t operator!=(const TSubString &s1, const TString &s2) { return !(s1 == s2); } inline Bool_t operator!=(const TSubString &s1, const TSubString &s2) { return !(s1 == s2); } inline Bool_t operator!=(const TString &s1, const TSubString &s2) { return !(s2 == s1); } inline Bool_t operator!=(const char *s1, const TSubString &s2) { return !(s2 == s1); } # 30 "/products/root_522/include/root/TNamed.h" 2 class TNamed : public TObject { protected: TString fName; TString fTitle; public: TNamed(): fName(), fTitle() { } TNamed(const char *name, const char *title) : fName(name), fTitle(title) { } TNamed(const TString &name, const TString &title) : fName(name), fTitle(title) { } TNamed(const TNamed &named); TNamed& operator=(const TNamed& rhs); virtual ~TNamed() { } virtual void Clear(Option_t *option =""); virtual TObject *Clone(const char *newname="") const; virtual Int_t Compare(const TObject *obj) const; virtual void Copy(TObject &named) const; virtual void FillBuffer(char *&buffer); virtual const char *GetName() const { return fName; } virtual const char *GetTitle() const { return fTitle; } virtual ULong_t Hash() const { return fName.Hash(); } virtual Bool_t IsSortable() const { return kTRUE; } virtual void SetName(const char *name); virtual void SetNameTitle(const char *name, const char *title); virtual void SetTitle(const char *title=""); virtual void ls(Option_t *option="") const; virtual void Print(Option_t *option="") const; virtual Int_t Sizeof() const; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TNamed::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TNamed::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TNamed.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 62; } }; # 26 "/products/root_522/include/root/TDirectory.h" 2 # 1 "/products/root_522/include/root/TList.h" 1 # 26 "/products/root_522/include/root/TList.h" # 1 "/products/root_522/include/root/TSeqCollection.h" 1 # 26 "/products/root_522/include/root/TSeqCollection.h" # 1 "/products/root_522/include/root/TCollection.h" 1 # 30 "/products/root_522/include/root/TCollection.h" # 1 "/products/root_522/include/root/TIterator.h" 1 # 29 "/products/root_522/include/root/TIterator.h" class TCollection; class TObject; class TIterator { protected: TIterator() { } TIterator(const TIterator &) { } public: virtual TIterator &operator=(const TIterator &) { return *this; } virtual ~TIterator() { } virtual const TCollection *GetCollection() const = 0; virtual Option_t *GetOption() const { return ""; } virtual TObject *Next() = 0; virtual void Reset() = 0; TObject *operator()() { return Next(); } virtual bool operator!=(const TIterator &) const; virtual TObject *operator*() const; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TIterator::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TIterator::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TIterator.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 49; } }; # 31 "/products/root_522/include/root/TCollection.h" 2 class TClass; class TObjectTable; class TVirtualMutex; const Bool_t kIterForward = kTRUE; const Bool_t kIterBackward = !kIterForward; extern TVirtualMutex *gCollectionMutex; class TCollection : public TObject { private: static TCollection *fgCurrentCollection; static TObjectTable *fgGarbageCollection; static Bool_t fgEmptyingGarbage; static Int_t fgGarbageStack; TCollection(const TCollection &); void operator=(const TCollection &); protected: enum { kIsOwner = (1 << (14)) }; TString fName; Int_t fSize; TCollection() : fName(), fSize(0) { } virtual void PrintCollectionHeader(Option_t* option) const; virtual const char* GetCollectionEntryName(TObject* entry) const; virtual void PrintCollectionEntry(TObject* entry, Option_t* option, Int_t recurse) const; public: enum { kInitCapacity = 16, kInitHashTableCapacity = 17 }; virtual ~TCollection() { } virtual void Add(TObject *obj) = 0; void AddVector(TObject *obj1, ...); virtual void AddAll(const TCollection *col); Bool_t AssertClass(TClass *cl) const; void Browse(TBrowser *b); Int_t Capacity() const { return fSize; } virtual void Clear(Option_t *option="") = 0; Int_t Compare(const TObject *obj) const; Bool_t Contains(const char *name) const { return FindObject(name) != 0; } Bool_t Contains(const TObject *obj) const { return FindObject(obj) != 0; } virtual void Delete(Option_t *option="") = 0; virtual void Draw(Option_t *option=""); virtual void Dump() const ; virtual TObject *FindObject(const char *name) const; TObject *operator()(const char *name) const; virtual TObject *FindObject(const TObject *obj) const; virtual Int_t GetEntries() const { return GetSize(); } virtual const char *GetName() const; virtual TObject **GetObjectRef(const TObject *obj) const = 0; virtual Int_t GetSize() const { return fSize; } virtual Int_t GrowBy(Int_t delta) const; ULong_t Hash() const { return fName.Hash(); } Bool_t IsArgNull(const char *where, const TObject *obj) const; virtual Bool_t IsEmpty() const { return GetSize() <= 0; } virtual Bool_t IsFolder() const { return kTRUE; } Bool_t IsOwner() const { return TestBit(kIsOwner); } Bool_t IsSortable() const { return kTRUE; } virtual void ls(Option_t *option="") const ; virtual TIterator *MakeIterator(Bool_t dir = kIterForward) const = 0; virtual TIterator *MakeReverseIterator() const { return MakeIterator(kIterBackward); } virtual void Paint(Option_t *option=""); virtual void Print(Option_t *option="") const; virtual void Print(Option_t *option, Int_t recurse) const; virtual void Print(Option_t *option, const char* wildcard, Int_t recurse=1) const; virtual void Print(Option_t *option, TPRegexp& regexp, Int_t recurse=1) const; virtual void RecursiveRemove(TObject *obj); virtual TObject *Remove(TObject *obj) = 0; virtual void RemoveAll(TCollection *col); void RemoveAll() { Clear(); } void SetCurrentCollection(); void SetName(const char *name) { fName = name; } virtual void SetOwner(Bool_t enable = kTRUE); virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0); virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0) const; static TCollection *GetCurrentCollection(); static void StartGarbageCollection(); static void GarbageCollect(TObject *obj); static void EmptyGarbageCollection(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 3; } static void Dictionary(); virtual TClass *IsA() const { return TCollection::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TCollection::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TCollection.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 124; } }; # 137 "/products/root_522/include/root/TCollection.h" class TIter { private: TIterator *fIterator; protected: TIter() : fIterator(0) { } public: TIter(const TCollection *col, Bool_t dir = kIterForward) : fIterator(col ? col->MakeIterator(dir) : 0) { } TIter(TIterator *it) : fIterator(it) { } TIter(const TIter &iter); TIter &operator=(const TIter &rhs); virtual ~TIter() { { if (fIterator) { delete fIterator; fIterator = 0; } }; } TObject *operator()() { return Next(); } TObject *Next() { return fIterator ? fIterator->Next() : 0; } const TCollection *GetCollection() const { return fIterator ? fIterator->GetCollection() : 0; } Option_t *GetOption() const { return fIterator ? fIterator->GetOption() : ""; } void Reset() { if (fIterator) fIterator->Reset(); } TIter &operator++() { Next(); return *this; } bool operator!=(const TIter &aIter) const { return ((*fIterator) != *(aIter.fIterator)); } TObject *operator*() const { return *(*fIterator); } TIter &Begin(); static TIter End(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TIter::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TIter::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TCollection.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 163; } }; template class TIterCategory: public TIter, public std::iterator_traits { public: TIterCategory(const TCollection *col, Bool_t dir = kIterForward) : TIter(col, dir) { } TIterCategory(TIterator *it) : TIter(it) { } virtual ~TIterCategory() { } TIterCategory &Begin() { TIter::Begin(); return *this; } static TIterCategory End() { return TIterCategory(static_cast(0)); } }; # 27 "/products/root_522/include/root/TSeqCollection.h" 2 class TSeqCollection : public TCollection { protected: Bool_t fSorted; TSeqCollection() : fSorted(kFALSE) { } virtual void Changed() { fSorted = kFALSE; } public: virtual ~TSeqCollection() { } virtual void Add(TObject *obj) { AddLast(obj); } virtual void AddFirst(TObject *obj) = 0; virtual void AddLast(TObject *obj) = 0; virtual void AddAt(TObject *obj, Int_t idx) = 0; virtual void AddAfter(const TObject *after, TObject *obj) = 0; virtual void AddBefore(const TObject *before, TObject *obj) = 0; virtual void RemoveFirst() { Remove(First()); } virtual void RemoveLast() { Remove(Last()); } virtual TObject *RemoveAt(Int_t idx) { return Remove(At(idx)); } virtual void RemoveAfter(TObject *after) { Remove(After(after)); } virtual void RemoveBefore(TObject *before) { Remove(Before(before)); } virtual TObject *At(Int_t idx) const = 0; virtual TObject *Before(const TObject *obj) const = 0; virtual TObject *After(const TObject *obj) const = 0; virtual TObject *First() const = 0; virtual TObject *Last() const = 0; Int_t LastIndex() const { return GetSize() - 1; } virtual Int_t IndexOf(const TObject *obj) const; virtual Bool_t IsSorted() const { return fSorted; } void UnSort() { fSorted = kFALSE; } Long64_t Merge(TCollection *list); static Int_t ObjCompare(TObject *a, TObject *b); static void QSort(TObject **a, Int_t first, Int_t last); static void QSort(TObject **a, TObject **b, Int_t first, Int_t last); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TSeqCollection::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TSeqCollection::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TSeqCollection.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 67; } }; # 27 "/products/root_522/include/root/TList.h" 2 # 1 "/usr/include/c++/4.3/iterator" 1 3 # 63 "/usr/include/c++/4.3/iterator" 3 # 64 "/usr/include/c++/4.3/iterator" 3 # 1 "/usr/include/c++/4.3/cstddef" 1 3 # 45 "/usr/include/c++/4.3/cstddef" 3 # 46 "/usr/include/c++/4.3/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 49 "/usr/include/c++/4.3/cstddef" 2 3 # 67 "/usr/include/c++/4.3/iterator" 2 3 # 1 "/usr/include/c++/4.3/bits/stream_iterator.h" 1 3 # 38 "/usr/include/c++/4.3/bits/stream_iterator.h" 3 # 39 "/usr/include/c++/4.3/bits/stream_iterator.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template, typename _Dist = ptrdiff_t> class istream_iterator : public iterator { public: typedef _CharT char_type; typedef _Traits traits_type; typedef basic_istream<_CharT, _Traits> istream_type; private: istream_type* _M_stream; _Tp _M_value; bool _M_ok; public: istream_iterator() : _M_stream(0), _M_value(), _M_ok(false) {} istream_iterator(istream_type& __s) : _M_stream(&__s) { _M_read(); } istream_iterator(const istream_iterator& __obj) : _M_stream(__obj._M_stream), _M_value(__obj._M_value), _M_ok(__obj._M_ok) { } const _Tp& operator*() const { ; return _M_value; } const _Tp* operator->() const { return &(operator*()); } istream_iterator& operator++() { ; _M_read(); return *this; } istream_iterator operator++(int) { ; istream_iterator __tmp = *this; _M_read(); return __tmp; } bool _M_equal(const istream_iterator& __x) const { return (_M_ok == __x._M_ok) && (!_M_ok || _M_stream == __x._M_stream); } private: void _M_read() { _M_ok = (_M_stream && *_M_stream) ? true : false; if (_M_ok) { *_M_stream >> _M_value; _M_ok = *_M_stream ? true : false; } } }; template inline bool operator==(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x, const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __y) { return __x._M_equal(__y); } template inline bool operator!=(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x, const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __y) { return !__x._M_equal(__y); } # 150 "/usr/include/c++/4.3/bits/stream_iterator.h" 3 template > class ostream_iterator : public iterator { public: typedef _CharT char_type; typedef _Traits traits_type; typedef basic_ostream<_CharT, _Traits> ostream_type; private: ostream_type* _M_stream; const _CharT* _M_string; public: ostream_iterator(ostream_type& __s) : _M_stream(&__s), _M_string(0) {} # 181 "/usr/include/c++/4.3/bits/stream_iterator.h" 3 ostream_iterator(ostream_type& __s, const _CharT* __c) : _M_stream(&__s), _M_string(__c) { } ostream_iterator(const ostream_iterator& __obj) : _M_stream(__obj._M_stream), _M_string(__obj._M_string) { } ostream_iterator& operator=(const _Tp& __value) { ; *_M_stream << __value; if (_M_string) *_M_stream << _M_string; return *this; } ostream_iterator& operator*() { return *this; } ostream_iterator& operator++() { return *this; } ostream_iterator& operator++(int) { return *this; } }; } # 73 "/usr/include/c++/4.3/iterator" 2 3 # 33 "/products/root_522/include/root/TList.h" 2 const Bool_t kSortAscending = kTRUE; const Bool_t kSortDescending = !kSortAscending; class TObjLink; class TListIter; class TList : public TSeqCollection { friend class TListIter; protected: TObjLink *fFirst; TObjLink *fLast; TObjLink *fCache; Bool_t fAscending; TObjLink *LinkAt(Int_t idx) const; TObjLink *FindLink(const TObject *obj, Int_t &idx) const; TObjLink **DoSort(TObjLink **head, Int_t n); Bool_t LnkCompare(TObjLink *l1, TObjLink *l2); virtual TObjLink *NewLink(TObject *obj, TObjLink *prev = __null); virtual TObjLink *NewOptLink(TObject *obj, Option_t *opt, TObjLink *prev = __null); virtual void DeleteLink(TObjLink *lnk); private: TList(const TList&); TList& operator=(const TList&); public: typedef TListIter Iterator_t; TList() : fFirst(0), fLast(0), fCache(0), fAscending(kTRUE) { } TList(TObject *) : fFirst(0), fLast(0), fCache(0), fAscending(kTRUE) { } virtual ~TList(); virtual void Clear(Option_t *option=""); virtual void Delete(Option_t *option=""); virtual TObject *FindObject(const char *name) const; virtual TObject *FindObject(const TObject *obj) const; virtual TIterator *MakeIterator(Bool_t dir = kIterForward) const; virtual void Add(TObject *obj) { AddLast(obj); } virtual void Add(TObject *obj, Option_t *opt) { AddLast(obj, opt); } virtual void AddFirst(TObject *obj); virtual void AddFirst(TObject *obj, Option_t *opt); virtual void AddLast(TObject *obj); virtual void AddLast(TObject *obj, Option_t *opt); virtual void AddAt(TObject *obj, Int_t idx); virtual void AddAfter(const TObject *after, TObject *obj); virtual void AddAfter(TObjLink *after, TObject *obj); virtual void AddBefore(const TObject *before, TObject *obj); virtual void AddBefore(TObjLink *before, TObject *obj); virtual TObject *Remove(TObject *obj); virtual TObject *Remove(TObjLink *lnk); virtual void RecursiveRemove(TObject *obj); virtual TObject *At(Int_t idx) const; virtual TObject *After(const TObject *obj) const; virtual TObject *Before(const TObject *obj) const; virtual TObject *First() const; virtual TObjLink *FirstLink() const { return fFirst; } virtual TObject **GetObjectRef(const TObject *obj) const; virtual TObject *Last() const; virtual TObjLink *LastLink() const { return fLast; } virtual void Sort(Bool_t order = kSortAscending); Bool_t IsAscending() { return fAscending; } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 5; } static void Dictionary(); virtual TClass *IsA() const { return TList::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TList::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TList.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 103; } }; # 114 "/products/root_522/include/root/TList.h" class TObjLink { friend class TList; private: TObjLink *fNext; TObjLink *fPrev; TObject *fObject; TObjLink(const TObjLink&); TObjLink& operator=(const TObjLink&); protected: TObjLink() : fNext(__null), fPrev(__null), fObject(__null) { fNext = fPrev = this; } public: TObjLink(TObject *obj) : fNext(__null), fPrev(__null), fObject(obj) { } TObjLink(TObject *obj, TObjLink *lnk); virtual ~TObjLink() { } TObject *GetObject() const { return fObject; } TObject **GetObjectRef() { return &fObject; } void SetObject(TObject *obj) { fObject = obj; } virtual Option_t *GetAddOption() const { return ""; } virtual Option_t *GetOption() const { return fObject->GetOption(); } virtual void SetOption(Option_t *) { } TObjLink *Next() { return fNext; } TObjLink *Prev() { return fPrev; } }; # 153 "/products/root_522/include/root/TList.h" class TObjOptLink : public TObjLink { private: TString fOption; public: TObjOptLink(TObject *obj, Option_t *opt) : TObjLink(obj), fOption(opt) { } TObjOptLink(TObject *obj, TObjLink *lnk, Option_t *opt) : TObjLink(obj, lnk), fOption(opt) { } ~TObjOptLink() { } Option_t *GetAddOption() const { return fOption.Data(); } Option_t *GetOption() const { return fOption.Data(); } void SetOption(Option_t *option) { fOption = option; } }; # 175 "/products/root_522/include/root/TList.h" class TListIter : public TIterator, public std::iterator { protected: const TList *fList; TObjLink *fCurCursor; TObjLink *fCursor; Bool_t fDirection; Bool_t fStarted; TListIter() : fList(0), fCurCursor(0), fCursor(0), fDirection(kIterForward), fStarted(kFALSE) { } public: TListIter(const TList *l, Bool_t dir = kIterForward); TListIter(const TListIter &iter); ~TListIter() { } TIterator &operator=(const TIterator &rhs); TListIter &operator=(const TListIter &rhs); const TCollection *GetCollection() const { return fList; } Option_t *GetOption() const; void SetOption(Option_t *option); TObject *Next(); void Reset(); bool operator!=(const TIterator &aIter) const; bool operator!=(const TListIter &aIter) const; TObject *operator*() const { return (fCurCursor ? fCurCursor->GetObject() : 0); } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TListIter::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TListIter::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TList.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 206; } }; # 29 "/products/root_522/include/root/TDirectory.h" 2 # 1 "/products/root_522/include/root/TDatime.h" 1 # 38 "/products/root_522/include/root/TDatime.h" class TDatime { private: protected: UInt_t fDatime; public: TDatime(); TDatime(const TDatime &d): fDatime(d.fDatime) { } TDatime(UInt_t tloc, Bool_t dosDate = kFALSE): fDatime(0) { Set(tloc, dosDate); } TDatime(Int_t date, Int_t time); TDatime(Int_t year, Int_t month, Int_t day, Int_t hour, Int_t min, Int_t sec); TDatime(const char *sqlDateTime); virtual ~TDatime() { } TDatime& operator=(const TDatime &d); const char *AsString() const; const char *AsString(char *out) const; const char *AsSQLString() const; UInt_t Convert(Bool_t toGMT = kFALSE) const; void Copy(TDatime &datime) const; UInt_t Get() const { return fDatime; } Int_t GetDate() const; Int_t GetTime() const; Int_t GetYear() const { return (fDatime>>26) + 1995; } Int_t GetMonth() const { return (fDatime<<6)>>28; } Int_t GetDay() const { return (fDatime<<10)>>27; } Int_t GetDayOfWeek() const; Int_t GetHour() const { return (fDatime<<15)>>27; } Int_t GetMinute() const { return (fDatime<<20)>>26; } Int_t GetSecond() const { return (fDatime<<26)>>26; } void FillBuffer(char *&buffer); void Print(Option_t *option="") const; void ReadBuffer(char *&buffer); void Set(); void Set(UInt_t tloc, Bool_t dosDate = kFALSE); void Set(Int_t date, Int_t time); void Set(Int_t year, Int_t month, Int_t day, Int_t hour, Int_t min, Int_t sec); void Set(const char *sqlDateTime); Int_t Sizeof() const {return sizeof(UInt_t);} friend Bool_t operator==(const TDatime &d1, const TDatime &d2); friend Bool_t operator!=(const TDatime &d1, const TDatime &d2); friend Bool_t operator< (const TDatime &d1, const TDatime &d2); friend Bool_t operator<=(const TDatime &d1, const TDatime &d2); friend Bool_t operator> (const TDatime &d1, const TDatime &d2); friend Bool_t operator>=(const TDatime &d1, const TDatime &d2); static void GetDateTime(UInt_t datetime, Int_t &date, Int_t &time); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TDatime::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TDatime::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TDatime.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 93; } }; inline TDatime& TDatime::operator=(const TDatime &d) { fDatime = d.fDatime; return *this; } inline Bool_t operator==(const TDatime &d1, const TDatime &d2) { return d1.fDatime == d2.fDatime; } inline Bool_t operator!=(const TDatime &d1, const TDatime &d2) { return d1.fDatime != d2.fDatime; } inline Bool_t operator< (const TDatime &d1, const TDatime &d2) { return d1.fDatime < d2.fDatime; } inline Bool_t operator<=(const TDatime &d1, const TDatime &d2) { return d1.fDatime <= d2.fDatime; } inline Bool_t operator> (const TDatime &d1, const TDatime &d2) { return d1.fDatime > d2.fDatime; } inline Bool_t operator>=(const TDatime &d1, const TDatime &d2) { return d1.fDatime >= d2.fDatime; } # 32 "/products/root_522/include/root/TDirectory.h" 2 # 1 "/products/root_522/include/root/TUUID.h" 1 # 38 "/products/root_522/include/root/TUUID.h" class TBuffer; class TFile; class TDirectory; class TInetAddress; class TDatime; class TUUID { protected: UInt_t fUUIDIndex; UInt_t fTimeLow; UShort_t fTimeMid; UShort_t fTimeHiAndVersion; UChar_t fClockSeqHiAndReserved; UChar_t fClockSeqLow; UChar_t fNode[6]; struct uuid_time_t { UInt_t high; UInt_t low; }; Int_t CmpTime(uuid_time_t *t1, uuid_time_t *t2); void Format(UShort_t clockseq, uuid_time_t ts); void GetNodeIdentifier(); void GetCurrentTime(uuid_time_t *timestamp); void GetSystemTime(uuid_time_t *timestamp); void GetRandomInfo(UChar_t seed[16]); void SetFromString(const char *uuid_str); public: TUUID(); TUUID(const char *uuid_str); virtual ~TUUID(); const char *AsString() const; Int_t Compare(const TUUID &u) const; UShort_t Hash() const; void Print() const; TInetAddress GetHostAddress() const; TDatime GetTime() const; void GetUUID(UChar_t uuid[16]) const; void SetUUID(const char *uuid_str); UInt_t GetUUIDNumber() const { return fUUIDIndex; } void SetUUIDNumber(UInt_t index) { fUUIDIndex = index; } void StreamerV1(TBuffer &b); void FillBuffer(char *&buffer); void ReadBuffer(char *&buffer); Int_t Sizeof() const { return 18; } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TUUID::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TUUID::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TUUID.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 89; } }; inline TBuffer &operator>>(TBuffer &buf, TUUID &uuid) { uuid.Streamer(buf); return buf; } inline TBuffer &operator<<(TBuffer &buf, const TUUID &uuid) { ((TUUID&)uuid).Streamer(buf); return buf; } inline Bool_t operator==(const TUUID &u1, const TUUID &u2) { return (!u1.Compare(u2)) ? kTRUE : kFALSE; } inline Bool_t operator!=(const TUUID &u1, const TUUID &u2) { return !(u1 == u2); } # 35 "/products/root_522/include/root/TDirectory.h" 2 class TBrowser; class TKey; class TFile; extern TDirectory *gDirectory; class TDirectory : public TNamed { public: class TContext { private: TDirectory *fDirectory; TContext *fPrevious; TContext *fNext; TContext(TContext&); TContext& operator=(TContext&); void CdNull(); friend class TDirectory; public: TContext(TDirectory* previous, TDirectory* newCurrent) : fDirectory(previous),fPrevious(0),fNext(0) { if ( fDirectory ) fDirectory->RegisterContext(this); if ( newCurrent ) newCurrent->cd(); } TContext(TDirectory* newCurrent) : fDirectory(gDirectory),fPrevious(0),fNext(0) { if ( fDirectory ) fDirectory->RegisterContext(this); if ( newCurrent ) newCurrent->cd(); } ~TContext() { if ( fDirectory ) { fDirectory->UnregisterContext(this); fDirectory->cd(); } else CdNull(); } }; protected: TObject *fMother; TList *fList; TUUID fUUID; TString fPathBuffer; TContext *fContext; static Bool_t fgAddDirectory; Bool_t cd1(const char *path); static Bool_t Cd1(const char *path); virtual void CleanTargets(); void FillFullPath(TString& buf) const; void RegisterContext(TContext *ctxt); void UnregisterContext(TContext *ctxt); friend class TContext; protected: TDirectory(const TDirectory &directory); void operator=(const TDirectory &); public: TDirectory(); TDirectory(const char *name, const char *title, Option_t *option="", TDirectory* motherDir = 0); virtual ~TDirectory(); static void AddDirectory(Bool_t add=kTRUE); static Bool_t AddDirectoryStatus(); virtual void Append(TObject *obj, Bool_t replace = kFALSE); virtual void Add(TObject *obj, Bool_t replace = kFALSE) { Append(obj,replace); } virtual Int_t AppendKey(TKey *) {return 0;} virtual void Browse(TBrowser *b); virtual void Build(TFile* motherFile = 0, TDirectory* motherDir = 0); virtual void Clear(Option_t *option=""); virtual TObject *CloneObject(const TObject *obj, Bool_t autoadd = kTRUE); virtual void Close(Option_t *option=""); virtual void Copy(TObject &) const { MayNotUse("Copy(TObject &)"); } virtual Bool_t cd(const char *path = 0); virtual void DeleteAll(Option_t *option=""); virtual void Delete(const char *namecycle=""); virtual void Draw(Option_t *option=""); virtual TKey *FindKey(const char * ) const {return 0;} virtual TKey *FindKeyAny(const char * ) const {return 0;} virtual TObject *FindObject(const char *name) const; virtual TObject *FindObject(const TObject *obj) const; virtual TObject *FindObjectAny(const char *name) const; virtual TObject *FindObjectAnyFile(const char * ) const {return 0;} virtual TObject *Get(const char *namecycle); virtual TDirectory *GetDirectory(const char *namecycle, Bool_t printError = false, const char *funcname = "GetDirectory"); template inline void GetObject(const char* namecycle, T*& ptr) { ptr = (T*)GetObjectChecked(namecycle,TBuffer::GetClass(typeid(T))); } virtual void *GetObjectChecked(const char *namecycle, const char* classname); virtual void *GetObjectChecked(const char *namecycle, const TClass* cl); virtual void *GetObjectUnchecked(const char *namecycle); virtual Int_t GetBufferSize() const {return 0;} virtual TFile *GetFile() const { return 0; } virtual TKey *GetKey(const char * , Short_t =9999) const {return 0;} virtual TList *GetList() const { return fList; } virtual TList *GetListOfKeys() const { return 0; } virtual TObject *GetMother() const { return fMother; } virtual TDirectory *GetMotherDir() const { return fMother==0 ? 0 : dynamic_cast(fMother); } virtual Int_t GetNbytesKeys() const { return 0; } virtual Int_t GetNkeys() const { return 0; } virtual Long64_t GetSeekDir() const { return 0; } virtual Long64_t GetSeekParent() const { return 0; } virtual Long64_t GetSeekKeys() const { return 0; } virtual const char *GetPathStatic() const; virtual const char *GetPath() const; TUUID GetUUID() const {return fUUID;} virtual Bool_t IsFolder() const { return kTRUE; } virtual Bool_t IsModified() const { return kFALSE; } virtual Bool_t IsWritable() const { return kFALSE; } virtual void ls(Option_t *option="") const; virtual TDirectory *mkdir(const char *name, const char *title=""); virtual TFile *OpenFile(const char * , Option_t * = "", const char * = "", Int_t = 1, Int_t = 0) {return 0;} virtual void Paint(Option_t *option=""); virtual void Print(Option_t *option="") const; virtual void Purge(Short_t =1) {} virtual void pwd() const; virtual void ReadAll(Option_t * ="") {} virtual Int_t ReadKeys(Bool_t =kTRUE) {return 0;} virtual Int_t ReadTObject(TObject * , const char * ) {return 0;} virtual TObject *Remove(TObject*); virtual void RecursiveRemove(TObject *obj); virtual void rmdir(const char *name); virtual void Save() {} virtual Int_t SaveObjectAs(const TObject * , const char * ="", Option_t * ="") const; virtual void SaveSelf(Bool_t = kFALSE) {} virtual void SetBufferSize(Int_t ) {} virtual void SetModified() {} virtual void SetMother(const TObject *mother) {fMother = (TObject*)mother;} virtual void SetName(const char* newname); virtual void SetTRefAction(TObject * , TObject * ) {} virtual void SetSeekDir(Long64_t) {} virtual void SetWritable(Bool_t) {} virtual Int_t Sizeof() const {return 0;} virtual Int_t Write(const char * =0, Int_t =0, Int_t =0){return 0;} virtual Int_t Write(const char * =0, Int_t =0, Int_t =0) const {return 0;} virtual Int_t WriteTObject(const TObject *obj, const char *name =0, Option_t * ="", Int_t =0); template inline Int_t WriteObject(const T* obj, const char* name, Option_t *option="", Int_t bufsize=0) { return WriteObjectAny(obj,TBuffer::GetClass(typeid(T)),name,option,bufsize); } virtual Int_t WriteObjectAny(const void *, const char * , const char * , Option_t * ="", Int_t =0) {return 0;} virtual Int_t WriteObjectAny(const void *, const TClass * , const char * , Option_t * ="", Int_t =0) {return 0;} virtual void WriteDirHeader() {} virtual void WriteKeys() {} static Bool_t Cd(const char *path); static void DecodeNameCycle(const char *namecycle, char *name, Short_t &cycle); static void EncodeNameCycle(char *buffer, const char *name, Short_t cycle); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 5; } static void Dictionary(); virtual TClass *IsA() const { return TDirectory::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TDirectory::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TDirectory.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 204; } }; # 30 "/products/root_522/include/root/TROOT.h" 2 class TClass; class TCanvas; class TColor; class TDataType; class TFile; class TStyle; class TVirtualPad; class TApplication; class TInterpreter; class TBrowser; class TGlobal; class TFunction; class TFolder; class TPluginManager; class TProcessUUID; class TClassGenerator; class TVirtualMutex; extern TVirtualMutex *gROOTMutex; class TROOT : public TDirectory { friend class TCint; private: Int_t fLineIsProcessing; static Int_t fgDirLevel; static Bool_t fgRootInit; static Bool_t fgMemCheck; TROOT(const TROOT&); TROOT& operator=(const TROOT&); protected: TString fConfigOptions; TString fVersion; Int_t fVersionInt; Int_t fVersionCode; Int_t fVersionDate; Int_t fVersionTime; Int_t fBuiltDate; Int_t fBuiltTime; Int_t fSvnRevision; TString fSvnBranch; TString fSvnDate; Int_t fTimer; TApplication *fApplication; TInterpreter *fInterpreter; Bool_t fBatch; Bool_t fEditHistograms; Bool_t fFromPopUp; Bool_t fMustClean; Bool_t fReadingObject; Bool_t fForceStyle; Bool_t fInterrupt; Bool_t fEscape; Bool_t fExecutingMacro; Int_t fEditorMode; TObject *fPrimitive; TVirtualPad *fSelectPad; TCollection *fClasses; TCollection *fTypes; TCollection *fGlobals; TCollection *fGlobalFunctions; TSeqCollection *fFiles; TSeqCollection *fMappedFiles; TSeqCollection *fSockets; TSeqCollection *fCanvases; TSeqCollection *fStyles; TCollection *fFunctions; TSeqCollection *fTasks; TSeqCollection *fColors; TSeqCollection *fGeometries; TSeqCollection *fBrowsers; TSeqCollection *fSpecials; TSeqCollection *fCleanups; TSeqCollection *fMessageHandlers; TSeqCollection *fStreamerInfo; TCollection *fClassGenerators; TSeqCollection *fSecContexts; TSeqCollection *fProofs; TSeqCollection *fClipboard; TSeqCollection *fDataSets; TProcessUUID *fUUIDs; TFolder *fRootFolder; TList *fBrowsables; TPluginManager *fPluginManager; TString fCutClassName; TString fDefCanvasName; TROOT(); void InitSystem(); void InitThreads(); void ReadSvnInfo(); void *operator new(size_t l) { return TObject::operator new(l); } public: TROOT(const char *name, const char *title, VoidFuncPtr_t *initfunc = 0); virtual ~TROOT(); void AddClass(TClass *cl); void AddClassGenerator(TClassGenerator *gen); void Browse(TBrowser *b); Bool_t ClassSaved(TClass *cl); virtual TObject *FindObject(const char *name) const; virtual TObject *FindObject(const TObject *obj) const; virtual TObject *FindObjectAny(const char *name) const; TObject *FindSpecialObject(const char *name, void *&where); const char *FindObjectClassName(const char *name) const; const char *FindObjectPathName(const TObject *obj) const; TClass *FindSTLClass(const char *name, Bool_t load) const; void ForceStyle(Bool_t force = kTRUE) { fForceStyle = force; } Bool_t FromPopUp() const { return fFromPopUp; } TPluginManager *GetPluginManager() const { return fPluginManager; } TApplication *GetApplication() const { return fApplication; } TInterpreter *GetInterpreter() const { return fInterpreter; } TClass *GetClass(const char *name, Bool_t load = kTRUE) const; TClass *GetClass(const type_info &typeinfo, Bool_t load = kTRUE) const; TColor *GetColor(Int_t color) const; const char *GetConfigOptions() const { return fConfigOptions; } const char *GetCutClassName() const { return fCutClassName; } const char *GetDefCanvasName() const { return fDefCanvasName; } Bool_t GetEditHistograms() const { return fEditHistograms; } Int_t GetEditorMode() const { return fEditorMode; } Bool_t GetForceStyle() const { return fForceStyle; } Int_t GetBuiltDate() const { return fBuiltDate; } Int_t GetBuiltTime() const { return fBuiltTime; } Int_t GetSvnRevision() const { return fSvnRevision; } const char *GetSvnBranch() const { return fSvnBranch; } const char *GetSvnDate(); Int_t GetVersionDate() const { return fVersionDate; } Int_t GetVersionTime() const { return fVersionTime; } Int_t GetVersionInt() const { return fVersionInt; } Int_t GetVersionCode() const { return fVersionCode; } const char *GetVersion() const { return fVersion; } TCollection *GetListOfClasses() const { return fClasses; } TSeqCollection *GetListOfColors() const { return fColors; } TCollection *GetListOfTypes(Bool_t load = kFALSE); TCollection *GetListOfGlobals(Bool_t load = kFALSE); TCollection *GetListOfGlobalFunctions(Bool_t load = kFALSE); TSeqCollection *GetListOfFiles() const { return fFiles; } TSeqCollection *GetListOfMappedFiles() const { return fMappedFiles; } TSeqCollection *GetListOfSockets() const { return fSockets; } TSeqCollection *GetListOfCanvases() const { return fCanvases; } TSeqCollection *GetListOfStyles() const { return fStyles; } TCollection *GetListOfFunctions() const { return fFunctions; } TSeqCollection *GetListOfGeometries() const { return fGeometries; } TSeqCollection *GetListOfBrowsers() const { return fBrowsers; } TSeqCollection *GetListOfSpecials() const { return fSpecials; } TSeqCollection *GetListOfTasks() const { return fTasks; } TSeqCollection *GetListOfCleanups() const { return fCleanups; } TSeqCollection *GetListOfStreamerInfo() const { return fStreamerInfo; } TSeqCollection *GetListOfMessageHandlers() const { return fMessageHandlers; } TCollection *GetListOfClassGenerators() const { return fClassGenerators; } TSeqCollection *GetListOfSecContexts() const { return fSecContexts; } TSeqCollection *GetListOfProofs() const { return fProofs; } TSeqCollection *GetClipboard() const { return fClipboard; } TSeqCollection *GetListOfDataSets() const { return fDataSets; } TList *GetListOfBrowsables() const { return fBrowsables; } TDataType *GetType(const char *name, Bool_t load = kFALSE) const; TFile *GetFile() const { if (gDirectory != this) return gDirectory->GetFile(); else return 0;} TFile *GetFile(const char *name) const; TStyle *GetStyle(const char *name) const; TObject *GetFunction(const char *name) const; TGlobal *GetGlobal(const char *name, Bool_t load = kFALSE) const; TGlobal *GetGlobal(const TObject *obj, Bool_t load = kFALSE) const; TFunction *GetGlobalFunction(const char *name, const char *params = 0, Bool_t load = kFALSE); TFunction *GetGlobalFunctionWithPrototype(const char *name, const char *proto = 0, Bool_t load = kFALSE); TObject *GetGeometry(const char *name) const; TObject *GetSelectedPrimitive() const { return fPrimitive; } TVirtualPad *GetSelectedPad() const { return fSelectPad; } Int_t GetNclasses() const { return fClasses->GetSize(); } Int_t GetNtypes() const { return fTypes->GetSize(); } TFolder *GetRootFolder() const { return fRootFolder; } TProcessUUID *GetUUIDs() const { return fUUIDs; } void Idle(UInt_t idleTimeInSec, const char *command = 0); Int_t IgnoreInclude(const char *fname, const char *expandedfname); Bool_t IsBatch() const { return fBatch; } Bool_t IsExecutingMacro() const { return fExecutingMacro; } Bool_t IsFolder() const { return kTRUE; } Bool_t IsInterrupted() const { return fInterrupt; } Bool_t IsEscaped() const { return fEscape; } Bool_t IsLineProcessing() const { return fLineIsProcessing ? kTRUE : kFALSE; } Bool_t IsProofServ() const { return fName == "proofserv" ? kTRUE : kFALSE; } void ls(Option_t *option = "") const; Int_t LoadClass(const char *classname, const char *libname, Bool_t check = kFALSE); TClass *LoadClass(const char *name) const; Int_t LoadMacro(const char *filename, Int_t *error = 0, Bool_t check = kFALSE); Long_t Macro(const char *filename, Int_t *error = 0, Bool_t padUpdate = kTRUE); TCanvas *MakeDefCanvas() const; void Message(Int_t id, const TObject *obj); Bool_t MustClean() const { return fMustClean; } Long_t ProcessLine(const char *line, Int_t *error = 0); Long_t ProcessLineSync(const char *line, Int_t *error = 0); Long_t ProcessLineFast(const char *line, Int_t *error = 0); Bool_t ReadingObject() const { return fReadingObject; } void RefreshBrowsers(); void RemoveClass(TClass *); void Reset(Option_t *option=""); void SaveContext(); void SetApplication(TApplication *app) { fApplication = app; } void SetBatch(Bool_t batch = kTRUE) { fBatch = batch; } void SetCutClassName(const char *name = "TCutG"); void SetDefCanvasName(const char *name = "c1") { fDefCanvasName = name; } void SetEditHistograms(Bool_t flag = kTRUE) { fEditHistograms = flag; } void SetEditorMode(const char *mode = ""); void SetExecutingMacro(Bool_t flag = kTRUE) { fExecutingMacro = flag; } void SetFromPopUp(Bool_t flag = kTRUE) { fFromPopUp = flag; } void SetInterrupt(Bool_t flag = kTRUE) { fInterrupt = flag; } void SetEscape(Bool_t flag = kTRUE) { fEscape = flag; } void SetLineIsProcessing() { fLineIsProcessing++; } void SetLineHasBeenProcessed() { if (fLineIsProcessing) fLineIsProcessing--; } void SetReadingObject(Bool_t flag = kTRUE) { fReadingObject = flag; } void SetMustClean(Bool_t flag = kTRUE) { fMustClean=flag; } void SetSelectedPrimitive(const TObject *obj) { fPrimitive = (TObject*)obj; } void SetSelectedPad(TVirtualPad *pad) { fSelectPad = pad; } void SetStyle(const char *stylename = "Default"); void Time(Int_t casetime=1) { fTimer = casetime; } Int_t Timer() const { return fTimer; } static Int_t DecreaseDirLevel(); static Int_t GetDirLevel(); static const char *GetMacroPath(); static void SetMacroPath(const char *newpath); static Int_t IncreaseDirLevel(); static void IndentLevel(); static Bool_t Initialized(); static Bool_t MemCheck(); static void SetDirLevel(Int_t level = 0); static Int_t ConvertVersionCode2Int(Int_t code); static Int_t ConvertVersionInt2Code(Int_t v); static Int_t RootVersionCode(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TROOT::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TROOT::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TROOT.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 272; } }; extern TROOT *gROOT; namespace ROOT { TROOT *GetROOT(); } # 8 "VBFStudy.cxx" 2 # 1 "/products/root_522/include/root/TMath.h" 1 # 33 "/products/root_522/include/root/TMath.h" # 1 "/products/root_522/include/root/TError.h" 1 # 35 "/products/root_522/include/root/TError.h" class TVirtualMutex; const Int_t kUnset = -1; const Int_t kPrint = 0; const Int_t kInfo = 1000; const Int_t kWarning = 2000; const Int_t kError = 3000; const Int_t kBreak = 4000; const Int_t kSysError = 5000; const Int_t kFatal = 6000; extern TVirtualMutex *gErrorMutex; typedef void (*ErrorHandlerFunc_t)(int level, Bool_t abort, const char *location, const char *msg); extern "C" void ErrorHandler(int level, const char *location, const char *fmt, va_list va); extern void DefaultErrorHandler(int level, Bool_t abort, const char *location, const char *msg); extern ErrorHandlerFunc_t SetErrorHandler(ErrorHandlerFunc_t newhandler); extern ErrorHandlerFunc_t GetErrorHandler(); extern void Info(const char *location, const char *msgfmt, ...); extern void Warning(const char *location, const char *msgfmt, ...); extern void Error(const char *location, const char *msgfmt, ...); extern void Break(const char *location, const char *msgfmt, ...); extern void SysError(const char *location, const char *msgfmt, ...); extern void Fatal(const char *location, const char *msgfmt, ...); extern void AbstractMethod(const char *method); extern void MayNotUse(const char *method); extern const char *kAssertMsg; extern const char *kCheckMsg; # 82 "/products/root_522/include/root/TError.h" extern Int_t gErrorIgnoreLevel; extern Int_t gErrorAbortLevel; extern Bool_t gPrintViaErrorHandler; # 34 "/products/root_522/include/root/TMath.h" 2 # 1 "/usr/include/c++/4.3/algorithm" 1 3 # 64 "/usr/include/c++/4.3/algorithm" 3 # 65 "/usr/include/c++/4.3/algorithm" 3 # 1 "/usr/include/c++/4.3/bits/stl_algo.h" 1 3 # 65 "/usr/include/c++/4.3/bits/stl_algo.h" 3 # 1 "/usr/include/c++/4.3/cstdlib" 1 3 # 46 "/usr/include/c++/4.3/cstdlib" 3 # 47 "/usr/include/c++/4.3/cstdlib" 3 # 1 "/usr/include/c++/4.3/cstddef" 1 3 # 45 "/usr/include/c++/4.3/cstddef" 3 # 46 "/usr/include/c++/4.3/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 49 "/usr/include/c++/4.3/cstddef" 2 3 # 50 "/usr/include/c++/4.3/cstdlib" 2 3 # 73 "/usr/include/c++/4.3/cstdlib" 3 # 1 "/usr/include/stdlib.h" 1 3 4 # 33 "/usr/include/stdlib.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 34 "/usr/include/stdlib.h" 2 3 4 extern "C" { # 1 "/usr/include/bits/waitflags.h" 1 3 4 # 43 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/bits/waitstatus.h" 1 3 4 # 67 "/usr/include/bits/waitstatus.h" 3 4 union wait { int w_status; struct { unsigned int __w_termsig:7; unsigned int __w_coredump:1; unsigned int __w_retcode:8; unsigned int:16; } __wait_terminated; struct { unsigned int __w_stopval:8; unsigned int __w_stopsig:8; unsigned int:16; } __wait_stopped; }; # 44 "/usr/include/stdlib.h" 2 3 4 # 96 "/usr/include/stdlib.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; __extension__ typedef struct { long long int quot; long long int rem; } lldiv_t; # 140 "/usr/include/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) throw () ; extern double atof (__const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern int atoi (__const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern long int atol (__const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int atoll (__const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))) ; extern float strtof (__const char *__restrict __nptr, char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))) ; extern long double strtold (__const char *__restrict __nptr, char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))) ; extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))) ; extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))) ; # 240 "/usr/include/stdlib.h" 3 4 extern long int strtol_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))) ; extern unsigned long int strtoul_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))) ; __extension__ extern long long int strtoll_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))) ; __extension__ extern unsigned long long int strtoull_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))) ; extern double strtod_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))) ; extern float strtof_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))) ; extern long double strtold_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))) ; # 311 "/usr/include/stdlib.h" 3 4 extern char *l64a (long int __n) throw () ; extern long int a64l (__const char *__s) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; # 1 "/usr/include/sys/types.h" 1 3 4 # 29 "/usr/include/sys/types.h" 3 4 extern "C" { typedef __u_char u_char; typedef __u_short u_short; typedef __u_int u_int; typedef __u_long u_long; typedef __quad_t quad_t; typedef __u_quad_t u_quad_t; typedef __fsid_t fsid_t; typedef __loff_t loff_t; typedef __ino_t ino_t; typedef __ino64_t ino64_t; typedef __dev_t dev_t; # 72 "/usr/include/sys/types.h" 3 4 typedef __mode_t mode_t; typedef __nlink_t nlink_t; # 105 "/usr/include/sys/types.h" 3 4 typedef __id_t id_t; # 116 "/usr/include/sys/types.h" 3 4 typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 141 "/usr/include/sys/types.h" 3 4 typedef __suseconds_t suseconds_t; # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 148 "/usr/include/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 201 "/usr/include/sys/types.h" 3 4 typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); typedef int register_t __attribute__ ((__mode__ (__word__))); # 220 "/usr/include/sys/types.h" 3 4 # 1 "/usr/include/sys/select.h" 1 3 4 # 31 "/usr/include/sys/select.h" 3 4 # 1 "/usr/include/bits/select.h" 1 3 4 # 32 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/bits/sigset.h" 1 3 4 # 35 "/usr/include/sys/select.h" 2 3 4 # 46 "/usr/include/sys/select.h" 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 69 "/usr/include/bits/time.h" 3 4 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 47 "/usr/include/sys/select.h" 2 3 4 # 55 "/usr/include/sys/select.h" 3 4 typedef long int __fd_mask; # 67 "/usr/include/sys/select.h" 3 4 typedef struct { __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 99 "/usr/include/sys/select.h" 3 4 extern "C" { # 109 "/usr/include/sys/select.h" 3 4 extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); # 121 "/usr/include/sys/select.h" 3 4 extern int pselect (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, const struct timespec *__restrict __timeout, const __sigset_t *__restrict __sigmask); } # 221 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/sys/sysmacros.h" 1 3 4 # 30 "/usr/include/sys/sysmacros.h" 3 4 __extension__ extern unsigned int gnu_dev_major (unsigned long long int __dev) throw (); __extension__ extern unsigned int gnu_dev_minor (unsigned long long int __dev) throw (); __extension__ extern unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) throw (); # 224 "/usr/include/sys/types.h" 2 3 4 typedef __blksize_t blksize_t; typedef __blkcnt_t blkcnt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; # 262 "/usr/include/sys/types.h" 3 4 typedef __blkcnt64_t blkcnt64_t; typedef __fsblkcnt64_t fsblkcnt64_t; typedef __fsfilcnt64_t fsfilcnt64_t; # 273 "/usr/include/sys/types.h" 3 4 } # 321 "/usr/include/stdlib.h" 2 3 4 extern long int random (void) throw (); extern void srandom (unsigned int __seed) throw (); extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) throw () __attribute__ ((__nonnull__ (2))); extern char *setstate (char *__statebuf) throw () __attribute__ ((__nonnull__ (1))); struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int srandom_r (unsigned int __seed, struct random_data *__buf) throw () __attribute__ ((__nonnull__ (2))); extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) throw () __attribute__ ((__nonnull__ (2, 4))); extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) throw () __attribute__ ((__nonnull__ (1, 2))); extern int rand (void) throw (); extern void srand (unsigned int __seed) throw (); extern int rand_r (unsigned int *__seed) throw (); extern double drand48 (void) throw (); extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); extern long int lrand48 (void) throw (); extern long int nrand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); extern long int mrand48 (void) throw (); extern long int jrand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); extern void srand48 (long int __seedval) throw (); extern unsigned short int *seed48 (unsigned short int __seed16v[3]) throw () __attribute__ ((__nonnull__ (1))); extern void lcong48 (unsigned short int __param[7]) throw () __attribute__ ((__nonnull__ (1))); struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int srand48_r (long int __seedval, struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (2))); extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2))); extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)) ; extern void *calloc (size_t __nmemb, size_t __size) throw () __attribute__ ((__malloc__)) ; extern void *realloc (void *__ptr, size_t __size) throw () __attribute__ ((__warn_unused_result__)); extern void free (void *__ptr) throw (); extern void cfree (void *__ptr) throw (); # 1 "/usr/include/alloca.h" 1 3 4 # 25 "/usr/include/alloca.h" 3 4 # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/stddef.h" 1 3 4 # 26 "/usr/include/alloca.h" 2 3 4 extern "C" { extern void *alloca (size_t __size) throw (); } # 498 "/usr/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) ; extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) throw () __attribute__ ((__nonnull__ (1))) ; extern void abort (void) throw () __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1))); extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) throw () __attribute__ ((__nonnull__ (1))); extern void exit (int __status) throw () __attribute__ ((__noreturn__)); extern void _Exit (int __status) throw () __attribute__ ((__noreturn__)); extern char *getenv (__const char *__name) throw () __attribute__ ((__nonnull__ (1))) ; extern char *__secure_getenv (__const char *__name) throw () __attribute__ ((__nonnull__ (1))) ; extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1))); extern int setenv (__const char *__name, __const char *__value, int __replace) throw () __attribute__ ((__nonnull__ (2))); extern int unsetenv (__const char *__name) throw (); extern int clearenv (void) throw (); # 583 "/usr/include/stdlib.h" 3 4 extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ; # 594 "/usr/include/stdlib.h" 3 4 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; # 604 "/usr/include/stdlib.h" 3 4 extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ; # 614 "/usr/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ; # 625 "/usr/include/stdlib.h" 3 4 extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; # 635 "/usr/include/stdlib.h" 3 4 extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; extern int system (__const char *__command) ; extern char *canonicalize_file_name (__const char *__name) throw () __attribute__ ((__nonnull__ (1))) ; # 662 "/usr/include/stdlib.h" 3 4 extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) throw () ; typedef int (*__compar_fn_t) (__const void *, __const void *); typedef __compar_fn_t comparison_fn_t; typedef int (*__compar_d_fn_t) (__const void *, __const void *, void *); extern void *bsearch (__const void *__key, __const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 2, 5))) ; extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); extern void qsort_r (void *__base, size_t __nmemb, size_t __size, __compar_d_fn_t __compar, void *__arg) __attribute__ ((__nonnull__ (1, 4))); extern int abs (int __x) throw () __attribute__ ((__const__)) ; extern long int labs (long int __x) throw () __attribute__ ((__const__)) ; __extension__ extern long long int llabs (long long int __x) throw () __attribute__ ((__const__)) ; extern div_t div (int __numer, int __denom) throw () __attribute__ ((__const__)) ; extern ldiv_t ldiv (long int __numer, long int __denom) throw () __attribute__ ((__const__)) ; __extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) throw () __attribute__ ((__const__)) ; # 735 "/usr/include/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ; extern char *gcvt (double __value, int __ndigit, char *__buf) throw () __attribute__ ((__nonnull__ (3))) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) throw () __attribute__ ((__nonnull__ (3))) ; extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); extern int mblen (__const char *__s, size_t __n) throw () ; extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) throw () ; extern int wctomb (char *__s, wchar_t __wchar) throw () ; extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) throw (); extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) throw (); extern int rpmatch (__const char *__response) throw () __attribute__ ((__nonnull__ (1))) ; # 823 "/usr/include/stdlib.h" 3 4 extern int getsubopt (char **__restrict __optionp, char *__const *__restrict __tokens, char **__restrict __valuep) throw () __attribute__ ((__nonnull__ (1, 2, 3))) ; extern void setkey (__const char *__key) throw () __attribute__ ((__nonnull__ (1))); extern int posix_openpt (int __oflag) ; extern int grantpt (int __fd) throw (); extern int unlockpt (int __fd) throw (); extern char *ptsname (int __fd) throw () ; extern int ptsname_r (int __fd, char *__buf, size_t __buflen) throw () __attribute__ ((__nonnull__ (2))); extern int getpt (void); extern int getloadavg (double __loadavg[], int __nelem) throw () __attribute__ ((__nonnull__ (1))); # 891 "/usr/include/stdlib.h" 3 4 } # 74 "/usr/include/c++/4.3/cstdlib" 2 3 # 105 "/usr/include/c++/4.3/cstdlib" 3 namespace std __attribute__ ((__visibility__ ("default"))) { 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); } } # 162 "/usr/include/c++/4.3/cstdlib" 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { using ::lldiv_t; using ::_Exit; inline long long abs(long long __x) { return __x >= 0 ? __x : -__x; } using ::llabs; inline lldiv_t div(long long __n, long long __d) { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } using ::lldiv; # 195 "/usr/include/c++/4.3/cstdlib" 3 using ::atoll; using ::strtoll; using ::strtoull; using ::strtof; using ::strtold; } namespace std __attribute__ ((__visibility__ ("default"))) { using ::__gnu_cxx::lldiv_t; using ::__gnu_cxx::_Exit; using ::__gnu_cxx::abs; using ::__gnu_cxx::llabs; using ::__gnu_cxx::div; using ::__gnu_cxx::lldiv; using ::__gnu_cxx::atoll; using ::__gnu_cxx::strtof; using ::__gnu_cxx::strtoll; using ::__gnu_cxx::strtoull; using ::__gnu_cxx::strtold; } # 66 "/usr/include/c++/4.3/bits/stl_algo.h" 2 3 # 1 "/usr/include/c++/4.3/bits/algorithmfwd.h" 1 3 # 104 "/usr/include/c++/4.3/bits/algorithmfwd.h" 3 # 105 "/usr/include/c++/4.3/bits/algorithmfwd.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template bool binary_search(_FIter, _FIter, const _Tp&); template bool binary_search(_FIter, _FIter, const _Tp&, _Compare); template _OIter copy(_IIter, _IIter, _OIter); template _BIter2 copy_backward(_BIter1, _BIter1, _BIter2); template pair<_FIter, _FIter> equal_range(_FIter, _FIter, const _Tp&); template pair<_FIter, _FIter> equal_range(_FIter, _FIter, const _Tp&, _Compare); template void fill(_FIter, _FIter, const _Tp&); # 152 "/usr/include/c++/4.3/bits/algorithmfwd.h" 3 template _OIter fill_n(_OIter, _Size, const _Tp&); template _FIter1 find_end(_FIter1, _FIter1, _FIter2, _FIter2); template _FIter1 find_end(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); template bool includes(_IIter1, _IIter1, _IIter2, _IIter2); template bool includes(_IIter1, _IIter1, _IIter2, _IIter2, _Compare); template void inplace_merge(_BIter, _BIter, _BIter); template void inplace_merge(_BIter, _BIter, _BIter, _Compare); # 222 "/usr/include/c++/4.3/bits/algorithmfwd.h" 3 template void iter_swap(_FIter1, _FIter2); template _FIter lower_bound(_FIter, _FIter, const _Tp&); template _FIter lower_bound(_FIter, _FIter, const _Tp&, _Compare); template void make_heap(_RAIter, _RAIter); template void make_heap(_RAIter, _RAIter, _Compare); template const _Tp& max(const _Tp&, const _Tp&); template const _Tp& max(const _Tp&, const _Tp&, _Compare); template const _Tp& min(const _Tp&, const _Tp&); template const _Tp& min(const _Tp&, const _Tp&, _Compare); # 283 "/usr/include/c++/4.3/bits/algorithmfwd.h" 3 template bool next_permutation(_BIter, _BIter); template bool next_permutation(_BIter, _BIter, _Compare); template _RAIter partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter); template _RAIter partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter, _Compare); template void pop_heap(_RAIter, _RAIter); template void pop_heap(_RAIter, _RAIter, _Compare); template bool prev_permutation(_BIter, _BIter); template bool prev_permutation(_BIter, _BIter, _Compare); template void push_heap(_RAIter, _RAIter); template void push_heap(_RAIter, _RAIter, _Compare); template _FIter remove(_FIter, _FIter, const _Tp&); template _FIter remove_if(_FIter, _FIter, _Predicate); template _OIter remove_copy(_IIter, _IIter, _OIter, const _Tp&); template _OIter remove_copy_if(_IIter, _IIter, _OIter, _Predicate); template _OIter replace_copy(_IIter, _IIter, _OIter, const _Tp&, const _Tp&); template _OIter replace_copy_if(_Iter, _Iter, _OIter, _Predicate, const _Tp&); template void reverse(_BIter, _BIter); template _OIter reverse_copy(_BIter, _BIter, _OIter); template void rotate(_FIter, _FIter, _FIter); template _OIter rotate_copy(_FIter, _FIter, _FIter, _OIter); # 379 "/usr/include/c++/4.3/bits/algorithmfwd.h" 3 template void sort_heap(_RAIter, _RAIter); template void sort_heap(_RAIter, _RAIter, _Compare); template _BIter stable_partition(_BIter, _BIter, _Predicate); template void swap(_Tp&, _Tp&); template _FIter2 swap_ranges(_FIter1, _FIter1, _FIter2); template _FIter unique(_FIter, _FIter); template _FIter unique(_FIter, _FIter, _BinaryPredicate); template _FIter upper_bound(_FIter, _FIter, const _Tp&); template _FIter upper_bound(_FIter, _FIter, const _Tp&, _Compare); } namespace std __attribute__ ((__visibility__ ("default"))) { template _FIter adjacent_find(_FIter, _FIter); template _FIter adjacent_find(_FIter, _FIter, _BinaryPredicate); template typename iterator_traits<_IIter>::difference_type count(_IIter, _IIter, const _Tp&); template typename iterator_traits<_IIter>::difference_type count_if(_IIter, _IIter, _Predicate); template bool equal(_IIter1, _IIter1, _IIter2); template bool equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate); template _IIter find(_IIter, _IIter, const _Tp&); template _FIter1 find_first_of(_FIter1, _FIter1, _FIter2, _FIter2); template _FIter1 find_first_of(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); template _IIter find_if(_IIter, _IIter, _Predicate); template _Funct for_each(_IIter, _IIter, _Funct); template void generate(_FIter, _FIter, _Generator); # 478 "/usr/include/c++/4.3/bits/algorithmfwd.h" 3 template _OIter generate_n(_OIter, _Size, _Generator); template bool lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2); template bool lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2, _Compare); template _FIter max_element(_FIter, _FIter); template _FIter max_element(_FIter, _FIter, _Compare); template _OIter merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); template _OIter merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); template _FIter min_element(_FIter, _FIter); template _FIter min_element(_FIter, _FIter, _Compare); template pair<_IIter1, _IIter2> mismatch(_IIter1, _IIter1, _IIter2); template pair<_IIter1, _IIter2> mismatch(_IIter1, _IIter1, _IIter2, _BinaryPredicate); template void nth_element(_RAIter, _RAIter, _RAIter); template void nth_element(_RAIter, _RAIter, _RAIter, _Compare); template void partial_sort(_RAIter, _RAIter, _RAIter); template void partial_sort(_RAIter, _RAIter, _RAIter, _Compare); template _BIter partition(_BIter, _BIter, _Predicate); template void random_shuffle(_RAIter, _RAIter); template void random_shuffle(_RAIter, _RAIter, _Generator&); template void replace(_FIter, _FIter, const _Tp&, const _Tp&); template void replace_if(_FIter, _FIter, _Predicate, const _Tp&); template _FIter1 search(_FIter1, _FIter1, _FIter2, _FIter2); template _FIter1 search(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate); template _FIter search_n(_FIter, _FIter, _Size, const _Tp&); template _FIter search_n(_FIter, _FIter, _Size, const _Tp&, _BinaryPredicate); template _OIter set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); template _OIter set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); template _OIter set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); template _OIter set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); template _OIter set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); template _OIter set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); template _OIter set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); template _OIter set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); template void sort(_RAIter, _RAIter); template void sort(_RAIter, _RAIter, _Compare); template void stable_sort(_RAIter, _RAIter); template void stable_sort(_RAIter, _RAIter, _Compare); template _OIter transform(_IIter, _IIter, _OIter, _UnaryOperation); template _OIter transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation); template _OIter unique_copy(_IIter, _IIter, _OIter); template _OIter unique_copy(_IIter, _IIter, _OIter, _BinaryPredicate); } # 67 "/usr/include/c++/4.3/bits/stl_algo.h" 2 3 # 1 "/usr/include/c++/4.3/bits/stl_heap.h" 1 3 # 67 "/usr/include/c++/4.3/bits/stl_heap.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template _Distance __is_heap_until(_RandomAccessIterator __first, _Distance __n) { _Distance __parent = 0; for (_Distance __child = 1; __child < __n; ++__child) { if (__first[__parent] < __first[__child]) return __child; if ((__child & 1) == 0) ++__parent; } return __n; } template _Distance __is_heap_until(_RandomAccessIterator __first, _Distance __n, _Compare __comp) { _Distance __parent = 0; for (_Distance __child = 1; __child < __n; ++__child) { if (__comp(__first[__parent], __first[__child])) return __child; if ((__child & 1) == 0) ++__parent; } return __n; } template inline bool __is_heap(_RandomAccessIterator __first, _Distance __n) { return std::__is_heap_until(__first, __n) == __n; } template inline bool __is_heap(_RandomAccessIterator __first, _Compare __comp, _Distance __n) { return std::__is_heap_until(__first, __n, __comp) == __n; } template inline bool __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { return std::__is_heap(__first, std::distance(__first, __last)); } template inline bool __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { return std::__is_heap(__first, __comp, std::distance(__first, __last)); } template void __push_heap(_RandomAccessIterator __first, _Distance __holeIndex, _Distance __topIndex, _Tp __value) { _Distance __parent = (__holeIndex - 1) / 2; while (__holeIndex > __topIndex && *(__first + __parent) < __value) { *(__first + __holeIndex) = (*(__first + __parent)); __holeIndex = __parent; __parent = (__holeIndex - 1) / 2; } *(__first + __holeIndex) = (__value); } # 152 "/usr/include/c++/4.3/bits/stl_heap.h" 3 template inline void push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; ; _ValueType __value = (*(__last - 1)); std::__push_heap(__first, _DistanceType((__last - __first) - 1), _DistanceType(0), (__value)); } template void __push_heap(_RandomAccessIterator __first, _Distance __holeIndex, _Distance __topIndex, _Tp __value, _Compare __comp) { _Distance __parent = (__holeIndex - 1) / 2; while (__holeIndex > __topIndex && __comp(*(__first + __parent), __value)) { *(__first + __holeIndex) = (*(__first + __parent)); __holeIndex = __parent; __parent = (__holeIndex - 1) / 2; } *(__first + __holeIndex) = (__value); } # 201 "/usr/include/c++/4.3/bits/stl_heap.h" 3 template inline void push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; ; _ValueType __value = (*(__last - 1)); std::__push_heap(__first, _DistanceType((__last - __first) - 1), _DistanceType(0), (__value), __comp); } template void __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, _Distance __len, _Tp __value) { const _Distance __topIndex = __holeIndex; _Distance __secondChild = __holeIndex; while (__secondChild < (__len - 1) / 2) { __secondChild = 2 * (__secondChild + 1); if (*(__first + __secondChild) < *(__first + (__secondChild - 1))) __secondChild--; *(__first + __holeIndex) = (*(__first + __secondChild)); __holeIndex = __secondChild; } if ((__len & 1) == 0 && __secondChild == (__len - 2) / 2) { __secondChild = 2 * (__secondChild + 1); *(__first + __holeIndex) = (*(__first + (__secondChild - 1))); __holeIndex = __secondChild - 1; } std::__push_heap(__first, __holeIndex, __topIndex, (__value)); } template inline void __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomAccessIterator __result) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; _ValueType __value = (*__result); *__result = (*__first); std::__adjust_heap(__first, _DistanceType(0), _DistanceType(__last - __first), (__value)); } # 274 "/usr/include/c++/4.3/bits/stl_heap.h" 3 template inline void pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; ; std::__pop_heap(__first, __last - 1, __last - 1); } template void __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex, _Distance __len, _Tp __value, _Compare __comp) { const _Distance __topIndex = __holeIndex; _Distance __secondChild = __holeIndex; while (__secondChild < (__len - 1) / 2) { __secondChild = 2 * (__secondChild + 1); if (__comp(*(__first + __secondChild), *(__first + (__secondChild - 1)))) __secondChild--; *(__first + __holeIndex) = (*(__first + __secondChild)); __holeIndex = __secondChild; } if ((__len & 1) == 0 && __secondChild == (__len - 2) / 2) { __secondChild = 2 * (__secondChild + 1); *(__first + __holeIndex) = (*(__first + (__secondChild - 1))); __holeIndex = __secondChild - 1; } std::__push_heap(__first, __holeIndex, __topIndex, (__value), __comp); } template inline void __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomAccessIterator __result, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; _ValueType __value = (*__result); *__result = (*__first); std::__adjust_heap(__first, _DistanceType(0), _DistanceType(__last - __first), (__value), __comp); } # 347 "/usr/include/c++/4.3/bits/stl_heap.h" 3 template inline void pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { ; ; std::__pop_heap(__first, __last - 1, __last - 1, __comp); } # 369 "/usr/include/c++/4.3/bits/stl_heap.h" 3 template void make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; if (__last - __first < 2) return; const _DistanceType __len = __last - __first; _DistanceType __parent = (__len - 2) / 2; while (true) { _ValueType __value = (*(__first + __parent)); std::__adjust_heap(__first, __parent, __len, (__value)); if (__parent == 0) return; __parent--; } } # 409 "/usr/include/c++/4.3/bits/stl_heap.h" 3 template void make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; if (__last - __first < 2) return; const _DistanceType __len = __last - __first; _DistanceType __parent = (__len - 2) / 2; while (true) { _ValueType __value = (*(__first + __parent)); std::__adjust_heap(__first, __parent, __len, (__value), __comp); if (__parent == 0) return; __parent--; } } # 448 "/usr/include/c++/4.3/bits/stl_heap.h" 3 template void sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { ; ; while (__last - __first > 1) std::pop_heap(__first, _RandomAccessIterator(__last--)); } # 474 "/usr/include/c++/4.3/bits/stl_heap.h" 3 template void sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { ; ; while (__last - __first > 1) std::pop_heap(__first, _RandomAccessIterator(__last--), __comp); } # 568 "/usr/include/c++/4.3/bits/stl_heap.h" 3 } # 68 "/usr/include/c++/4.3/bits/stl_algo.h" 2 3 # 1 "/usr/include/c++/4.3/bits/stl_tempbuf.h" 1 3 # 69 "/usr/include/c++/4.3/bits/stl_tempbuf.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 88 "/usr/include/c++/4.3/bits/stl_tempbuf.h" 3 template pair<_Tp*, ptrdiff_t> get_temporary_buffer(ptrdiff_t __len) { const ptrdiff_t __max = __gnu_cxx::__numeric_traits::__max / sizeof(_Tp); if (__len > __max) __len = __max; while (__len > 0) { _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp), std::nothrow)); if (__tmp != 0) return std::pair<_Tp*, ptrdiff_t>(__tmp, __len); __len /= 2; } return std::pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0); } # 115 "/usr/include/c++/4.3/bits/stl_tempbuf.h" 3 template inline void return_temporary_buffer(_Tp* __p) { ::operator delete(__p, std::nothrow); } template class _Temporary_buffer { public: typedef _Tp value_type; typedef value_type* pointer; typedef pointer iterator; typedef ptrdiff_t size_type; protected: size_type _M_original_len; size_type _M_len; pointer _M_buffer; public: size_type size() const { return _M_len; } size_type requested_size() const { return _M_original_len; } iterator begin() { return _M_buffer; } iterator end() { return _M_buffer + _M_len; } _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last); ~_Temporary_buffer() { std::_Destroy(_M_buffer, _M_buffer + _M_len); std::return_temporary_buffer(_M_buffer); } private: _Temporary_buffer(const _Temporary_buffer&); void operator=(const _Temporary_buffer&); }; template _Temporary_buffer<_ForwardIterator, _Tp>:: _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last) : _M_original_len(std::distance(__first, __last)), _M_len(0), _M_buffer(0) { try { std::pair __p(std::get_temporary_buffer< value_type>(_M_original_len)); _M_buffer = __p.first; _M_len = __p.second; if (!__is_pod(_Tp) && _M_len > 0) std::uninitialized_fill_n(_M_buffer, _M_len, *__first); } catch(...) { std::return_temporary_buffer(_M_buffer); _M_buffer = 0; _M_len = 0; throw; } } } # 69 "/usr/include/c++/4.3/bits/stl_algo.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 87 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline const _Tp& __median(const _Tp& __a, const _Tp& __b, const _Tp& __c) { if (__a < __b) if (__b < __c) return __b; else if (__a < __c) return __c; else return __a; else if (__a < __c) return __a; else if (__b < __c) return __c; else return __b; } # 121 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline const _Tp& __median(const _Tp& __a, const _Tp& __b, const _Tp& __c, _Compare __comp) { if (__comp(__a, __b)) if (__comp(__b, __c)) return __b; else if (__comp(__a, __c)) return __c; else return __a; else if (__comp(__a, __c)) return __a; else if (__comp(__b, __c)) return __c; else return __b; } template inline _InputIterator __find(_InputIterator __first, _InputIterator __last, const _Tp& __val, input_iterator_tag) { while (__first != __last && !(*__first == __val)) ++__first; return __first; } template inline _InputIterator __find_if(_InputIterator __first, _InputIterator __last, _Predicate __pred, input_iterator_tag) { while (__first != __last && !bool(__pred(*__first))) ++__first; return __first; } template _RandomAccessIterator __find(_RandomAccessIterator __first, _RandomAccessIterator __last, const _Tp& __val, random_access_iterator_tag) { typename iterator_traits<_RandomAccessIterator>::difference_type __trip_count = (__last - __first) >> 2; for (; __trip_count > 0; --__trip_count) { if (*__first == __val) return __first; ++__first; if (*__first == __val) return __first; ++__first; if (*__first == __val) return __first; ++__first; if (*__first == __val) return __first; ++__first; } switch (__last - __first) { case 3: if (*__first == __val) return __first; ++__first; case 2: if (*__first == __val) return __first; ++__first; case 1: if (*__first == __val) return __first; ++__first; case 0: default: return __last; } } template _RandomAccessIterator __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last, _Predicate __pred, random_access_iterator_tag) { typename iterator_traits<_RandomAccessIterator>::difference_type __trip_count = (__last - __first) >> 2; for (; __trip_count > 0; --__trip_count) { if (__pred(*__first)) return __first; ++__first; if (__pred(*__first)) return __first; ++__first; if (__pred(*__first)) return __first; ++__first; if (__pred(*__first)) return __first; ++__first; } switch (__last - __first) { case 3: if (__pred(*__first)) return __first; ++__first; case 2: if (__pred(*__first)) return __first; ++__first; case 1: if (__pred(*__first)) return __first; ++__first; case 0: default: return __last; } } # 281 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator __search_n(_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp& __val, std::forward_iterator_tag) { __first = std::find(__first, __last, __val); while (__first != __last) { typename iterator_traits<_ForwardIterator>::difference_type __n = __count; _ForwardIterator __i = __first; ++__i; while (__i != __last && __n != 1 && *__i == __val) { ++__i; --__n; } if (__n == 1) return __first; if (__i == __last) return __last; __first = std::find(++__i, __last, __val); } return __last; } template _RandomAccessIter __search_n(_RandomAccessIter __first, _RandomAccessIter __last, _Integer __count, const _Tp& __val, std::random_access_iterator_tag) { typedef typename std::iterator_traits<_RandomAccessIter>::difference_type _DistanceType; _DistanceType __tailSize = __last - __first; const _DistanceType __pattSize = __count; if (__tailSize < __pattSize) return __last; const _DistanceType __skipOffset = __pattSize - 1; _RandomAccessIter __lookAhead = __first + __skipOffset; __tailSize -= __pattSize; while (1) { while (!(*__lookAhead == __val)) { if (__tailSize < __pattSize) return __last; __lookAhead += __pattSize; __tailSize -= __pattSize; } _DistanceType __remainder = __skipOffset; for (_RandomAccessIter __backTrack = __lookAhead - 1; *__backTrack == __val; --__backTrack) { if (--__remainder == 0) return (__lookAhead - __skipOffset); } if (__remainder > __tailSize) return __last; __lookAhead += __remainder; __tailSize -= __remainder; } } # 366 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator __search_n(_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp& __val, _BinaryPredicate __binary_pred, std::forward_iterator_tag) { while (__first != __last && !bool(__binary_pred(*__first, __val))) ++__first; while (__first != __last) { typename iterator_traits<_ForwardIterator>::difference_type __n = __count; _ForwardIterator __i = __first; ++__i; while (__i != __last && __n != 1 && bool(__binary_pred(*__i, __val))) { ++__i; --__n; } if (__n == 1) return __first; if (__i == __last) return __last; __first = ++__i; while (__first != __last && !bool(__binary_pred(*__first, __val))) ++__first; } return __last; } template _RandomAccessIter __search_n(_RandomAccessIter __first, _RandomAccessIter __last, _Integer __count, const _Tp& __val, _BinaryPredicate __binary_pred, std::random_access_iterator_tag) { typedef typename std::iterator_traits<_RandomAccessIter>::difference_type _DistanceType; _DistanceType __tailSize = __last - __first; const _DistanceType __pattSize = __count; if (__tailSize < __pattSize) return __last; const _DistanceType __skipOffset = __pattSize - 1; _RandomAccessIter __lookAhead = __first + __skipOffset; __tailSize -= __pattSize; while (1) { while (!bool(__binary_pred(*__lookAhead, __val))) { if (__tailSize < __pattSize) return __last; __lookAhead += __pattSize; __tailSize -= __pattSize; } _DistanceType __remainder = __skipOffset; for (_RandomAccessIter __backTrack = __lookAhead - 1; __binary_pred(*__backTrack, __val); --__backTrack) { if (--__remainder == 0) return (__lookAhead - __skipOffset); } if (__remainder > __tailSize) return __last; __lookAhead += __remainder; __tailSize -= __remainder; } } template _ForwardIterator1 __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, forward_iterator_tag, forward_iterator_tag) { if (__first2 == __last2) return __last1; else { _ForwardIterator1 __result = __last1; while (1) { _ForwardIterator1 __new_result = std::search(__first1, __last1, __first2, __last2); if (__new_result == __last1) return __result; else { __result = __new_result; __first1 = __new_result; ++__first1; } } } } template _ForwardIterator1 __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, forward_iterator_tag, forward_iterator_tag, _BinaryPredicate __comp) { if (__first2 == __last2) return __last1; else { _ForwardIterator1 __result = __last1; while (1) { _ForwardIterator1 __new_result = std::search(__first1, __last1, __first2, __last2, __comp); if (__new_result == __last1) return __result; else { __result = __new_result; __first1 = __new_result; ++__first1; } } } } template _BidirectionalIterator1 __find_end(_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, bidirectional_iterator_tag, bidirectional_iterator_tag) { typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1; typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2; _RevIterator1 __rlast1(__first1); _RevIterator2 __rlast2(__first2); _RevIterator1 __rresult = std::search(_RevIterator1(__last1), __rlast1, _RevIterator2(__last2), __rlast2); if (__rresult == __rlast1) return __last1; else { _BidirectionalIterator1 __result = __rresult.base(); std::advance(__result, -std::distance(__first2, __last2)); return __result; } } template _BidirectionalIterator1 __find_end(_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, bidirectional_iterator_tag, bidirectional_iterator_tag, _BinaryPredicate __comp) { typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1; typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2; _RevIterator1 __rlast1(__first1); _RevIterator2 __rlast2(__first2); _RevIterator1 __rresult = std::search(_RevIterator1(__last1), __rlast1, _RevIterator2(__last2), __rlast2, __comp); if (__rresult == __rlast1) return __last1; else { _BidirectionalIterator1 __result = __rresult.base(); std::advance(__result, -std::distance(__first2, __last2)); return __result; } } # 603 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline _ForwardIterator1 find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) { ; ; return std::__find_end(__first1, __last1, __first2, __last2, std::__iterator_category(__first1), std::__iterator_category(__first2)); } # 648 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline _ForwardIterator1 find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __comp) { ; ; return std::__find_end(__first1, __last1, __first2, __last2, std::__iterator_category(__first1), std::__iterator_category(__first2), __comp); } # 684 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator remove_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp& __value) { ; for (; __first != __last; ++__first) if (!(*__first == __value)) { *__result = *__first; ++__result; } return __result; } # 720 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator remove_copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred) { ; for (; __first != __last; ++__first) if (!bool(__pred(*__first))) { *__result = *__first; ++__result; } return __result; } # 759 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator remove(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { ; __first = std::find(__first, __last, __value); if(__first == __last) return __first; _ForwardIterator __result = __first; ++__first; for(; __first != __last; ++__first) if(!(*__first == __value)) { *__result = (*__first); ++__result; } return __result; } # 801 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator remove_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { ; __first = std::find_if(__first, __last, __pred); if(__first == __last) return __first; _ForwardIterator __result = __first; ++__first; for(; __first != __last; ++__first) if(!bool(__pred(*__first))) { *__result = (*__first); ++__result; } return __result; } # 840 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator unique(_ForwardIterator __first, _ForwardIterator __last) { ; __first = std::adjacent_find(__first, __last); if (__first == __last) return __last; _ForwardIterator __dest = __first; ++__first; while (++__first != __last) if (!(*__dest == *__first)) *++__dest = (*__first); return ++__dest; } # 879 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator unique(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred) { ; __first = std::adjacent_find(__first, __last, __binary_pred); if (__first == __last) return __last; _ForwardIterator __dest = __first; ++__first; while (++__first != __last) if (!bool(__binary_pred(*__dest, *__first))) *++__dest = (*__first); return ++__dest; } template _OutputIterator __unique_copy(_ForwardIterator __first, _ForwardIterator __last, _OutputIterator __result, forward_iterator_tag, output_iterator_tag) { _ForwardIterator __next = __first; *__result = *__first; while (++__next != __last) if (!(*__first == *__next)) { __first = __next; *++__result = *__first; } return ++__result; } template _OutputIterator __unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, input_iterator_tag, output_iterator_tag) { typename iterator_traits<_InputIterator>::value_type __value = *__first; *__result = __value; while (++__first != __last) if (!(__value == *__first)) { __value = *__first; *++__result = __value; } return ++__result; } template _ForwardIterator __unique_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, input_iterator_tag, forward_iterator_tag) { *__result = *__first; while (++__first != __last) if (!(*__result == *__first)) *++__result = *__first; return ++__result; } template _OutputIterator __unique_copy(_ForwardIterator __first, _ForwardIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred, forward_iterator_tag, output_iterator_tag) { _ForwardIterator __next = __first; *__result = *__first; while (++__next != __last) if (!bool(__binary_pred(*__first, *__next))) { __first = __next; *++__result = *__first; } return ++__result; } template _OutputIterator __unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred, input_iterator_tag, output_iterator_tag) { typename iterator_traits<_InputIterator>::value_type __value = *__first; *__result = __value; while (++__first != __last) if (!bool(__binary_pred(__value, *__first))) { __value = *__first; *++__result = __value; } return ++__result; } template _ForwardIterator __unique_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _BinaryPredicate __binary_pred, input_iterator_tag, forward_iterator_tag) { *__result = *__first; while (++__first != __last) if (!bool(__binary_pred(*__result, *__first))) *++__result = *__first; return ++__result; } template void __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last, bidirectional_iterator_tag) { while (true) if (__first == __last || __first == --__last) return; else { std::iter_swap(__first, __last); ++__first; } } template void __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag) { if (__first == __last) return; --__last; while (__first < __last) { std::iter_swap(__first, __last); ++__first; --__last; } } # 1106 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline void reverse(_BidirectionalIterator __first, _BidirectionalIterator __last) { ; std::__reverse(__first, __last, std::__iterator_category(__first)); } # 1132 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last, _OutputIterator __result) { ; while (__first != __last) { --__last; *__result = *__last; ++__result; } return __result; } template _EuclideanRingElement __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n) { while (__n != 0) { _EuclideanRingElement __t = __m % __n; __m = __n; __n = __t; } return __m; } template void __rotate(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, forward_iterator_tag) { if (__first == __middle || __last == __middle) return; _ForwardIterator __first2 = __middle; do { std::iter_swap(__first, __first2); ++__first; ++__first2; if (__first == __middle) __middle = __first2; } while (__first2 != __last); __first2 = __middle; while (__first2 != __last) { std::iter_swap(__first, __first2); ++__first; ++__first2; if (__first == __middle) __middle = __first2; else if (__first2 == __last) __first2 = __middle; } } template void __rotate(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, bidirectional_iterator_tag) { if (__first == __middle || __last == __middle) return; std::__reverse(__first, __middle, bidirectional_iterator_tag()); std::__reverse(__middle, __last, bidirectional_iterator_tag()); while (__first != __middle && __middle != __last) { std::iter_swap(__first, --__last); ++__first; } if (__first == __middle) std::__reverse(__middle, __last, bidirectional_iterator_tag()); else std::__reverse(__first, __middle, bidirectional_iterator_tag()); } template void __rotate(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, random_access_iterator_tag) { if (__first == __middle || __last == __middle) return; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _Distance; typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; const _Distance __n = __last - __first; const _Distance __k = __middle - __first; const _Distance __l = __n - __k; if (__k == __l) { std::swap_ranges(__first, __middle, __middle); return; } const _Distance __d = std::__gcd(__n, __k); for (_Distance __i = 0; __i < __d; __i++) { _ValueType __tmp = (*__first); _RandomAccessIterator __p = __first; if (__k < __l) { for (_Distance __j = 0; __j < __l / __d; __j++) { if (__p > __first + __l) { *__p = (*(__p - __l)); __p -= __l; } *__p = (*(__p + __k)); __p += __k; } } else { for (_Distance __j = 0; __j < __k / __d - 1; __j ++) { if (__p < __last - __k) { *__p = (*(__p + __k)); __p += __k; } *__p = (*(__p - __l)); __p -= __l; } } *__p = (__tmp); ++__first; } } # 1324 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline void rotate(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last) { ; ; typedef typename iterator_traits<_ForwardIterator>::iterator_category _IterType; std::__rotate(__first, __middle, __last, _IterType()); } # 1357 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator rotate_copy(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, _OutputIterator __result) { ; ; return std::copy(__first, __middle, std::copy(__middle, __last, __result)); } template _ForwardIterator __partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, forward_iterator_tag) { if (__first == __last) return __first; while (__pred(*__first)) if (++__first == __last) return __first; _ForwardIterator __next = __first; while (++__next != __last) if (__pred(*__next)) { std::iter_swap(__first, __next); ++__first; } return __first; } template _BidirectionalIterator __partition(_BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred, bidirectional_iterator_tag) { while (true) { while (true) if (__first == __last) return __first; else if (__pred(*__first)) ++__first; else break; --__last; while (true) if (__first == __last) return __first; else if (!bool(__pred(*__last))) --__last; else break; std::iter_swap(__first, __last); ++__first; } } template _ForwardIterator __inplace_stable_partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, _Distance __len) { if (__len == 1) return __pred(*__first) ? __last : __first; _ForwardIterator __middle = __first; std::advance(__middle, __len / 2); _ForwardIterator __begin = std::__inplace_stable_partition(__first, __middle, __pred, __len / 2); _ForwardIterator __end = std::__inplace_stable_partition(__middle, __last, __pred, __len - __len / 2); std::rotate(__begin, __middle, __end); std::advance(__begin, std::distance(__middle, __end)); return __begin; } template _ForwardIterator __stable_partition_adaptive(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, _Distance __len, _Pointer __buffer, _Distance __buffer_size) { if (__len <= __buffer_size) { _ForwardIterator __result1 = __first; _Pointer __result2 = __buffer; for (; __first != __last; ++__first) if (__pred(*__first)) { *__result1 = *__first; ++__result1; } else { *__result2 = *__first; ++__result2; } std::copy(__buffer, __result2, __result1); return __result1; } else { _ForwardIterator __middle = __first; std::advance(__middle, __len / 2); _ForwardIterator __begin = std::__stable_partition_adaptive(__first, __middle, __pred, __len / 2, __buffer, __buffer_size); _ForwardIterator __end = std::__stable_partition_adaptive(__middle, __last, __pred, __len - __len / 2, __buffer, __buffer_size); std::rotate(__begin, __middle, __end); std::advance(__begin, std::distance(__middle, __end)); return __begin; } } # 1514 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator stable_partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { ; if (__first == __last) return __first; else { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; _Temporary_buffer<_ForwardIterator, _ValueType> __buf(__first, __last); if (__buf.size() > 0) return std::__stable_partition_adaptive(__first, __last, __pred, _DistanceType(__buf.requested_size()), __buf.begin(), _DistanceType(__buf.size())); else return std::__inplace_stable_partition(__first, __last, __pred, _DistanceType(__buf.requested_size())); } } template void __heap_select(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last) { std::make_heap(__first, __middle); for (_RandomAccessIterator __i = __middle; __i < __last; ++__i) if (*__i < *__first) std::__pop_heap(__first, __middle, __i); } template void __heap_select(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, _Compare __comp) { std::make_heap(__first, __middle, __comp); for (_RandomAccessIterator __i = __middle; __i < __last; ++__i) if (__comp(*__i, *__first)) std::__pop_heap(__first, __middle, __i, __comp); } # 1595 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _RandomAccessIterator partial_sort_copy(_InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last) { typedef typename iterator_traits<_InputIterator>::value_type _InputValueType; typedef typename iterator_traits<_RandomAccessIterator>::value_type _OutputValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; ; if (__result_first == __result_last) return __result_last; _RandomAccessIterator __result_real_last = __result_first; while(__first != __last && __result_real_last != __result_last) { *__result_real_last = *__first; ++__result_real_last; ++__first; } std::make_heap(__result_first, __result_real_last); while (__first != __last) { if (*__first < *__result_first) std::__adjust_heap(__result_first, _DistanceType(0), _DistanceType(__result_real_last - __result_first), _InputValueType(*__first)); ++__first; } std::sort_heap(__result_first, __result_real_last); return __result_real_last; } # 1660 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _RandomAccessIterator partial_sort_copy(_InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last, _Compare __comp) { typedef typename iterator_traits<_InputIterator>::value_type _InputValueType; typedef typename iterator_traits<_RandomAccessIterator>::value_type _OutputValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; ; if (__result_first == __result_last) return __result_last; _RandomAccessIterator __result_real_last = __result_first; while(__first != __last && __result_real_last != __result_last) { *__result_real_last = *__first; ++__result_real_last; ++__first; } std::make_heap(__result_first, __result_real_last, __comp); while (__first != __last) { if (__comp(*__first, *__result_first)) std::__adjust_heap(__result_first, _DistanceType(0), _DistanceType(__result_real_last - __result_first), _InputValueType(*__first), __comp); ++__first; } std::sort_heap(__result_first, __result_real_last, __comp); return __result_real_last; } template void __unguarded_linear_insert(_RandomAccessIterator __last, _Tp __val) { _RandomAccessIterator __next = __last; --__next; while (__val < *__next) { *__last = *__next; __last = __next; --__next; } *__last = __val; } template void __unguarded_linear_insert(_RandomAccessIterator __last, _Tp __val, _Compare __comp) { _RandomAccessIterator __next = __last; --__next; while (__comp(__val, *__next)) { *__last = *__next; __last = __next; --__next; } *__last = __val; } template void __insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { if (__first == __last) return; for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) { typename iterator_traits<_RandomAccessIterator>::value_type __val = *__i; if (__val < *__first) { std::copy_backward(__first, __i, __i + 1); *__first = __val; } else std::__unguarded_linear_insert(__i, __val); } } template void __insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { if (__first == __last) return; for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) { typename iterator_traits<_RandomAccessIterator>::value_type __val = *__i; if (__comp(__val, *__first)) { std::copy_backward(__first, __i, __i + 1); *__first = __val; } else std::__unguarded_linear_insert(__i, __val, __comp); } } template inline void __unguarded_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; for (_RandomAccessIterator __i = __first; __i != __last; ++__i) std::__unguarded_linear_insert(__i, _ValueType(*__i)); } template inline void __unguarded_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; for (_RandomAccessIterator __i = __first; __i != __last; ++__i) std::__unguarded_linear_insert(__i, _ValueType(*__i), __comp); } enum { _S_threshold = 16 }; template void __final_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { if (__last - __first > int(_S_threshold)) { std::__insertion_sort(__first, __first + int(_S_threshold)); std::__unguarded_insertion_sort(__first + int(_S_threshold), __last); } else std::__insertion_sort(__first, __last); } template void __final_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { if (__last - __first > int(_S_threshold)) { std::__insertion_sort(__first, __first + int(_S_threshold), __comp); std::__unguarded_insertion_sort(__first + int(_S_threshold), __last, __comp); } else std::__insertion_sort(__first, __last, __comp); } template _RandomAccessIterator __unguarded_partition(_RandomAccessIterator __first, _RandomAccessIterator __last, _Tp __pivot) { while (true) { while (*__first < __pivot) ++__first; --__last; while (__pivot < *__last) --__last; if (!(__first < __last)) return __first; std::iter_swap(__first, __last); ++__first; } } template _RandomAccessIterator __unguarded_partition(_RandomAccessIterator __first, _RandomAccessIterator __last, _Tp __pivot, _Compare __comp) { while (true) { while (__comp(*__first, __pivot)) ++__first; --__last; while (__comp(__pivot, *__last)) --__last; if (!(__first < __last)) return __first; std::iter_swap(__first, __last); ++__first; } } template void __introsort_loop(_RandomAccessIterator __first, _RandomAccessIterator __last, _Size __depth_limit) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; while (__last - __first > int(_S_threshold)) { if (__depth_limit == 0) { std::partial_sort(__first, __last, __last); return; } --__depth_limit; _RandomAccessIterator __cut = std::__unguarded_partition(__first, __last, _ValueType(std::__median(*__first, *(__first + (__last - __first) / 2), *(__last - 1)))); std::__introsort_loop(__cut, __last, __depth_limit); __last = __cut; } } template void __introsort_loop(_RandomAccessIterator __first, _RandomAccessIterator __last, _Size __depth_limit, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; while (__last - __first > int(_S_threshold)) { if (__depth_limit == 0) { std::partial_sort(__first, __last, __last, __comp); return; } --__depth_limit; _RandomAccessIterator __cut = std::__unguarded_partition(__first, __last, _ValueType(std::__median(*__first, *(__first + (__last - __first) / 2), *(__last - 1), __comp)), __comp); std::__introsort_loop(__cut, __last, __depth_limit, __comp); __last = __cut; } } template inline _Size __lg(_Size __n) { _Size __k; for (__k = 0; __n != 0; __n >>= 1) ++__k; return __k - 1; } inline int __lg(int __n) { return sizeof(int) * 8 - 1 - __builtin_clz(__n); } inline long __lg(long __n) { return sizeof(long) * 8 - 1 - __builtin_clzl(__n); } inline long long __lg(long long __n) { return sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } template void __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Size __depth_limit) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; while (__last - __first > 3) { if (__depth_limit == 0) { std::__heap_select(__first, __nth + 1, __last); std::iter_swap(__first, __nth); return; } --__depth_limit; _RandomAccessIterator __cut = std::__unguarded_partition(__first, __last, _ValueType(std::__median(*__first, *(__first + (__last - __first) / 2), *(__last - 1)))); if (__cut <= __nth) __first = __cut; else __last = __cut; } std::__insertion_sort(__first, __last); } template void __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Size __depth_limit, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; while (__last - __first > 3) { if (__depth_limit == 0) { std::__heap_select(__first, __nth + 1, __last, __comp); std::iter_swap(__first, __nth); return; } --__depth_limit; _RandomAccessIterator __cut = std::__unguarded_partition(__first, __last, _ValueType(std::__median(*__first, *(__first + (__last - __first) / 2), *(__last - 1), __comp)), __comp); if (__cut <= __nth) __first = __cut; else __last = __cut; } std::__insertion_sort(__first, __last, __comp); } # 2069 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; ; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (*__middle < __val) { __first = __middle; ++__first; __len = __len - __half - 1; } else __len = __half; } return __first; } # 2119 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; ; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (__comp(*__middle, __val)) { __first = __middle; ++__first; __len = __len - __half - 1; } else __len = __half; } return __first; } # 2167 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; ; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (__val < *__middle) __len = __half; else { __first = __middle; ++__first; __len = __len - __half - 1; } } return __first; } # 2217 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; ; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (__comp(__val, *__middle)) __len = __half; else { __first = __middle; ++__first; __len = __len - __half - 1; } } return __first; } # 2271 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template pair<_ForwardIterator, _ForwardIterator> equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; ; ; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle, __left, __right; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (*__middle < __val) { __first = __middle; ++__first; __len = __len - __half - 1; } else if (__val < *__middle) __len = __half; else { __left = std::lower_bound(__first, __middle, __val); std::advance(__first, __len); __right = std::upper_bound(++__middle, __first, __val); return pair<_ForwardIterator, _ForwardIterator>(__left, __right); } } return pair<_ForwardIterator, _ForwardIterator>(__first, __first); } # 2333 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template pair<_ForwardIterator, _ForwardIterator> equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::difference_type _DistanceType; ; ; _DistanceType __len = std::distance(__first, __last); _DistanceType __half; _ForwardIterator __middle, __left, __right; while (__len > 0) { __half = __len >> 1; __middle = __first; std::advance(__middle, __half); if (__comp(*__middle, __val)) { __first = __middle; ++__first; __len = __len - __half - 1; } else if (__comp(__val, *__middle)) __len = __half; else { __left = std::lower_bound(__first, __middle, __val, __comp); std::advance(__first, __len); __right = std::upper_bound(++__middle, __first, __val, __comp); return pair<_ForwardIterator, _ForwardIterator>(__left, __right); } } return pair<_ForwardIterator, _ForwardIterator>(__first, __first); } # 2394 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template bool binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; ; ; _ForwardIterator __i = std::lower_bound(__first, __last, __val); return __i != __last && !(__val < *__i); } # 2427 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template bool binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; ; ; _ForwardIterator __i = std::lower_bound(__first, __last, __val, __comp); return __i != __last && !bool(__comp(__val, *__i)); } template _BidirectionalIterator3 __merge_backward(_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, _BidirectionalIterator3 __result) { if (__first1 == __last1) return std::copy_backward(__first2, __last2, __result); if (__first2 == __last2) return std::copy_backward(__first1, __last1, __result); --__last1; --__last2; while (true) { if (*__last2 < *__last1) { *--__result = *__last1; if (__first1 == __last1) return std::copy_backward(__first2, ++__last2, __result); --__last1; } else { *--__result = *__last2; if (__first2 == __last2) return std::copy_backward(__first1, ++__last1, __result); --__last2; } } } template _BidirectionalIterator3 __merge_backward(_BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, _BidirectionalIterator3 __result, _Compare __comp) { if (__first1 == __last1) return std::copy_backward(__first2, __last2, __result); if (__first2 == __last2) return std::copy_backward(__first1, __last1, __result); --__last1; --__last2; while (true) { if (__comp(*__last2, *__last1)) { *--__result = *__last1; if (__first1 == __last1) return std::copy_backward(__first2, ++__last2, __result); --__last1; } else { *--__result = *__last2; if (__first2 == __last2) return std::copy_backward(__first1, ++__last1, __result); --__last2; } } } template _BidirectionalIterator1 __rotate_adaptive(_BidirectionalIterator1 __first, _BidirectionalIterator1 __middle, _BidirectionalIterator1 __last, _Distance __len1, _Distance __len2, _BidirectionalIterator2 __buffer, _Distance __buffer_size) { _BidirectionalIterator2 __buffer_end; if (__len1 > __len2 && __len2 <= __buffer_size) { __buffer_end = std::copy(__middle, __last, __buffer); std::copy_backward(__first, __middle, __last); return std::copy(__buffer, __buffer_end, __first); } else if (__len1 <= __buffer_size) { __buffer_end = std::copy(__first, __middle, __buffer); std::copy(__middle, __last, __first); return std::copy_backward(__buffer, __buffer_end, __last); } else { std::rotate(__first, __middle, __last); std::advance(__first, std::distance(__middle, __last)); return __first; } } template void __merge_adaptive(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Pointer __buffer, _Distance __buffer_size) { if (__len1 <= __len2 && __len1 <= __buffer_size) { _Pointer __buffer_end = std::copy(__first, __middle, __buffer); std::merge(__buffer, __buffer_end, __middle, __last, __first); } else if (__len2 <= __buffer_size) { _Pointer __buffer_end = std::copy(__middle, __last, __buffer); std::__merge_backward(__first, __middle, __buffer, __buffer_end, __last); } else { _BidirectionalIterator __first_cut = __first; _BidirectionalIterator __second_cut = __middle; _Distance __len11 = 0; _Distance __len22 = 0; if (__len1 > __len2) { __len11 = __len1 / 2; std::advance(__first_cut, __len11); __second_cut = std::lower_bound(__middle, __last, *__first_cut); __len22 = std::distance(__middle, __second_cut); } else { __len22 = __len2 / 2; std::advance(__second_cut, __len22); __first_cut = std::upper_bound(__first, __middle, *__second_cut); __len11 = std::distance(__first, __first_cut); } _BidirectionalIterator __new_middle = std::__rotate_adaptive(__first_cut, __middle, __second_cut, __len1 - __len11, __len22, __buffer, __buffer_size); std::__merge_adaptive(__first, __first_cut, __new_middle, __len11, __len22, __buffer, __buffer_size); std::__merge_adaptive(__new_middle, __second_cut, __last, __len1 - __len11, __len2 - __len22, __buffer, __buffer_size); } } template void __merge_adaptive(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Pointer __buffer, _Distance __buffer_size, _Compare __comp) { if (__len1 <= __len2 && __len1 <= __buffer_size) { _Pointer __buffer_end = std::copy(__first, __middle, __buffer); std::merge(__buffer, __buffer_end, __middle, __last, __first, __comp); } else if (__len2 <= __buffer_size) { _Pointer __buffer_end = std::copy(__middle, __last, __buffer); std::__merge_backward(__first, __middle, __buffer, __buffer_end, __last, __comp); } else { _BidirectionalIterator __first_cut = __first; _BidirectionalIterator __second_cut = __middle; _Distance __len11 = 0; _Distance __len22 = 0; if (__len1 > __len2) { __len11 = __len1 / 2; std::advance(__first_cut, __len11); __second_cut = std::lower_bound(__middle, __last, *__first_cut, __comp); __len22 = std::distance(__middle, __second_cut); } else { __len22 = __len2 / 2; std::advance(__second_cut, __len22); __first_cut = std::upper_bound(__first, __middle, *__second_cut, __comp); __len11 = std::distance(__first, __first_cut); } _BidirectionalIterator __new_middle = std::__rotate_adaptive(__first_cut, __middle, __second_cut, __len1 - __len11, __len22, __buffer, __buffer_size); std::__merge_adaptive(__first, __first_cut, __new_middle, __len11, __len22, __buffer, __buffer_size, __comp); std::__merge_adaptive(__new_middle, __second_cut, __last, __len1 - __len11, __len2 - __len22, __buffer, __buffer_size, __comp); } } template void __merge_without_buffer(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2) { if (__len1 == 0 || __len2 == 0) return; if (__len1 + __len2 == 2) { if (*__middle < *__first) std::iter_swap(__first, __middle); return; } _BidirectionalIterator __first_cut = __first; _BidirectionalIterator __second_cut = __middle; _Distance __len11 = 0; _Distance __len22 = 0; if (__len1 > __len2) { __len11 = __len1 / 2; std::advance(__first_cut, __len11); __second_cut = std::lower_bound(__middle, __last, *__first_cut); __len22 = std::distance(__middle, __second_cut); } else { __len22 = __len2 / 2; std::advance(__second_cut, __len22); __first_cut = std::upper_bound(__first, __middle, *__second_cut); __len11 = std::distance(__first, __first_cut); } std::rotate(__first_cut, __middle, __second_cut); _BidirectionalIterator __new_middle = __first_cut; std::advance(__new_middle, std::distance(__middle, __second_cut)); std::__merge_without_buffer(__first, __first_cut, __new_middle, __len11, __len22); std::__merge_without_buffer(__new_middle, __second_cut, __last, __len1 - __len11, __len2 - __len22); } template void __merge_without_buffer(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Compare __comp) { if (__len1 == 0 || __len2 == 0) return; if (__len1 + __len2 == 2) { if (__comp(*__middle, *__first)) std::iter_swap(__first, __middle); return; } _BidirectionalIterator __first_cut = __first; _BidirectionalIterator __second_cut = __middle; _Distance __len11 = 0; _Distance __len22 = 0; if (__len1 > __len2) { __len11 = __len1 / 2; std::advance(__first_cut, __len11); __second_cut = std::lower_bound(__middle, __last, *__first_cut, __comp); __len22 = std::distance(__middle, __second_cut); } else { __len22 = __len2 / 2; std::advance(__second_cut, __len22); __first_cut = std::upper_bound(__first, __middle, *__second_cut, __comp); __len11 = std::distance(__first, __first_cut); } std::rotate(__first_cut, __middle, __second_cut); _BidirectionalIterator __new_middle = __first_cut; std::advance(__new_middle, std::distance(__middle, __second_cut)); std::__merge_without_buffer(__first, __first_cut, __new_middle, __len11, __len22, __comp); std::__merge_without_buffer(__new_middle, __second_cut, __last, __len1 - __len11, __len2 - __len22, __comp); } # 2774 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template void inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last) { typedef typename iterator_traits<_BidirectionalIterator>::value_type _ValueType; typedef typename iterator_traits<_BidirectionalIterator>::difference_type _DistanceType; ; ; if (__first == __middle || __middle == __last) return; _DistanceType __len1 = std::distance(__first, __middle); _DistanceType __len2 = std::distance(__middle, __last); _Temporary_buffer<_BidirectionalIterator, _ValueType> __buf(__first, __last); if (__buf.begin() == 0) std::__merge_without_buffer(__first, __middle, __last, __len1, __len2); else std::__merge_adaptive(__first, __middle, __last, __len1, __len2, __buf.begin(), _DistanceType(__buf.size())); } # 2828 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template void inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Compare __comp) { typedef typename iterator_traits<_BidirectionalIterator>::value_type _ValueType; typedef typename iterator_traits<_BidirectionalIterator>::difference_type _DistanceType; ; ; if (__first == __middle || __middle == __last) return; const _DistanceType __len1 = std::distance(__first, __middle); const _DistanceType __len2 = std::distance(__middle, __last); _Temporary_buffer<_BidirectionalIterator, _ValueType> __buf(__first, __last); if (__buf.begin() == 0) std::__merge_without_buffer(__first, __middle, __last, __len1, __len2, __comp); else std::__merge_adaptive(__first, __middle, __last, __len1, __len2, __buf.begin(), _DistanceType(__buf.size()), __comp); } template void __merge_sort_loop(_RandomAccessIterator1 __first, _RandomAccessIterator1 __last, _RandomAccessIterator2 __result, _Distance __step_size) { const _Distance __two_step = 2 * __step_size; while (__last - __first >= __two_step) { __result = std::merge(__first, __first + __step_size, __first + __step_size, __first + __two_step, __result); __first += __two_step; } __step_size = std::min(_Distance(__last - __first), __step_size); std::merge(__first, __first + __step_size, __first + __step_size, __last, __result); } template void __merge_sort_loop(_RandomAccessIterator1 __first, _RandomAccessIterator1 __last, _RandomAccessIterator2 __result, _Distance __step_size, _Compare __comp) { const _Distance __two_step = 2 * __step_size; while (__last - __first >= __two_step) { __result = std::merge(__first, __first + __step_size, __first + __step_size, __first + __two_step, __result, __comp); __first += __two_step; } __step_size = std::min(_Distance(__last - __first), __step_size); std::merge(__first, __first + __step_size, __first + __step_size, __last, __result, __comp); } template void __chunk_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Distance __chunk_size) { while (__last - __first >= __chunk_size) { std::__insertion_sort(__first, __first + __chunk_size); __first += __chunk_size; } std::__insertion_sort(__first, __last); } template void __chunk_insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Distance __chunk_size, _Compare __comp) { while (__last - __first >= __chunk_size) { std::__insertion_sort(__first, __first + __chunk_size, __comp); __first += __chunk_size; } std::__insertion_sort(__first, __last, __comp); } enum { _S_chunk_size = 7 }; template void __merge_sort_with_buffer(_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer) { typedef typename iterator_traits<_RandomAccessIterator>::difference_type _Distance; const _Distance __len = __last - __first; const _Pointer __buffer_last = __buffer + __len; _Distance __step_size = _S_chunk_size; std::__chunk_insertion_sort(__first, __last, __step_size); while (__step_size < __len) { std::__merge_sort_loop(__first, __last, __buffer, __step_size); __step_size *= 2; std::__merge_sort_loop(__buffer, __buffer_last, __first, __step_size); __step_size *= 2; } } template void __merge_sort_with_buffer(_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::difference_type _Distance; const _Distance __len = __last - __first; const _Pointer __buffer_last = __buffer + __len; _Distance __step_size = _S_chunk_size; std::__chunk_insertion_sort(__first, __last, __step_size, __comp); while (__step_size < __len) { std::__merge_sort_loop(__first, __last, __buffer, __step_size, __comp); __step_size *= 2; std::__merge_sort_loop(__buffer, __buffer_last, __first, __step_size, __comp); __step_size *= 2; } } template void __stable_sort_adaptive(_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Distance __buffer_size) { const _Distance __len = (__last - __first + 1) / 2; const _RandomAccessIterator __middle = __first + __len; if (__len > __buffer_size) { std::__stable_sort_adaptive(__first, __middle, __buffer, __buffer_size); std::__stable_sort_adaptive(__middle, __last, __buffer, __buffer_size); } else { std::__merge_sort_with_buffer(__first, __middle, __buffer); std::__merge_sort_with_buffer(__middle, __last, __buffer); } std::__merge_adaptive(__first, __middle, __last, _Distance(__middle - __first), _Distance(__last - __middle), __buffer, __buffer_size); } template void __stable_sort_adaptive(_RandomAccessIterator __first, _RandomAccessIterator __last, _Pointer __buffer, _Distance __buffer_size, _Compare __comp) { const _Distance __len = (__last - __first + 1) / 2; const _RandomAccessIterator __middle = __first + __len; if (__len > __buffer_size) { std::__stable_sort_adaptive(__first, __middle, __buffer, __buffer_size, __comp); std::__stable_sort_adaptive(__middle, __last, __buffer, __buffer_size, __comp); } else { std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp); std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp); } std::__merge_adaptive(__first, __middle, __last, _Distance(__middle - __first), _Distance(__last - __middle), __buffer, __buffer_size, __comp); } template void __inplace_stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { if (__last - __first < 15) { std::__insertion_sort(__first, __last); return; } _RandomAccessIterator __middle = __first + (__last - __first) / 2; std::__inplace_stable_sort(__first, __middle); std::__inplace_stable_sort(__middle, __last); std::__merge_without_buffer(__first, __middle, __last, __middle - __first, __last - __middle); } template void __inplace_stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { if (__last - __first < 15) { std::__insertion_sort(__first, __last, __comp); return; } _RandomAccessIterator __middle = __first + (__last - __first) / 2; std::__inplace_stable_sort(__first, __middle, __comp); std::__inplace_stable_sort(__middle, __last, __comp); std::__merge_without_buffer(__first, __middle, __last, __middle - __first, __last - __middle, __comp); } # 3113 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template bool includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) if (*__first2 < *__first1) return false; else if(*__first1 < *__first2) ++__first1; else ++__first1, ++__first2; return __first2 == __last2; } # 3161 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template bool includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) if (__comp(*__first2, *__first1)) return false; else if(__comp(*__first1, *__first2)) ++__first1; else ++__first1, ++__first2; return __first2 == __last2; } # 3215 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template bool next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last) { ; if (__first == __last) return false; _BidirectionalIterator __i = __first; ++__i; if (__i == __last) return false; __i = __last; --__i; for(;;) { _BidirectionalIterator __ii = __i; --__i; if (*__i < *__ii) { _BidirectionalIterator __j = __last; while (!(*__i < *--__j)) {} std::iter_swap(__i, __j); std::reverse(__ii, __last); return true; } if (__i == __first) { std::reverse(__first, __last); return false; } } } # 3271 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template bool next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) { ; if (__first == __last) return false; _BidirectionalIterator __i = __first; ++__i; if (__i == __last) return false; __i = __last; --__i; for(;;) { _BidirectionalIterator __ii = __i; --__i; if (__comp(*__i, *__ii)) { _BidirectionalIterator __j = __last; while (!bool(__comp(*__i, *--__j))) {} std::iter_swap(__i, __j); std::reverse(__ii, __last); return true; } if (__i == __first) { std::reverse(__first, __last); return false; } } } # 3326 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template bool prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last) { ; if (__first == __last) return false; _BidirectionalIterator __i = __first; ++__i; if (__i == __last) return false; __i = __last; --__i; for(;;) { _BidirectionalIterator __ii = __i; --__i; if (*__ii < *__i) { _BidirectionalIterator __j = __last; while (!(*--__j < *__i)) {} std::iter_swap(__i, __j); std::reverse(__ii, __last); return true; } if (__i == __first) { std::reverse(__first, __last); return false; } } } # 3382 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template bool prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) { ; if (__first == __last) return false; _BidirectionalIterator __i = __first; ++__i; if (__i == __last) return false; __i = __last; --__i; for(;;) { _BidirectionalIterator __ii = __i; --__i; if (__comp(*__ii, *__i)) { _BidirectionalIterator __j = __last; while (!bool(__comp(*--__j, *__i))) {} std::iter_swap(__i, __j); std::reverse(__ii, __last); return true; } if (__i == __first) { std::reverse(__first, __last); return false; } } } # 3442 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator replace_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp& __old_value, const _Tp& __new_value) { ; for (; __first != __last; ++__first, ++__result) if (*__first == __old_value) *__result = __new_value; else *__result = *__first; return __result; } # 3478 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator replace_copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred, const _Tp& __new_value) { ; for (; __first != __last; ++__first, ++__result) if (__pred(*__first)) *__result = __new_value; else *__result = *__first; return __result; } # 3768 "/usr/include/c++/4.3/bits/stl_algo.h" 3 } namespace std __attribute__ ((__visibility__ ("default"))) { # 3783 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _Function for_each(_InputIterator __first, _InputIterator __last, _Function __f) { ; for (; __first != __last; ++__first) __f(*__first); return __f; } # 3803 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline _InputIterator find(_InputIterator __first, _InputIterator __last, const _Tp& __val) { ; return std::__find(__first, __last, __val, std::__iterator_category(__first)); } # 3826 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline _InputIterator find_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) { ; return std::__find_if(__first, __last, __pred, std::__iterator_category(__first)); } # 3854 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _InputIterator find_first_of(_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2) { ; ; for (; __first1 != __last1; ++__first1) for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) if (*__first1 == *__iter) return __first1; return __last1; } # 3892 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _InputIterator find_first_of(_InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2, _BinaryPredicate __comp) { ; ; for (; __first1 != __last1; ++__first1) for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter) if (__comp(*__first1, *__iter)) return __first1; return __last1; } # 3923 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator adjacent_find(_ForwardIterator __first, _ForwardIterator __last) { ; if (__first == __last) return __last; _ForwardIterator __next = __first; while(++__next != __last) { if (*__first == *__next) return __first; __first = __next; } return __last; } # 3954 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator adjacent_find(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred) { ; if (__first == __last) return __last; _ForwardIterator __next = __first; while(++__next != __last) { if (__binary_pred(*__first, *__next)) return __first; __first = __next; } return __last; } # 3985 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template typename iterator_traits<_InputIterator>::difference_type count(_InputIterator __first, _InputIterator __last, const _Tp& __value) { ; typename iterator_traits<_InputIterator>::difference_type __n = 0; for (; __first != __last; ++__first) if (*__first == __value) ++__n; return __n; } # 4009 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template typename iterator_traits<_InputIterator>::difference_type count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) { ; typename iterator_traits<_InputIterator>::difference_type __n = 0; for (; __first != __last; ++__first) if (__pred(*__first)) ++__n; return __n; } # 4048 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator1 search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) { ; ; if (__first1 == __last1 || __first2 == __last2) return __first1; _ForwardIterator2 __p1(__first2); if (++__p1 == __last2) return std::find(__first1, __last1, *__first2); _ForwardIterator2 __p; _ForwardIterator1 __current = __first1; for (;;) { __first1 = std::find(__first1, __last1, *__first2); if (__first1 == __last1) return __last1; __p = __p1; __current = __first1; if (++__current == __last1) return __last1; while (*__current == *__p) { if (++__p == __last2) return __first1; if (++__current == __last1) return __last1; } ++__first1; } return __first1; } # 4118 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator1 search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __predicate) { ; ; if (__first1 == __last1 || __first2 == __last2) return __first1; _ForwardIterator2 __p1(__first2); if (++__p1 == __last2) { while (__first1 != __last1 && !bool(__predicate(*__first1, *__first2))) ++__first1; return __first1; } _ForwardIterator2 __p; _ForwardIterator1 __current = __first1; for (;;) { while (__first1 != __last1 && !bool(__predicate(*__first1, *__first2))) ++__first1; if (__first1 == __last1) return __last1; __p = __p1; __current = __first1; if (++__current == __last1) return __last1; while (__predicate(*__current, *__p)) { if (++__p == __last2) return __first1; if (++__current == __last1) return __last1; } ++__first1; } return __first1; } # 4191 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator search_n(_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp& __val) { ; if (__count <= 0) return __first; if (__count == 1) return std::find(__first, __last, __val); return std::__search_n(__first, __last, __count, __val, std::__iterator_category(__first)); } # 4226 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator search_n(_ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp& __val, _BinaryPredicate __binary_pred) { ; if (__count <= 0) return __first; if (__count == 1) { while (__first != __last && !bool(__binary_pred(*__first, __val))) ++__first; return __first; } return std::__search_n(__first, __last, __count, __val, __binary_pred, std::__iterator_category(__first)); } # 4267 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator transform(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _UnaryOperation __unary_op) { ; for (; __first != __last; ++__first, ++__result) *__result = __unary_op(*__first); return __result; } # 4302 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator transform(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _OutputIterator __result, _BinaryOperation __binary_op) { ; for (; __first1 != __last1; ++__first1, ++__first2, ++__result) *__result = __binary_op(*__first1, *__first2); return __result; } # 4334 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template void replace(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __old_value, const _Tp& __new_value) { ; for (; __first != __last; ++__first) if (*__first == __old_value) *__first = __new_value; } # 4365 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template void replace_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, const _Tp& __new_value) { ; for (; __first != __last; ++__first) if (__pred(*__first)) *__first = __new_value; } # 4396 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template void generate(_ForwardIterator __first, _ForwardIterator __last, _Generator __gen) { ; for (; __first != __last; ++__first) *__first = __gen(); } # 4423 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator generate_n(_OutputIterator __first, _Size __n, _Generator __gen) { for (; __n > 0; --__n, ++__first) *__first = __gen(); return __first; } # 4458 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline _OutputIterator unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result) { ; if (__first == __last) return __result; return std::__unique_copy(__first, __last, __result, std::__iterator_category(__first), std::__iterator_category(__result)); } # 4496 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline _OutputIterator unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred) { ; if (__first == __last) return __result; return std::__unique_copy(__first, __last, __result, __binary_pred, std::__iterator_category(__first), std::__iterator_category(__result)); } # 4527 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline void random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last) { ; if (__first != __last) for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) std::iter_swap(__i, __first + (std::rand() % ((__i - __first) + 1))); } # 4554 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template void random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, _RandomNumberGenerator& __rand) { ; if (__first == __last) return; for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) std::iter_swap(__i, __first + __rand((__i - __first) + 1)); } # 4585 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline _ForwardIterator partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { ; return std::__partition(__first, __last, __pred, std::__iterator_category(__first)); } # 4618 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline void partial_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; ; std::__heap_select(__first, __middle, __last); std::sort_heap(__first, __middle); } # 4656 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline void partial_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; ; std::__heap_select(__first, __middle, __last, __comp); std::sort_heap(__first, __middle, __comp); } # 4693 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline void nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; ; if (__first == __last || __nth == __last) return; std::__introselect(__first, __nth, __last, std::__lg(__last - __first) * 2); } # 4731 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline void nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; ; if (__first == __last || __nth == __last) return; std::__introselect(__first, __nth, __last, std::__lg(__last - __first) * 2, __comp); } # 4768 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline void sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; if (__first != __last) { std::__introsort_loop(__first, __last, std::__lg(__last - __first) * 2); std::__final_insertion_sort(__first, __last); } } # 4803 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline void sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; ; if (__first != __last) { std::__introsort_loop(__first, __last, std::__lg(__last - __first) * 2, __comp); std::__final_insertion_sort(__first, __last, __comp); } } # 4843 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator merge(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) { if (*__first2 < *__first1) { *__result = *__first2; ++__first2; } else { *__result = *__first1; ++__first1; } ++__result; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 4905 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator merge(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) { if (__comp(*__first2, *__first1)) { *__result = *__first2; ++__first2; } else { *__result = *__first1; ++__first1; } ++__result; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 4964 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline void stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; _Temporary_buffer<_RandomAccessIterator, _ValueType> __buf(__first, __last); if (__buf.begin() == 0) std::__inplace_stable_sort(__first, __last); else std::__stable_sort_adaptive(__first, __last, __buf.begin(), _DistanceType(__buf.size())); } # 5005 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template inline void stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::value_type _ValueType; typedef typename iterator_traits<_RandomAccessIterator>::difference_type _DistanceType; ; _Temporary_buffer<_RandomAccessIterator, _ValueType> __buf(__first, __last); if (__buf.begin() == 0) std::__inplace_stable_sort(__first, __last, __comp); else std::__stable_sort_adaptive(__first, __last, __buf.begin(), _DistanceType(__buf.size()), __comp); } # 5050 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator set_union(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) { if (*__first1 < *__first2) { *__result = *__first1; ++__first1; } else if (*__first2 < *__first1) { *__result = *__first2; ++__first2; } else { *__result = *__first1; ++__first1; ++__first2; } ++__result; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 5116 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator set_union(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) { if (__comp(*__first1, *__first2)) { *__result = *__first1; ++__first1; } else if (__comp(*__first2, *__first1)) { *__result = *__first2; ++__first2; } else { *__result = *__first1; ++__first1; ++__first2; } ++__result; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 5182 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) if (*__first1 < *__first2) ++__first1; else if (*__first2 < *__first1) ++__first2; else { *__result = *__first1; ++__first1; ++__first2; ++__result; } return __result; } # 5238 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator set_intersection(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) if (__comp(*__first1, *__first2)) ++__first1; else if (__comp(*__first2, *__first1)) ++__first2; else { *__result = *__first1; ++__first1; ++__first2; ++__result; } return __result; } # 5295 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator set_difference(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) if (*__first1 < *__first2) { *__result = *__first1; ++__first1; ++__result; } else if (*__first2 < *__first1) ++__first2; else { ++__first1; ++__first2; } return std::copy(__first1, __last1, __result); } # 5355 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator set_difference(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) if (__comp(*__first1, *__first2)) { *__result = *__first1; ++__first1; ++__result; } else if (__comp(*__first2, *__first1)) ++__first2; else { ++__first1; ++__first2; } return std::copy(__first1, __last1, __result); } # 5412 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) if (*__first1 < *__first2) { *__result = *__first1; ++__first1; ++__result; } else if (*__first2 < *__first1) { *__result = *__first2; ++__first2; ++__result; } else { ++__first1; ++__first2; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 5477 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _OutputIterator set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { typedef typename iterator_traits<_InputIterator1>::value_type _ValueType1; typedef typename iterator_traits<_InputIterator2>::value_type _ValueType2; ; ; while (__first1 != __last1 && __first2 != __last2) if (__comp(*__first1, *__first2)) { *__result = *__first1; ++__first1; ++__result; } else if (__comp(*__first2, *__first1)) { *__result = *__first2; ++__first2; ++__result; } else { ++__first1; ++__first2; } return std::copy(__first2, __last2, std::copy(__first1, __last1, __result)); } # 5533 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator min_element(_ForwardIterator __first, _ForwardIterator __last) { ; if (__first == __last) return __first; _ForwardIterator __result = __first; while (++__first != __last) if (*__first < *__result) __result = __first; return __result; } # 5560 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { ; if (__first == __last) return __first; _ForwardIterator __result = __first; while (++__first != __last) if (__comp(*__first, *__result)) __result = __first; return __result; } template _ForwardIterator max_element(_ForwardIterator __first, _ForwardIterator __last) { ; if (__first == __last) return __first; _ForwardIterator __result = __first; while (++__first != __last) if (*__result < *__first) __result = __first; return __result; } # 5614 "/usr/include/c++/4.3/bits/stl_algo.h" 3 template _ForwardIterator max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { ; if (__first == __last) return __first; _ForwardIterator __result = __first; while (++__first != __last) if (__comp(*__result, *__first)) __result = __first; return __result; } } # 68 "/usr/include/c++/4.3/algorithm" 2 3 # 35 "/products/root_522/include/root/TMath.h" 2 namespace TMath { inline Double_t Pi() { return 3.14159265358979323846; } inline Double_t TwoPi() { return 2.0 * Pi(); } inline Double_t PiOver2() { return Pi() / 2.0; } inline Double_t PiOver4() { return Pi() / 4.0; } inline Double_t InvPi() { return 1.0 / Pi(); } inline Double_t RadToDeg() { return 180.0 / Pi(); } inline Double_t DegToRad() { return Pi() / 180.0; } inline Double_t Sqrt2() { return 1.4142135623730950488016887242097; } inline Double_t E() { return 2.71828182845904523536; } inline Double_t Ln10() { return 2.30258509299404568402; } inline Double_t LogE() { return 0.43429448190325182765; } inline Double_t C() { return 2.99792458e8; } inline Double_t Ccgs() { return 100.0 * C(); } inline Double_t CUncertainty() { return 0.0; } inline Double_t G() { return 6.673e-11; } inline Double_t Gcgs() { return G() / 1000.0; } inline Double_t GUncertainty() { return 0.010e-11; } inline Double_t GhbarC() { return 6.707e-39; } inline Double_t GhbarCUncertainty() { return 0.010e-39; } inline Double_t Gn() { return 9.80665; } inline Double_t GnUncertainty() { return 0.0; } inline Double_t H() { return 6.62606876e-34; } inline Double_t Hcgs() { return 1.0e7 * H(); } inline Double_t HUncertainty() { return 0.00000052e-34; } inline Double_t Hbar() { return 1.054571596e-34; } inline Double_t Hbarcgs() { return 1.0e7 * Hbar(); } inline Double_t HbarUncertainty() { return 0.000000082e-34; } inline Double_t HC() { return H() * C(); } inline Double_t HCcgs() { return Hcgs() * Ccgs(); } inline Double_t K() { return 1.3806503e-23; } inline Double_t Kcgs() { return 1.0e7 * K(); } inline Double_t KUncertainty() { return 0.0000024e-23; } inline Double_t Sigma() { return 5.6704e-8; } inline Double_t SigmaUncertainty() { return 0.000040e-8; } inline Double_t Na() { return 6.02214199e+23; } inline Double_t NaUncertainty() { return 0.00000047e+23; } inline Double_t R() { return K() * Na(); } inline Double_t RUncertainty() { return R()*((KUncertainty()/K()) + (NaUncertainty()/Na())); } inline Double_t MWair() { return 28.9644; } inline Double_t Rgair() { return (1000.0 * R()) / MWair(); } inline Double_t EulerGamma() { return 0.577215664901532860606512090082402431042; } inline Double_t Qe() { return 1.602176462e-19; } inline Double_t QeUncertainty() { return 0.000000063e-19; } # 133 "/products/root_522/include/root/TMath.h" inline Double_t Sin(Double_t); inline Double_t Cos(Double_t); inline Double_t Tan(Double_t); inline Double_t SinH(Double_t); inline Double_t CosH(Double_t); inline Double_t TanH(Double_t); inline Double_t ASin(Double_t); inline Double_t ACos(Double_t); inline Double_t ATan(Double_t); inline Double_t ATan2(Double_t, Double_t); Double_t ASinH(Double_t); Double_t ACosH(Double_t); Double_t ATanH(Double_t); Double_t Hypot(Double_t x, Double_t y); inline Double_t Sqrt(Double_t x); inline Double_t Ceil(Double_t x); inline Int_t CeilNint(Double_t x); inline Double_t Floor(Double_t x); inline Int_t FloorNint(Double_t x); inline Double_t Exp(Double_t x); inline Double_t Ldexp(Double_t x, Int_t exp); Double_t Factorial(Int_t i); inline Double_t Power(Double_t x, Double_t y); inline Double_t Log(Double_t x); Double_t Log2(Double_t x); inline Double_t Log10(Double_t x); Int_t Nint(Float_t x); Int_t Nint(Double_t x); inline Int_t Finite(Double_t x); inline Int_t IsNaN(Double_t x); Long_t Hypot(Long_t x, Long_t y); template T MinElement(Long64_t n, const T *a); template T MaxElement(Long64_t n, const T *a); template Long64_t LocMin(Long64_t n, const T *a); template Iterator LocMin(Iterator first, Iterator last); template Long64_t LocMax(Long64_t n, const T *a); template Iterator LocMax(Iterator first, Iterator last); template Long64_t BinarySearch(Long64_t n, const T *array, T value); template Long64_t BinarySearch(Long64_t n, const T **array, T value); template Iterator BinarySearch(Iterator first, Iterator last, Element value); ULong_t Hash(const void *txt, Int_t ntxt); ULong_t Hash(const char *str); template void Sort(Index n, const Element* a, Index* index, Bool_t down=kTRUE); template void SortItr(Iterator first, Iterator last, IndexIterator index, Bool_t down=kTRUE); void BubbleHigh(Int_t Narr, Double_t *arr1, Int_t *arr2); void BubbleLow (Int_t Narr, Double_t *arr1, Int_t *arr2); Bool_t Permute(Int_t n, Int_t *a); void Quantiles(Int_t n, Int_t nprob, Double_t *x, Double_t *quantiles, Double_t *prob, Bool_t isSorted=kTRUE, Int_t *index = 0, Int_t type=7); template Bool_t IsInside(T xp, T yp, Int_t np, T *x, T *y); template T *Cross(const T v1[3],const T v2[3], T out[3]); Float_t Normalize(Float_t v[3]); Double_t Normalize(Double_t v[3]); template inline T NormCross(const T v1[3],const T v2[3],T out[3]); template T *Normal2Plane(const T v1[3],const T v2[3],const T v3[3], T normal[3]); Bool_t RootsCubic(const Double_t coef[4],Double_t &a, Double_t &b, Double_t &c); Double_t Binomial(Int_t n,Int_t k); Double_t BinomialI(Double_t p, Int_t n, Int_t k); Double_t BreitWigner(Double_t x, Double_t mean=0, Double_t gamma=1); Double_t CauchyDist(Double_t x, Double_t t=0, Double_t s=1); Double_t ChisquareQuantile(Double_t p, Double_t ndf); Double_t FDist(Double_t F, Double_t N, Double_t M); Double_t FDistI(Double_t F, Double_t N, Double_t M); Double_t Gaus(Double_t x, Double_t mean=0, Double_t sigma=1, Bool_t norm=kFALSE); Double_t KolmogorovProb(Double_t z); Double_t KolmogorovTest(Int_t na, const Double_t *a, Int_t nb, const Double_t *b, Option_t *option); Double_t Landau(Double_t x, Double_t mpv=0, Double_t sigma=1, Bool_t norm=kFALSE); Double_t LandauI(Double_t x); Double_t LaplaceDist(Double_t x, Double_t alpha=0, Double_t beta=1); Double_t LaplaceDistI(Double_t x, Double_t alpha=0, Double_t beta=1); Double_t LogNormal(Double_t x, Double_t sigma, Double_t theta=0, Double_t m=1); Double_t NormQuantile(Double_t p); Double_t Poisson(Double_t x, Double_t par); Double_t PoissonI(Double_t x, Double_t par); Double_t Prob(Double_t chi2,Int_t ndf); Double_t Student(Double_t T, Double_t ndf); Double_t StudentI(Double_t T, Double_t ndf); Double_t StudentQuantile(Double_t p, Double_t ndf, Bool_t lower_tail=kTRUE); Double_t Vavilov(Double_t x, Double_t kappa, Double_t beta2); Double_t VavilovI(Double_t x, Double_t kappa, Double_t beta2); Double_t Voigt(Double_t x, Double_t sigma, Double_t lg, Int_t R = 4); template Double_t Mean(Long64_t n, const T *a, const Double_t *w=0); template Double_t Mean(Iterator first, Iterator last); template Double_t Mean(Iterator first, Iterator last, WeightIterator w); template Double_t GeomMean(Long64_t n, const T *a); template Double_t GeomMean(Iterator first, Iterator last); template Double_t RMS(Long64_t n, const T *a); template Double_t RMS(Iterator first, Iterator last); template Double_t Median(Long64_t n, const T *a, const Double_t *w=0, Long64_t *work=0); template Element KOrdStat(Size n, const Element *a, Size k, Size *work = 0); Double_t Beta(Double_t p, Double_t q); Double_t BetaCf(Double_t x, Double_t a, Double_t b); Double_t BetaDist(Double_t x, Double_t p, Double_t q); Double_t BetaDistI(Double_t x, Double_t p, Double_t q); Double_t BetaIncomplete(Double_t x, Double_t a, Double_t b); Double_t BesselI(Int_t n,Double_t x); Double_t BesselK(Int_t n,Double_t x); Double_t BesselI0(Double_t x); Double_t BesselK0(Double_t x); Double_t BesselI1(Double_t x); Double_t BesselK1(Double_t x); Double_t BesselJ0(Double_t x); Double_t BesselJ1(Double_t x); Double_t BesselY0(Double_t x); Double_t BesselY1(Double_t x); Double_t StruveH0(Double_t x); Double_t StruveH1(Double_t x); Double_t StruveL0(Double_t x); Double_t StruveL1(Double_t x); Double_t DiLog(Double_t x); Double_t Erf(Double_t x); Double_t ErfInverse(Double_t x); Double_t Erfc(Double_t x); inline Double_t ErfcInverse(Double_t x) {return TMath::ErfInverse(1-x);} Double_t Freq(Double_t x); Double_t Gamma(Double_t z); Double_t Gamma(Double_t a,Double_t x); Double_t GammaDist(Double_t x, Double_t gamma, Double_t mu=0, Double_t beta=1); Double_t LnGamma(Double_t z); } # 1 "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/include/float.h" 1 3 4 # 328 "/products/root_522/include/root/TMath.h" 2 # 339 "/products/root_522/include/root/TMath.h" # 1 "/usr/include/math.h" 1 3 4 # 30 "/usr/include/math.h" 3 4 extern "C" { # 1 "/usr/include/bits/huge_val.h" 1 3 4 # 35 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/huge_valf.h" 1 3 4 # 37 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/huge_vall.h" 1 3 4 # 38 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/inf.h" 1 3 4 # 41 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/nan.h" 1 3 4 # 44 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/mathdef.h" 1 3 4 # 26 "/usr/include/bits/mathdef.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 27 "/usr/include/bits/mathdef.h" 2 3 4 typedef float float_t; typedef double double_t; # 48 "/usr/include/math.h" 2 3 4 # 71 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern double acos (double __x) throw (); extern double __acos (double __x) throw (); extern double asin (double __x) throw (); extern double __asin (double __x) throw (); extern double atan (double __x) throw (); extern double __atan (double __x) throw (); extern double atan2 (double __y, double __x) throw (); extern double __atan2 (double __y, double __x) throw (); extern double cos (double __x) throw (); extern double __cos (double __x) throw (); extern double sin (double __x) throw (); extern double __sin (double __x) throw (); extern double tan (double __x) throw (); extern double __tan (double __x) throw (); extern double cosh (double __x) throw (); extern double __cosh (double __x) throw (); extern double sinh (double __x) throw (); extern double __sinh (double __x) throw (); extern double tanh (double __x) throw (); extern double __tanh (double __x) throw (); extern void sincos (double __x, double *__sinx, double *__cosx) throw (); extern void __sincos (double __x, double *__sinx, double *__cosx) throw (); extern double acosh (double __x) throw (); extern double __acosh (double __x) throw (); extern double asinh (double __x) throw (); extern double __asinh (double __x) throw (); extern double atanh (double __x) throw (); extern double __atanh (double __x) throw (); extern double exp (double __x) throw (); extern double __exp (double __x) throw (); extern double frexp (double __x, int *__exponent) throw (); extern double __frexp (double __x, int *__exponent) throw (); extern double ldexp (double __x, int __exponent) throw (); extern double __ldexp (double __x, int __exponent) throw (); extern double log (double __x) throw (); extern double __log (double __x) throw (); extern double log10 (double __x) throw (); extern double __log10 (double __x) throw (); extern double modf (double __x, double *__iptr) throw (); extern double __modf (double __x, double *__iptr) throw (); extern double exp10 (double __x) throw (); extern double __exp10 (double __x) throw (); extern double pow10 (double __x) throw (); extern double __pow10 (double __x) throw (); extern double expm1 (double __x) throw (); extern double __expm1 (double __x) throw (); extern double log1p (double __x) throw (); extern double __log1p (double __x) throw (); extern double logb (double __x) throw (); extern double __logb (double __x) throw (); extern double exp2 (double __x) throw (); extern double __exp2 (double __x) throw (); extern double log2 (double __x) throw (); extern double __log2 (double __x) throw (); extern double pow (double __x, double __y) throw (); extern double __pow (double __x, double __y) throw (); extern double sqrt (double __x) throw (); extern double __sqrt (double __x) throw (); extern double hypot (double __x, double __y) throw (); extern double __hypot (double __x, double __y) throw (); extern double cbrt (double __x) throw (); extern double __cbrt (double __x) throw (); extern double ceil (double __x) throw () __attribute__ ((__const__)); extern double __ceil (double __x) throw () __attribute__ ((__const__)); extern double fabs (double __x) throw () __attribute__ ((__const__)); extern double __fabs (double __x) throw () __attribute__ ((__const__)); extern double floor (double __x) throw () __attribute__ ((__const__)); extern double __floor (double __x) throw () __attribute__ ((__const__)); extern double fmod (double __x, double __y) throw (); extern double __fmod (double __x, double __y) throw (); extern int __isinf (double __value) throw () __attribute__ ((__const__)); extern int __finite (double __value) throw () __attribute__ ((__const__)); extern int isinf (double __value) throw () __attribute__ ((__const__)); extern int finite (double __value) throw () __attribute__ ((__const__)); extern double drem (double __x, double __y) throw (); extern double __drem (double __x, double __y) throw (); extern double significand (double __x) throw (); extern double __significand (double __x) throw (); extern double copysign (double __x, double __y) throw () __attribute__ ((__const__)); extern double __copysign (double __x, double __y) throw () __attribute__ ((__const__)); extern double nan (__const char *__tagb) throw () __attribute__ ((__const__)); extern double __nan (__const char *__tagb) throw () __attribute__ ((__const__)); extern int __isnan (double __value) throw () __attribute__ ((__const__)); extern int isnan (double __value) throw () __attribute__ ((__const__)); extern double j0 (double) throw (); extern double __j0 (double) throw (); extern double j1 (double) throw (); extern double __j1 (double) throw (); extern double jn (int, double) throw (); extern double __jn (int, double) throw (); extern double y0 (double) throw (); extern double __y0 (double) throw (); extern double y1 (double) throw (); extern double __y1 (double) throw (); extern double yn (int, double) throw (); extern double __yn (int, double) throw (); extern double erf (double) throw (); extern double __erf (double) throw (); extern double erfc (double) throw (); extern double __erfc (double) throw (); extern double lgamma (double) throw (); extern double __lgamma (double) throw (); extern double tgamma (double) throw (); extern double __tgamma (double) throw (); extern double gamma (double) throw (); extern double __gamma (double) throw (); extern double lgamma_r (double, int *__signgamp) throw (); extern double __lgamma_r (double, int *__signgamp) throw (); extern double rint (double __x) throw (); extern double __rint (double __x) throw (); extern double nextafter (double __x, double __y) throw () __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) throw () __attribute__ ((__const__)); extern double nexttoward (double __x, long double __y) throw () __attribute__ ((__const__)); extern double __nexttoward (double __x, long double __y) throw () __attribute__ ((__const__)); extern double remainder (double __x, double __y) throw (); extern double __remainder (double __x, double __y) throw (); extern double scalbn (double __x, int __n) throw (); extern double __scalbn (double __x, int __n) throw (); extern int ilogb (double __x) throw (); extern int __ilogb (double __x) throw (); extern double scalbln (double __x, long int __n) throw (); extern double __scalbln (double __x, long int __n) throw (); extern double nearbyint (double __x) throw (); extern double __nearbyint (double __x) throw (); extern double round (double __x) throw () __attribute__ ((__const__)); extern double __round (double __x) throw () __attribute__ ((__const__)); extern double trunc (double __x) throw () __attribute__ ((__const__)); extern double __trunc (double __x) throw () __attribute__ ((__const__)); extern double remquo (double __x, double __y, int *__quo) throw (); extern double __remquo (double __x, double __y, int *__quo) throw (); extern long int lrint (double __x) throw (); extern long int __lrint (double __x) throw (); extern long long int llrint (double __x) throw (); extern long long int __llrint (double __x) throw (); extern long int lround (double __x) throw (); extern long int __lround (double __x) throw (); extern long long int llround (double __x) throw (); extern long long int __llround (double __x) throw (); extern double fdim (double __x, double __y) throw (); extern double __fdim (double __x, double __y) throw (); extern double fmax (double __x, double __y) throw (); extern double __fmax (double __x, double __y) throw (); extern double fmin (double __x, double __y) throw (); extern double __fmin (double __x, double __y) throw (); extern int __fpclassify (double __value) throw () __attribute__ ((__const__)); extern int __signbit (double __value) throw () __attribute__ ((__const__)); extern double fma (double __x, double __y, double __z) throw (); extern double __fma (double __x, double __y, double __z) throw (); extern double scalb (double __x, double __n) throw (); extern double __scalb (double __x, double __n) throw (); # 72 "/usr/include/math.h" 2 3 4 # 94 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern float acosf (float __x) throw (); extern float __acosf (float __x) throw (); extern float asinf (float __x) throw (); extern float __asinf (float __x) throw (); extern float atanf (float __x) throw (); extern float __atanf (float __x) throw (); extern float atan2f (float __y, float __x) throw (); extern float __atan2f (float __y, float __x) throw (); extern float cosf (float __x) throw (); extern float __cosf (float __x) throw (); extern float sinf (float __x) throw (); extern float __sinf (float __x) throw (); extern float tanf (float __x) throw (); extern float __tanf (float __x) throw (); extern float coshf (float __x) throw (); extern float __coshf (float __x) throw (); extern float sinhf (float __x) throw (); extern float __sinhf (float __x) throw (); extern float tanhf (float __x) throw (); extern float __tanhf (float __x) throw (); extern void sincosf (float __x, float *__sinx, float *__cosx) throw (); extern void __sincosf (float __x, float *__sinx, float *__cosx) throw (); extern float acoshf (float __x) throw (); extern float __acoshf (float __x) throw (); extern float asinhf (float __x) throw (); extern float __asinhf (float __x) throw (); extern float atanhf (float __x) throw (); extern float __atanhf (float __x) throw (); extern float expf (float __x) throw (); extern float __expf (float __x) throw (); extern float frexpf (float __x, int *__exponent) throw (); extern float __frexpf (float __x, int *__exponent) throw (); extern float ldexpf (float __x, int __exponent) throw (); extern float __ldexpf (float __x, int __exponent) throw (); extern float logf (float __x) throw (); extern float __logf (float __x) throw (); extern float log10f (float __x) throw (); extern float __log10f (float __x) throw (); extern float modff (float __x, float *__iptr) throw (); extern float __modff (float __x, float *__iptr) throw (); extern float exp10f (float __x) throw (); extern float __exp10f (float __x) throw (); extern float pow10f (float __x) throw (); extern float __pow10f (float __x) throw (); extern float expm1f (float __x) throw (); extern float __expm1f (float __x) throw (); extern float log1pf (float __x) throw (); extern float __log1pf (float __x) throw (); extern float logbf (float __x) throw (); extern float __logbf (float __x) throw (); extern float exp2f (float __x) throw (); extern float __exp2f (float __x) throw (); extern float log2f (float __x) throw (); extern float __log2f (float __x) throw (); extern float powf (float __x, float __y) throw (); extern float __powf (float __x, float __y) throw (); extern float sqrtf (float __x) throw (); extern float __sqrtf (float __x) throw (); extern float hypotf (float __x, float __y) throw (); extern float __hypotf (float __x, float __y) throw (); extern float cbrtf (float __x) throw (); extern float __cbrtf (float __x) throw (); extern float ceilf (float __x) throw () __attribute__ ((__const__)); extern float __ceilf (float __x) throw () __attribute__ ((__const__)); extern float fabsf (float __x) throw () __attribute__ ((__const__)); extern float __fabsf (float __x) throw () __attribute__ ((__const__)); extern float floorf (float __x) throw () __attribute__ ((__const__)); extern float __floorf (float __x) throw () __attribute__ ((__const__)); extern float fmodf (float __x, float __y) throw (); extern float __fmodf (float __x, float __y) throw (); extern int __isinff (float __value) throw () __attribute__ ((__const__)); extern int __finitef (float __value) throw () __attribute__ ((__const__)); extern int isinff (float __value) throw () __attribute__ ((__const__)); extern int finitef (float __value) throw () __attribute__ ((__const__)); extern float dremf (float __x, float __y) throw (); extern float __dremf (float __x, float __y) throw (); extern float significandf (float __x) throw (); extern float __significandf (float __x) throw (); extern float copysignf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) throw () __attribute__ ((__const__)); extern float nanf (__const char *__tagb) throw () __attribute__ ((__const__)); extern float __nanf (__const char *__tagb) throw () __attribute__ ((__const__)); extern int __isnanf (float __value) throw () __attribute__ ((__const__)); extern int isnanf (float __value) throw () __attribute__ ((__const__)); extern float j0f (float) throw (); extern float __j0f (float) throw (); extern float j1f (float) throw (); extern float __j1f (float) throw (); extern float jnf (int, float) throw (); extern float __jnf (int, float) throw (); extern float y0f (float) throw (); extern float __y0f (float) throw (); extern float y1f (float) throw (); extern float __y1f (float) throw (); extern float ynf (int, float) throw (); extern float __ynf (int, float) throw (); extern float erff (float) throw (); extern float __erff (float) throw (); extern float erfcf (float) throw (); extern float __erfcf (float) throw (); extern float lgammaf (float) throw (); extern float __lgammaf (float) throw (); extern float tgammaf (float) throw (); extern float __tgammaf (float) throw (); extern float gammaf (float) throw (); extern float __gammaf (float) throw (); extern float lgammaf_r (float, int *__signgamp) throw (); extern float __lgammaf_r (float, int *__signgamp) throw (); extern float rintf (float __x) throw (); extern float __rintf (float __x) throw (); extern float nextafterf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) throw () __attribute__ ((__const__)); extern float nexttowardf (float __x, long double __y) throw () __attribute__ ((__const__)); extern float __nexttowardf (float __x, long double __y) throw () __attribute__ ((__const__)); extern float remainderf (float __x, float __y) throw (); extern float __remainderf (float __x, float __y) throw (); extern float scalbnf (float __x, int __n) throw (); extern float __scalbnf (float __x, int __n) throw (); extern int ilogbf (float __x) throw (); extern int __ilogbf (float __x) throw (); extern float scalblnf (float __x, long int __n) throw (); extern float __scalblnf (float __x, long int __n) throw (); extern float nearbyintf (float __x) throw (); extern float __nearbyintf (float __x) throw (); extern float roundf (float __x) throw () __attribute__ ((__const__)); extern float __roundf (float __x) throw () __attribute__ ((__const__)); extern float truncf (float __x) throw () __attribute__ ((__const__)); extern float __truncf (float __x) throw () __attribute__ ((__const__)); extern float remquof (float __x, float __y, int *__quo) throw (); extern float __remquof (float __x, float __y, int *__quo) throw (); extern long int lrintf (float __x) throw (); extern long int __lrintf (float __x) throw (); extern long long int llrintf (float __x) throw (); extern long long int __llrintf (float __x) throw (); extern long int lroundf (float __x) throw (); extern long int __lroundf (float __x) throw (); extern long long int llroundf (float __x) throw (); extern long long int __llroundf (float __x) throw (); extern float fdimf (float __x, float __y) throw (); extern float __fdimf (float __x, float __y) throw (); extern float fmaxf (float __x, float __y) throw (); extern float __fmaxf (float __x, float __y) throw (); extern float fminf (float __x, float __y) throw (); extern float __fminf (float __x, float __y) throw (); extern int __fpclassifyf (float __value) throw () __attribute__ ((__const__)); extern int __signbitf (float __value) throw () __attribute__ ((__const__)); extern float fmaf (float __x, float __y, float __z) throw (); extern float __fmaf (float __x, float __y, float __z) throw (); extern float scalbf (float __x, float __n) throw (); extern float __scalbf (float __x, float __n) throw (); # 95 "/usr/include/math.h" 2 3 4 # 141 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern long double acosl (long double __x) throw (); extern long double __acosl (long double __x) throw (); extern long double asinl (long double __x) throw (); extern long double __asinl (long double __x) throw (); extern long double atanl (long double __x) throw (); extern long double __atanl (long double __x) throw (); extern long double atan2l (long double __y, long double __x) throw (); extern long double __atan2l (long double __y, long double __x) throw (); extern long double cosl (long double __x) throw (); extern long double __cosl (long double __x) throw (); extern long double sinl (long double __x) throw (); extern long double __sinl (long double __x) throw (); extern long double tanl (long double __x) throw (); extern long double __tanl (long double __x) throw (); extern long double coshl (long double __x) throw (); extern long double __coshl (long double __x) throw (); extern long double sinhl (long double __x) throw (); extern long double __sinhl (long double __x) throw (); extern long double tanhl (long double __x) throw (); extern long double __tanhl (long double __x) throw (); extern void sincosl (long double __x, long double *__sinx, long double *__cosx) throw (); extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) throw (); extern long double acoshl (long double __x) throw (); extern long double __acoshl (long double __x) throw (); extern long double asinhl (long double __x) throw (); extern long double __asinhl (long double __x) throw (); extern long double atanhl (long double __x) throw (); extern long double __atanhl (long double __x) throw (); extern long double expl (long double __x) throw (); extern long double __expl (long double __x) throw (); extern long double frexpl (long double __x, int *__exponent) throw (); extern long double __frexpl (long double __x, int *__exponent) throw (); extern long double ldexpl (long double __x, int __exponent) throw (); extern long double __ldexpl (long double __x, int __exponent) throw (); extern long double logl (long double __x) throw (); extern long double __logl (long double __x) throw (); extern long double log10l (long double __x) throw (); extern long double __log10l (long double __x) throw (); extern long double modfl (long double __x, long double *__iptr) throw (); extern long double __modfl (long double __x, long double *__iptr) throw (); extern long double exp10l (long double __x) throw (); extern long double __exp10l (long double __x) throw (); extern long double pow10l (long double __x) throw (); extern long double __pow10l (long double __x) throw (); extern long double expm1l (long double __x) throw (); extern long double __expm1l (long double __x) throw (); extern long double log1pl (long double __x) throw (); extern long double __log1pl (long double __x) throw (); extern long double logbl (long double __x) throw (); extern long double __logbl (long double __x) throw (); extern long double exp2l (long double __x) throw (); extern long double __exp2l (long double __x) throw (); extern long double log2l (long double __x) throw (); extern long double __log2l (long double __x) throw (); extern long double powl (long double __x, long double __y) throw (); extern long double __powl (long double __x, long double __y) throw (); extern long double sqrtl (long double __x) throw (); extern long double __sqrtl (long double __x) throw (); extern long double hypotl (long double __x, long double __y) throw (); extern long double __hypotl (long double __x, long double __y) throw (); extern long double cbrtl (long double __x) throw (); extern long double __cbrtl (long double __x) throw (); extern long double ceill (long double __x) throw () __attribute__ ((__const__)); extern long double __ceill (long double __x) throw () __attribute__ ((__const__)); extern long double fabsl (long double __x) throw () __attribute__ ((__const__)); extern long double __fabsl (long double __x) throw () __attribute__ ((__const__)); extern long double floorl (long double __x) throw () __attribute__ ((__const__)); extern long double __floorl (long double __x) throw () __attribute__ ((__const__)); extern long double fmodl (long double __x, long double __y) throw (); extern long double __fmodl (long double __x, long double __y) throw (); extern int __isinfl (long double __value) throw () __attribute__ ((__const__)); extern int __finitel (long double __value) throw () __attribute__ ((__const__)); extern int isinfl (long double __value) throw () __attribute__ ((__const__)); extern int finitel (long double __value) throw () __attribute__ ((__const__)); extern long double dreml (long double __x, long double __y) throw (); extern long double __dreml (long double __x, long double __y) throw (); extern long double significandl (long double __x) throw (); extern long double __significandl (long double __x) throw (); extern long double copysignl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double nanl (__const char *__tagb) throw () __attribute__ ((__const__)); extern long double __nanl (__const char *__tagb) throw () __attribute__ ((__const__)); extern int __isnanl (long double __value) throw () __attribute__ ((__const__)); extern int isnanl (long double __value) throw () __attribute__ ((__const__)); extern long double j0l (long double) throw (); extern long double __j0l (long double) throw (); extern long double j1l (long double) throw (); extern long double __j1l (long double) throw (); extern long double jnl (int, long double) throw (); extern long double __jnl (int, long double) throw (); extern long double y0l (long double) throw (); extern long double __y0l (long double) throw (); extern long double y1l (long double) throw (); extern long double __y1l (long double) throw (); extern long double ynl (int, long double) throw (); extern long double __ynl (int, long double) throw (); extern long double erfl (long double) throw (); extern long double __erfl (long double) throw (); extern long double erfcl (long double) throw (); extern long double __erfcl (long double) throw (); extern long double lgammal (long double) throw (); extern long double __lgammal (long double) throw (); extern long double tgammal (long double) throw (); extern long double __tgammal (long double) throw (); extern long double gammal (long double) throw (); extern long double __gammal (long double) throw (); extern long double lgammal_r (long double, int *__signgamp) throw (); extern long double __lgammal_r (long double, int *__signgamp) throw (); extern long double rintl (long double __x) throw (); extern long double __rintl (long double __x) throw (); extern long double nextafterl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __nextafterl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double nexttowardl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __nexttowardl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double remainderl (long double __x, long double __y) throw (); extern long double __remainderl (long double __x, long double __y) throw (); extern long double scalbnl (long double __x, int __n) throw (); extern long double __scalbnl (long double __x, int __n) throw (); extern int ilogbl (long double __x) throw (); extern int __ilogbl (long double __x) throw (); extern long double scalblnl (long double __x, long int __n) throw (); extern long double __scalblnl (long double __x, long int __n) throw (); extern long double nearbyintl (long double __x) throw (); extern long double __nearbyintl (long double __x) throw (); extern long double roundl (long double __x) throw () __attribute__ ((__const__)); extern long double __roundl (long double __x) throw () __attribute__ ((__const__)); extern long double truncl (long double __x) throw () __attribute__ ((__const__)); extern long double __truncl (long double __x) throw () __attribute__ ((__const__)); extern long double remquol (long double __x, long double __y, int *__quo) throw (); extern long double __remquol (long double __x, long double __y, int *__quo) throw (); extern long int lrintl (long double __x) throw (); extern long int __lrintl (long double __x) throw (); extern long long int llrintl (long double __x) throw (); extern long long int __llrintl (long double __x) throw (); extern long int lroundl (long double __x) throw (); extern long int __lroundl (long double __x) throw (); extern long long int llroundl (long double __x) throw (); extern long long int __llroundl (long double __x) throw (); extern long double fdiml (long double __x, long double __y) throw (); extern long double __fdiml (long double __x, long double __y) throw (); extern long double fmaxl (long double __x, long double __y) throw (); extern long double __fmaxl (long double __x, long double __y) throw (); extern long double fminl (long double __x, long double __y) throw (); extern long double __fminl (long double __x, long double __y) throw (); extern int __fpclassifyl (long double __value) throw () __attribute__ ((__const__)); extern int __signbitl (long double __value) throw () __attribute__ ((__const__)); extern long double fmal (long double __x, long double __y, long double __z) throw (); extern long double __fmal (long double __x, long double __y, long double __z) throw (); extern long double scalbl (long double __x, long double __n) throw (); extern long double __scalbl (long double __x, long double __n) throw (); # 142 "/usr/include/math.h" 2 3 4 # 157 "/usr/include/math.h" 3 4 extern int signgam; # 198 "/usr/include/math.h" 3 4 enum { FP_NAN, FP_INFINITE, FP_ZERO, FP_SUBNORMAL, FP_NORMAL }; # 284 "/usr/include/math.h" 3 4 typedef enum { _IEEE_ = -1, _SVID_, _XOPEN_, _POSIX_, _ISOC_ } _LIB_VERSION_TYPE; extern _LIB_VERSION_TYPE _LIB_VERSION; # 307 "/usr/include/math.h" 3 4 struct __exception { int type; char *name; double arg1; double arg2; double retval; }; extern int matherr (struct __exception *__exc) throw (); # 465 "/usr/include/math.h" 3 4 } # 340 "/products/root_522/include/root/TMath.h" 2 # 387 "/products/root_522/include/root/TMath.h" inline Double_t TMath::Sin(Double_t x) { return sin(x); } inline Double_t TMath::Cos(Double_t x) { return cos(x); } inline Double_t TMath::Tan(Double_t x) { return tan(x); } inline Double_t TMath::SinH(Double_t x) { return sinh(x); } inline Double_t TMath::CosH(Double_t x) { return cosh(x); } inline Double_t TMath::TanH(Double_t x) { return tanh(x); } inline Double_t TMath::ASin(Double_t x) { if (x < -1.) return -TMath::Pi()/2; if (x > 1.) return TMath::Pi()/2; return asin(x); } inline Double_t TMath::ACos(Double_t x) { if (x < -1.) return TMath::Pi(); if (x > 1.) return 0; return acos(x); } inline Double_t TMath::ATan(Double_t x) { return atan(x); } inline Double_t TMath::ATan2(Double_t y, Double_t x) { if (x != 0) return atan2(y, x); if (y == 0) return 0; if (y > 0) return Pi()/2; else return -Pi()/2; } inline Double_t TMath::Sqrt(Double_t x) { return sqrt(x); } inline Double_t TMath::Ceil(Double_t x) { return ceil(x); } inline Int_t TMath::CeilNint(Double_t x) { return TMath::Nint(ceil(x)); } inline Double_t TMath::Floor(Double_t x) { return floor(x); } inline Int_t TMath::FloorNint(Double_t x) { return TMath::Nint(floor(x)); } inline Double_t TMath::Exp(Double_t x) { return exp(x); } inline Double_t TMath::Ldexp(Double_t x, Int_t exp) { return ldexp(x, exp); } inline Double_t TMath::Power(Double_t x, Double_t y) { return pow(x, y); } inline Double_t TMath::Log(Double_t x) { return log(x); } inline Double_t TMath::Log10(Double_t x) { return log10(x); } inline Int_t TMath::Finite(Double_t x) { return finite(x); } inline Int_t TMath::IsNaN(Double_t x) { return (sizeof (x) == sizeof (float) ? __isnanf (x) : sizeof (x) == sizeof (double) ? __isnan (x) : __isnanl (x)); } template inline T TMath::NormCross(const T v1[3],const T v2[3],T out[3]) { return Normalize(Cross(v1,v2,out)); } template T TMath::MinElement(Long64_t n, const T *a) { return *std::min_element(a,a+n); } template T TMath::MaxElement(Long64_t n, const T *a) { return *std::max_element(a,a+n); } template Long64_t TMath::LocMin(Long64_t n, const T *a) { # 499 "/products/root_522/include/root/TMath.h" if (n <= 0 || !a) return -1; T xmin = a[0]; Long64_t loc = 0; for (Long64_t i = 1; i < n; i++) { if (xmin > a[i]) { xmin = a[i]; loc = i; } } return loc; } template Iterator TMath::LocMin(Iterator first, Iterator last) { return std::min_element(first, last); } template Long64_t TMath::LocMax(Long64_t n, const T *a) { if (n <= 0 || !a) return -1; T xmax = a[0]; Long64_t loc = 0; for (Long64_t i = 1; i < n; i++) { if (xmax < a[i]) { xmax = a[i]; loc = i; } } return loc; } template Iterator TMath::LocMax(Iterator first, Iterator last) { return std::max_element(first, last); } template struct CompareDesc { CompareDesc(T d) : fData(d) {} bool operator()(int i1, int i2) { return *(fData + i1) > *(fData + i2); } T fData; }; template struct CompareAsc { CompareAsc(T d) : fData(d) {} bool operator()(int i1, int i2) { return *(fData + i1) < *(fData + i2); } T fData; }; template Double_t TMath::Mean(Iterator first, Iterator last) { Double_t sum = 0; Double_t sumw = 0; while ( first != last ) { sum += *first; sumw += 1; first++; } return sum/sumw; } template Double_t TMath::Mean(Iterator first, Iterator last, WeightIterator w) { Double_t sum = 0; Double_t sumw = 0; int i = 0; while ( first != last ) { if ( *w < 0) { ::Error("TMath::Mean","w[%d] = %.4e < 0 ?!",i,*w); return 0; } sum += (*w) * (*first); sumw += (*w) ; ++w; ++first; ++i; } if (sumw <= 0) { ::Error("TMath::Mean","sum of weights == 0 ?!"); return 0; } return sum/sumw; } template Double_t TMath::Mean(Long64_t n, const T *a, const Double_t *w) { if (w) { return TMath::Mean(a, a+n, w); } else { return TMath::Mean(a, a+n); } } template Double_t TMath::GeomMean(Iterator first, Iterator last) { Double_t logsum = 0.; Long64_t n = 0; while ( first != last ) { if (*first == 0) return 0.; Double_t absa = (Double_t) TMath::Abs(*first); logsum += TMath::Log(absa); ++first; ++n; } return TMath::Exp(logsum/n); } template Double_t TMath::GeomMean(Long64_t n, const T *a) { return TMath::GeomMean(a, a+n); } template Double_t TMath::RMS(Iterator first, Iterator last) { Double_t n = 0; Double_t tot = 0, tot2 =0, adouble; while ( first != last ) { adouble=Double_t(*first); tot += adouble; tot2 += adouble*adouble; ++first; ++n; } Double_t n1 = 1./n; Double_t mean = tot*n1; Double_t rms = TMath::Sqrt(TMath::Abs(tot2*n1 -mean*mean)); return rms; } template Double_t TMath::RMS(Long64_t n, const T *a) { return TMath::RMS(a, a+n); } template Iterator TMath::BinarySearch(Iterator first, Iterator last, Element value) { Iterator pind; pind = std::lower_bound(first, last, value); if ( (pind != last) && (*pind == value) ) return pind; else return ( pind - 1); } template Long64_t TMath::BinarySearch(Long64_t n, const T *array, T value) { const T* pind; pind = std::lower_bound(array, array + n, value); if ( (pind != array + n) && (*pind == value) ) return (pind - array); else return ( pind - array - 1); } template Long64_t TMath::BinarySearch(Long64_t n, const T **array, T value) { const T* pind; pind = std::lower_bound(*array, *array + n, value); if ( (pind != *array + n) && (*pind == value) ) return (pind - *array); else return ( pind - *array - 1); } template void TMath::SortItr(Iterator first, Iterator last, IndexIterator index, Bool_t down) { # 746 "/products/root_522/include/root/TMath.h" int i = 0; IndexIterator cindex = index; for ( Iterator cfirst = first; cfirst != last; ++cfirst ) { *cindex = i++; ++cindex; } if ( down ) std::sort(index, cindex, CompareDesc(first) ); else std::sort(index, cindex, CompareAsc(first) ); } template void TMath::Sort(Index n, const Element* a, Index* index, Bool_t down) { # 772 "/products/root_522/include/root/TMath.h" for(Index i = 0; i < n; i++) { index[i] = i; } if ( down ) std::sort(index, index + n, CompareDesc(a) ); else std::sort(index, index + n, CompareAsc(a) ); } template T *TMath::Cross(const T v1[3],const T v2[3], T out[3]) { out[0] = v1[1] * v2[2] - v1[2] * v2[1]; out[1] = v1[2] * v2[0] - v1[0] * v2[2]; out[2] = v1[0] * v2[1] - v1[1] * v2[0]; return out; } template T * TMath::Normal2Plane(const T p1[3],const T p2[3],const T p3[3], T normal[3]) { # 801 "/products/root_522/include/root/TMath.h" T v1[3], v2[3]; v1[0] = p2[0] - p1[0]; v1[1] = p2[1] - p1[1]; v1[2] = p2[2] - p1[2]; v2[0] = p3[0] - p1[0]; v2[1] = p3[1] - p1[1]; v2[2] = p3[2] - p1[2]; NormCross(v1,v2,normal); return normal; } template Bool_t TMath::IsInside(T xp, T yp, Int_t np, T *x, T *y) { Double_t xint; Int_t i; Int_t inter = 0; for (i=0;i Double_t TMath::Median(Long64_t n, const T *a, const Double_t *w, Long64_t *work) { # 857 "/products/root_522/include/root/TMath.h" const Int_t kWorkMax = 100; if (n <= 0 || !a) return 0; Bool_t isAllocated = kFALSE; Double_t median; Long64_t *ind; Long64_t workLocal[kWorkMax]; if (work) { ind = work; } else { ind = workLocal; if (n > kWorkMax) { isAllocated = kTRUE; ind = new Long64_t[n]; } } if (w) { Double_t sumTot2 = 0; for (Int_t j = 0; j < n; j++) { if (w[j] < 0) { ::Error("TMath::Median","w[%d] = %.4e < 0 ?!",j,w[j]); return 0; } sumTot2 += w[j]; } sumTot2 /= 2.; Sort(n, a, ind, kFALSE); Double_t sum = 0.; Int_t jl; for (jl = 0; jl < n; jl++) { sum += w[ind[jl]]; if (sum >= sumTot2) break; } Int_t jh; sum = 2.*sumTot2; for (jh = n-1; jh >= 0; jh--) { sum -= w[ind[jh]]; if (sum <= sumTot2) break; } median = 0.5*(a[ind[jl]]+a[ind[jh]]); } else { if (n%2 == 1) median = KOrdStat(n, a,n/2, ind); else { median = 0.5*(KOrdStat(n, a, n/2 -1, ind)+KOrdStat(n, a, n/2, ind)); } } if (isAllocated) delete [] ind; return median; } template Element TMath::KOrdStat(Size n, const Element *a, Size k, Size *work) { # 940 "/products/root_522/include/root/TMath.h" const Int_t kWorkMax = 100; typedef Size Index; Bool_t isAllocated = kFALSE; Size i, ir, j, l, mid; Index arr; Index *ind; Index workLocal[kWorkMax]; Index temp; if (work) { ind = work; } else { ind = workLocal; if (n > kWorkMax) { isAllocated = kTRUE; ind = new Index[n]; } } for (Size ii=0; ii> 1; {temp = ind[mid]; ind[mid]=ind[l+1]; ind[l+1]=temp;} if (a[ind[l]]>a[ind[ir]]) {temp = ind[l]; ind[l]=ind[ir]; ind[ir]=temp;} if (a[ind[l+1]]>a[ind[ir]]) {temp=ind[l+1]; ind[l+1]=ind[ir]; ind[ir]=temp;} if (a[ind[l]]>a[ind[l+1]]) {temp = ind[l]; ind[l]=ind[l+1]; ind[l+1]=temp;} i=l+1; j=ir; arr = ind[l+1]; for (;;){ do i++; while (a[ind[i]]a[arr]); if (j=rk) ir = j-1; if (j<=rk) l=i; } } } # 9 "VBFStudy.cxx" 2 # 1 "/products/root_522/include/root/TClassTable.h" 1 # 32 "/products/root_522/include/root/TClassTable.h" class TClassRec { public: char *fName; Version_t fId; Int_t fBits; VoidFuncPtr_t fDict; const type_info *fInfo; TClassRec *fNext; }; namespace ROOT { class TMapTypeToClassRec; } class TClassTable : public TObject { friend void ROOT::ResetClassVersion(TClass*, const char*, Short_t); private: typedef ROOT::TMapTypeToClassRec IdMap_t; static TClassRec **fgTable; static TClassRec **fgSortedTable; static IdMap_t *fgIdMap; static int fgSize; static int fgTally; static Bool_t fgSorted; static int fgCursor; TClassTable(); static TClassRec *FindElement(const char *cname, Bool_t insert=kFALSE); static void SortTable(); public: enum { kNoStreamer = 0x01, kNoInputOperator = 0x02, kAutoStreamer = 0x04 }; ~TClassTable(); static void Add(const char *cname, Version_t id, const type_info &info, VoidFuncPtr_t dict, Int_t pragmabits); static char *At(int index); int Classes(); static Version_t GetID(const char *cname); static Int_t GetPragmaBits(const char *name); static VoidFuncPtr_t GetDict(const char *cname); static VoidFuncPtr_t GetDict(const type_info& info); static void Init(); static char *Next(); void Print(Option_t *option="") const; static void PrintTable(); static void Remove(const char *cname); static void Terminate(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TClassTable::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TClassTable::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TClassTable.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 88; } }; extern TClassTable *gClassTable; namespace ROOT { extern void AddClass(const char *cname, Version_t id, VoidFuncPtr_t dict, Int_t pragmabits); extern void RemoveClass(const char *cname); } # 10 "VBFStudy.cxx" 2 # 1 "/products/root_522/include/root/TH1F.h" 1 # 25 "/products/root_522/include/root/TH1F.h" # 1 "/products/root_522/include/root/TH1.h" 1 # 25 "/products/root_522/include/root/TH1.h" # 1 "/products/root_522/include/root/TAxis.h" 1 # 28 "/products/root_522/include/root/TAxis.h" # 1 "/products/root_522/include/root/TAttAxis.h" 1 # 32 "/products/root_522/include/root/TAttAxis.h" class TAttAxis { protected: Int_t fNdivisions; Color_t fAxisColor; Color_t fLabelColor; Style_t fLabelFont; Float_t fLabelOffset; Float_t fLabelSize; Float_t fTickLength; Float_t fTitleOffset; Float_t fTitleSize; Color_t fTitleColor; Style_t fTitleFont; public: TAttAxis(); virtual ~TAttAxis(); void Copy(TAttAxis &attaxis) const; virtual Int_t GetNdivisions() const {return fNdivisions;} virtual Color_t GetAxisColor() const {return fAxisColor;} virtual Color_t GetLabelColor() const {return fLabelColor;} virtual Style_t GetLabelFont() const {return fLabelFont;} virtual Float_t GetLabelOffset() const {return fLabelOffset;} virtual Float_t GetLabelSize() const {return fLabelSize;} virtual Float_t GetTitleOffset() const {return fTitleOffset;} virtual Float_t GetTitleSize() const {return fTitleSize;} virtual Float_t GetTickLength() const {return fTickLength;} virtual Color_t GetTitleColor() const {return fTitleColor;} virtual Style_t GetTitleFont() const {return fTitleFont;} virtual void ResetAttAxis(Option_t *option=""); virtual void SaveAttributes(ostream &out, const char *name, const char *subname); virtual void SetNdivisions(Int_t n=510, Bool_t optim=kTRUE); virtual void SetAxisColor(Color_t color=1); virtual void SetLabelColor(Color_t color=1); virtual void SetLabelFont(Style_t font=62); virtual void SetLabelOffset(Float_t offset=0.005); virtual void SetLabelSize(Float_t size=0.04); virtual void SetTickLength(Float_t length=0.03); virtual void SetTitleOffset(Float_t offset=1); virtual void SetTitleSize(Float_t size=0.04); virtual void SetTitleColor(Color_t color=1); virtual void SetTitleFont(Style_t font=62); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 4; } static void Dictionary(); virtual TClass *IsA() const { return TAttAxis::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TAttAxis::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TAttAxis.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 75; }; }; # 29 "/products/root_522/include/root/TAxis.h" 2 # 1 "/products/root_522/include/root/TArrayD.h" 1 # 25 "/products/root_522/include/root/TArrayD.h" # 1 "/products/root_522/include/root/TArray.h" 1 # 31 "/products/root_522/include/root/TArray.h" class TBuffer; class TArray { protected: Bool_t BoundsOk(const char *where, Int_t at) const; Bool_t OutOfBoundsError(const char *where, Int_t i) const; public: Int_t fN; TArray(): fN(0) { } TArray(Int_t n): fN(n) { } TArray(const TArray &a): fN(a.fN) { } TArray &operator=(const TArray &rhs) {if(this!=&rhs) fN = rhs.fN; return *this; } virtual ~TArray() { fN = 0; } Int_t GetSize() const { return fN; } virtual void Set(Int_t n) = 0; virtual Double_t GetAt(Int_t i) const = 0; virtual void SetAt(Double_t v, Int_t i) = 0; static TArray *ReadArray(TBuffer &b, const TClass *clReq); static void WriteArray(TBuffer &b, const TArray *a); friend TBuffer &operator<<(TBuffer &b, const TArray *obj); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TArray::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TArray::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TArray.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 60; } }; inline TBuffer &operator>>(TBuffer &buf, TArray *&obj) { obj = (TArray *) TArray::ReadArray(buf, TArray::Class()); return buf; } TBuffer &operator<<(TBuffer &b, const TArray *obj); inline Bool_t TArray::BoundsOk(const char *where, Int_t at) const { return (at < 0 || at >= fN) ? OutOfBoundsError(where, at) : kTRUE; } # 26 "/products/root_522/include/root/TArrayD.h" 2 class TArrayD : public TArray { public: Double_t *fArray; TArrayD(); TArrayD(Int_t n); TArrayD(Int_t n, const Double_t *array); TArrayD(const TArrayD &array); TArrayD &operator=(const TArrayD &rhs); virtual ~TArrayD(); void Adopt(Int_t n, Double_t *array); void AddAt(Double_t c, Int_t i); Double_t At(Int_t i) const ; void Copy(TArrayD &array) const {array.Set(fN,fArray);} const Double_t *GetArray() const { return fArray; } Double_t *GetArray() { return fArray; } Double_t GetAt(Int_t i) const { return At(i); } Stat_t GetSum() const {Stat_t sum=0; for (Int_t i=0;i>(TBuffer &buf, TArrayD *&obj) { obj = (TArrayD *) TArray::ReadArray(buf, TArrayD::Class()); return buf; } inline TBuffer &operator<<(TBuffer &buf, const TArrayD *obj) { return buf << (TArray*)obj; } inline Double_t TArrayD::At(Int_t i) const { if (!BoundsOk("TArrayD::At", i)) return 0; return fArray[i]; } inline Double_t &TArrayD::operator[](Int_t i) { if (!BoundsOk("TArrayD::operator[]", i)) i = 0; return fArray[i]; } inline Double_t TArrayD::operator[](Int_t i) const { if (!BoundsOk("TArrayD::operator[]", i)) return 0; return fArray[i]; } # 32 "/products/root_522/include/root/TAxis.h" 2 class THashList; class TAxis : public TNamed, public TAttAxis { private: Int_t fNbins; Double_t fXmin; Double_t fXmax; TArrayD fXbins; Int_t fFirst; Int_t fLast; UShort_t fBits2; Bool_t fTimeDisplay; TString fTimeFormat; TObject *fParent; THashList *fLabels; TAxis& operator=(const TAxis&); public: enum { kTickPlus = (1 << (9)), kTickMinus = (1 << (10)), kAxisRange = (1 << (11)), kCenterTitle = (1 << (12)), kCenterLabels = (1 << (14)), kRotateTitle = (1 << (15)), kPalette = (1 << (16)), kNoExponent = (1 << (17)), kLabelsHori = (1 << (18)), kLabelsVert = (1 << (19)), kLabelsDown = (1 << (20)), kLabelsUp = (1 << (21)), kIsInteger = (1 << (22)), kMoreLogLabels = (1 << (23)), kDecimals = (1 << (11))}; TAxis(); TAxis(Int_t nbins, Double_t xmin, Double_t xmax); TAxis(Int_t nbins, const Double_t *xbins); TAxis(const TAxis &axis); virtual ~TAxis(); virtual void CenterLabels(Bool_t center=kTRUE); virtual void CenterTitle(Bool_t center=kTRUE); const char *ChooseTimeFormat(Double_t axislength=0); virtual void Copy(TObject &axis) const; virtual void Delete(Option_t * ="") { } virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); virtual TObject *DrawClone(Option_t * ="") const {return 0;} virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); virtual Int_t FindBin(Double_t x); virtual Int_t FindBin(const char *label); virtual Int_t FindFixBin(Double_t x) const; virtual Double_t GetBinCenter(Int_t bin) const; const char *GetBinLabel(Int_t bin) const; virtual Double_t GetBinLowEdge(Int_t bin) const; virtual Double_t GetBinUpEdge(Int_t bin) const; virtual Double_t GetBinWidth(Int_t bin) const; virtual void GetCenter(Double_t *center) const; Bool_t GetCenterLabels() const; Bool_t GetCenterTitle() const; THashList *GetLabels() {return fLabels;} virtual void GetLowEdge(Double_t *edge) const; Bool_t GetMoreLogLabels() const; Int_t GetNbins() const { return fNbins; } Bool_t GetNoExponent() const; Bool_t GetDecimals() const; virtual TObject *GetParent() const {return fParent;} Bool_t GetRotateTitle() const; virtual const char *GetTicks() const; virtual Bool_t GetTimeDisplay() const {return fTimeDisplay;} virtual const char *GetTimeFormat() const {return fTimeFormat.Data();} virtual const char *GetTimeFormatOnly() const; const char *GetTitle() const {return fTitle.Data();} const TArrayD *GetXbins() const {return &fXbins;} Int_t GetFirst() const; Int_t GetLast() const; Double_t GetXmin() const {return fXmin;} Double_t GetXmax() const {return fXmax;} virtual void ImportAttributes(const TAxis *axis); Bool_t IsVariableBinSize() const { return (fXbins.GetSize() != 0); } virtual void LabelsOption(Option_t *option="h"); virtual void RotateTitle(Bool_t rotate=kTRUE); virtual void SaveAttributes(ostream &out, const char *name, const char *subname); virtual void Set(Int_t nbins, Double_t xmin, Double_t xmax); virtual void Set(Int_t nbins, const Float_t *xbins); virtual void Set(Int_t nbins, const Double_t *xbins); virtual void SetBinLabel(Int_t bin, const char *label); virtual void SetDefaults(); virtual void SetDrawOption(Option_t * ="") { } virtual void SetLimits(Double_t xmin, Double_t xmax); virtual void SetMoreLogLabels(Bool_t more=kTRUE); virtual void SetNoExponent(Bool_t noExponent=kTRUE); virtual void SetDecimals(Bool_t dot=kTRUE); virtual void SetParent(TObject *obj) {fParent = obj;} virtual void SetRange(Int_t first=0, Int_t last=0); virtual void SetRangeUser(Double_t ufirst, Double_t ulast); virtual void SetTicks(Option_t *option="+"); virtual void SetTimeDisplay(Int_t value) {fTimeDisplay = (value != 0);} virtual void SetTimeFormat(const char *format=""); virtual void SetTimeOffset(Double_t toffset, Option_t *option="local"); virtual void UnZoom(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 9; } static void Dictionary(); virtual TClass *IsA() const { return TAxis::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TAxis::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TAxis.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 140; } }; # 26 "/products/root_522/include/root/TH1.h" 2 # 1 "/products/root_522/include/root/TAttLine.h" 1 # 32 "/products/root_522/include/root/TAttLine.h" class TAttLine { protected: Color_t fLineColor; Style_t fLineStyle; Width_t fLineWidth; public: TAttLine(); TAttLine(Color_t lcolor,Style_t lstyle, Width_t lwidth); virtual ~TAttLine(); void Copy(TAttLine &attline) const; Int_t DistancetoLine(Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2 ); virtual Color_t GetLineColor() const {return fLineColor;} virtual Style_t GetLineStyle() const {return fLineStyle;} virtual Width_t GetLineWidth() const {return fLineWidth;} virtual void Modify(); virtual void ResetAttLine(Option_t *option=""); virtual void SaveLineAttributes(ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t widdef=1); virtual void SetLineAttributes(); virtual void SetLineColor(Color_t lcolor) { fLineColor = lcolor;} virtual void SetLineStyle(Style_t lstyle) { fLineStyle = lstyle;} virtual void SetLineWidth(Width_t lwidth) { fLineWidth = lwidth;} private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TAttLine::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TAttLine::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TAttLine.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 58; }; }; enum ELineStyle { kSolid = 1, kDashed, kDotted, kDashDotted }; # 30 "/products/root_522/include/root/TH1.h" 2 # 1 "/products/root_522/include/root/TAttFill.h" 1 # 32 "/products/root_522/include/root/TAttFill.h" class TAttFill { protected: Color_t fFillColor; Style_t fFillStyle; public: TAttFill(); TAttFill(Color_t fcolor,Style_t fstyle); virtual ~TAttFill(); void Copy(TAttFill &attfill) const; virtual Color_t GetFillColor() const { return fFillColor; } virtual Style_t GetFillStyle() const { return fFillStyle; } virtual Bool_t IsTransparent() const; virtual void Modify(); virtual void ResetAttFill(Option_t *option=""); virtual void SaveFillAttributes(ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1001); virtual void SetFillAttributes(); virtual void SetFillColor(Color_t fcolor) { fFillColor = fcolor; } virtual void SetFillStyle(Style_t fstyle) { fFillStyle = fstyle; } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TAttFill::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TAttFill::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TAttFill.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 53; } }; inline Bool_t TAttFill::IsTransparent() const { return fFillStyle >= 4000 && fFillStyle <= 4100 ? kTRUE : kFALSE; } # 34 "/products/root_522/include/root/TH1.h" 2 # 1 "/products/root_522/include/root/TAttMarker.h" 1 # 32 "/products/root_522/include/root/TAttMarker.h" class TAttMarker { protected: Color_t fMarkerColor; Style_t fMarkerStyle; Size_t fMarkerSize; public: TAttMarker(); TAttMarker(Color_t color, Style_t style, Size_t msize); virtual ~TAttMarker(); void Copy(TAttMarker &attmarker) const; virtual Color_t GetMarkerColor() const {return fMarkerColor;} virtual Style_t GetMarkerStyle() const {return fMarkerStyle;} virtual Size_t GetMarkerSize() const {return fMarkerSize;} virtual void Modify(); virtual void ResetAttMarker(Option_t *toption=""); virtual void SaveMarkerAttributes(ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t sizdef=1); virtual void SetMarkerAttributes(); virtual void SetMarkerColor(Color_t tcolor=1) { fMarkerColor = tcolor;} virtual void SetMarkerStyle(Style_t mstyle=1) { fMarkerStyle = mstyle;} virtual void SetMarkerSize(Size_t msize=1) { fMarkerSize = msize;} private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 2; } static void Dictionary(); virtual TClass *IsA() const { return TAttMarker::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TAttMarker::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TAttMarker.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 55; }; }; enum EMarkerStyle {kDot=1, kPlus, kStar, kCircle=4, kMultiply=5, kFullDotSmall=6, kFullDotMedium=7, kFullDotLarge=8, kFullCircle=20, kFullSquare=21, kFullTriangleUp=22, kFullTriangleDown=23, kOpenCircle=24, kOpenSquare=25, kOpenTriangleUp=26, kOpenDiamond=27, kOpenCross=28, kFullStar=29, kOpenStar=30}; # 38 "/products/root_522/include/root/TH1.h" 2 # 1 "/products/root_522/include/root/TArrayC.h" 1 # 29 "/products/root_522/include/root/TArrayC.h" class TArrayC : public TArray { public: Char_t *fArray; TArrayC(); TArrayC(Int_t n); TArrayC(Int_t n, const Char_t *array); TArrayC(const TArrayC &array); TArrayC &operator=(const TArrayC &rhs); virtual ~TArrayC(); void Adopt(Int_t n, Char_t *array); void AddAt(Char_t c, Int_t i); Char_t At(Int_t i) const ; void Copy(TArrayC &array) const {array.Set(fN,fArray);} const Char_t *GetArray() const { return fArray; } Char_t *GetArray() { return fArray; } Double_t GetAt(Int_t i) const { return At(i); } Stat_t GetSum() const {Stat_t sum=0; for (Int_t i=0;i>(TBuffer &buf, TArrayC *&obj) { obj = (TArrayC *) TArray::ReadArray(buf, TArrayC::Class()); return buf; } inline TBuffer &operator<<(TBuffer &buf, const TArrayC *obj) { return buf << (TArray*)obj; } inline Char_t TArrayC::At(Int_t i) const { if (!BoundsOk("TArrayC::At", i)) return 0; return fArray[i]; } inline Char_t &TArrayC::operator[](Int_t i) { if (!BoundsOk("TArrayC::operator[]", i)) i = 0; return fArray[i]; } inline Char_t TArrayC::operator[](Int_t i) const { if (!BoundsOk("TArrayC::operator[]", i)) return 0; return fArray[i]; } # 42 "/products/root_522/include/root/TH1.h" 2 # 1 "/products/root_522/include/root/TArrayS.h" 1 # 29 "/products/root_522/include/root/TArrayS.h" class TArrayS : public TArray { public: Short_t *fArray; TArrayS(); TArrayS(Int_t n); TArrayS(Int_t n, const Short_t *array); TArrayS(const TArrayS &array); TArrayS &operator=(const TArrayS &rhs); virtual ~TArrayS(); void Adopt(Int_t n, Short_t *array); void AddAt(Short_t c, Int_t idx); Short_t At(Int_t i) const ; void Copy(TArrayS &array) const {array.Set(fN,fArray);} const Short_t *GetArray() const { return fArray; } Short_t *GetArray() { return fArray; } Double_t GetAt(Int_t i) const { return At(i); } Stat_t GetSum() const {Stat_t sum=0; for (Int_t i=0;i>(TBuffer &buf, TArrayS *&obj) { obj = (TArrayS *) TArray::ReadArray(buf, TArrayS::Class()); return buf; } inline TBuffer &operator<<(TBuffer &buf, const TArrayS *obj) { return buf << (TArray*)obj; } inline Short_t TArrayS::At(Int_t i) const { if (!BoundsOk("TArrayS::At", i)) return 0; return fArray[i]; } inline Short_t &TArrayS::operator[](Int_t i) { if (!BoundsOk("TArrayS::operator[]", i)) i = 0; return fArray[i]; } inline Short_t TArrayS::operator[](Int_t i) const { if (!BoundsOk("TArrayS::operator[]", i)) return 0; return fArray[i]; } # 45 "/products/root_522/include/root/TH1.h" 2 # 1 "/products/root_522/include/root/TArrayI.h" 1 # 29 "/products/root_522/include/root/TArrayI.h" class TArrayI : public TArray { public: Int_t *fArray; TArrayI(); TArrayI(Int_t n); TArrayI(Int_t n, const Int_t *array); TArrayI(const TArrayI &array); TArrayI &operator=(const TArrayI &rhs); virtual ~TArrayI(); void Adopt(Int_t n, Int_t *array); void AddAt(Int_t i, Int_t idx); Int_t At(Int_t i) const ; void Copy(TArrayI &array) const {array.Set(fN,fArray);} const Int_t *GetArray() const { return fArray; } Int_t *GetArray() { return fArray; } Double_t GetAt(Int_t i) const { return At(i); } Stat_t GetSum() const {Stat_t sum=0; for (Int_t i=0;i>(TBuffer &buf, TArrayI *&obj) { obj = (TArrayI *) TArray::ReadArray(buf, TArrayI::Class()); return buf; } inline TBuffer &operator<<(TBuffer &buf, const TArrayI *obj) { return buf << (TArray*)obj; } inline Int_t TArrayI::At(Int_t i) const { if (!BoundsOk("TArrayI::At", i)) return 0; return fArray[i]; } inline Int_t &TArrayI::operator[](Int_t i) { if (!BoundsOk("TArrayI::operator[]", i)) i = 0; return fArray[i]; } inline Int_t TArrayI::operator[](Int_t i) const { if (!BoundsOk("TArrayI::operator[]", i)) return 0; return fArray[i]; } # 48 "/products/root_522/include/root/TH1.h" 2 # 1 "/products/root_522/include/root/TArrayF.h" 1 # 29 "/products/root_522/include/root/TArrayF.h" class TArrayF : public TArray { public: Float_t *fArray; TArrayF(); TArrayF(Int_t n); TArrayF(Int_t n, const Float_t *array); TArrayF(const TArrayF &array); TArrayF &operator=(const TArrayF &rhs); virtual ~TArrayF(); void Adopt(Int_t n, Float_t *array); void AddAt(Float_t c, Int_t i); Float_t At(Int_t i) const ; void Copy(TArrayF &array) const {array.Set(fN,fArray);} const Float_t *GetArray() const { return fArray; } Float_t *GetArray() { return fArray; } Double_t GetAt(Int_t i) const { return At(i); } Stat_t GetSum() const {Stat_t sum=0; for (Int_t i=0;i>(TBuffer &buf, TArrayF *&obj) { obj = (TArrayF *) TArray::ReadArray(buf, TArrayF::Class()); return buf; } inline TBuffer &operator<<(TBuffer &buf, const TArrayF *obj) { return buf << (TArray*)obj; } inline Float_t TArrayF::At(Int_t i) const { if (!BoundsOk("TArrayF::At", i)) return 0; return fArray[i]; } inline Float_t &TArrayF::operator[](Int_t i) { if (!BoundsOk("TArrayF::operator[]", i)) i = 0; return fArray[i]; } inline Float_t TArrayF::operator[](Int_t i) const { if (!BoundsOk("TArrayF::operator[]", i)) return 0; return fArray[i]; } # 51 "/products/root_522/include/root/TH1.h" 2 # 1 "/products/root_522/include/root/Foption.h" 1 # 24 "/products/root_522/include/root/Foption.h" struct Foption_t { int Quiet; int Verbose; int Bound; int Like; int User; int W1; int Errors; int More; int Range; int Gradient; int Nostore; int Nograph; int Plus; int Integral; int Nochisq; int Minuit; int Robust; double hRobust; Foption_t() : Quiet (0), Verbose (0), Bound (0), Like (0), User (0), W1 (0), Errors (0), More (0), Range (0), Gradient (0), Nostore (0), Nograph (0), Plus (0), Integral (0), Nochisq (0), Minuit (0), Robust (0), hRobust (0) {} }; # 56 "/products/root_522/include/root/TH1.h" 2 # 1 "/products/root_522/include/root/TVectorFfwd.h" 1 # 20 "/products/root_522/include/root/TVectorFfwd.h" template class TVectorT; typedef TVectorT TVectorF; # 59 "/products/root_522/include/root/TH1.h" 2 # 1 "/products/root_522/include/root/TVectorDfwd.h" 1 # 20 "/products/root_522/include/root/TVectorDfwd.h" template class TVectorT; typedef TVectorT TVectorD; # 62 "/products/root_522/include/root/TH1.h" 2 class TF1; class TH1D; class TBrowser; class TDirectory; class TList; class TCollection; class TVirtualFFT; class TVirtualHistPainter; class TH1 : public TNamed, public TAttLine, public TAttFill, public TAttMarker { protected: Int_t fNcells; TAxis fXaxis; TAxis fYaxis; TAxis fZaxis; Short_t fBarOffset; Short_t fBarWidth; Double_t fEntries; Double_t fTsumw; Double_t fTsumw2; Double_t fTsumwx; Double_t fTsumwx2; Double_t fMaximum; Double_t fMinimum; Double_t fNormFactor; TArrayD fContour; TArrayD fSumw2; TString fOption; TList *fFunctions; Int_t fBufferSize; Double_t *fBuffer; TDirectory *fDirectory; Int_t fDimension; Double_t *fIntegral; TVirtualHistPainter *fPainter; static Int_t fgBufferSize; static Bool_t fgAddDirectory; static Bool_t fgStatOverflows; static Bool_t fgDefaultSumw2; public: static Int_t FitOptionsMake(Option_t *option, Foption_t &Foption); private: Int_t AxisChoice(Option_t *axis) const; void Build(); TH1& operator=(const TH1&); protected: TH1(); TH1(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup); TH1(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins); TH1(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins); virtual void Copy(TObject &hnew) const; virtual Int_t BufferFill(Double_t x, Double_t w); virtual Bool_t FindNewAxisLimits(const TAxis* axis, const Double_t point, Double_t& newMin, Double_t &newMax); virtual void SavePrimitiveHelp(ostream &out, Option_t *option = ""); static Bool_t RecomputeAxisLimits(TAxis& destAxis, const TAxis& anAxis); static Bool_t SameLimitsAndNBins(const TAxis& axis1, const TAxis& axis2); virtual Int_t DoFit(TF1 *f1,Option_t *option,Option_t *goption, Double_t xmin, Double_t xmax); public: enum { kNoStats = (1 << (9)), kUserContour = (1 << (10)), kCanRebin = (1 << (11)), kLogX = (1 << (15)), kIsZoomed = (1 << (16)), kNoTitle = (1 << (17)), kIsAverage = (1 << (18)) }; enum { kNstat = 13 }; TH1(const TH1&); virtual ~TH1(); virtual void Add(TF1 *h1, Double_t c1=1, Option_t *option=""); virtual void Add(const TH1 *h1, Double_t c1=1); virtual void Add(const TH1 *h, const TH1 *h2, Double_t c1=1, Double_t c2=1); virtual void AddBinContent(Int_t bin); virtual void AddBinContent(Int_t bin, Double_t w); static void AddDirectory(Bool_t add=kTRUE); static Bool_t AddDirectoryStatus(); virtual void Browse(TBrowser *b); virtual Double_t Chi2Test(const TH1* h2, Option_t *option = "UU", Double_t *res = 0) const; virtual Double_t Chi2TestX(const TH1* h2, Double_t &chi2, Int_t &ndf, Int_t &igood,Option_t *option = "UU", Double_t *res = 0) const; virtual Double_t ComputeIntegral(); virtual void DirectoryAutoAdd(TDirectory *); virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); virtual void Divide(TF1 *f1, Double_t c1=1); virtual void Divide(const TH1 *h1); virtual void Divide(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); virtual void Draw(Option_t *option=""); virtual TH1 *DrawCopy(Option_t *option="") const; virtual TH1 *DrawNormalized(Option_t *option="", Double_t norm=1) const; virtual void DrawPanel(); virtual Int_t BufferEmpty(Int_t action=0); virtual void Eval(TF1 *f1, Option_t *option=""); virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); virtual TH1 *FFT(TH1* h_output, Option_t *option); virtual Int_t Fill(Double_t x); virtual Int_t Fill(Double_t x, Double_t w); virtual Int_t Fill(const char *name, Double_t w); virtual void FillN(Int_t ntimes, const Double_t *x, const Double_t *w, Int_t stride=1); virtual void FillN(Int_t, const Double_t *, const Double_t *, const Double_t *, Int_t) {;} virtual void FillRandom(const char *fname, Int_t ntimes=5000); virtual void FillRandom(TH1 *h, Int_t ntimes=5000); virtual Int_t FindBin(Double_t x, Double_t y=0, Double_t z=0); virtual TObject *FindObject(const char *name) const; virtual TObject *FindObject(const TObject *obj) const; virtual Int_t Fit(const char *formula ,Option_t *option="" ,Option_t *goption="", Double_t xmin=0, Double_t xmax=0); virtual Int_t Fit(TF1 *f1 ,Option_t *option="" ,Option_t *goption="", Double_t xmin=0, Double_t xmax=0); virtual void FitPanel(); TH1 *GetAsymmetry(TH1* h2, Double_t c2=1, Double_t dc2=0); Int_t GetBufferLength() const {return fBuffer ? (Int_t)fBuffer[0] : 0;} Int_t GetBufferSize () const {return fBufferSize;} const Double_t *GetBuffer() const {return fBuffer;} static Int_t GetDefaultBufferSize(); virtual Double_t *GetIntegral(); TList *GetListOfFunctions() const { return fFunctions; } virtual Int_t GetNdivisions(Option_t *axis="X") const; virtual Color_t GetAxisColor(Option_t *axis="X") const; virtual Color_t GetLabelColor(Option_t *axis="X") const; virtual Style_t GetLabelFont(Option_t *axis="X") const; virtual Float_t GetLabelOffset(Option_t *axis="X") const; virtual Float_t GetLabelSize(Option_t *axis="X") const; virtual Style_t GetTitleFont(Option_t *axis="X") const; virtual Float_t GetTitleOffset(Option_t *axis="X") const; virtual Float_t GetTitleSize(Option_t *axis="X") const; virtual Float_t GetTickLength(Option_t *axis="X") const; virtual Float_t GetBarOffset() const {return Float_t(0.001*Float_t(fBarOffset));} virtual Float_t GetBarWidth() const {return Float_t(0.001*Float_t(fBarWidth));} virtual Int_t GetContour(Double_t *levels=0); virtual Double_t GetContourLevel(Int_t level) const; virtual Double_t GetContourLevelPad(Int_t level) const; virtual Int_t GetBin(Int_t binx, Int_t biny=0, Int_t binz=0) const; virtual void GetBinXYZ(Int_t binglobal, Int_t &binx, Int_t &biny, Int_t &binz) const; virtual Double_t GetBinCenter(Int_t bin) const {return fXaxis.GetBinCenter(bin);} virtual Double_t GetBinContent(Int_t bin) const; virtual Double_t GetBinContent(Int_t binx, Int_t biny) const; virtual Double_t GetBinContent(Int_t binx, Int_t biny, Int_t binz) const; virtual Double_t GetBinError(Int_t bin) const; virtual Double_t GetBinError(Int_t binx, Int_t biny) const; virtual Double_t GetBinError(Int_t binx, Int_t biny, Int_t binz) const; virtual Double_t GetBinLowEdge(Int_t bin) const {return fXaxis.GetBinLowEdge(bin);} virtual Double_t GetBinWidth(Int_t bin) const {return fXaxis.GetBinWidth(bin);} virtual Double_t GetBinWithContent(Double_t c, Int_t &binx, Int_t firstx=0, Int_t lastx=0,Double_t maxdiff=0) const; virtual Double_t GetCellContent(Int_t binx, Int_t biny) const; virtual Double_t GetCellError(Int_t binx, Int_t biny) const; virtual void GetCenter(Double_t *center) const {fXaxis.GetCenter(center);} static Bool_t GetDefaultSumw2(); TDirectory *GetDirectory() const {return fDirectory;} virtual Double_t GetEntries() const; virtual Double_t GetEffectiveEntries() const; virtual TF1 *GetFunction(const char *name) const; virtual Int_t GetDimension() const { return fDimension; } virtual Double_t GetKurtosis(Int_t axis=1) const; virtual void GetLowEdge(Double_t *edge) const {fXaxis.GetLowEdge(edge);} virtual Double_t GetMaximum(Double_t maxval=3.40282347e+38F) const; virtual Int_t GetMaximumBin() const; virtual Int_t GetMaximumBin(Int_t &locmax, Int_t &locmay, Int_t &locmaz) const; virtual Double_t GetMaximumStored() const {return fMaximum;} virtual Double_t GetMinimum(Double_t minval=-3.40282347e+38F) const; virtual Int_t GetMinimumBin() const; virtual Int_t GetMinimumBin(Int_t &locmix, Int_t &locmiy, Int_t &locmiz) const; virtual Double_t GetMinimumStored() const {return fMinimum;} virtual Double_t GetMean(Int_t axis=1) const; virtual Double_t GetMeanError(Int_t axis=1) const; virtual Int_t GetNbinsX() const {return fXaxis.GetNbins();} virtual Int_t GetNbinsY() const {return fYaxis.GetNbins();} virtual Int_t GetNbinsZ() const {return fZaxis.GetNbins();} virtual Double_t GetNormFactor() const {return fNormFactor;} virtual char *GetObjectInfo(Int_t px, Int_t py) const; Option_t *GetOption() const {return fOption.Data();} TVirtualHistPainter *GetPainter(Option_t *option=""); virtual Int_t GetQuantiles(Int_t nprobSum, Double_t *q, const Double_t *probSum=0); virtual Double_t GetRandom() const; virtual void GetStats(Double_t *stats) const; virtual Double_t GetSumOfWeights() const; virtual TArrayD *GetSumw2() {return &fSumw2;} virtual const TArrayD *GetSumw2() const {return &fSumw2;} virtual Int_t GetSumw2N() const {return fSumw2.fN;} virtual Double_t GetRMS(Int_t axis=1) const; virtual Double_t GetRMSError(Int_t axis=1) const; virtual Double_t GetSkewness(Int_t axis=1) const; TAxis *GetXaxis() const; TAxis *GetYaxis() const; TAxis *GetZaxis() const; virtual Double_t Integral(Option_t *option="") const; virtual Double_t Integral(Int_t binx1, Int_t binx2, Option_t *option="") const; virtual Double_t Integral(Int_t, Int_t, Int_t, Int_t, Option_t * ="") const {return 0;} virtual Double_t Integral(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, Option_t * ="" ) const {return 0;} virtual Double_t Interpolate(Double_t x); virtual Double_t Interpolate(Double_t x, Double_t y); virtual Double_t Interpolate(Double_t x, Double_t y, Double_t z); virtual Double_t KolmogorovTest(const TH1 *h2, Option_t *option="") const; virtual void LabelsDeflate(Option_t *axis="X"); virtual void LabelsInflate(Option_t *axis="X"); virtual void LabelsOption(Option_t *option="h", Option_t *axis="X"); virtual Long64_t Merge(TCollection *list); virtual void Multiply(TF1 *h1, Double_t c1=1); virtual void Multiply(const TH1 *h1); virtual void Multiply(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); virtual void Paint(Option_t *option=""); virtual void Print(Option_t *option="") const; virtual void PutStats(Double_t *stats); virtual TH1 *Rebin(Int_t ngroup=2, const char*newname="", const Double_t *xbins=0); virtual void RebinAxis(Double_t x, TAxis *axis); virtual void Rebuild(Option_t *option=""); virtual void RecursiveRemove(TObject *obj); virtual void Reset(Option_t *option=""); virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void Scale(Double_t c1=1, Option_t *option=""); virtual void SetAxisColor(Color_t color=1, Option_t *axis="X"); virtual void SetAxisRange(Double_t xmin, Double_t xmax, Option_t *axis="X"); virtual void SetBarOffset(Float_t offset=0.25) {fBarOffset = Short_t(1000*offset);} virtual void SetBarWidth(Float_t width=0.5) {fBarWidth = Short_t(1000*width);} virtual void SetBinContent(Int_t bin, Double_t content); virtual void SetBinContent(Int_t binx, Int_t biny, Double_t content); virtual void SetBinContent(Int_t binx, Int_t biny, Int_t binz, Double_t content); virtual void SetBinError(Int_t bin, Double_t error); virtual void SetBinError(Int_t binx, Int_t biny, Double_t error); virtual void SetBinError(Int_t binx, Int_t biny, Int_t binz, Double_t error); virtual void SetBins(Int_t nx, Double_t xmin, Double_t xmax); virtual void SetBins(Int_t nx, const Double_t *xBins); virtual void SetBins(Int_t nx, Double_t xmin, Double_t xmax, Int_t ny, Double_t ymin, Double_t ymax); virtual void SetBins(Int_t nx, const Double_t *xBins, Int_t ny, const Double_t *yBins); virtual void SetBins(Int_t nx, Double_t xmin, Double_t xmax, Int_t ny, Double_t ymin, Double_t ymax, Int_t nz, Double_t zmin, Double_t zmax); virtual void SetBinsLength(Int_t = -1) { } virtual void SetBuffer(Int_t buffersize, Option_t *option=""); virtual void SetCellContent(Int_t binx, Int_t biny, Double_t content); virtual void SetCellError(Int_t binx, Int_t biny, Double_t content); virtual void SetContent(const Double_t *content); virtual void SetContour(Int_t nlevels, const Double_t *levels=0); virtual void SetContourLevel(Int_t level, Double_t value); static void SetDefaultBufferSize(Int_t buffersize=1000); static void SetDefaultSumw2(Bool_t sumw2=kTRUE); virtual void SetDirectory(TDirectory *dir); virtual void SetEntries(Double_t n) {fEntries = n;}; virtual void SetError(const Double_t *error); virtual void SetLabelColor(Color_t color=1, Option_t *axis="X"); virtual void SetLabelFont(Style_t font=62, Option_t *axis="X"); virtual void SetLabelOffset(Float_t offset=0.005, Option_t *axis="X"); virtual void SetLabelSize(Float_t size=0.02, Option_t *axis="X"); virtual void SetMaximum(Double_t maximum=-1111); virtual void SetMinimum(Double_t minimum=-1111); virtual void SetName(const char *name); virtual void SetNameTitle(const char *name, const char *title); virtual void SetNdivisions(Int_t n=510, Option_t *axis="X"); virtual void SetNormFactor(Double_t factor=1) {fNormFactor = factor;} virtual void SetStats(Bool_t stats=kTRUE); virtual void SetOption(Option_t *option=" ") {fOption = option;} virtual void SetTickLength(Float_t length=0.02, Option_t *axis="X"); virtual void SetTitleFont(Style_t font=62, Option_t *axis="X"); virtual void SetTitleOffset(Float_t offset=1, Option_t *axis="X"); virtual void SetTitleSize(Float_t size=0.02, Option_t *axis="X"); virtual void SetTitle(const char *title); virtual void SetXTitle(const char *title) {fXaxis.SetTitle(title);} virtual void SetYTitle(const char *title) {fYaxis.SetTitle(title);} virtual void SetZTitle(const char *title) {fZaxis.SetTitle(title);} virtual TH1 *ShowBackground(Int_t niter=20, Option_t *option="same"); virtual Int_t ShowPeaks(Double_t sigma=2, Option_t *option="", Double_t threshold=0.05); virtual void Smooth(Int_t ntimes=1, Option_t *option=""); static void SmoothArray(Int_t NN, Double_t *XX, Int_t ntimes=1); static void StatOverflows(Bool_t flag=kTRUE); virtual void Sumw2(); void UseCurrentStyle(); static TH1 *TransformHisto(TVirtualFFT *fft, TH1* h_output, Option_t *option); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 6; } static void Dictionary(); virtual TClass *IsA() const { return TH1::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TH1::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TH1.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 354; } }; class TH1C : public TH1, public TArrayC { public: TH1C(); TH1C(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup); TH1C(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins); TH1C(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins); TH1C(const TH1C &h1c); virtual ~TH1C(); virtual void AddBinContent(Int_t bin); virtual void AddBinContent(Int_t bin, Double_t w); virtual void Copy(TObject &hnew) const; virtual TH1 *DrawCopy(Option_t *option="") const; virtual Double_t GetBinContent(Int_t bin) const; virtual Double_t GetBinContent(Int_t bin, Int_t) const {return GetBinContent(bin);} virtual Double_t GetBinContent(Int_t bin, Int_t, Int_t) const {return GetBinContent(bin);} virtual void Reset(Option_t *option=""); virtual void SetBinContent(Int_t bin, Double_t content); virtual void SetBinContent(Int_t bin, Int_t, Double_t content) {SetBinContent(bin,content);} virtual void SetBinContent(Int_t bin, Int_t, Int_t, Double_t content) {SetBinContent(bin,content);} virtual void SetBinsLength(Int_t n=-1); TH1C& operator=(const TH1C &h1); friend TH1C operator*(Double_t c1, const TH1C &h1); friend TH1C operator*(const TH1C &h1, Double_t c1); friend TH1C operator+(const TH1C &h1, const TH1C &h2); friend TH1C operator-(const TH1C &h1, const TH1C &h2); friend TH1C operator*(const TH1C &h1, const TH1C &h2); friend TH1C operator/(const TH1C &h1, const TH1C &h2); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TH1C::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TH1C::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TH1.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 389; } }; TH1C operator*(Double_t c1, const TH1C &h1); inline TH1C operator*(const TH1C &h1, Double_t c1) {return operator*(c1,h1);} TH1C operator+(const TH1C &h1, const TH1C &h2); TH1C operator-(const TH1C &h1, const TH1C &h2); TH1C operator*(const TH1C &h1, const TH1C &h2); TH1C operator/(const TH1C &h1, const TH1C &h2); class TH1S : public TH1, public TArrayS { public: TH1S(); TH1S(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup); TH1S(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins); TH1S(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins); TH1S(const TH1S &h1s); virtual ~TH1S(); virtual void AddBinContent(Int_t bin); virtual void AddBinContent(Int_t bin, Double_t w); virtual void Copy(TObject &hnew) const; virtual TH1 *DrawCopy(Option_t *option="") const; virtual Double_t GetBinContent(Int_t bin) const; virtual Double_t GetBinContent(Int_t bin, Int_t) const {return GetBinContent(bin);} virtual Double_t GetBinContent(Int_t bin, Int_t, Int_t) const {return GetBinContent(bin);} virtual void Reset(Option_t *option=""); virtual void SetBinContent(Int_t bin, Double_t content); virtual void SetBinContent(Int_t bin, Int_t, Double_t content) {SetBinContent(bin,content);} virtual void SetBinContent(Int_t bin, Int_t, Int_t, Double_t content) {SetBinContent(bin,content);} virtual void SetBinsLength(Int_t n=-1); TH1S& operator=(const TH1S &h1); friend TH1S operator*(Double_t c1, const TH1S &h1); friend TH1S operator*(const TH1S &h1, Double_t c1); friend TH1S operator+(const TH1S &h1, const TH1S &h2); friend TH1S operator-(const TH1S &h1, const TH1S &h2); friend TH1S operator*(const TH1S &h1, const TH1S &h2); friend TH1S operator/(const TH1S &h1, const TH1S &h2); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TH1S::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TH1S::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TH1.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 432; } }; TH1S operator*(Double_t c1, const TH1S &h1); inline TH1S operator*(const TH1S &h1, Double_t c1) {return operator*(c1,h1);} TH1S operator+(const TH1S &h1, const TH1S &h2); TH1S operator-(const TH1S &h1, const TH1S &h2); TH1S operator*(const TH1S &h1, const TH1S &h2); TH1S operator/(const TH1S &h1, const TH1S &h2); class TH1I: public TH1, public TArrayI { public: TH1I(); TH1I(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup); TH1I(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins); TH1I(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins); TH1I(const TH1I &h1i); virtual ~TH1I(); virtual void AddBinContent(Int_t bin); virtual void AddBinContent(Int_t bin, Double_t w); virtual void Copy(TObject &hnew) const; virtual TH1 *DrawCopy(Option_t *option="") const; virtual Double_t GetBinContent(Int_t bin) const; virtual Double_t GetBinContent(Int_t bin, Int_t) const {return GetBinContent(bin);} virtual Double_t GetBinContent(Int_t bin, Int_t, Int_t) const {return GetBinContent(bin);} virtual void Reset(Option_t *option=""); virtual void SetBinContent(Int_t bin, Double_t content); virtual void SetBinContent(Int_t bin, Int_t, Double_t content) {SetBinContent(bin,content);} virtual void SetBinContent(Int_t bin, Int_t, Int_t, Double_t content) {SetBinContent(bin,content);} virtual void SetBinsLength(Int_t n=-1); TH1I& operator=(const TH1I &h1); friend TH1I operator*(Double_t c1, const TH1I &h1); friend TH1I operator*(const TH1I &h1, Double_t c1); friend TH1I operator+(const TH1I &h1, const TH1I &h2); friend TH1I operator-(const TH1I &h1, const TH1I &h2); friend TH1I operator*(const TH1I &h1, const TH1I &h2); friend TH1I operator/(const TH1I &h1, const TH1I &h2); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TH1I::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TH1I::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TH1.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 475; } }; TH1I operator*(Double_t c1, const TH1I &h1); inline TH1I operator*(const TH1I &h1, Double_t c1) {return operator*(c1,h1);} TH1I operator+(const TH1I &h1, const TH1I &h2); TH1I operator-(const TH1I &h1, const TH1I &h2); TH1I operator*(const TH1I &h1, const TH1I &h2); TH1I operator/(const TH1I &h1, const TH1I &h2); class TH1F : public TH1, public TArrayF { public: TH1F(); TH1F(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup); TH1F(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins); TH1F(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins); TH1F(const TVectorF &v); TH1F(const TH1F &h1f); virtual ~TH1F(); virtual void AddBinContent(Int_t bin) {++fArray[bin];} virtual void AddBinContent(Int_t bin, Double_t w) {fArray[bin] += Float_t (w);} virtual void Copy(TObject &hnew) const; virtual TH1 *DrawCopy(Option_t *option="") const; virtual Double_t GetBinContent(Int_t bin) const; virtual Double_t GetBinContent(Int_t bin, Int_t) const {return GetBinContent(bin);} virtual Double_t GetBinContent(Int_t bin, Int_t, Int_t) const {return GetBinContent(bin);} virtual void Reset(Option_t *option=""); virtual void SetBinContent(Int_t bin, Double_t content); virtual void SetBinContent(Int_t bin, Int_t, Double_t content) {SetBinContent(bin,content);} virtual void SetBinContent(Int_t bin, Int_t, Int_t, Double_t content) {SetBinContent(bin,content);} virtual void SetBinsLength(Int_t n=-1); TH1F& operator=(const TH1F &h1); friend TH1F operator*(Double_t c1, const TH1F &h1); friend TH1F operator*(const TH1F &h1, Double_t c1); friend TH1F operator+(const TH1F &h1, const TH1F &h2); friend TH1F operator-(const TH1F &h1, const TH1F &h2); friend TH1F operator*(const TH1F &h1, const TH1F &h2); friend TH1F operator/(const TH1F &h1, const TH1F &h2); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TH1F::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TH1F::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TH1.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 520; } }; TH1F operator*(Double_t c1, const TH1F &h1); inline TH1F operator*(const TH1F &h1, Double_t c1) {return operator*(c1,h1);} TH1F operator+(const TH1F &h1, const TH1F &h2); TH1F operator-(const TH1F &h1, const TH1F &h2); TH1F operator*(const TH1F &h1, const TH1F &h2); TH1F operator/(const TH1F &h1, const TH1F &h2); class TH1D : public TH1, public TArrayD { public: TH1D(); TH1D(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup); TH1D(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins); TH1D(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins); TH1D(const TVectorD &v); TH1D(const TH1D &h1d); virtual ~TH1D(); virtual void AddBinContent(Int_t bin) {++fArray[bin];} virtual void AddBinContent(Int_t bin, Double_t w) {fArray[bin] += Double_t (w);} virtual void Copy(TObject &hnew) const; virtual TH1 *DrawCopy(Option_t *option="") const; virtual Double_t GetBinContent(Int_t bin) const; virtual Double_t GetBinContent(Int_t bin, Int_t) const {return GetBinContent(bin);} virtual Double_t GetBinContent(Int_t bin, Int_t, Int_t) const {return GetBinContent(bin);} virtual void Reset(Option_t *option=""); virtual void SetBinContent(Int_t bin, Double_t content); virtual void SetBinContent(Int_t bin, Int_t, Double_t content) {SetBinContent(bin,content);} virtual void SetBinContent(Int_t bin, Int_t, Int_t, Double_t content) {SetBinContent(bin,content);} virtual void SetBinsLength(Int_t n=-1); TH1D& operator=(const TH1D &h1); friend TH1D operator*(Double_t c1, const TH1D &h1); friend TH1D operator*(const TH1D &h1, Double_t c1); friend TH1D operator+(const TH1D &h1, const TH1D &h2); friend TH1D operator-(const TH1D &h1, const TH1D &h2); friend TH1D operator*(const TH1D &h1, const TH1D &h2); friend TH1D operator/(const TH1D &h1, const TH1D &h2); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TH1D::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TH1D::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TH1.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 565; } }; TH1D operator*(Double_t c1, const TH1D &h1); inline TH1D operator*(const TH1D &h1, Double_t c1) {return operator*(c1,h1);} TH1D operator+(const TH1D &h1, const TH1D &h2); TH1D operator-(const TH1D &h1, const TH1D &h2); TH1D operator*(const TH1D &h1, const TH1D &h2); TH1D operator/(const TH1D &h1, const TH1D &h2); extern TH1 *R__H(Int_t hid); extern TH1 *R__H(const char *hname); # 26 "/products/root_522/include/root/TH1F.h" 2 # 11 "VBFStudy.cxx" 2 # 1 "/products/root_522/include/root/TH2F.h" 1 # 25 "/products/root_522/include/root/TH2F.h" # 1 "/products/root_522/include/root/TH2.h" 1 # 28 "/products/root_522/include/root/TH2.h" # 1 "/products/root_522/include/root/TMatrixFBasefwd.h" 1 # 23 "/products/root_522/include/root/TMatrixFBasefwd.h" template class TMatrixTBase; typedef TMatrixTBase TMatrixFBase; # 29 "/products/root_522/include/root/TH2.h" 2 # 1 "/products/root_522/include/root/TMatrixDBasefwd.h" 1 # 23 "/products/root_522/include/root/TMatrixDBasefwd.h" template class TMatrixTBase; typedef TMatrixTBase TMatrixDBase; # 32 "/products/root_522/include/root/TH2.h" 2 class TProfile; class TH2 : public TH1 { protected: Double_t fScalefactor; Double_t fTsumwy; Double_t fTsumwy2; Double_t fTsumwxy; virtual Int_t BufferFill(Double_t, Double_t) {return -2;} virtual Int_t BufferFill(Double_t x, Double_t y, Double_t w); virtual TH1D *DoProjection(bool onX, const char *name, Int_t firstbin, Int_t lastbin, Option_t *option) const; virtual TProfile *DoProfile(bool onX, const char *name, Int_t firstbin, Int_t lastbin, Option_t *option) const; virtual void DoFitSlices(bool onX, TF1 *f1, Int_t firstbin, Int_t lastbin, Int_t cut, Option_t *option, TObjArray* arr); public: TH2(); TH2(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,Double_t ylow,Double_t yup); TH2(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,Double_t ylow,Double_t yup); TH2(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,const Double_t *ybins); TH2(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,const Double_t *ybins); TH2(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins ,Int_t nbinsy,const Float_t *ybins); TH2(const TH2&); virtual ~TH2(); virtual Int_t BufferEmpty(Int_t action=0); virtual void Copy(TObject &hnew) const; Int_t Fill(Double_t) {return -1;} Int_t Fill(const char*, Double_t) {return -1;} virtual Int_t Fill(Double_t x, Double_t y); virtual Int_t Fill(Double_t x, Double_t y, Double_t w); virtual Int_t Fill(Double_t x, const char *namey, Double_t w); virtual Int_t Fill(const char *namex, Double_t y, Double_t w); virtual Int_t Fill(const char *namex, const char *namey, Double_t w); virtual void FillN(Int_t, const Double_t *, const Double_t *, Int_t) {;} virtual void FillN(Int_t ntimes, const Double_t *x, const Double_t *y, const Double_t *w, Int_t stride=1); virtual void FillRandom(const char *fname, Int_t ntimes=5000); virtual void FillRandom(TH1 *h, Int_t ntimes=5000); virtual void FitSlicesX(TF1 *f1=0,Int_t firstybin=0, Int_t lastybin=-1, Int_t cut=0, Option_t *option="QNR", TObjArray* arr = 0); virtual void FitSlicesY(TF1 *f1=0,Int_t firstxbin=0, Int_t lastxbin=-1, Int_t cut=0, Option_t *option="QNR", TObjArray* arr = 0); virtual Double_t GetBinWithContent2(Double_t c, Int_t &binx, Int_t &biny, Int_t firstxbin=1, Int_t lastxbin=-1,Int_t firstybin=1, Int_t lastybin=-1, Double_t maxdiff=0) const; virtual Double_t GetCorrelationFactor(Int_t axis1=1,Int_t axis2=2) const; virtual Double_t GetCovariance(Int_t axis1=1,Int_t axis2=2) const; virtual void GetRandom2(Double_t &x, Double_t &y); virtual void GetStats(Double_t *stats) const; virtual Double_t Integral(Option_t *option="") const; virtual Double_t Integral(Int_t, Int_t, Option_t * ="") const {return 0;} virtual Double_t Integral(Int_t firstxbin, Int_t lastxbin, Int_t firstybin, Int_t lastybin, Option_t *option="") const; virtual Double_t Integral(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, Option_t * ="") const {return 0;} virtual Double_t Interpolate(Double_t x); virtual Double_t Interpolate(Double_t x, Double_t y); virtual Double_t Interpolate(Double_t x, Double_t y, Double_t z); virtual Double_t KolmogorovTest(const TH1 *h2, Option_t *option="") const; virtual Long64_t Merge(TCollection *list); virtual TH2 *RebinX(Int_t ngroup=2, const char *newname=""); virtual TH2 *RebinY(Int_t ngroup=2, const char *newname=""); virtual TH2 *Rebin2D(Int_t nxgroup=2, Int_t nygroup=2, const char *newname=""); TProfile *ProfileX(const char *name="_pfx", Int_t firstybin=1, Int_t lastybin=-1, Option_t *option="") const; TProfile *ProfileY(const char *name="_pfy", Int_t firstxbin=1, Int_t lastxbin=-1, Option_t *option="") const; TH1D *ProjectionX(const char *name="_px", Int_t firstybin=0, Int_t lastybin=-1, Option_t *option="") const; TH1D *ProjectionY(const char *name="_py", Int_t firstxbin=0, Int_t lastxbin=-1, Option_t *option="") const; virtual void PutStats(Double_t *stats); virtual void Reset(Option_t *option=""); virtual void SetShowProjectionX(Int_t nbins); virtual void SetShowProjectionY(Int_t nbins); virtual TH1 *ShowBackground(Int_t niter=20, Option_t *option="same"); virtual Int_t ShowPeaks(Double_t sigma=2, Option_t *option="", Double_t threshold=0.05); virtual void Smooth(Int_t ntimes=1, Option_t *option=""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 4; } static void Dictionary(); virtual TClass *IsA() const { return TH2::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TH2::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TH2.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 108; } }; class TH2C : public TH2, public TArrayC { public: TH2C(); TH2C(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,Double_t ylow,Double_t yup); TH2C(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,Double_t ylow,Double_t yup); TH2C(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,const Double_t *ybins); TH2C(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,const Double_t *ybins); TH2C(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins ,Int_t nbinsy,const Float_t *ybins); TH2C(const TH2C &h2c); virtual ~TH2C(); virtual void AddBinContent(Int_t bin); virtual void AddBinContent(Int_t bin, Double_t w); virtual void Copy(TObject &hnew) const; virtual TH1 *DrawCopy(Option_t *option="") const; virtual Double_t GetBinContent(Int_t bin) const; virtual Double_t GetBinContent(Int_t binx, Int_t biny) const {return GetBinContent(GetBin(binx,biny));} virtual Double_t GetBinContent(Int_t binx, Int_t biny, Int_t) const {return GetBinContent(GetBin(binx,biny));} virtual void Reset(Option_t *option=""); virtual void SetBinContent(Int_t bin, Double_t content); virtual void SetBinContent(Int_t binx, Int_t biny, Double_t content) {SetBinContent(GetBin(binx,biny),content);} virtual void SetBinContent(Int_t binx, Int_t biny, Int_t, Double_t content) {SetBinContent(GetBin(binx,biny),content);} virtual void SetBinsLength(Int_t n=-1); TH2C& operator=(const TH2C &h1); friend TH2C operator*(Float_t c1, TH2C &h1); friend TH2C operator*(TH2C &h1, Float_t c1) {return operator*(c1,h1);} friend TH2C operator+(TH2C &h1, TH2C &h2); friend TH2C operator-(TH2C &h1, TH2C &h2); friend TH2C operator*(TH2C &h1, TH2C &h2); friend TH2C operator/(TH2C &h1, TH2C &h2); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 3; } static void Dictionary(); virtual TClass *IsA() const { return TH2C::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TH2C::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TH2.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 150; } }; class TH2S : public TH2, public TArrayS { public: TH2S(); TH2S(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,Double_t ylow,Double_t yup); TH2S(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,Double_t ylow,Double_t yup); TH2S(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,const Double_t *ybins); TH2S(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,const Double_t *ybins); TH2S(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins ,Int_t nbinsy,const Float_t *ybins); TH2S(const TH2S &h2s); virtual ~TH2S(); virtual void AddBinContent(Int_t bin); virtual void AddBinContent(Int_t bin, Double_t w); virtual void Copy(TObject &hnew) const; virtual TH1 *DrawCopy(Option_t *option="") const; virtual Double_t GetBinContent(Int_t bin) const; virtual Double_t GetBinContent(Int_t binx, Int_t biny) const {return GetBinContent(GetBin(binx,biny));} virtual Double_t GetBinContent(Int_t binx, Int_t biny, Int_t) const {return GetBinContent(GetBin(binx,biny));} virtual void Reset(Option_t *option=""); virtual void SetBinContent(Int_t bin, Double_t content); virtual void SetBinContent(Int_t binx, Int_t biny, Double_t content) {SetBinContent(GetBin(binx,biny),content);} virtual void SetBinContent(Int_t binx, Int_t biny, Int_t, Double_t content) {SetBinContent(GetBin(binx,biny),content);} virtual void SetBinsLength(Int_t n=-1); TH2S& operator=(const TH2S &h1); friend TH2S operator*(Float_t c1, TH2S &h1); friend TH2S operator*(TH2S &h1, Float_t c1) {return operator*(c1,h1);} friend TH2S operator+(TH2S &h1, TH2S &h2); friend TH2S operator-(TH2S &h1, TH2S &h2); friend TH2S operator*(TH2S &h1, TH2S &h2); friend TH2S operator/(TH2S &h1, TH2S &h2); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 3; } static void Dictionary(); virtual TClass *IsA() const { return TH2S::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TH2S::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TH2.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 192; } }; class TH2I : public TH2, public TArrayI { public: TH2I(); TH2I(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,Double_t ylow,Double_t yup); TH2I(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,Double_t ylow,Double_t yup); TH2I(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,const Double_t *ybins); TH2I(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,const Double_t *ybins); TH2I(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins ,Int_t nbinsy,const Float_t *ybins); TH2I(const TH2I &h2i); virtual ~TH2I(); virtual void AddBinContent(Int_t bin); virtual void AddBinContent(Int_t bin, Double_t w); virtual void Copy(TObject &hnew) const; virtual TH1 *DrawCopy(Option_t *option="") const; virtual Double_t GetBinContent(Int_t bin) const; virtual Double_t GetBinContent(Int_t binx, Int_t biny) const {return GetBinContent(GetBin(binx,biny));} virtual Double_t GetBinContent(Int_t binx, Int_t biny, Int_t) const {return GetBinContent(GetBin(binx,biny));} virtual void Reset(Option_t *option=""); virtual void SetBinContent(Int_t bin, Double_t content); virtual void SetBinContent(Int_t binx, Int_t biny, Double_t content) {SetBinContent(GetBin(binx,biny),content);} virtual void SetBinContent(Int_t binx, Int_t biny, Int_t, Double_t content) {SetBinContent(GetBin(binx,biny),content);} virtual void SetBinsLength(Int_t n=-1); TH2I& operator=(const TH2I &h1); friend TH2I operator*(Float_t c1, TH2I &h1); friend TH2I operator*(TH2I &h1, Float_t c1) {return operator*(c1,h1);} friend TH2I operator+(TH2I &h1, TH2I &h2); friend TH2I operator-(TH2I &h1, TH2I &h2); friend TH2I operator*(TH2I &h1, TH2I &h2); friend TH2I operator/(TH2I &h1, TH2I &h2); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 3; } static void Dictionary(); virtual TClass *IsA() const { return TH2I::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TH2I::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TH2.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 234; } }; class TH2F : public TH2, public TArrayF { public: TH2F(); TH2F(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,Double_t ylow,Double_t yup); TH2F(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,Double_t ylow,Double_t yup); TH2F(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,const Double_t *ybins); TH2F(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,const Double_t *ybins); TH2F(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins ,Int_t nbinsy,const Float_t *ybins); TH2F(const TMatrixFBase &m); TH2F(const TH2F &h2f); virtual ~TH2F(); virtual void AddBinContent(Int_t bin) {++fArray[bin];} virtual void AddBinContent(Int_t bin, Double_t w) {fArray[bin] += Float_t (w);} virtual void Copy(TObject &hnew) const; virtual TH1 *DrawCopy(Option_t *option="") const; virtual Double_t GetBinContent(Int_t bin) const; virtual Double_t GetBinContent(Int_t binx, Int_t biny) const {return GetBinContent(GetBin(binx,biny));} virtual Double_t GetBinContent(Int_t binx, Int_t biny, Int_t) const {return GetBinContent(GetBin(binx,biny));} virtual void Reset(Option_t *option=""); virtual void SetBinContent(Int_t bin, Double_t content); virtual void SetBinContent(Int_t binx, Int_t biny, Double_t content) {SetBinContent(GetBin(binx,biny),content);} virtual void SetBinContent(Int_t binx, Int_t biny, Int_t, Double_t content) {SetBinContent(GetBin(binx,biny),content);} virtual void SetBinsLength(Int_t n=-1); TH2F& operator=(const TH2F &h1); friend TH2F operator*(Float_t c1, TH2F &h1); friend TH2F operator*(TH2F &h1, Float_t c1); friend TH2F operator+(TH2F &h1, TH2F &h2); friend TH2F operator-(TH2F &h1, TH2F &h2); friend TH2F operator*(TH2F &h1, TH2F &h2); friend TH2F operator/(TH2F &h1, TH2F &h2); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 3; } static void Dictionary(); virtual TClass *IsA() const { return TH2F::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TH2F::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TH2.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 278; } }; class TH2D : public TH2, public TArrayD { public: TH2D(); TH2D(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,Double_t ylow,Double_t yup); TH2D(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,Double_t ylow,Double_t yup); TH2D(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,const Double_t *ybins); TH2D(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,const Double_t *ybins); TH2D(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins ,Int_t nbinsy,const Float_t *ybins); TH2D(const TMatrixDBase &m); TH2D(const TH2D &h2d); virtual ~TH2D(); virtual void AddBinContent(Int_t bin) {++fArray[bin];} virtual void AddBinContent(Int_t bin, Double_t w) {fArray[bin] += Double_t (w);} virtual void Copy(TObject &hnew) const; virtual TH1 *DrawCopy(Option_t *option="") const; virtual Double_t GetBinContent(Int_t bin) const; virtual Double_t GetBinContent(Int_t binx, Int_t biny) const {return GetBinContent(GetBin(binx,biny));} virtual Double_t GetBinContent(Int_t binx, Int_t biny, Int_t) const {return GetBinContent(GetBin(binx,biny));} virtual void Reset(Option_t *option=""); virtual void SetBinContent(Int_t bin, Double_t content); virtual void SetBinContent(Int_t binx, Int_t biny, Double_t content) {SetBinContent(GetBin(binx,biny),content);} virtual void SetBinContent(Int_t binx, Int_t biny, Int_t, Double_t content) {SetBinContent(GetBin(binx,biny),content);} virtual void SetBinsLength(Int_t n=-1); TH2D& operator=(const TH2D &h1); friend TH2D operator*(Float_t c1, TH2D &h1); friend TH2D operator*(TH2D &h1, Float_t c1) {return operator*(c1,h1);} friend TH2D operator+(TH2D &h1, TH2D &h2); friend TH2D operator-(TH2D &h1, TH2D &h2); friend TH2D operator*(TH2D &h1, TH2D &h2); friend TH2D operator/(TH2D &h1, TH2D &h2); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 3; } static void Dictionary(); virtual TClass *IsA() const { return TH2D::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TH2D::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TH2.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 322; } }; # 26 "/products/root_522/include/root/TH2F.h" 2 # 12 "VBFStudy.cxx" 2 # 1 "/products/root_522/include/root/TGraphAsymmErrors.h" 1 # 25 "/products/root_522/include/root/TGraphAsymmErrors.h" # 1 "/products/root_522/include/root/TGraph.h" 1 # 43 "/products/root_522/include/root/TGraph.h" class TBrowser; class TAxis; class TH1; class TH1F; class TCollection; class TF1; class TSpline; class TGraph : public TNamed, public TAttLine, public TAttFill, public TAttMarker { protected: Int_t fMaxSize; Int_t fNpoints; Double_t *fX; Double_t *fY; TList *fFunctions; TH1F *fHistogram; Double_t fMinimum; Double_t fMaximum; static void SwapValues(Double_t* arr, Int_t pos1, Int_t pos2); virtual void SwapPoints(Int_t pos1, Int_t pos2); virtual Double_t **Allocate(Int_t newsize); Double_t **AllocateArrays(Int_t Narrays, Int_t arraySize); virtual Bool_t CopyPoints(Double_t **newarrays, Int_t ibegin, Int_t iend, Int_t obegin); virtual void CopyAndRelease(Double_t **newarrays, Int_t ibegin, Int_t iend, Int_t obegin); Bool_t CtorAllocate(); Double_t **ExpandAndCopy(Int_t size, Int_t iend); virtual void FillZero(Int_t begin, Int_t end, Bool_t from_ctor = kTRUE); Double_t **ShrinkAndCopy(Int_t size, Int_t iend); virtual Int_t DoFit(TF1 *f1,Option_t *option,Option_t *goption, Axis_t xmin, Axis_t xmax); public: enum { kClipFrame = (1 << (10)), kNotEditable = (1 << (18)) }; TGraph(); TGraph(Int_t n); TGraph(Int_t n, const Int_t *x, const Int_t *y); TGraph(Int_t n, const Float_t *x, const Float_t *y); TGraph(Int_t n, const Double_t *x, const Double_t *y); TGraph(const TGraph &gr); TGraph& operator=(const TGraph&); TGraph(const TVectorF &vx, const TVectorF &vy); TGraph(const TVectorD &vx, const TVectorD &vy); TGraph(const TH1 *h); TGraph(const TF1 *f, Option_t *option=""); TGraph(const char *filename, const char *format="%lg %lg", Option_t *option=""); virtual ~TGraph(); virtual void Apply(TF1 *f); virtual void Browse(TBrowser *b); virtual Double_t Chisquare(const TF1 *f1) const; static Bool_t CompareArg(const TGraph* gr, Int_t left, Int_t right); static Bool_t CompareX(const TGraph* gr, Int_t left, Int_t right); static Bool_t CompareY(const TGraph* gr, Int_t left, Int_t right); static Bool_t CompareRadius(const TGraph* gr, Int_t left, Int_t right); virtual void ComputeRange(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) const; virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); virtual void Draw(Option_t *chopt=""); virtual void DrawGraph(Int_t n, const Int_t *x, const Int_t *y, Option_t *option=""); virtual void DrawGraph(Int_t n, const Float_t *x, const Float_t *y, Option_t *option=""); virtual void DrawGraph(Int_t n, const Double_t *x=0, const Double_t *y=0, Option_t *option=""); virtual void DrawPanel(); virtual Double_t Eval(Double_t x, TSpline *spline=0, Option_t *option="") const; virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); virtual void Expand(Int_t newsize); virtual void Expand(Int_t newsize, Int_t step); virtual TObject *FindObject(const char *name) const; virtual TObject *FindObject(const TObject *obj) const; virtual Int_t Fit(const char *formula ,Option_t *option="" ,Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0); virtual Int_t Fit(TF1 *f1 ,Option_t *option="" ,Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0); virtual void FitPanel(); Bool_t GetEditable() const; TF1 *GetFunction(const char *name) const; TH1F *GetHistogram() const; TList *GetListOfFunctions() const { return fFunctions; } virtual Double_t GetCorrelationFactor() const; virtual Double_t GetCovariance() const; virtual Double_t GetMean(Int_t axis=1) const; virtual Double_t GetRMS(Int_t axis=1) const; Int_t GetMaxSize() const {return fMaxSize;} Int_t GetN() const {return fNpoints;} virtual Double_t GetErrorX(Int_t bin) const; virtual Double_t GetErrorY(Int_t bin) const; virtual Double_t GetErrorXhigh(Int_t bin) const; virtual Double_t GetErrorXlow(Int_t bin) const; virtual Double_t GetErrorYhigh(Int_t bin) const; virtual Double_t GetErrorYlow(Int_t bin) const; Double_t *GetX() const {return fX;} Double_t *GetY() const {return fY;} virtual Double_t *GetEX() const {return 0;} virtual Double_t *GetEY() const {return 0;} virtual Double_t *GetEXhigh() const {return 0;} virtual Double_t *GetEXlow() const {return 0;} virtual Double_t *GetEYhigh() const {return 0;} virtual Double_t *GetEYlow() const {return 0;} virtual Double_t *GetEXlowd() const {return 0;} virtual Double_t *GetEXhighd() const {return 0;} virtual Double_t *GetEYlowd() const {return 0;} virtual Double_t *GetEYhighd() const {return 0;} Double_t GetMaximum() const {return fMaximum;} Double_t GetMinimum() const {return fMinimum;} TAxis *GetXaxis() const ; TAxis *GetYaxis() const ; virtual Int_t GetPoint(Int_t i, Double_t &x, Double_t &y) const; virtual void InitExpo(Double_t xmin=0, Double_t xmax=0); virtual void InitGaus(Double_t xmin=0, Double_t xmax=0); virtual void InitPolynom(Double_t xmin=0, Double_t xmax=0); virtual Int_t InsertPoint(); virtual Bool_t IsEditable() const {return !TestBit(kNotEditable);} virtual void LeastSquareFit(Int_t m, Double_t *a, Double_t xmin=0, Double_t xmax=0); virtual void LeastSquareLinearFit(Int_t n, Double_t &a0, Double_t &a1, Int_t &ifail, Double_t xmin=0, Double_t xmax=0); virtual Int_t Merge(TCollection* list); virtual void Paint(Option_t *chopt=""); void PaintGraph(Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt); void PaintGrapHist(Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt); virtual void PaintStats(TF1 *fit); virtual void Print(Option_t *chopt="") const; virtual void RecursiveRemove(TObject *obj); virtual Int_t RemovePoint(); virtual Int_t RemovePoint(Int_t ipoint); virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SetEditable(Bool_t editable=kTRUE); virtual void SetHistogram(TH1 *h) {fHistogram = (TH1F*)h;} virtual void SetMaximum(Double_t maximum=-1111); virtual void SetMinimum(Double_t minimum=-1111); virtual void Set(Int_t n); virtual void SetPoint(Int_t i, Double_t x, Double_t y); virtual void SetTitle(const char *title=""); virtual void Sort(Bool_t (*greater)(const TGraph*, Int_t, Int_t)=&TGraph::CompareX, Bool_t ascending=kTRUE, Int_t low=0, Int_t high=-1111); virtual void UseCurrentStyle(); void Zero(Int_t &k,Double_t AZ,Double_t BZ,Double_t E2,Double_t &X,Double_t &Y,Int_t maxiterations); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 4; } static void Dictionary(); virtual TClass *IsA() const { return TGraph::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGraph::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGraph.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 185; } }; inline Double_t **TGraph::Allocate(Int_t newsize) { return AllocateArrays(2, newsize); } # 26 "/products/root_522/include/root/TGraphAsymmErrors.h" 2 class TGraphAsymmErrors : public TGraph { protected: Double_t *fEXlow; Double_t *fEXhigh; Double_t *fEYlow; Double_t *fEYhigh; Double_t Beta_ab(double a, double b, int k, int N) const; Double_t Ibetai(double a, double b, double x) const; Double_t Betai(double a, double b, double x) const; Double_t Brent(double ax, double bx, double cx, double tol, double *xmin) const; virtual void Efficiency(int k, int N, double conflevel, double& mode, double& low, double& high) const; Double_t Interval(double low) const; Double_t SearchLower(double high, int k, int N, double c) const; Double_t SearchUpper(double low, int k, int N, double c) const; virtual void SwapPoints(Int_t pos1, Int_t pos2); virtual Double_t** Allocate(Int_t size); virtual void CopyAndRelease(Double_t **newarrays, Int_t ibegin, Int_t iend, Int_t obegin); virtual Bool_t CopyPoints(Double_t **arrays, Int_t ibegin, Int_t iend, Int_t obegin); Bool_t CtorAllocate(); virtual void FillZero(Int_t begin, Int_t end, Bool_t from_ctor = kTRUE); public: TGraphAsymmErrors(); TGraphAsymmErrors(Int_t n); TGraphAsymmErrors(Int_t n, const Float_t *x, const Float_t *y, const Float_t *exl=0, const Float_t *exh=0, const Float_t *eyl=0, const Float_t *eyh=0); TGraphAsymmErrors(Int_t n, const Double_t *x, const Double_t *y, const Double_t *exl=0, const Double_t *exh=0, const Double_t *eyl=0, const Double_t *eyh=0); TGraphAsymmErrors(const TVectorF &vx, const TVectorF &vy, const TVectorF &vexl, const TVectorF &vexh, const TVectorF &veyl, const TVectorF &veyh); TGraphAsymmErrors(const TVectorD &vx, const TVectorD &vy, const TVectorD &vexl, const TVectorD &vexh, const TVectorD &veyl, const TVectorD &veyh); TGraphAsymmErrors(const TGraphAsymmErrors &gr); TGraphAsymmErrors& operator=(const TGraphAsymmErrors &gr); TGraphAsymmErrors(const TH1 *h); TGraphAsymmErrors(const TH1 *pass, const TH1 *total, Option_t *option=""); virtual ~TGraphAsymmErrors(); virtual void Apply(TF1 *f); virtual void BayesDivide(const TH1 *pass, const TH1 *total, Option_t *option=""); virtual void ComputeRange(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) const; Double_t GetErrorX(Int_t bin) const; Double_t GetErrorY(Int_t bin) const; Double_t GetErrorXlow(Int_t i) const; Double_t GetErrorXhigh(Int_t i) const; Double_t GetErrorYlow(Int_t i) const; Double_t GetErrorYhigh(Int_t i) const; Double_t *GetEXlow() const {return fEXlow;} Double_t *GetEXhigh() const {return fEXhigh;} Double_t *GetEYlow() const {return fEYlow;} Double_t *GetEYhigh() const {return fEYhigh;} virtual void Print(Option_t *chopt="") const; virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SetPointError(Double_t exl, Double_t exh, Double_t eyl, Double_t eyh); virtual void SetPointError(Int_t i, Double_t exl, Double_t exh, Double_t eyl, Double_t eyh); virtual void SetPointEXlow(Int_t i, Double_t exl); virtual void SetPointEXhigh(Int_t i, Double_t exh); virtual void SetPointEYlow(Int_t i, Double_t eyl); virtual void SetPointEYhigh(Int_t i, Double_t eyh); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 3; } static void Dictionary(); virtual TClass *IsA() const { return TGraphAsymmErrors::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGraphAsymmErrors::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGraphAsymmErrors.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 92; } }; inline Double_t** TGraphAsymmErrors::Allocate(Int_t size) { return AllocateArrays(6, size); } # 13 "VBFStudy.cxx" 2 # 1 "/products/root_522/include/root/TGaxis.h" 1 # 30 "/products/root_522/include/root/TGaxis.h" # 1 "/products/root_522/include/root/TLine.h" 1 # 33 "/products/root_522/include/root/TLine.h" class TLine : public TObject, public TAttLine { protected: Double_t fX1; Double_t fY1; Double_t fX2; Double_t fY2; public: enum { kLineNDC = (1 << (14)), kVertical = (1 << (15)), kHorizontal = (1 << (16)) }; TLine(); TLine(Double_t x1, Double_t y1,Double_t x2, Double_t y2); TLine(const TLine &line); virtual ~TLine(); void Copy(TObject &line) const; virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); virtual TLine *DrawLine(Double_t x1, Double_t y1,Double_t x2, Double_t y2); virtual TLine *DrawLineNDC(Double_t x1, Double_t y1,Double_t x2, Double_t y2); virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); Double_t GetX1() const {return fX1;} Double_t GetX2() const {return fX2;} Double_t GetY1() const {return fY1;} Double_t GetY2() const {return fY2;} Bool_t IsHorizontal(); Bool_t IsVertical(); virtual void ls(Option_t *option="") const; virtual void Paint(Option_t *option=""); virtual void PaintLine(Double_t x1, Double_t y1,Double_t x2, Double_t y2); virtual void PaintLineNDC(Double_t u1, Double_t v1,Double_t u2, Double_t v2); virtual void Print(Option_t *option="") const; virtual void SavePrimitive(ostream &out, Option_t *option = ""); void SetHorizontal(Bool_t set = kTRUE); void SetVertical(Bool_t set = kTRUE); virtual void SetX1(Double_t x1) {fX1=x1;} virtual void SetX2(Double_t x2) {fX2=x2;} virtual void SetY1(Double_t y1) {fY1=y1;} virtual void SetY2(Double_t y2) {fY2=y2;} private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 2; } static void Dictionary(); virtual TClass *IsA() const { return TLine::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TLine::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TLine.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 78; } }; # 31 "/products/root_522/include/root/TGaxis.h" 2 # 1 "/products/root_522/include/root/TAttText.h" 1 # 32 "/products/root_522/include/root/TAttText.h" class TAttText { protected: Float_t fTextAngle; Float_t fTextSize; Short_t fTextAlign; Color_t fTextColor; Font_t fTextFont; public: TAttText(); TAttText(Int_t align, Float_t angle, Color_t color, Style_t font, Float_t tsize); virtual ~TAttText(); void Copy(TAttText &atttext) const; virtual Short_t GetTextAlign() const {return fTextAlign;} virtual Float_t GetTextAngle() const {return fTextAngle;} virtual Color_t GetTextColor() const {return fTextColor;} virtual Font_t GetTextFont() const {return fTextFont;} virtual Float_t GetTextSize() const {return fTextSize;} virtual void Modify(); virtual void ResetAttText(Option_t *toption=""); virtual void SaveTextAttributes(ostream &out, const char *name, Int_t alidef=12, Float_t angdef=0, Int_t coldef=1, Int_t fondef=61, Float_t sizdef=1); virtual void SetTextAttributes(); virtual void SetTextAlign(Short_t align=11) { fTextAlign = align;} virtual void SetTextAngle(Float_t tangle=0) { fTextAngle = tangle;} virtual void SetTextColor(Color_t tcolor=1) { fTextColor = tcolor;} virtual void SetTextFont(Font_t tfont=62) { fTextFont = tfont;} virtual void SetTextSize(Float_t tsize=1) { fTextSize = tsize;} virtual void SetTextSizePixels(Int_t npixels); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TAttText::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TAttText::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TAttText.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 62; } }; # 34 "/products/root_522/include/root/TGaxis.h" 2 class TF1; class TAxis; class TGaxis : public TLine, public TAttText { protected: Double_t fWmin; Double_t fWmax; Float_t fGridLength; Float_t fTickSize; Float_t fLabelOffset; Float_t fLabelSize; Float_t fTitleOffset; Float_t fTitleSize; Int_t fNdiv; Int_t fLabelColor; Int_t fLabelFont; TString fChopt; TString fName; TString fTitle; TString fTimeFormat; TString fFunctionName; TF1 *fFunction; TAxis *fAxis; static Int_t fgMaxDigits; TGaxis(const TGaxis&); TGaxis& operator=(const TGaxis&); public: TGaxis(); TGaxis(Double_t xmin,Double_t ymin,Double_t xmax,Double_t ymax, Double_t wmin,Double_t wmax,Int_t ndiv=510, Option_t *chopt="", Double_t gridlength = 0); TGaxis(Double_t xmin,Double_t ymin,Double_t xmax,Double_t ymax, const char *funcname, Int_t ndiv=510, Option_t *chopt="", Double_t gridlength = 0); virtual ~TGaxis(); virtual void AdjustBinSize(Double_t A1, Double_t A2, Int_t nold ,Double_t &BinLow, Double_t &BinHigh, Int_t &nbins, Double_t &BinWidth); virtual void CenterLabels(Bool_t center=kTRUE); virtual void CenterTitle(Bool_t center=kTRUE); virtual void DrawAxis(Double_t xmin,Double_t ymin,Double_t xmax,Double_t ymax, Double_t wmin,Double_t wmax,Int_t ndiv=510, Option_t *chopt="", Double_t gridlength = 0); Float_t GetGridLength() const {return fGridLength;} TF1 *GetFunction() const {return fFunction;} Int_t GetLabelColor() const {return fLabelColor;} Int_t GetLabelFont() const {return fLabelFont;} Float_t GetLabelOffset() const {return fLabelOffset;} Float_t GetLabelSize() const {return fLabelSize;} Float_t GetTitleOffset() const {return fTitleOffset;} Float_t GetTitleSize() const {return fTitleSize;} virtual const char *GetName() const {return fName.Data();} virtual const char *GetOption() const {return fChopt.Data();} virtual const char *GetTitle() const {return fTitle.Data();} static Int_t GetMaxDigits(); Int_t GetNdiv() const {return fNdiv;} Double_t GetWmin() const {return fWmin;} Double_t GetWmax() const {return fWmax;} Float_t GetTickSize() const {return fTickSize;} virtual void ImportAxisAttributes(TAxis *axis); void LabelsLimits(const char *label, Int_t &first, Int_t &last); virtual void Paint(Option_t *chopt=""); virtual void PaintAxis(Double_t xmin,Double_t ymin,Double_t xmax,Double_t ymax, Double_t &wmin,Double_t &wmax,Int_t &ndiv, Option_t *chopt="", Double_t gridlength = 0, Bool_t drawGridOnly = kFALSE); virtual void Rotate(Double_t X, Double_t Y, Double_t CFI, Double_t SFI ,Double_t XT, Double_t YT, Double_t &U, Double_t &V); virtual void SavePrimitive(ostream &out, Option_t *option = ""); void SetFunction(const char *funcname=""); void SetOption(Option_t *option=""); void SetLabelColor(Int_t labelcolor) {fLabelColor = labelcolor;} void SetLabelFont(Int_t labelfont) {fLabelFont = labelfont;} void SetLabelOffset(Float_t labeloffset) {fLabelOffset = labeloffset;} void SetLabelSize(Float_t labelsize) {fLabelSize = labelsize;} static void SetMaxDigits(Int_t maxd=5); virtual void SetName(const char *name); virtual void SetNdivisions(Int_t ndiv) {fNdiv = ndiv;} virtual void SetMoreLogLabels(Bool_t more=kTRUE); virtual void SetNoExponent(Bool_t noExponent=kTRUE); virtual void SetDecimals(Bool_t dot=kTRUE); void SetTickSize(Float_t ticksize) {fTickSize = ticksize;} void SetGridLength(Float_t gridlength) {fGridLength = gridlength;} void SetTimeFormat(const char *tformat); void SetTimeOffset(Double_t toffset, Option_t *option="local"); virtual void SetTitle(const char *title=""); void SetTitleOffset(Float_t titleoffset=1) {fTitleOffset = titleoffset;} void SetTitleSize(Float_t titlesize) {fTitleSize = titlesize;} void SetTitleFont(Int_t titlefont) {SetTextFont(titlefont);} void SetTitleColor(Int_t titlecolor) {SetTextColor(titlecolor);} void SetWmin(Double_t wmin) {fWmin = wmin;} void SetWmax(Double_t wmax) {fWmax = wmax;} private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 5; } static void Dictionary(); virtual TClass *IsA() const { return TGaxis::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGaxis::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGaxis.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 133; } }; # 14 "VBFStudy.cxx" 2 # 1 "/products/root_522/include/root/TF1.h" 1 # 27 "/products/root_522/include/root/TF1.h" # 1 "/products/root_522/include/root/TFormula.h" 1 # 30 "/products/root_522/include/root/TFormula.h" # 1 "/products/root_522/include/root/TBits.h" 1 # 33 "/products/root_522/include/root/TBits.h" class TBits : public TObject { protected: UInt_t fNbits; UInt_t fNbytes; UChar_t *fAllBits; void ReserveBytes(UInt_t nbytes); void DoAndEqual(const TBits& rhs); void DoOrEqual (const TBits& rhs); void DoXorEqual(const TBits& rhs); void DoLeftShift(UInt_t shift); void DoRightShift(UInt_t shift); void DoFlip(); public: TBits(UInt_t nbits = 8); TBits(const TBits&); TBits& operator=(const TBits&); virtual ~TBits(); class TReference { friend class TBits; TBits &fBits; UInt_t fPos; TReference(); public: TReference(TBits& bit, UInt_t pos) : fBits(bit),fPos(pos) { } ~TReference() { } TReference& operator=(Bool_t val); TReference& operator=(const TReference& rhs); Bool_t operator~() const; operator Bool_t() const; }; void ResetAllBits(Bool_t value=kFALSE); void ResetBitNumber(UInt_t bitnumber); void SetBitNumber(UInt_t bitnumber, Bool_t value = kTRUE); Bool_t TestBitNumber(UInt_t bitnumber) const; TBits::TReference operator[](UInt_t bitnumber) { return TReference(*this,bitnumber); } Bool_t operator[](UInt_t bitnumber) const; TBits& operator&=(const TBits& rhs) { DoAndEqual(rhs); return *this; } TBits& operator|=(const TBits& rhs) { DoOrEqual(rhs); return *this; } TBits& operator^=(const TBits& rhs) { DoXorEqual(rhs); return *this; } TBits& operator<<=(UInt_t rhs) { DoLeftShift(rhs); return *this; } TBits& operator>>=(UInt_t rhs) { DoRightShift(rhs); return *this; } TBits operator<<(UInt_t rhs) { return TBits(*this)<<= rhs; } TBits operator>>(UInt_t rhs) { return TBits(*this)>>= rhs; } TBits operator~() { TBits res(*this); res.DoFlip(); return res; } void Set(UInt_t nbits, const Char_t *array); void Set(UInt_t nbits, const UChar_t *array) { Set(nbits, (const Char_t*)array); } void Set(UInt_t nbits, const Short_t *array); void Set(UInt_t nbits, const UShort_t *array) { Set(nbits, (const Short_t*)array); } void Set(UInt_t nbits, const Int_t *array); void Set(UInt_t nbits, const UInt_t *array) { Set(nbits, (const Int_t*)array); } void Set(UInt_t nbits, const Long64_t *array); void Set(UInt_t nbits, const ULong64_t *array) { Set(nbits, (const Long64_t*)array); } # 124 "/products/root_522/include/root/TBits.h" void Get(Char_t *array) const; void Get(UChar_t *array) const { Get((Char_t*)array); } void Get(Short_t *array) const; void Get(UShort_t *array) const { Get((Short_t*)array); } void Get(Int_t *array) const; void Get(UInt_t *array) const { Get((Int_t*)array); } void Get(Long64_t *array) const; void Get(ULong64_t *array) const { Get((Long64_t*)array); } void Clear(Option_t *option=""); void Compact(); UInt_t CountBits(UInt_t startBit=0) const ; UInt_t FirstNullBit(UInt_t startBit=0) const; UInt_t FirstSetBit(UInt_t startBit=0) const; UInt_t GetNbits() const { return fNbits; } UInt_t GetNbytes() const { return fNbytes; } Bool_t operator==(const TBits &other) const; Bool_t operator!=(const TBits &other) const { return !(*this==other); } void Paint(Option_t *option=""); void Print(Option_t *option="") const; void Output(ostream &) const; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TBits::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TBits::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TBits.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 149; } }; inline Bool_t operator&(const TBits::TReference& lhs, const TBits::TReference& rhs) { return (bool)lhs & rhs; } inline Bool_t operator|(const TBits::TReference& lhs, const TBits::TReference& rhs) { return (bool)lhs | rhs; } inline Bool_t operator^(const TBits::TReference& lhs, const TBits::TReference& rhs) { return (bool)lhs ^ rhs; } inline TBits operator&(const TBits& lhs, const TBits& rhs) { TBits result(lhs); result &= rhs; return result; } inline TBits operator|(const TBits& lhs, const TBits& rhs) { TBits result(lhs); result |= rhs; return result; } inline TBits operator^(const TBits& lhs, const TBits& rhs) { TBits result(lhs); result ^= rhs; return result; } inline ostream &operator<<(ostream& os, const TBits& rhs) { rhs.Output(os); return os; } inline void TBits::SetBitNumber(UInt_t bitnumber, Bool_t value) { if (bitnumber >= fNbits) { UInt_t new_size = (bitnumber/8) + 1; if (new_size > fNbytes) { new_size *= 2; UChar_t *old_location = fAllBits; fAllBits = new UChar_t[new_size]; memcpy(fAllBits,old_location,fNbytes); memset(fAllBits+fNbytes ,0, new_size-fNbytes); fNbytes = new_size; delete [] old_location; } fNbits = bitnumber+1; } UInt_t loc = bitnumber/8; UChar_t bit = bitnumber%8; if (value) fAllBits[loc] |= (1<= fNbits) return kFALSE; UInt_t loc = bitnumber/8; UChar_t value = fAllBits[loc]; UChar_t bit = bitnumber%8; Bool_t result = (value & (1< { private: const TObjArray *fArray; Int_t fCurCursor; Int_t fCursor; Bool_t fDirection; TObjArrayIter() : fArray(0), fCurCursor(0), fCursor(0), fDirection(kIterForward) { } public: TObjArrayIter(const TObjArray *arr, Bool_t dir = kIterForward); TObjArrayIter(const TObjArrayIter &iter); ~TObjArrayIter() { } TIterator &operator=(const TIterator &rhs); TObjArrayIter &operator=(const TObjArrayIter &rhs); const TCollection *GetCollection() const { return fArray; } TObject *Next(); void Reset(); bool operator!=(const TIterator &aIter) const; bool operator!=(const TObjArrayIter &aIter) const; TObject *operator*() const; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TObjArrayIter::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TObjArrayIter::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TObjArray.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 138; } }; inline Bool_t TObjArray::BoundsOk(const char *where, Int_t at) const { return (at < fLowerBound || at-fLowerBound >= fSize) ? OutOfBoundsError(where, at) : kTRUE; } inline TObject *TObjArray::At(Int_t i) const { int j = i-fLowerBound; if (j >= 0 && j < fSize) return fCont[j]; BoundsOk("At", i); return 0; } # 34 "/products/root_522/include/root/TFormula.h" 2 # 1 "/products/root_522/include/root/TFormulaPrimitive.h" 1 # 36 "/products/root_522/include/root/TFormulaPrimitive.h" class TFormula; class TFormulaPrimitive : public TNamed { friend class TFormula; public: typedef Double_t (*GenFuncG)(const Double_t*,const Double_t*); typedef Double_t (*GenFunc0)(); typedef Double_t (*GenFunc10)(Double_t); typedef Double_t (*GenFunc110)(Double_t,Double_t); typedef Double_t (*GenFunc1110)(Double_t,Double_t, Double_t); typedef Double_t (TObject::*TFuncG)(const Double_t*,const Double_t*) const; typedef Double_t (TObject::*TFunc0)() const; typedef Double_t (TObject::*TFunc10)(Double_t) const; typedef Double_t (TObject::*TFunc110)(Double_t,Double_t) const; typedef Double_t (TObject::*TFunc1110)(Double_t,Double_t,Double_t) const; protected: static TObjArray * fgListOfFunction; static Int_t BuildBasicFormulas(); GenFuncG fFuncG; GenFunc0 fFunc0; GenFunc10 fFunc10; GenFunc110 fFunc110; GenFunc1110 fFunc1110; TFuncG fTFuncG; TFunc0 fTFunc0; TFunc10 fTFunc10; TFunc110 fTFunc110; TFunc1110 fTFunc1110; Int_t fType; Int_t fNArguments; Int_t fNParameters; Bool_t fIsStatic; private: TFormulaPrimitive(const TFormulaPrimitive&); TFormulaPrimitive& operator=(const TFormulaPrimitive&); public: TFormulaPrimitive(); TFormulaPrimitive(const char *name,const char *formula, GenFunc0 fpointer); TFormulaPrimitive(const char *name,const char *formula, GenFunc10 fpointer); TFormulaPrimitive(const char *name,const char *formula, GenFunc110 fpointer); TFormulaPrimitive(const char *name,const char *formula, GenFunc1110 fpointer); TFormulaPrimitive(const char *name,const char *formula, GenFuncG fpointer,Int_t npar); TFormulaPrimitive(const char *name,const char *formula, TFunc0 fpointer); TFormulaPrimitive(const char *name,const char *formula, TFunc10 fpointer); TFormulaPrimitive(const char *name,const char *formula, TFunc110 fpointer); TFormulaPrimitive(const char *name,const char *formula, TFunc1110 fpointer); TFormulaPrimitive(const char *name,const char *formula, TFuncG fpointer); static Int_t AddFormula(TFormulaPrimitive * formula); static TFormulaPrimitive* FindFormula(const char* name); Double_t Eval(Double_t* x); Double_t Eval(TObject *o, Double_t *x); Double_t Eval(Double_t *x, Double_t *param); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TFormulaPrimitive::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TFormulaPrimitive::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TFormulaPrimitive.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 90; } }; # 36 "/products/root_522/include/root/TFormula.h" 2 const Int_t kMAXFOUND = 500; const Int_t kTFOperMask = 0x7fffff; const UChar_t kTFOperShift = 23; class TOperOffset { friend class TFormula; public: enum { kVariable = 0, kParameter = 1, kConstant = 2 }; TOperOffset(); protected: Short_t fType0; Short_t fOffset0; Short_t fType1; Short_t fOffset1; Short_t fType2; Short_t fOffset2; Short_t fType3; Short_t fOffset3; Short_t fToJump; Short_t fOldAction; }; class TFormula : public TNamed { protected: Int_t fNdim; Int_t fNpar; Int_t fNoper; Int_t fNconst; Int_t fNumber; Int_t fNval; Int_t fNstring; TString *fExpr; private: Int_t *fOper; protected: Double_t *fConst; Double_t *fParams; TString *fNames; TObjArray fFunctions; TObjArray fLinearParts; TBits fAlreadyFound; Int_t fNOperOptimized; TString *fExprOptimized; Int_t *fOperOptimized; TOperOffset *fOperOffset; TFormulaPrimitive **fPredefined; Int_t PreCompile(); void MakePrimitive(const char *expr, Int_t pos); inline Int_t *GetOper() const { return fOper; } inline Short_t GetAction(Int_t code) const { return fOper[code] >> kTFOperShift; } inline Int_t GetActionParam(Int_t code) const { return fOper[code] & kTFOperMask; } inline void SetAction(Int_t code, Int_t value, Int_t param = 0) { fOper[code] = (value) << kTFOperShift; fOper[code] += param; } inline Int_t *GetOperOptimized() const { return fOperOptimized; } inline Short_t GetActionOptimized(Int_t code) const { return fOperOptimized[code] >> kTFOperShift; } inline Int_t GetActionParamOptimized(Int_t code) const { return fOperOptimized[code] & kTFOperMask; } inline void SetActionOptimized(Int_t code, Int_t value, Int_t param = 0) { fOperOptimized[code] = (value) << kTFOperShift; fOperOptimized[code] += param; } void ClearFormula(Option_t *option=""); virtual Bool_t IsString(Int_t oper) const; virtual void Convert(UInt_t fromVersion); Double_t EvalParFast(const Double_t *x, const Double_t *params); Double_t EvalPrimitive(const Double_t *x, const Double_t *params); Double_t EvalPrimitive0(const Double_t *x, const Double_t *params); Double_t EvalPrimitive1(const Double_t *x, const Double_t *params); Double_t EvalPrimitive2(const Double_t *x, const Double_t *params); Double_t EvalPrimitive3(const Double_t *x, const Double_t *params); Double_t EvalPrimitive4(const Double_t *x, const Double_t *params); enum { kEnd = 0, kAdd = 1, kSubstract = 2, kMultiply = 3, kDivide = 4, kModulo = 5, kcos = 10, ksin = 11 , ktan = 12, kacos = 13, kasin = 14 , katan = 15, katan2 = 16, kfmod = 17, kpow = 20, ksq = 21, ksqrt = 22, kstrstr = 23, kmin = 24, kmax = 25, klog = 30, kexp = 31, klog10 = 32, kpi = 40, kabs = 41 , ksign= 42, kint = 43 , kSignInv= 44 , krndm = 50 , kAnd = 60, kOr = 61, kEqual = 62, kNotEqual = 63, kLess = 64, kGreater = 65, kLessThan = 66, kGreaterThan = 67, kNot = 68, kcosh = 70 , ksinh = 71, ktanh = 72, kacosh = 73 , kasinh = 74, katanh = 75, kStringEqual = 76, kStringNotEqual = 77, kBitAnd = 78, kBitOr = 79, kLeftShift = 80, kRightShift = 81, kexpo = 100 , kxexpo = 100, kyexpo = 101, kzexpo = 102, kxyexpo = 105, kgaus = 110 , kxgaus = 110, kygaus = 111, kzgaus = 112, kxygaus = 115, klandau = 120 , kxlandau = 120, kylandau = 121, kzlandau = 122, kxylandau = 125, kpol = 130 , kxpol = 130, kypol = 131, kzpol = 132, kParameter = 140, kConstant = 141, kBoolOptimize = 142, kStringConst = 143, kVariable = 144, kFunctionCall = 145, kData = 146, kUnary = 147, kBinary = 148, kThree = 149, kDefinedVariable = 150, kDefinedString = 151, kPlusD = 152, kPlusDD = 153, kMultD = 154, kMultDD = 155, kBoolOptimizeOr = 156, kBoolOptimizeAnd = 157, kBoolSet = 158, kFDM = 159, kFD0 = 160, kFD1 = 161, kFD2 = 162, kFD3 = 163 }; public: enum { kNotGlobal = (1 << (10)), kNormalized = (1 << (14)), kLinear = (1 << (16)) }; TFormula(); TFormula(const char *name,const char *formula); TFormula(const TFormula &formula); TFormula& operator=(const TFormula &rhs); virtual ~TFormula(); public: TFormulaPrimitive::TFuncG fOptimal; void Optimize(); virtual void Analyze(const char *schain, Int_t &err, Int_t offset=0); virtual Bool_t AnalyzeFunction(TString &chaine, Int_t &err, Int_t offset=0); virtual Int_t Compile(const char *expression=""); virtual void Copy(TObject &formula) const; virtual void Clear(Option_t *option=""); virtual char *DefinedString(Int_t code); virtual Double_t DefinedValue(Int_t code); virtual Int_t DefinedVariable(TString &variable,Int_t &action); virtual Double_t Eval(Double_t x, Double_t y=0, Double_t z=0, Double_t t=0) const; virtual Double_t EvalParOld(const Double_t *x, const Double_t *params=0); virtual Double_t EvalPar(const Double_t *x, const Double_t *params=0){return ((*this).*fOptimal)(x,params);}; virtual const TObject *GetLinearPart(Int_t i); virtual Int_t GetNdim() const {return fNdim;} virtual Int_t GetNpar() const {return fNpar;} virtual Int_t GetNumber() const {return fNumber;} virtual TString GetExpFormula(Option_t *option="") const; Double_t GetParameter(Int_t ipar) const; Double_t GetParameter(const char *name) const; virtual Double_t *GetParameters() const {return fParams;} virtual void GetParameters(Double_t *params){for(Int_t i=0;i class ParamFunctorHandler : public ParentFunctor::Impl { typedef typename ParentFunctor::Impl Base; public: ParamFunctorHandler(const Func & fun) : fFunc(fun) {} virtual ~ParamFunctorHandler() {} inline double operator() (double x, double *p) { return fFunc(x,p); } inline double operator() (double * x, double *p) { return FuncEvaluator::Eval(fFunc,x,p); } ParamFunctorHandler * Clone() const { return new ParamFunctorHandler(fFunc); } private : Func fFunc; template struct FuncEvaluator { inline static double Eval( F & f, double *x, double * p) { return f(x,p); } }; template struct FuncEvaluator { inline static double Eval( F * f, double *x, double * p) { return (*f)(x,p); } }; template struct FuncEvaluator { inline static double Eval( const F * f, double *x, double * p) { return (*f)(x,p); } }; }; # 146 "/products/root_522/include/root/Math/ParamFunctor.h" template class ParamMemFunHandler : public ParentFunctor::Impl { typedef typename ParentFunctor::Impl Base; public: ParamMemFunHandler(const PointerToObj& pObj, PointerToMemFn pMemFn) : fObj(pObj), fMemFn(pMemFn) {} virtual ~ParamMemFunHandler() {} inline double operator() (double x, double * p) { return ((*fObj).*fMemFn)(x,p); } inline double operator() (double * x, double * p) { return ((*fObj).*fMemFn)(x,p); } ParamMemFunHandler * Clone() const { return new ParamMemFunHandler(fObj, fMemFn); } private : ParamMemFunHandler(const ParamMemFunHandler&); ParamMemFunHandler& operator=(const ParamMemFunHandler&); PointerToObj fObj; PointerToMemFn fMemFn; }; # 209 "/products/root_522/include/root/Math/ParamFunctor.h" class ParamFunctor { public: typedef ParamFunctionBase Impl; ParamFunctor () : fImpl(0) {} template ParamFunctor(const PtrObj& p, MemFn memFn) : fImpl(new ParamMemFunHandler(p, memFn)) {} template explicit ParamFunctor( const Func & f) : fImpl(new ParamFunctorHandler(f) ) {} typedef double (* FreeFunc ) (double * , double *); ParamFunctor(FreeFunc f) : fImpl(new ParamFunctorHandler(f) ) { } virtual ~ParamFunctor () { if (fImpl) delete fImpl; } ParamFunctor(const ParamFunctor & rhs) : fImpl(0) { if (rhs.fImpl != 0) fImpl = rhs.fImpl->Clone(); } ParamFunctor & operator = (const ParamFunctor & rhs) { if (fImpl) delete fImpl; fImpl = 0; if (rhs.fImpl != 0) fImpl = rhs.fImpl->Clone(); return *this; } void * GetImpl() { return (void *) fImpl; } double operator() (double * x, double * p) { return (*fImpl)(x,p); } bool Empty() { return fImpl == 0; } void SetFunction(Impl * f) { fImpl = f; } private : Impl * fImpl; }; } } # 41 "/products/root_522/include/root/TF1.h" 2 class TF1; class TH1; class TAxis; class TMethodCall; class TF1 : public TFormula, public TAttLine, public TAttFill, public TAttMarker { protected: Double_t fXmin; Double_t fXmax; Int_t fNpx; Int_t fType; Int_t fNpfits; Int_t fNDF; Int_t fNsave; Double_t fChisquare; Double_t *fIntegral; Double_t *fParErrors; Double_t *fParMin; Double_t *fParMax; Double_t *fSave; Double_t *fAlpha; Double_t *fBeta; Double_t *fGamma; TObject *fParent; TH1 *fHistogram; Double_t fMaximum; Double_t fMinimum; TMethodCall *fMethodCall; void *fCintFunc; ROOT::Math::ParamFunctor fFunctor; static Bool_t fgAbsValue; static Bool_t fgRejectPoint; static TF1 *fgCurrent; void CreateFromFunctor(const char *name, Int_t npar); void CreateFromCintClass(const char *name, void * ptr, Double_t xmin, Double_t xmax, Int_t npar, const char * cname, const char * fname); public: enum { kNotDraw = (1 << (9)) }; TF1(); TF1(const char *name, const char *formula, Double_t xmin=0, Double_t xmax=1); TF1(const char *name, Double_t xmin, Double_t xmax, Int_t npar); TF1(const char *name, void *fcn, Double_t xmin, Double_t xmax, Int_t npar); TF1(const char *name, Double_t (*fcn)(Double_t *, Double_t *), Double_t xmin=0, Double_t xmax=1, Int_t npar=0); TF1(const char *name, Double_t (*fcn)(const Double_t *, const Double_t *), Double_t xmin=0, Double_t xmax=1, Int_t npar=0); TF1(const char *name, ROOT::Math::ParamFunctor f, Double_t xmin = 0, Double_t xmax = 1, Int_t npar = 0); # 108 "/products/root_522/include/root/TF1.h" template TF1(const char *name, Func f, Double_t xmin, Double_t xmax, Int_t npar, const char * = 0 ) : TFormula(), TAttLine(), TAttFill(), TAttMarker(), fXmin ( xmin ), fXmax ( xmax ), fNpx ( 100 ), fType ( 1 ), fNpfits ( 0 ), fNDF ( 0 ), fNsave ( 0 ), fChisquare ( 0 ), fIntegral ( 0 ), fParErrors ( 0 ), fParMin ( 0 ), fParMax ( 0 ), fSave ( 0 ), fAlpha ( 0 ), fBeta ( 0 ), fGamma ( 0 ), fParent ( 0 ), fHistogram ( 0 ), fMaximum ( -1111 ), fMinimum ( -1111 ), fMethodCall ( 0), fCintFunc ( 0 ), fFunctor( ROOT::Math::ParamFunctor(f) ) { CreateFromFunctor(name, npar); } # 149 "/products/root_522/include/root/TF1.h" template TF1(const char *name, const PtrObj& p, MemFn memFn, Double_t xmin, Double_t xmax, Int_t npar, const char * = 0, const char * = 0) : TFormula(), TAttLine(), TAttFill(), TAttMarker(), fXmin ( xmin ), fXmax ( xmax ), fNpx ( 100 ), fType ( 1 ), fNpfits ( 0 ), fNDF ( 0 ), fNsave ( 0 ), fChisquare ( 0 ), fIntegral ( 0 ), fParErrors ( 0 ), fParMin ( 0 ), fParMax ( 0 ), fSave ( 0 ), fAlpha ( 0 ), fBeta ( 0 ), fGamma ( 0 ), fParent ( 0 ), fHistogram ( 0 ), fMaximum ( -1111 ), fMinimum ( -1111 ), fMethodCall( 0 ), fCintFunc ( 0 ), fFunctor ( ROOT::Math::ParamFunctor(p,memFn) ) { CreateFromFunctor(name, npar); } TF1(const char *name, void *ptr, Double_t xmin, Double_t xmax, Int_t npar, const char *className ); TF1(const char *name, void *ptr, void *,Double_t xmin, Double_t xmax, Int_t npar, const char *className, const char *methodName = 0); TF1(const TF1 &f1); TF1& operator=(const TF1 &rhs); virtual ~TF1(); virtual void Browse(TBrowser *b); virtual void Copy(TObject &f1) const; virtual Double_t Derivative (Double_t x, Double_t *params=0, Double_t epsilon=0.001) const; virtual Double_t Derivative2(Double_t x, Double_t *params=0, Double_t epsilon=0.001) const; virtual Double_t Derivative3(Double_t x, Double_t *params=0, Double_t epsilon=0.001) const; static Double_t DerivativeError(); virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); virtual void Draw(Option_t *option=""); virtual TF1 *DrawCopy(Option_t *option="") const; virtual void DrawDerivative(Option_t *option="al"); virtual void DrawIntegral(Option_t *option="al"); virtual void DrawF1(const char *formula, Double_t xmin, Double_t xmax, Option_t *option=""); virtual Double_t Eval(Double_t x, Double_t y=0, Double_t z=0, Double_t t=0) const; virtual Double_t EvalPar(const Double_t *x, const Double_t *params=0); virtual Double_t operator()(Double_t x, Double_t y=0, Double_t z = 0, Double_t t = 0) const; virtual Double_t operator()(const Double_t *x, const Double_t *params=0); virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); virtual void FixParameter(Int_t ipar, Double_t value); Double_t GetChisquare() const {return fChisquare;} TH1 *GetHistogram() const; virtual Double_t GetMaximum(Double_t xmin=0, Double_t xmax=0) const; virtual Double_t GetMinimum(Double_t xmin=0, Double_t xmax=0) const; virtual Double_t GetMaximumX(Double_t xmin=0, Double_t xmax=0) const; virtual Double_t GetMinimumX(Double_t xmin=0, Double_t xmax=0) const; virtual Int_t GetNDF() const; virtual Int_t GetNpx() const {return fNpx;} TMethodCall *GetMethodCall() const {return fMethodCall;} virtual Int_t GetNumberFreeParameters() const; virtual Int_t GetNumberFitPoints() const {return fNpfits;} virtual char *GetObjectInfo(Int_t px, Int_t py) const; TObject *GetParent() const {return fParent;} virtual Double_t GetParError(Int_t ipar) const; virtual Double_t *GetParErrors() const {return fParErrors;} virtual void GetParLimits(Int_t ipar, Double_t &parmin, Double_t &parmax) const; virtual Double_t GetProb() const; virtual Int_t GetQuantiles(Int_t nprobSum, Double_t *q, const Double_t *probSum); virtual Double_t GetRandom(); virtual Double_t GetRandom(Double_t xmin, Double_t xmax); virtual void GetRange(Double_t &xmin, Double_t &xmax) const; virtual void GetRange(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) const; virtual void GetRange(Double_t &xmin, Double_t &ymin, Double_t &zmin, Double_t &xmax, Double_t &ymax, Double_t &zmax) const; virtual Double_t GetSave(const Double_t *x); virtual Double_t GetX(Double_t y, Double_t xmin=0, Double_t xmax=0) const; virtual Double_t GetXmin() const {return fXmin;} virtual Double_t GetXmax() const {return fXmax;} TAxis *GetXaxis() const ; TAxis *GetYaxis() const ; TAxis *GetZaxis() const ; virtual Double_t GradientPar(Int_t ipar, const Double_t *x, Double_t eps=0.01); virtual void GradientPar(const Double_t *x, Double_t *grad, Double_t eps=0.01); virtual void InitArgs(const Double_t *x, const Double_t *params); static void InitStandardFunctions(); virtual Double_t Integral(Double_t a, Double_t b, const Double_t *params=0, Double_t epsilon=1e-12); virtual Double_t Integral(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t epsilon=1e-12); virtual Double_t Integral(Double_t ax, Double_t bx, Double_t ay, Double_t by, Double_t az, Double_t bz, Double_t epsilon=1e-12); virtual Double_t IntegralError(Double_t a, Double_t b, Double_t epsilon=1e-12); virtual Double_t IntegralFast(Int_t num, Double_t *x, Double_t *w, Double_t a, Double_t b, Double_t *params=0, Double_t epsilon=1e-12); virtual Double_t IntegralMultiple(Int_t n, const Double_t *a, const Double_t *b, Int_t minpts, Int_t maxpts, Double_t epsilon, Double_t &relerr,Int_t &nfnevl, Int_t &ifail); virtual Double_t IntegralMultiple(Int_t n, const Double_t *a, const Double_t *b, Double_t epsilon, Double_t &relerr); virtual Bool_t IsInside(const Double_t *x) const; virtual void Paint(Option_t *option=""); virtual void Print(Option_t *option="") const; virtual void ReleaseParameter(Int_t ipar); virtual void Save(Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, Double_t zmin, Double_t zmax); virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SetChisquare(Double_t chi2) {fChisquare = chi2;} template void SetFunction( PtrObj& p, MemFn memFn ); template void SetFunction( Func f ); virtual void SetMaximum(Double_t maximum=-1111); virtual void SetMinimum(Double_t minimum=-1111); virtual void SetNDF(Int_t ndf); virtual void SetNumberFitPoints(Int_t npfits) {fNpfits = npfits;} virtual void SetNpx(Int_t npx=100); virtual void SetParError(Int_t ipar, Double_t error); virtual void SetParErrors(const Double_t *errors); virtual void SetParLimits(Int_t ipar, Double_t parmin, Double_t parmax); virtual void SetParent(TObject *p=0) {fParent = p;} virtual void SetRange(Double_t xmin, Double_t xmax); virtual void SetRange(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax); virtual void SetRange(Double_t xmin, Double_t ymin, Double_t zmin, Double_t xmax, Double_t ymax, Double_t zmax); virtual void SetSavedPoint(Int_t point, Double_t value); virtual void SetTitle(const char *title=""); virtual void Update(); static TF1 *GetCurrent(); static void AbsValue(Bool_t reject=kTRUE); static void RejectPoint(Bool_t reject=kTRUE); static Bool_t RejectedPoint(); static void SetCurrent(TF1 *f1); virtual Double_t Moment(Double_t n, Double_t a, Double_t b, const Double_t *params=0, Double_t epsilon=0.000001); virtual Double_t CentralMoment(Double_t n, Double_t a, Double_t b, const Double_t *params=0, Double_t epsilon=0.000001); virtual Double_t Mean(Double_t a, Double_t b, const Double_t *params=0, Double_t epsilon=0.000001) {return Moment(1,a,b,params,epsilon);} virtual Double_t Variance(Double_t a, Double_t b, const Double_t *params=0, Double_t epsilon=0.000001) {return CentralMoment(2,a,b,params,epsilon);} static void CalcGaussLegendreSamplingPoints(Int_t num, Double_t *x, Double_t *w, Double_t eps=3.0e-11); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 7; } static void Dictionary(); virtual TClass *IsA() const { return TF1::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TF1::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TF1.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 294; } }; inline Double_t TF1::operator()(Double_t x, Double_t y, Double_t z, Double_t t) const { return Eval(x,y,z,t); } inline Double_t TF1::operator()(const Double_t *x, const Double_t *params) { if (fMethodCall) InitArgs(x,params); return EvalPar(x,params); } inline void TF1::SetRange(Double_t xmin, Double_t, Double_t xmax, Double_t) { TF1::SetRange(xmin, xmax); } inline void TF1::SetRange(Double_t xmin, Double_t, Double_t, Double_t xmax, Double_t, Double_t) { TF1::SetRange(xmin, xmax); } template void TF1::SetFunction( Func f ) { fType = 1; fFunctor = ROOT::Math::ParamFunctor(f); } template void TF1::SetFunction( PtrObj& p, MemFn memFn ) { fType = 1; fFunctor = ROOT::Math::ParamFunctor(p,memFn); } # 15 "VBFStudy.cxx" 2 # 1 "/products/root_522/include/root/TLegend.h" 1 # 25 "/products/root_522/include/root/TLegend.h" # 1 "/products/root_522/include/root/TPave.h" 1 # 25 "/products/root_522/include/root/TPave.h" # 1 "/products/root_522/include/root/TBox.h" 1 # 34 "/products/root_522/include/root/TBox.h" class TBox : public TObject, public TAttLine, public TAttFill { private: TObject *fTip; protected: Double_t fX1; Double_t fY1; Double_t fX2; Double_t fY2; Bool_t fResizing; public: enum { kCannotMove = (1 << (12)) }; TBox(); TBox(Double_t x1, Double_t y1,Double_t x2, Double_t y2); TBox(const TBox &box); TBox& operator=(const TBox&); virtual ~TBox(); void Copy(TObject &box) const; virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); virtual void Draw(Option_t *option=""); virtual TBox *DrawBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2); virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); Bool_t IsBeingResized() const { return fResizing; } Double_t GetX1() const { return fX1; } Double_t GetX2() const { return fX2; } Double_t GetY1() const { return fY1; } Double_t GetY2() const { return fY2; } virtual void HideToolTip(Int_t event); virtual void ls(Option_t *option="") const; virtual void Paint(Option_t *option=""); virtual void PaintBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Option_t *option=""); virtual void Print(Option_t *option="") const; virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SetX1(Double_t x1) {fX1=x1;} virtual void SetX2(Double_t x2) {fX2=x2;} virtual void SetY1(Double_t y1) {fY1=y1;} virtual void SetY2(Double_t y2) {fY2=y2;} virtual void SetToolTipText(const char *text, Long_t delayms = 1000); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 2; } static void Dictionary(); virtual TClass *IsA() const { return TBox::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TBox::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TBox.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 78; } }; # 26 "/products/root_522/include/root/TPave.h" 2 class TPave : public TBox { protected: Double_t fX1NDC; Double_t fY1NDC; Double_t fX2NDC; Double_t fY2NDC; Int_t fBorderSize; Int_t fInit; Int_t fShadowColor; Double_t fCornerRadius; TString fOption; TString fName; public: enum { kNameIsAction = (1 << (11)) }; TPave(); TPave(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2, Int_t bordersize=4 ,Option_t *option="br"); TPave(const TPave &pave); virtual ~TPave(); void Copy(TObject &pave) const; virtual void ConvertNDCtoPad(); virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); virtual void Draw(Option_t *option=""); virtual void DrawPave(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2, Int_t bordersize=4 ,Option_t *option="br"); virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); Int_t GetBorderSize() const { return fBorderSize;} Double_t GetCornerRadius() const {return fCornerRadius;} Option_t *GetName() const {return fName.Data();} Option_t *GetOption() const {return fOption.Data();} Int_t GetShadowColor() const {return fShadowColor;} Double_t GetX1NDC() const {return fX1NDC;} Double_t GetX2NDC() const {return fX2NDC;} Double_t GetY1NDC() const {return fY1NDC;} Double_t GetY2NDC() const {return fY2NDC;} virtual ULong_t Hash() const { return fName.Hash(); } virtual Bool_t IsSortable() const { return kTRUE; } virtual void ls(Option_t *option="") const; virtual void Paint(Option_t *option=""); virtual void PaintPave(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2, Int_t bordersize=4 ,Option_t *option="br"); virtual void PaintPaveArc(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2, Int_t bordersize=4 ,Option_t *option="br"); virtual void Print(Option_t *option="") const; virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SetBorderSize(Int_t bordersize=4) {fBorderSize = bordersize;} virtual void SetCornerRadius(Double_t rad = 0.2) {fCornerRadius = rad;} virtual void SetName(const char *name="") {fName = name;} virtual void SetOption(Option_t *option="br") {fOption = option;} virtual void SetShadowColor(Int_t color) {fShadowColor=color;} virtual void SetX1NDC(Double_t x1) {fX1NDC=x1;} virtual void SetX2NDC(Double_t x2) {fX2NDC=x2;} virtual void SetY1NDC(Double_t y1) {fY1NDC=y1;} virtual void SetY2NDC(Double_t y2) {fY2NDC=y2;} private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 3; } static void Dictionary(); virtual TClass *IsA() const { return TPave::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TPave::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TPave.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 92; } }; # 26 "/products/root_522/include/root/TLegend.h" 2 class TObject; class TList; class TLegendEntry; class TLegend : public TPave , public TAttText { protected: TLegend& operator=(const TLegend&); public: TLegend(); TLegend( Double_t x1, Double_t y1, Double_t x2, Double_t y2, const char* header = "", Option_t* option="brNDC" ); virtual ~TLegend(); TLegend( const TLegend &legend ); TLegendEntry *AddEntry(const TObject* obj, const char* label = "", Option_t* option = "lpf" ); TLegendEntry *AddEntry(const char *name, const char* label = "", Option_t* option = "lpf" ); virtual void Clear( Option_t* option = "" ); virtual void Copy( TObject &obj ) const; virtual void DeleteEntry(); virtual void Draw( Option_t* option = "" ); virtual void EditEntryAttFill(); virtual void EditEntryAttLine(); virtual void EditEntryAttMarker(); virtual void EditEntryAttText(); Float_t GetColumnSeparation() const { return fColumnSeparation; } TLegendEntry *GetEntry() const; Float_t GetEntrySeparation() const { return fEntrySeparation; } virtual const char *GetHeader() const; TList *GetListOfPrimitives() const {return fPrimitives;} Float_t GetMargin() const { return fMargin; } Int_t GetNColumns() const { return fNColumns; } Int_t GetNRows() const; virtual void InsertEntry( const char* objectName = "",const char* label = "", Option_t* option = "lpf" ); virtual void Paint( Option_t* option = "" ); virtual void PaintPrimitives(); virtual void Print( Option_t* option = "" ) const; virtual void RecursiveRemove(TObject *obj); virtual void SavePrimitive(ostream &out, Option_t *option = ""); void SetDefaults() { fEntrySeparation = 0.1f; fMargin = 0.25f; fNColumns = 1; fColumnSeparation = 0.0f; } void SetColumnSeparation( Float_t columnSeparation ) { fColumnSeparation = columnSeparation; } virtual void SetEntryLabel( const char* label ); virtual void SetEntryOption( Option_t* option ); void SetEntrySeparation( Float_t entryseparation ) { fEntrySeparation = entryseparation; } virtual void SetHeader( const char *header = "" ); void SetMargin( Float_t margin ) { fMargin = margin; } void SetNColumns( Int_t nColumns ); protected: TList *fPrimitives; Float_t fEntrySeparation; Float_t fMargin; Int_t fNColumns; Float_t fColumnSeparation; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 2; } static void Dictionary(); virtual TClass *IsA() const { return TLegend::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TLegend::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TLegend.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 93; } }; # 16 "VBFStudy.cxx" 2 # 1 "/products/root_522/include/root/TFile.h" 1 # 25 "/products/root_522/include/root/TFile.h" # 1 "/products/root_522/include/root/TDirectoryFile.h" 1 # 28 "/products/root_522/include/root/TDirectoryFile.h" class TList; class TBrowser; class TKey; class TFile; class TDirectoryFile : public TDirectory { protected: Bool_t fModified; Bool_t fWritable; TDatime fDatimeC; TDatime fDatimeM; Int_t fNbytesKeys; Int_t fNbytesName; Int_t fBufferSize; Long64_t fSeekDir; Long64_t fSeekParent; Long64_t fSeekKeys; TFile *fFile; TList *fKeys; virtual void CleanTargets(); private: TDirectoryFile(const TDirectoryFile &directory); void operator=(const TDirectoryFile &); public: enum { kCloseDirectory = (1 << (7)) }; TDirectoryFile(); TDirectoryFile(const char *name, const char *title, Option_t *option="", TDirectory* motherDir = 0); virtual ~TDirectoryFile(); virtual void Append(TObject *obj, Bool_t replace = kFALSE); void Add(TObject *obj, Bool_t replace = kFALSE) { Append(obj,replace); } Int_t AppendKey(TKey *key); virtual void Browse(TBrowser *b); void Build(TFile* motherFile = 0, TDirectory* motherDir = 0); virtual TObject *CloneObject(const TObject *obj, Bool_t autoadd = kTRUE); virtual void Close(Option_t *option=""); virtual void Copy(TObject &) const { MayNotUse("Copy(TObject &)"); } virtual Bool_t cd(const char *path = 0); virtual void Delete(const char *namecycle=""); virtual void FillBuffer(char *&buffer); virtual TKey *FindKey(const char *keyname) const; virtual TKey *FindKeyAny(const char *keyname) const; virtual TObject *FindObjectAny(const char *name) const; virtual TObject *FindObjectAnyFile(const char *name) const; virtual TObject *Get(const char *namecycle); virtual TDirectory *GetDirectory(const char *namecycle, Bool_t printError = false, const char *funcname = "GetDirectory"); template inline void GetObject(const char* namecycle, T*& ptr) { ptr = (T*)GetObjectChecked(namecycle,TBuffer::GetClass(typeid(T))); } virtual void *GetObjectChecked(const char *namecycle, const char* classname); virtual void *GetObjectChecked(const char *namecycle, const TClass* cl); virtual void *GetObjectUnchecked(const char *namecycle); virtual Int_t GetBufferSize() const; const TDatime &GetCreationDate() const { return fDatimeC; } virtual TFile *GetFile() const { return fFile; } virtual TKey *GetKey(const char *name, Short_t cycle=9999) const; virtual TList *GetListOfKeys() const { return fKeys; } const TDatime &GetModificationDate() const { return fDatimeM; } virtual Int_t GetNbytesKeys() const { return fNbytesKeys; } virtual Int_t GetNkeys() const { return fKeys->GetSize(); } virtual Long64_t GetSeekDir() const { return fSeekDir; } virtual Long64_t GetSeekParent() const { return fSeekParent; } virtual Long64_t GetSeekKeys() const { return fSeekKeys; } Bool_t IsModified() const { return fModified; } Bool_t IsWritable() const { return fWritable; } virtual void ls(Option_t *option="") const; virtual TDirectory *mkdir(const char *name, const char *title=""); virtual TFile *OpenFile(const char *name, Option_t *option= "", const char *ftitle = "", Int_t compress = 1, Int_t netopt = 0); virtual void Purge(Short_t nkeep=1); virtual void ReadAll(Option_t *option=""); virtual Int_t ReadKeys(Bool_t forceRead=kTRUE); virtual Int_t ReadTObject(TObject *obj, const char *keyname); virtual void rmdir(const char *name); virtual void Save(); virtual void SaveSelf(Bool_t force = kFALSE); virtual Int_t SaveObjectAs(const TObject *obj, const char *filename="", Option_t *option="") const; virtual void SetBufferSize(Int_t bufsize); void SetModified() {fModified = kTRUE;} void SetSeekDir(Long64_t v) { fSeekDir = v; } virtual void SetTRefAction(TObject *ref, TObject *parent); void SetWritable(Bool_t writable=kTRUE); virtual Int_t Sizeof() const; virtual Int_t Write(const char *name=0, Int_t opt=0, Int_t bufsize=0); virtual Int_t Write(const char *name=0, Int_t opt=0, Int_t bufsize=0) const ; virtual Int_t WriteTObject(const TObject *obj, const char *name=0, Option_t *option="", Int_t bufsize=0); virtual Int_t WriteObjectAny(const void *obj, const char *classname, const char *name, Option_t *option="", Int_t bufsize=0); virtual Int_t WriteObjectAny(const void *obj, const TClass *cl, const char *name, Option_t *option="", Int_t bufsize=0); virtual void WriteDirHeader(); virtual void WriteKeys(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 5; } static void Dictionary(); virtual TClass *IsA() const { return TDirectoryFile::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TDirectoryFile::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TDirectoryFile.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 126; } }; # 26 "/products/root_522/include/root/TFile.h" 2 # 1 "/products/root_522/include/root/TUrl.h" 1 # 34 "/products/root_522/include/root/TUrl.h" class THashList; class TUrl : public TObject { private: TString fUrl; TString fProtocol; TString fUser; TString fPasswd; TString fHost; TString fFile; TString fAnchor; TString fOptions; mutable TString fFileOA; mutable TString fHostFQ; Int_t fPort; static TObjArray *fgSpecialProtocols; static THashList *fgHostFQDNs; void FindFile(char *u, Bool_t stripDoubleSlash = kTRUE); public: TUrl() : fUrl(), fProtocol(), fUser(), fPasswd(), fHost(), fFile(), fAnchor(), fOptions(), fFileOA(), fHostFQ(), fPort(-1) { } TUrl(const char *url, Bool_t defaultIsFile = kFALSE); TUrl(const TUrl &url); TUrl &operator=(const TUrl &rhs); virtual ~TUrl() { } const char *GetUrl(Bool_t withDeflt = kFALSE); const char *GetProtocol() const { return fProtocol; } const char *GetUser() const { return fUser; } const char *GetPasswd() const { return fPasswd; } const char *GetHost() const { return fHost; } const char *GetHostFQDN() const; const char *GetFile() const { return fFile; } const char *GetAnchor() const { return fAnchor; } const char *GetOptions() const { return fOptions; } const char *GetFileAndOptions() const; Int_t GetPort() const { return fPort; } Bool_t IsValid() const { return fPort == -1 ? kFALSE : kTRUE; } void SetProtocol(const char *proto, Bool_t setDefaultPort = kFALSE); void SetUser(const char *user) { fUser = user; fUrl = ""; } void SetPasswd(const char *pw) { fPasswd = pw; fUrl = ""; } void SetHost(const char *host) { fHost = host; fUrl = ""; } void SetFile(const char *file) { fFile = file; fUrl = ""; fFileOA = "";} void SetAnchor(const char *anchor) { fAnchor = anchor; fUrl = ""; fFileOA = ""; } void SetOptions(const char *opt) { fOptions = opt; fUrl = ""; fFileOA = ""; } void SetPort(Int_t port) { fPort = port; fUrl = ""; } void SetUrl(const char *url, Bool_t defaultIsFile = kFALSE); Bool_t IsSortable() const { return kTRUE; } Int_t Compare(const TObject *obj) const; void Print(Option_t *option="") const; static TObjArray *GetSpecialProtocols(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TUrl::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TUrl::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TUrl.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 94; } }; # 29 "/products/root_522/include/root/TFile.h" 2 class TFree; class TArrayC; class TArchiveFile; class TFileOpenHandle; class TFileCacheRead; class TFileCacheWrite; class TProcessID; class TStopwatch; class TFile : public TDirectoryFile { friend class TDirectoryFile; public: enum EAsyncOpenStatus { kAOSNotAsync = -1, kAOSFailure = 0, kAOSInProgress = 1, kAOSSuccess = 2 }; enum EOpenTimeOut { kInstantTimeout = 0, kEternalTimeout = 999999999 }; protected: Double_t fSumBuffer; Double_t fSum2Buffer; Long64_t fBytesWrite; Long64_t fBytesRead; Long64_t fBEGIN; Long64_t fEND; Long64_t fSeekFree; Long64_t fSeekInfo; Int_t fD; Int_t fVersion; Int_t fCompress; Int_t fNbytesFree; Int_t fNbytesInfo; Int_t fWritten; Int_t fNProcessIDs; Int_t fReadCalls; TString fRealName; TString fOption; Char_t fUnits; TList *fFree; TArrayC *fClassIndex; TObjArray *fProcessIDs; Long64_t fOffset; TArchiveFile *fArchive; TFileCacheRead *fCacheRead; TFileCacheWrite *fCacheWrite; Long64_t fArchiveOffset; Bool_t fIsArchive; Bool_t fNoAnchorInName; Bool_t fIsRootFile; Bool_t fInitDone; Bool_t fMustFlush; TFileOpenHandle *fAsyncHandle; EAsyncOpenStatus fAsyncOpenStatus; TUrl fUrl; TList *fInfoCache; TList *fOpenPhases; static TList *fgAsyncOpenRequests; static TString fgCacheFileDir; static Bool_t fgCacheFileDisconnected; static Bool_t fgCacheFileForce; static UInt_t fgOpenTimeout; static Bool_t fgOnlyStaged ; static Long64_t fgBytesWrite; static Long64_t fgBytesRead; static Long64_t fgFileCounter; static Int_t fgReadCalls; static Bool_t fgReadInfo; virtual EAsyncOpenStatus GetAsyncOpenStatus() { return fAsyncOpenStatus; } Long64_t GetRelOffset() const { return fOffset - fArchiveOffset; } virtual void Init(Bool_t create); Bool_t FlushWriteCache(); Int_t ReadBufferViaCache(char *buf, Int_t len); Int_t WriteBufferViaCache(const char *buf, Int_t len); virtual Int_t SysOpen(const char *pathname, Int_t flags, UInt_t mode); virtual Int_t SysClose(Int_t fd); virtual Int_t SysRead(Int_t fd, void *buf, Int_t len); virtual Int_t SysWrite(Int_t fd, const void *buf, Int_t len); virtual Long64_t SysSeek(Int_t fd, Long64_t offset, Int_t whence); virtual Int_t SysStat(Int_t fd, Long_t *id, Long64_t *size, Long_t *flags, Long_t *modtime); virtual Int_t SysSync(Int_t fd); virtual Long64_t DirCreateEntry(TDirectory*) { return 0; } virtual Int_t DirReadKeys(TDirectory*) { return 0; } virtual void DirWriteKeys(TDirectory*) {} virtual void DirWriteHeader(TDirectory*) {} private: TFile(const TFile &); void operator=(const TFile &); static void CpProgress(Long64_t bytesread, Long64_t size, TStopwatch &watch); static TFile *OpenFromCache(const char *name, Option_t *option = "", const char *ftitle = "", Int_t compress = 1, Int_t netopt = 0); public: enum EStatusBits { kRecovered = (1 << (10)), kHasReferences = (1 << (11)), kDevNull = (1 << (12)), kWriteError = (1 << (14)), kBinaryFile = (1 << (15)), kRedirected = (1 << (16)) }; enum ERelativeTo { kBeg = 0, kCur = 1, kEnd = 2 }; enum { kStartBigFile = 2000000000 }; enum EFileType { kDefault = 0, kLocal = 1, kNet = 2, kWeb = 3, kFile = 4}; TFile(); TFile(const char *fname, Option_t *option="", const char *ftitle="", Int_t compress=1); virtual ~TFile(); virtual void Close(Option_t *option=""); virtual void Copy(TObject &) const { MayNotUse("Copy(TObject &)"); } virtual TKey* CreateKey(TDirectory* mother, const TObject* obj, const char* name, Int_t bufsize); virtual TKey* CreateKey(TDirectory* mother, const void* obj, const TClass* cl, const char* name, Int_t bufsize); virtual void Delete(const char *namecycle=""); virtual void Draw(Option_t *option=""); virtual void DrawMap(const char *keys="*",Option_t *option=""); virtual void FillBuffer(char *&buffer); virtual void Flush(); TArchiveFile *GetArchive() const { return fArchive; } Int_t GetBestBuffer() const; virtual Int_t GetBytesToPrefetch() const; TFileCacheRead *GetCacheRead() const; TFileCacheWrite *GetCacheWrite() const; TArrayC *GetClassIndex() const { return fClassIndex; } Int_t GetCompressionLevel() const { return fCompress; } Float_t GetCompressionFactor(); virtual Long64_t GetEND() const { return fEND; } virtual Int_t GetErrno() const; virtual void ResetErrno() const; Int_t GetFd() const { return fD; } virtual const TUrl *GetEndpointUrl() const { return &fUrl; } TObjArray *GetListOfProcessIDs() const {return fProcessIDs;} TList *GetListOfFree() const { return fFree; } virtual Int_t GetNfree() const { return fFree->GetSize(); } virtual Int_t GetNProcessIDs() const { return fNProcessIDs; } Option_t *GetOption() const { return fOption.Data(); } virtual Long64_t GetBytesRead() const { return fBytesRead; } virtual Long64_t GetBytesWritten() const; virtual Int_t GetReadCalls() const { return fReadCalls; } Int_t GetVersion() const { return fVersion; } Int_t GetRecordHeader(char *buf, Long64_t first, Int_t maxbytes, Int_t &nbytes, Int_t &objlen, Int_t &keylen); virtual Int_t GetNbytesInfo() const {return fNbytesInfo;} virtual Int_t GetNbytesFree() const {return fNbytesFree;} virtual Long64_t GetSeekFree() const {return fSeekFree;} virtual Long64_t GetSeekInfo() const {return fSeekInfo;} virtual Long64_t GetSize() const; virtual TList *GetStreamerInfoList(); const TList *GetStreamerInfoCache(); virtual void IncrementProcessIDs() { fNProcessIDs++; } virtual Bool_t IsArchive() const { return fIsArchive; } Bool_t IsBinary() const { return TestBit(kBinaryFile); } Bool_t IsRaw() const { return !fIsRootFile; } virtual Bool_t IsOpen() const; virtual void ls(Option_t *option="") const; virtual void MakeFree(Long64_t first, Long64_t last); virtual void MakeProject(const char *dirname, const char *classes="*", Option_t *option="new"); virtual void Map(); virtual Bool_t Matches(const char *name); virtual Bool_t MustFlush() const {return fMustFlush;} virtual void Paint(Option_t *option=""); virtual void Print(Option_t *option="") const; virtual Bool_t ReadBufferAsync(Long64_t offs, Int_t len); virtual Bool_t ReadBuffer(char *buf, Int_t len); virtual Bool_t ReadBuffers(char *buf, Long64_t *pos, Int_t *len, Int_t nbuf); virtual void ReadFree(); virtual TProcessID *ReadProcessID(UShort_t pidf); virtual void ReadStreamerInfo(); virtual Int_t Recover(); virtual Int_t ReOpen(Option_t *mode); virtual void Seek(Long64_t offset, ERelativeTo pos = kBeg); virtual void SetCacheRead(TFileCacheRead *cache); virtual void SetCacheWrite(TFileCacheWrite *cache); virtual void SetCompressionLevel(Int_t level=1); virtual void SetEND(Long64_t last) { fEND = last; } virtual void SetOption(Option_t *option=">") { fOption = option; } virtual void SetReadCalls(Int_t readcalls = 0) { fReadCalls = readcalls; } virtual void ShowStreamerInfo(); virtual Int_t Sizeof() const; void SumBuffer(Int_t bufsize); virtual void UseCache(Int_t maxCacheSize = 10, Int_t pageSize = 0); virtual Bool_t WriteBuffer(const char *buf, Int_t len); virtual Int_t Write(const char *name=0, Int_t opt=0, Int_t bufsiz=0); virtual Int_t Write(const char *name=0, Int_t opt=0, Int_t bufsiz=0) const; virtual void WriteFree(); virtual void WriteHeader(); virtual UShort_t WriteProcessID(TProcessID *pid); virtual void WriteStreamerInfo(); static TFileOpenHandle *AsyncOpen(const char *name, Option_t *option = "", const char *ftitle = "", Int_t compress = 1, Int_t netopt = 0); static TFile *Open(const char *name, Option_t *option = "", const char *ftitle = "", Int_t compress = 1, Int_t netopt = 0); static TFile *Open(TFileOpenHandle *handle); static EFileType GetType(const char *name, Option_t *option = "", TString *prefix = 0); static EAsyncOpenStatus GetAsyncOpenStatus(const char *name); static EAsyncOpenStatus GetAsyncOpenStatus(TFileOpenHandle *handle); static const TUrl *GetEndpointUrl(const char *name); static Long64_t GetFileBytesRead(); static Long64_t GetFileBytesWritten(); static Int_t GetFileReadCalls(); static void SetFileBytesRead(Long64_t bytes = 0); static void SetFileBytesWritten(Long64_t bytes = 0); static void SetFileReadCalls(Int_t readcalls = 0); static void SetReadStreamerInfo(Bool_t readinfo=kTRUE); static Long64_t GetFileCounter(); static void IncrementFileCounter(); static Bool_t SetCacheFileDir(const char *cacheDir, Bool_t operateDisconnected = kTRUE, Bool_t forceCacheread = kFALSE); static const char *GetCacheFileDir(); static Bool_t ShrinkCacheFileDir(Long64_t shrinkSize, Long_t cleanupInteval = 0); static Bool_t Cp(const char *src, const char *dst, Bool_t progressbar = kTRUE, UInt_t buffersize = 1000000); static UInt_t SetOpenTimeout(UInt_t timeout); static UInt_t GetOpenTimeout(); static Bool_t SetOnlyStaged(Bool_t onlystaged); static Bool_t GetOnlyStaged(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 7; } static void Dictionary(); virtual TClass *IsA() const { return TFile::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TFile::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TFile.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 274; } }; class TFileOpenHandle : public TNamed { friend class TFile; friend class TAlienFile; private: TString fOpt; Int_t fCompress; Int_t fNetOpt; TFile *fFile; TFileOpenHandle(TFile *f) : TNamed("",""), fOpt(""), fCompress(1), fNetOpt(0), fFile(f) { } TFileOpenHandle(const char *n, const char *o, const char *t, Int_t cmp, Int_t no) : TNamed(n,t), fOpt(o), fCompress(cmp), fNetOpt(no), fFile(0) { } TFileOpenHandle(const TFileOpenHandle&); TFileOpenHandle& operator=(const TFileOpenHandle&); TFile *GetFile() const { return fFile; } public: ~TFileOpenHandle() { } Bool_t Matches(const char *name); const char *GetOpt() const { return fOpt; } Int_t GetCompress() const { return fCompress; } Int_t GetNetOpt() const { return fNetOpt; } }; extern TFile *gFile; # 17 "VBFStudy.cxx" 2 # 1 "/products/root_522/include/root/TCanvas.h" 1 # 25 "/products/root_522/include/root/TCanvas.h" # 1 "/products/root_522/include/root/TPad.h" 1 # 26 "/products/root_522/include/root/TPad.h" # 1 "/products/root_522/include/root/TVirtualPad.h" 1 # 26 "/products/root_522/include/root/TVirtualPad.h" # 1 "/products/root_522/include/root/TAttPad.h" 1 # 29 "/products/root_522/include/root/TAttPad.h" class TAttPad { protected: Float_t fLeftMargin; Float_t fRightMargin; Float_t fBottomMargin; Float_t fTopMargin; Float_t fXfile; Float_t fYfile; Float_t fAfile; Float_t fXstat; Float_t fYstat; Float_t fAstat; Color_t fFrameFillColor; Color_t fFrameLineColor; Style_t fFrameFillStyle; Style_t fFrameLineStyle; Width_t fFrameLineWidth; Width_t fFrameBorderSize; Int_t fFrameBorderMode; public: TAttPad(); virtual ~TAttPad(); virtual void Copy(TAttPad &attpad) const; Float_t GetBottomMargin() const { return fBottomMargin;} Float_t GetLeftMargin() const { return fLeftMargin;} Float_t GetRightMargin() const { return fRightMargin;} Float_t GetTopMargin() const { return fTopMargin;} Float_t GetAfile() const { return fAfile;} Float_t GetXfile() const { return fXfile;} Float_t GetYfile() const { return fYfile;} Float_t GetAstat() const { return fAstat;} Float_t GetXstat() const { return fXstat;} Float_t GetYstat() const { return fYstat;} Color_t GetFrameFillColor() const {return fFrameFillColor;} Color_t GetFrameLineColor() const {return fFrameLineColor;} Style_t GetFrameFillStyle() const {return fFrameFillStyle;} Style_t GetFrameLineStyle() const {return fFrameLineStyle;} Width_t GetFrameLineWidth() const {return fFrameLineWidth;} Width_t GetFrameBorderSize() const {return fFrameBorderSize;} Int_t GetFrameBorderMode() const {return fFrameBorderMode;} virtual void Print(Option_t *option="") const; virtual void ResetAttPad(Option_t *option=""); virtual void SetBottomMargin(Float_t bottommargin); virtual void SetLeftMargin(Float_t leftmargin); virtual void SetRightMargin(Float_t rightmargin); virtual void SetTopMargin(Float_t topmargin); virtual void SetMargin(Float_t left, Float_t right, Float_t bottom, Float_t top); virtual void SetAfile(Float_t afile) { fAfile=afile;} virtual void SetXfile(Float_t xfile) { fXfile=xfile;} virtual void SetYfile(Float_t yfile) { fYfile=yfile;} virtual void SetAstat(Float_t astat) { fAstat=astat;} virtual void SetXstat(Float_t xstat) { fXstat=xstat;} virtual void SetYstat(Float_t ystat) { fYstat=ystat;} void SetFrameFillColor(Color_t color=1) {fFrameFillColor = color;} void SetFrameLineColor(Color_t color=1) {fFrameLineColor = color;} void SetFrameFillStyle(Style_t styl=0) {fFrameFillStyle = styl;} void SetFrameLineStyle(Style_t styl=0) {fFrameLineStyle = styl;} void SetFrameLineWidth(Width_t width=1) {fFrameLineWidth = width;} void SetFrameBorderSize(Width_t size=1) {fFrameBorderSize = size;} void SetFrameBorderMode(Int_t mode=1) {fFrameBorderMode = mode;} private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 3; } static void Dictionary(); virtual TClass *IsA() const { return TAttPad::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TAttPad::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TAttPad.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 91; }; }; # 27 "/products/root_522/include/root/TVirtualPad.h" 2 # 1 "/products/root_522/include/root/TVirtualX.h" 1 # 43 "/products/root_522/include/root/TVirtualX.h" # 1 "/products/root_522/include/root/GuiTypes.h" 1 # 28 "/products/root_522/include/root/GuiTypes.h" typedef ULong_t Handle_t; typedef Handle_t Display_t; typedef Handle_t Visual_t; typedef Handle_t Window_t; typedef Handle_t Pixmap_t; typedef Handle_t Drawable_t; typedef Handle_t Region_t; typedef Handle_t Colormap_t; typedef Handle_t Cursor_t; typedef Handle_t FontH_t; typedef Handle_t KeySym_t; typedef Handle_t Atom_t; typedef Handle_t GContext_t; typedef Handle_t FontStruct_t; typedef ULong_t Pixel_t; typedef UInt_t Mask_t; typedef ULong_t Time_t; enum EGuiConstants { kNotUseful = 0, kWhenMapped = 1, kAlways = 2, kIsUnmapped = 0, kIsUnviewable = 1, kIsViewable = 2, kInputOutput = 1, kInputOnly = 2, kLineSolid = 0, kLineOnOffDash = 1, kLineDoubleDash = 2, kCapNotLast = 0, kCapButt = 1, kCapRound = 2, kCapProjecting = 3, kJoinMiter = 0, kJoinRound = 1, kJoinBevel = 2, kFillSolid = 0, kFillTiled = 1, kFillStippled = 2, kFillOpaqueStippled = 3, kEvenOddRule = 0, kWindingRule = 1, kClipByChildren = 0, kIncludeInferiors = 1, kArcChord = 0, kArcPieSlice = 1 }; enum EGEventType { kGKeyPress, kKeyRelease, kButtonPress, kButtonRelease, kMotionNotify, kEnterNotify, kLeaveNotify, kFocusIn, kFocusOut, kExpose, kConfigureNotify, kMapNotify, kUnmapNotify, kDestroyNotify, kClientMessage, kSelectionClear, kSelectionRequest, kSelectionNotify, kColormapNotify, kButtonDoubleClick, kOtherEvent }; enum EGraphicsFunction { kGXclear = 0, kGXand, kGXandReverse, kGXcopy, kGXandInverted, kGXnoop, kGXxor, kGXor, kGXnor, kGXequiv, kGXinvert, kGXorReverse, kGXcopyInverted, kGXorInverted, kGXnand, kGXset }; enum { kDefaultScrollBarWidth = 16 }; const Handle_t kNone = 0; const Handle_t kCopyFromParent = 0; const Handle_t kParentRelative = 1; struct SetWindowAttributes_t { Pixmap_t fBackgroundPixmap; ULong_t fBackgroundPixel; Pixmap_t fBorderPixmap; ULong_t fBorderPixel; UInt_t fBorderWidth; Int_t fBitGravity; Int_t fWinGravity; Int_t fBackingStore; ULong_t fBackingPlanes; ULong_t fBackingPixel; Bool_t fSaveUnder; Long_t fEventMask; Long_t fDoNotPropagateMask; Bool_t fOverrideRedirect; Colormap_t fColormap; Cursor_t fCursor; Mask_t fMask; }; struct WindowAttributes_t { Int_t fX, fY; Int_t fWidth, fHeight; Int_t fBorderWidth; Int_t fDepth; void *fVisual; Window_t fRoot; Int_t fClass; Int_t fBitGravity; Int_t fWinGravity; Int_t fBackingStore; ULong_t fBackingPlanes; ULong_t fBackingPixel; Bool_t fSaveUnder; Colormap_t fColormap; Bool_t fMapInstalled; Int_t fMapState; Long_t fAllEventMasks; Long_t fYourEventMask; Long_t fDoNotPropagateMask; Bool_t fOverrideRedirect; void *fScreen; }; const Mask_t kWABackPixmap = (1 << (0)); const Mask_t kWABackPixel = (1 << (1)); const Mask_t kWABorderPixmap = (1 << (2)); const Mask_t kWABorderPixel = (1 << (3)); const Mask_t kWABorderWidth = (1 << (4)); const Mask_t kWABitGravity = (1 << (5)); const Mask_t kWAWinGravity = (1 << (6)); const Mask_t kWABackingStore = (1 << (7)); const Mask_t kWABackingPlanes = (1 << (8)); const Mask_t kWABackingPixel = (1 << (9)); const Mask_t kWAOverrideRedirect = (1 << (10)); const Mask_t kWASaveUnder = (1 << (11)); const Mask_t kWAEventMask = (1 << (12)); const Mask_t kWADontPropagate = (1 << (13)); const Mask_t kWAColormap = (1 << (14)); const Mask_t kWACursor = (1 << (15)); const Mask_t kNoEventMask = 0; const Mask_t kKeyPressMask = (1 << (0)); const Mask_t kKeyReleaseMask = (1 << (1)); const Mask_t kButtonPressMask = (1 << (2)); const Mask_t kButtonReleaseMask = (1 << (3)); const Mask_t kPointerMotionMask = (1 << (4)); const Mask_t kButtonMotionMask = (1 << (5)); const Mask_t kExposureMask = (1 << (6)); const Mask_t kStructureNotifyMask = (1 << (7)); const Mask_t kEnterWindowMask = (1 << (8)); const Mask_t kLeaveWindowMask = (1 << (9)); const Mask_t kFocusChangeMask = (1 << (10)); const Mask_t kOwnerGrabButtonMask = (1 << (11)); const Mask_t kColormapChangeMask = (1 << (12)); struct Event_t { EGEventType fType; Window_t fWindow; Time_t fTime; Int_t fX, fY; Int_t fXRoot, fYRoot; UInt_t fCode; UInt_t fState; UInt_t fWidth, fHeight; Int_t fCount; Bool_t fSendEvent; Handle_t fHandle; Int_t fFormat; Long_t fUser[5]; }; const Mask_t kKeyShiftMask = (1 << (0)); const Mask_t kKeyLockMask = (1 << (1)); const Mask_t kKeyControlMask = (1 << (2)); const Mask_t kKeyMod1Mask = (1 << (3)); const Mask_t kKeyMod2Mask = (1 << (4)); const Mask_t kButton1Mask = (1 << (8)); const Mask_t kButton2Mask = (1 << (9)); const Mask_t kButton3Mask = (1 << (10)); const Mask_t kButton4Mask = (1 << (11)); const Mask_t kButton5Mask = (1 << (12)); const Mask_t kAnyModifier = (1 << (15)); enum EMouseButton { kAnyButton, kButton1, kButton2, kButton3, kButton4, kButton5 }; enum EXMagic { kNotifyNormal = 0, kNotifyGrab = 1, kNotifyUngrab = 2, kNotifyPointer = 5, kColormapUninstalled = 0, kColormapInstalled = 1 }; struct GCValues_t { EGraphicsFunction fFunction; ULong_t fPlaneMask; ULong_t fForeground; ULong_t fBackground; Int_t fLineWidth; Int_t fLineStyle; Int_t fCapStyle; Int_t fJoinStyle; Int_t fFillStyle; Int_t fFillRule; Int_t fArcMode; Pixmap_t fTile; Pixmap_t fStipple; Int_t fTsXOrigin; Int_t fTsYOrigin; FontH_t fFont; Int_t fSubwindowMode; Bool_t fGraphicsExposures; Int_t fClipXOrigin; Int_t fClipYOrigin; Pixmap_t fClipMask; Int_t fDashOffset; Char_t fDashes[8]; Int_t fDashLen; Mask_t fMask; GCValues_t() : fFunction (kGXcopy), fPlaneMask (0), fForeground (0), fBackground (1), fLineWidth (0), fLineStyle (kLineSolid), fCapStyle (kCapButt), fJoinStyle (kJoinMiter), fFillStyle (kFillSolid), fFillRule (kEvenOddRule), fArcMode (kArcPieSlice), fTile (0), fStipple (0), fTsXOrigin (0), fTsYOrigin (0), fFont (0), fSubwindowMode (kClipByChildren), fGraphicsExposures (kTRUE), fClipXOrigin (0), fClipYOrigin (0), fClipMask (0), fDashOffset (0), fDashLen (2), fMask (0) { for (int i = 2; i < 8; i++) fDashes[i] = 0; fDashes[0] = 5; fDashes[1] = 5; } }; const Mask_t kGCFunction = (1 << (0)); const Mask_t kGCPlaneMask = (1 << (1)); const Mask_t kGCForeground = (1 << (2)); const Mask_t kGCBackground = (1 << (3)); const Mask_t kGCLineWidth = (1 << (4)); const Mask_t kGCLineStyle = (1 << (5)); const Mask_t kGCCapStyle = (1 << (6)); const Mask_t kGCJoinStyle = (1 << (7)); const Mask_t kGCFillStyle = (1 << (8)); const Mask_t kGCFillRule = (1 << (9)); const Mask_t kGCTile = (1 << (10)); const Mask_t kGCStipple = (1 << (11)); const Mask_t kGCTileStipXOrigin = (1 << (12)); const Mask_t kGCTileStipYOrigin = (1 << (13)); const Mask_t kGCFont = (1 << (14)); const Mask_t kGCSubwindowMode = (1 << (15)); const Mask_t kGCGraphicsExposures = (1 << (16)); const Mask_t kGCClipXOrigin = (1 << (17)); const Mask_t kGCClipYOrigin = (1 << (18)); const Mask_t kGCClipMask = (1 << (19)); const Mask_t kGCDashOffset = (1 << (20)); const Mask_t kGCDashList = (1 << (21)); const Mask_t kGCArcMode = (1 << (22)); struct ColorStruct_t { ULong_t fPixel; UShort_t fRed; UShort_t fGreen; UShort_t fBlue; UShort_t fMask; }; const Mask_t kDoRed = (1 << (0)); const Mask_t kDoGreen = (1 << (1)); const Mask_t kDoBlue = (1 << (2)); struct PictureAttributes_t { Colormap_t fColormap; Int_t fDepth; UInt_t fWidth; UInt_t fHeight; UInt_t fXHotspot; UInt_t fYHotspot; ULong_t *fPixels; UInt_t fNpixels; UInt_t fCloseness; Mask_t fMask; }; const Mask_t kPAColormap = (1 << (0)); const Mask_t kPADepth = (1 << (1)); const Mask_t kPASize = (1 << (2)); const Mask_t kPAHotspot = (1 << (3)); const Mask_t kPAReturnPixels = (1 << (4)); const Mask_t kPACloseness = (1 << (5)); enum EInitialState { kNormalState = (1 << (0)), kIconicState = (1 << (1)) }; struct Segment_t { Short_t fX1, fY1, fX2, fY2; }; struct Point_t { Short_t fX, fY; }; struct Rectangle_t { Short_t fX, fY; UShort_t fWidth, fHeight; }; const Atom_t kPrimarySelection = 1; const Atom_t kCutBuffer = 9; const Int_t kMaxPixel = 32000; # 44 "/products/root_522/include/root/TVirtualX.h" 2 extern Atom_t gWM_DELETE_WINDOW; extern Atom_t gMOTIF_WM_HINTS; extern Atom_t gROOT_MESSAGE; const int kNumCursors = 19; enum ECursor { kBottomLeft, kBottomRight, kTopLeft, kTopRight, kBottomSide, kLeftSide, kTopSide, kRightSide, kMove, kCross, kArrowHor, kArrowVer, kHand, kRotate, kPointer, kArrowRight, kCaret, kWatch, kNoDrop }; class TPoint; class TString; class TGWin32Command; class GLUtesselator; class TVirtualX : public TNamed, public TAttLine, public TAttFill, public TAttText, public TAttMarker { public: enum EDrawMode { kCopy = 1, kXor, kInvert }; enum EBoxMode { kHollow, kFilled }; enum ETextMode { kClear, kOpaque }; enum ETextSetMode { kCheck, kLoad }; protected: EDrawMode fDrawMode; public: TVirtualX(): fDrawMode() { } TVirtualX(const char *name, const char *title); virtual ~TVirtualX() { } virtual Bool_t Init(void *display=0); virtual void ClearWindow(); virtual void ClosePixmap(); virtual void CloseWindow(); virtual void CopyPixmap(Int_t wid, Int_t xpos, Int_t ypos); virtual void CreateOpenGLContext(Int_t wid=0); virtual void DeleteOpenGLContext(Int_t wid=0); virtual void DrawBox(Int_t x1, Int_t y1, Int_t x2, Int_t y2, EBoxMode mode); virtual void DrawCellArray(Int_t x1, Int_t y1, Int_t x2, Int_t y2, Int_t nx, Int_t ny, Int_t *ic); virtual void DrawFillArea(Int_t n, TPoint *xy); virtual void DrawLine(Int_t x1, Int_t y1, Int_t x2, Int_t y2); virtual void DrawPolyLine(Int_t n, TPoint *xy); virtual void DrawPolyMarker(Int_t n, TPoint *xy); virtual void DrawText(Int_t x, Int_t y, Float_t angle, Float_t mgn, const char *text, ETextMode mode); virtual UInt_t ExecCommand(TGWin32Command *code); virtual void GetCharacterUp(Float_t &chupx, Float_t &chupy); EDrawMode GetDrawMode() { return fDrawMode; } virtual Int_t GetDoubleBuffer(Int_t wid); virtual void GetGeometry(Int_t wid, Int_t &x, Int_t &y, UInt_t &w, UInt_t &h); virtual const char *DisplayName(const char * = 0); virtual Handle_t GetNativeEvent() const; virtual ULong_t GetPixel(Color_t cindex); virtual void GetPlanes(Int_t &nplanes); virtual void GetRGB(Int_t index, Float_t &r, Float_t &g, Float_t &b); virtual void GetTextExtent(UInt_t &w, UInt_t &h, char *mess); virtual Float_t GetTextMagnitude(); virtual Window_t GetWindowID(Int_t wid); virtual Bool_t HasTTFonts() const; virtual Int_t InitWindow(ULong_t window); virtual Int_t AddWindow(ULong_t qwid, UInt_t w, UInt_t h); virtual Int_t AddPixmap(ULong_t pixid, UInt_t w, UInt_t h); virtual void RemoveWindow(ULong_t qwid); virtual void MoveWindow(Int_t wid, Int_t x, Int_t y); virtual Int_t OpenPixmap(UInt_t w, UInt_t h); virtual void QueryPointer(Int_t &ix, Int_t &iy); virtual Pixmap_t ReadGIF(Int_t x0, Int_t y0, const char *file, Window_t id=0); virtual Int_t RequestLocator(Int_t mode, Int_t ctyp, Int_t &x, Int_t &y); virtual Int_t RequestString(Int_t x, Int_t y, char *text); virtual void RescaleWindow(Int_t wid, UInt_t w, UInt_t h); virtual Int_t ResizePixmap(Int_t wid, UInt_t w, UInt_t h); virtual void ResizeWindow(Int_t wid); virtual void SelectWindow(Int_t wid); virtual void SelectPixmap(Int_t qpixid); virtual void SetCharacterUp(Float_t chupx, Float_t chupy); virtual void SetClipOFF(Int_t wid); virtual void SetClipRegion(Int_t wid, Int_t x, Int_t y, UInt_t w, UInt_t h); virtual void SetCursor(Int_t win, ECursor cursor); virtual void SetDoubleBuffer(Int_t wid, Int_t mode); virtual void SetDoubleBufferOFF(); virtual void SetDoubleBufferON(); virtual void SetDrawMode(EDrawMode mode); virtual void SetFillColor(Color_t cindex); virtual void SetFillStyle(Style_t style); virtual void SetLineColor(Color_t cindex); virtual void SetLineType(Int_t n, Int_t *dash); virtual void SetLineStyle(Style_t linestyle); virtual void SetLineWidth(Width_t width); virtual void SetMarkerColor(Color_t cindex); virtual void SetMarkerSize(Float_t markersize); virtual void SetMarkerStyle(Style_t markerstyle); virtual void SetOpacity(Int_t percent); virtual void SetRGB(Int_t cindex, Float_t r, Float_t g, Float_t b); virtual void SetTextAlign(Short_t talign=11); virtual void SetTextColor(Color_t cindex); virtual Int_t SetTextFont(char *fontname, ETextSetMode mode); virtual void SetTextFont(Font_t fontnumber); virtual void SetTextMagnitude(Float_t mgn); virtual void SetTextSize(Float_t textsize); virtual void UpdateWindow(Int_t mode); virtual void Warp(Int_t ix, Int_t iy, Window_t id = 0); virtual Int_t WriteGIF(char *name); virtual void WritePixmap(Int_t wid, UInt_t w, UInt_t h, char *pxname); virtual Window_t GetCurrentWindow() const; virtual void GetWindowAttributes(Window_t id, WindowAttributes_t &attr); virtual void MapWindow(Window_t id); virtual void MapSubwindows(Window_t id); virtual void MapRaised(Window_t id); virtual void UnmapWindow(Window_t id); virtual void DestroyWindow(Window_t id); virtual void DestroySubwindows(Window_t id); virtual void RaiseWindow(Window_t id); virtual void LowerWindow(Window_t id); virtual void MoveWindow(Window_t id, Int_t x, Int_t y); virtual void MoveResizeWindow(Window_t id, Int_t x, Int_t y, UInt_t w, UInt_t h); virtual void ResizeWindow(Window_t id, UInt_t w, UInt_t h); virtual void IconifyWindow(Window_t id); virtual Bool_t NeedRedraw(ULong_t tgwindow, Bool_t force); virtual void ReparentWindow(Window_t id, Window_t pid, Int_t x, Int_t y); virtual void SetWindowBackground(Window_t id, ULong_t color); virtual void SetWindowBackgroundPixmap(Window_t id, Pixmap_t pxm); virtual Window_t CreateWindow(Window_t parent, Int_t x, Int_t y, UInt_t w, UInt_t h, UInt_t border, Int_t depth, UInt_t clss, void *visual, SetWindowAttributes_t *attr, UInt_t wtype); virtual Int_t OpenDisplay(const char *dpyName); virtual void CloseDisplay(); virtual Display_t GetDisplay() const; virtual Visual_t GetVisual() const; virtual Int_t GetScreen() const; virtual Int_t GetDepth() const; virtual UInt_t ScreenWidthMM() const; virtual Colormap_t GetColormap() const; virtual Atom_t InternAtom(const char *atom_name, Bool_t only_if_exist); virtual Window_t GetDefaultRootWindow() const; virtual Window_t GetParent(Window_t id) const; virtual FontStruct_t LoadQueryFont(const char *font_name); virtual FontH_t GetFontHandle(FontStruct_t fs); virtual void DeleteFont(FontStruct_t fs); virtual GContext_t CreateGC(Drawable_t id, GCValues_t *gval); virtual void ChangeGC(GContext_t gc, GCValues_t *gval); virtual void CopyGC(GContext_t org, GContext_t dest, Mask_t mask); virtual void DeleteGC(GContext_t gc); virtual Cursor_t CreateCursor(ECursor cursor); virtual void SetCursor(Window_t id, Cursor_t curid); virtual Pixmap_t CreatePixmap(Drawable_t id, UInt_t w, UInt_t h); virtual Pixmap_t CreatePixmap(Drawable_t id, const char *bitmap, UInt_t width, UInt_t height, ULong_t forecolor, ULong_t backcolor, Int_t depth); virtual Pixmap_t CreateBitmap(Drawable_t id, const char *bitmap, UInt_t width, UInt_t height); virtual void DeletePixmap(Pixmap_t pmap); virtual Bool_t CreatePictureFromFile(Drawable_t id, const char *filename, Pixmap_t &pict, Pixmap_t &pict_mask, PictureAttributes_t &attr); virtual Bool_t CreatePictureFromData(Drawable_t id, char **data, Pixmap_t &pict, Pixmap_t &pict_mask, PictureAttributes_t &attr); virtual Pixmap_t CreatePixmapFromData(unsigned char *bits, UInt_t width, UInt_t height); virtual Bool_t ReadPictureDataFromFile(const char *filename, char ***ret_data); virtual void DeletePictureData(void *data); virtual void SetDashes(GContext_t gc, Int_t offset, const char *dash_list, Int_t n); virtual Bool_t ParseColor(Colormap_t cmap, const char *cname, ColorStruct_t &color); virtual Bool_t AllocColor(Colormap_t cmap, ColorStruct_t &color); virtual void QueryColor(Colormap_t cmap, ColorStruct_t &color); virtual void FreeColor(Colormap_t cmap, ULong_t pixel); virtual Int_t EventsPending(); virtual void NextEvent(Event_t &event); virtual void Bell(Int_t percent); virtual void CopyArea(Drawable_t src, Drawable_t dest, GContext_t gc, Int_t src_x, Int_t src_y, UInt_t width, UInt_t height, Int_t dest_x, Int_t dest_y); virtual void ChangeWindowAttributes(Window_t id, SetWindowAttributes_t *attr); virtual void ChangeProperty(Window_t id, Atom_t property, Atom_t type, UChar_t *data, Int_t len); virtual void DrawLine(Drawable_t id, GContext_t gc, Int_t x1, Int_t y1, Int_t x2, Int_t y2); virtual void ClearArea(Window_t id, Int_t x, Int_t y, UInt_t w, UInt_t h); virtual Bool_t CheckEvent(Window_t id, EGEventType type, Event_t &ev); virtual void SendEvent(Window_t id, Event_t *ev); virtual void WMDeleteNotify(Window_t id); virtual void SetKeyAutoRepeat(Bool_t on = kTRUE); virtual void GrabKey(Window_t id, Int_t keycode, UInt_t modifier, Bool_t grab = kTRUE); virtual void GrabButton(Window_t id, EMouseButton button, UInt_t modifier, UInt_t evmask, Window_t confine, Cursor_t cursor, Bool_t grab = kTRUE); virtual void GrabPointer(Window_t id, UInt_t evmask, Window_t confine, Cursor_t cursor, Bool_t grab = kTRUE, Bool_t owner_events = kTRUE); virtual void SetWindowName(Window_t id, char *name); virtual void SetIconName(Window_t id, char *name); virtual void SetIconPixmap(Window_t id, Pixmap_t pix); virtual void SetClassHints(Window_t id, char *className, char *resourceName); virtual void SetMWMHints(Window_t id, UInt_t value, UInt_t funcs, UInt_t input); virtual void SetWMPosition(Window_t id, Int_t x, Int_t y); virtual void SetWMSize(Window_t id, UInt_t w, UInt_t h); virtual void SetWMSizeHints(Window_t id, UInt_t wmin, UInt_t hmin, UInt_t wmax, UInt_t hmax, UInt_t winc, UInt_t hinc); virtual void SetWMState(Window_t id, EInitialState state); virtual void SetWMTransientHint(Window_t id, Window_t main_id); virtual void DrawString(Drawable_t id, GContext_t gc, Int_t x, Int_t y, const char *s, Int_t len); virtual Int_t TextWidth(FontStruct_t font, const char *s, Int_t len); virtual void GetFontProperties(FontStruct_t font, Int_t &max_ascent, Int_t &max_descent); virtual void GetGCValues(GContext_t gc, GCValues_t &gval); virtual FontStruct_t GetFontStruct(FontH_t fh); virtual void FreeFontStruct(FontStruct_t fs); virtual void ClearWindow(Window_t id); virtual Int_t KeysymToKeycode(UInt_t keysym); virtual void FillRectangle(Drawable_t id, GContext_t gc, Int_t x, Int_t y, UInt_t w, UInt_t h); virtual void DrawRectangle(Drawable_t id, GContext_t gc, Int_t x, Int_t y, UInt_t w, UInt_t h); virtual void DrawSegments(Drawable_t id, GContext_t gc, Segment_t *seg, Int_t nseg); virtual void SelectInput(Window_t id, UInt_t evmask); virtual Window_t GetInputFocus(); virtual void SetInputFocus(Window_t id); virtual Window_t GetPrimarySelectionOwner(); virtual void SetPrimarySelectionOwner(Window_t id); virtual void ConvertPrimarySelection(Window_t id, Atom_t clipboard, Time_t when); virtual void LookupString(Event_t *event, char *buf, Int_t buflen, UInt_t &keysym); virtual void GetPasteBuffer(Window_t id, Atom_t atom, TString &text, Int_t &nchar, Bool_t del); virtual void TranslateCoordinates(Window_t src, Window_t dest, Int_t src_x,Int_t src_y, Int_t &dest_x, Int_t &dest_y, Window_t &child); virtual void GetWindowSize(Drawable_t id, Int_t &x, Int_t &y, UInt_t &w, UInt_t &h); virtual void FillPolygon(Window_t id, GContext_t gc, Point_t *points, Int_t npnt); virtual void QueryPointer(Window_t id, Window_t &rootw, Window_t &childw, Int_t &root_x, Int_t &root_y, Int_t &win_x, Int_t &win_y, UInt_t &mask); virtual void SetForeground(GContext_t gc, ULong_t foreground); virtual void SetClipRectangles(GContext_t gc, Int_t x, Int_t y, Rectangle_t *recs, Int_t n); virtual void Update(Int_t mode = 0); virtual Region_t CreateRegion(); virtual void DestroyRegion(Region_t reg); virtual void UnionRectWithRegion(Rectangle_t *rect, Region_t src, Region_t dest); virtual Region_t PolygonRegion(Point_t *points, Int_t np, Bool_t winding); virtual void UnionRegion(Region_t rega, Region_t regb, Region_t result); virtual void IntersectRegion(Region_t rega, Region_t regb, Region_t result); virtual void SubtractRegion(Region_t rega, Region_t regb, Region_t result); virtual void XorRegion(Region_t rega, Region_t regb, Region_t result); virtual Bool_t EmptyRegion(Region_t reg); virtual Bool_t PointInRegion(Int_t x, Int_t y, Region_t reg); virtual Bool_t EqualRegion(Region_t rega, Region_t regb); virtual void GetRegionBox(Region_t reg, Rectangle_t *rect); virtual char **ListFonts(const char *fontname, Int_t max, Int_t &count); virtual void FreeFontNames(char **fontlist); virtual Drawable_t CreateImage(UInt_t width, UInt_t height); virtual void GetImageSize(Drawable_t id, UInt_t &width, UInt_t &height); virtual void PutPixel(Drawable_t id, Int_t x, Int_t y, ULong_t pixel); virtual void PutImage(Drawable_t id, GContext_t gc, Drawable_t img, Int_t dx, Int_t dy, Int_t x, Int_t y, UInt_t w, UInt_t h); virtual void DeleteImage(Drawable_t img); virtual unsigned char *GetColorBits(Drawable_t wid, Int_t x = 0, Int_t y = 0, UInt_t w = 0, UInt_t h = 0); virtual void ShapeCombineMask(Window_t id, Int_t x, Int_t y, Pixmap_t mask); virtual void DeleteProperty(Window_t, Atom_t&); virtual Int_t GetProperty(Window_t, Atom_t, Long_t, Long_t, Bool_t, Atom_t, Atom_t*, Int_t*, ULong_t*, ULong_t*, unsigned char**); virtual void ChangeActivePointerGrab(Window_t, UInt_t, Cursor_t); virtual void ConvertSelection(Window_t, Atom_t&, Atom_t&, Atom_t&, Time_t&); virtual Bool_t SetSelectionOwner(Window_t, Atom_t&); virtual void ChangeProperties(Window_t id, Atom_t property, Atom_t type, Int_t format, UChar_t *data, Int_t len); virtual void SetDNDAware(Window_t, Atom_t *); virtual void SetTypeList(Window_t win, Atom_t prop, Atom_t *typelist); virtual Window_t FindRWindow(Window_t win, Window_t dragwin, Window_t input, int x, int y, int maxd); virtual Bool_t IsDNDAware(Window_t win, Atom_t *typelist); virtual Bool_t IsCmdThread() const { return kTRUE; } static TVirtualX *&Instance(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TVirtualX::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TVirtualX::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TVirtualX.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 330; } }; extern TVirtualX *(*gPtr2VirtualX)(); extern TVirtualX *gGXBatch; # 31 "/products/root_522/include/root/TVirtualPad.h" 2 # 1 "/products/root_522/include/root/Buttons.h" 1 # 15 "/products/root_522/include/root/Buttons.h" enum EEventType { kNoEvent = 0, kButton1Down = 1, kButton2Down = 2, kButton3Down = 3, kKeyDown = 4, kButton1Up = 11, kButton2Up = 12, kButton3Up = 13, kKeyUp = 14, kButton1Motion = 21, kButton2Motion = 22, kButton3Motion = 23, kKeyPress = 24, kButton1Locate = 41, kButton2Locate = 42, kButton3Locate = 43, kESC = 27, kMouseMotion = 51, kMouseEnter = 52, kMouseLeave = 53, kButton1Double = 61, kButton2Double = 62, kButton3Double = 63 }; enum EEditMode { kPolyLine = 1, kSPolyLine = 2, kPolyGone = 3, kSPolyGone = 4, kBox = 5, kDelete = 6, kPad = 7, kText = 8, kEditor = 9, kExit = 10, kPave = 11, kPaveLabel = 12, kPaveText = 13, kPavesText = 14, kEllipse = 15, kArc = 16, kLine = 17, kArrow = 18, kGraph = 19, kMarker = 20, kPolyMarker= 21, kPolyLine3D= 22, kWbox = 23, kGaxis = 24, kF1 = 25, kF2 = 26, kF3 = 27, kDiamond = 28, kPolyMarker3D = 29, kButton = 101, kCutG =100, kCurlyLine =200, kCurlyArc = 201 }; # 39 "/products/root_522/include/root/TVirtualPad.h" 2 # 1 "/products/root_522/include/root/TQObject.h" 1 # 44 "/products/root_522/include/root/TQObject.h" class TList; class TObject; class TQConnection; class TClass; class TQObject { friend class TQConnection; protected: TList *fListOfSignals; TList *fListOfConnections; Bool_t fSignalsBlocked; static Bool_t fgAllSignalsBlocked; virtual void *GetSender() { return this; } virtual const char *GetSenderClassName() const { return ""; } static Bool_t ConnectToClass(TQObject *sender, const char *signal, TClass *receiver_class, void *receiver, const char *slot); static Bool_t ConnectToClass(const char *sender_class, const char *signal, TClass *receiver_class, void *receiver, const char *slot); static Int_t CheckConnectArgs(TQObject *sender, TClass *sender_class, const char *signal, TClass *receiver_class, const char *slot); private: TQObject(const TQObject& tqo); TQObject& operator=(const TQObject& tqo); public: TQObject(); virtual ~TQObject(); TList *GetListOfClassSignals() const; TList *GetListOfSignals() const { return fListOfSignals; } TList *GetListOfConnections() const { return fListOfConnections; } Bool_t AreSignalsBlocked() const { return fSignalsBlocked; } Bool_t BlockSignals(Bool_t b) { Bool_t ret = fSignalsBlocked; fSignalsBlocked = b; return ret; } void CollectClassSignalLists(TList& list, TClass* cls); void EmitVA(const char *signal, Int_t nargs, ...); void EmitVA(const char *signal, Int_t nargs, va_list va); void Emit(const char *signal); void Emit(const char *signal, Long_t *paramArr); void Emit(const char *signal, const char *params); void Emit(const char *signal, Double_t param); void Emit(const char *signal, Long_t param); void Emit(const char *signal, Long64_t param); void Emit(const char *signal, Bool_t param) { Emit(signal, (Long_t)param); } void Emit(const char *signal, Char_t param) { Emit(signal, (Long_t)param); } void Emit(const char *signal, UChar_t param) { Emit(signal, (Long_t)param); } void Emit(const char *signal, Short_t param) { Emit(signal, (Long_t)param); } void Emit(const char *signal, UShort_t param) { Emit(signal, (Long_t)param); } void Emit(const char *signal, Int_t param) { Emit(signal, (Long_t)param); } void Emit(const char *signal, UInt_t param) { Emit(signal, (Long_t)param); } void Emit(const char *signal, ULong_t param) { Emit(signal, (Long_t)param); } void Emit(const char *signal, ULong64_t param) { Emit(signal, (Long64_t) param); } void Emit(const char *signal, Float_t param) { Emit(signal, (Double_t)param); } Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot); Bool_t Disconnect(const char *signal = 0, void *receiver = 0, const char *slot = 0); virtual void HighPriority(const char *signal_name, const char *slot_name = 0); virtual void LowPriority(const char *signal_name, const char *slot_name = 0); virtual Bool_t HasConnection(const char *signal_name) const; virtual Int_t NumberOfSignals() const; virtual Int_t NumberOfConnections() const; virtual void Connected(const char * ) { } virtual void Disconnected(const char * ) { } virtual void Destroyed() { Emit("Destroyed()"); } virtual void ChangedBy(const char *method) { Emit("ChangedBy(char*)", method); } virtual void Message(const char *msg) { Emit("Message(char*)", msg); } static Bool_t Connect(TQObject *sender, const char *signal, const char *receiver_class, void *receiver, const char *slot); static Bool_t Connect(const char *sender_class, const char *signal, const char *receiver_class, void *receiver, const char *slot); static Bool_t Disconnect(TQObject *sender, const char *signal = 0, void *receiver = 0, const char *slot = 0); static Bool_t Disconnect(const char *class_name, const char *signal, void *receiver = 0, const char *slot = 0); static Bool_t AreAllSignalsBlocked(); static Bool_t BlockAllSignals(Bool_t b); static void LoadRQ_OBJECT(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TQObject::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TQObject::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TQObject.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 181; } }; extern void *gTQSender; class TQObjSender : public TQObject { protected: void *fSender; TString fSenderClass; virtual void *GetSender() { return fSender; } virtual const char *GetSenderClassName() const { return fSenderClass; } private: TQObjSender(const TQObjSender&); TQObjSender& operator=(const TQObjSender&); public: TQObjSender() : TQObject(), fSender(0), fSenderClass() { } virtual ~TQObjSender() { Disconnect(); } virtual void SetSender(void *sender) { fSender = sender; } void SetSenderClassName(const char *sclass = "") { fSenderClass = sclass; } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TQObjSender::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TQObjSender::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TQObject.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 207; } }; extern Bool_t ConnectCINT(TQObject *sender, const char *signal, const char *slot); # 43 "/products/root_522/include/root/TVirtualPad.h" 2 class TAxis; class TObject; class TObjLink; class TView; class TCanvas; class TH1F; class TFrame; class TBox; class TVirtualViewer3D; class TVirtualPad : public TObject, public TAttLine, public TAttFill, public TAttPad, public TQObject { protected: Bool_t fResizing; virtual void *GetSender() { return this; } public: TVirtualPad(); TVirtualPad(const char *name, const char *title, Double_t xlow, Double_t ylow, Double_t xup, Double_t yup, Color_t color=19, Short_t bordersize=4, Short_t bordermode=1); virtual ~TVirtualPad(); virtual void AbsCoordinates(Bool_t set) = 0; virtual Double_t AbsPixeltoX(Int_t px) = 0; virtual Double_t AbsPixeltoY(Int_t py) = 0; virtual void AddExec(const char *name, const char *command) = 0; virtual TVirtualPad* cd(Int_t subpadnumber=0) = 0; virtual void Clear(Option_t *option="") = 0; virtual void Close(Option_t *option="") = 0; virtual void CopyPixmap() = 0; virtual void CopyPixmaps() = 0; virtual void DeleteExec(const char *name) = 0; virtual void Divide(Int_t nx=1, Int_t ny=1, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0) = 0; virtual void Draw(Option_t *option="") = 0; virtual void DrawClassObject(const TObject *obj, Option_t *option="") = 0; virtual TH1F *DrawFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax, const char *title="") = 0; virtual void ExecuteEventAxis(Int_t event, Int_t px, Int_t py, TAxis *axis) = 0; virtual Short_t GetBorderMode() const = 0; virtual Short_t GetBorderSize() const = 0; virtual Int_t GetCanvasID() const = 0; virtual TCanvas *GetCanvas() const = 0; virtual TVirtualPad *GetVirtCanvas() const = 0; virtual Int_t GetEvent() const = 0; virtual Int_t GetEventX() const = 0; virtual Int_t GetEventY() const = 0; virtual TFrame *GetFrame() = 0; virtual Color_t GetHighLightColor() const = 0; virtual Int_t GetNumber() const = 0; virtual void GetRange(Double_t &x1, Double_t &y1, Double_t &x2, Double_t &y2) = 0; virtual void GetRangeAxis(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) = 0; virtual void GetPadPar(Double_t &xlow, Double_t &ylow, Double_t &xup, Double_t &yup) = 0; virtual Double_t GetXlowNDC() const = 0; virtual Double_t GetYlowNDC() const = 0; virtual Double_t GetWNDC() const = 0; virtual Double_t GetHNDC() const = 0; virtual UInt_t GetWw() const = 0; virtual UInt_t GetWh() const = 0; virtual Double_t GetAbsXlowNDC() const = 0; virtual Double_t GetAbsYlowNDC() const = 0; virtual Double_t GetAbsWNDC() const = 0; virtual Double_t GetAbsHNDC() const = 0; virtual Double_t GetAspectRatio() const = 0; virtual Double_t GetPhi() const = 0; virtual Double_t GetTheta() const = 0; virtual Double_t GetUxmin() const = 0; virtual Double_t GetUymin() const = 0; virtual Double_t GetUxmax() const = 0; virtual Double_t GetUymax() const = 0; virtual Bool_t GetGridx() const = 0; virtual Bool_t GetGridy() const = 0; virtual Int_t GetTickx() const = 0; virtual Int_t GetTicky() const = 0; virtual Double_t GetX1() const = 0; virtual Double_t GetX2() const = 0; virtual Double_t GetY1() const = 0; virtual Double_t GetY2() const = 0; virtual TList *GetListOfPrimitives() const = 0; virtual TList *GetListOfExecs() const = 0; virtual TObject *GetPrimitive(const char *name) const = 0; virtual TObject *GetSelected() const = 0; virtual TVirtualPad *GetPad(Int_t subpadnumber) const = 0; virtual TObject *GetPadPointer() const = 0; virtual TVirtualPad *GetPadSave() const = 0; virtual TVirtualPad *GetSelectedPad() const = 0; virtual TView *GetView() const = 0; virtual Int_t GetLogx() const = 0; virtual Int_t GetLogy() const = 0; virtual Int_t GetLogz() const = 0; virtual TVirtualPad *GetMother() const = 0; virtual const char *GetName() const = 0; virtual const char *GetTitle() const = 0; virtual Int_t GetPadPaint() const = 0; virtual Int_t GetPixmapID() const = 0; virtual TObject *GetView3D() const = 0; virtual Bool_t HasCrosshair() const = 0; virtual void HighLight(Color_t col=kRed, Bool_t set=kTRUE) = 0; virtual Bool_t HasFixedAspectRatio() const = 0; virtual Bool_t IsBatch() const = 0; Bool_t IsBeingResized() const { return fResizing; } virtual Bool_t IsEditable() const = 0; virtual Bool_t IsModified() const = 0; virtual Bool_t IsRetained() const = 0; virtual Bool_t IsVertical() const = 0; virtual void ls(Option_t *option="") const = 0; virtual void Modified(Bool_t flag=1) = 0; virtual Bool_t OpaqueMoving() const = 0; virtual Bool_t OpaqueResizing() const = 0; virtual Double_t PadtoX(Double_t x) const = 0; virtual Double_t PadtoY(Double_t y) const = 0; virtual void Paint(Option_t *option="") = 0; virtual void PaintBorderPS(Double_t xl,Double_t yl,Double_t xt,Double_t yt,Int_t bmode,Int_t bsize,Int_t dark,Int_t light) = 0; virtual void PaintBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Option_t *option="") = 0; virtual void PaintFillArea(Int_t n, Float_t *x, Float_t *y, Option_t *option="") = 0; virtual void PaintFillArea(Int_t n, Double_t *x, Double_t *y, Option_t *option="") = 0; virtual void PaintPadFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax) = 0; virtual void PaintLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2) = 0; virtual void PaintLineNDC(Double_t u1, Double_t v1,Double_t u2, Double_t v2) = 0; virtual void PaintLine3D(Float_t *p1, Float_t *p2) = 0; virtual void PaintLine3D(Double_t *p1, Double_t *p2) = 0; virtual void PaintPolyLine(Int_t n, Float_t *x, Float_t *y, Option_t *option="") = 0; virtual void PaintPolyLine(Int_t n, Double_t *x, Double_t *y, Option_t *option="") = 0; virtual void PaintPolyLine3D(Int_t n, Double_t *p) = 0; virtual void PaintPolyLineNDC(Int_t n, Double_t *x, Double_t *y, Option_t *option="") = 0; virtual void PaintPolyMarker(Int_t n, Float_t *x, Float_t *y, Option_t *option="") = 0; virtual void PaintPolyMarker(Int_t n, Double_t *x, Double_t *y, Option_t *option="") = 0; virtual void PaintModified() = 0; virtual void PaintText(Double_t x, Double_t y, const char *text) = 0; virtual void PaintTextNDC(Double_t u, Double_t v, const char *text) = 0; virtual Double_t PixeltoX(Int_t px) = 0; virtual Double_t PixeltoY(Int_t py) = 0; virtual void Pop() = 0; virtual void Print(const char *filename="") const = 0; virtual void Print(const char *filename, Option_t *option) = 0; virtual void Range(Double_t x1, Double_t y1, Double_t x2, Double_t y2) = 0; virtual void RangeAxis(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax) = 0; virtual void RecursiveRemove(TObject *obj) = 0; virtual void RedrawAxis(Option_t *option="") = 0; virtual void ResetView3D(TObject *view=0) = 0; virtual void ResizePad(Option_t *option="") = 0; virtual void SaveAs(const char *filename="",Option_t *option="") const = 0; virtual void SetBatch(Bool_t batch=kTRUE) = 0; virtual void SetBorderMode(Short_t bordermode) = 0; virtual void SetBorderSize(Short_t bordersize) = 0; virtual void SetCanvas(TCanvas *c) = 0; virtual void SetCanvasSize(UInt_t ww, UInt_t wh) = 0; virtual void SetCrosshair(Int_t crhair=1) = 0; virtual void SetCursor(ECursor cursor) = 0; virtual void SetDoubleBuffer(Int_t mode=1) = 0; virtual void SetEditable(Bool_t mode=kTRUE) = 0; virtual void SetFixedAspectRatio(Bool_t fixed = kTRUE) = 0; virtual void SetGrid(Int_t valuex = 1, Int_t valuey = 1) = 0; virtual void SetGridx(Int_t value = 1) = 0; virtual void SetGridy(Int_t value = 1) = 0; virtual void SetLogx(Int_t value = 1) = 0; virtual void SetLogy(Int_t value = 1) = 0; virtual void SetLogz(Int_t value = 1) = 0; virtual void SetPad(const char *name, const char *title, Double_t xlow, Double_t ylow, Double_t xup, Double_t yup, Color_t color=35, Short_t bordersize=5, Short_t bordermode=-1) = 0; virtual void SetPad(Double_t xlow, Double_t ylow, Double_t xup, Double_t yup) = 0; virtual void SetAttFillPS(Color_t color, Style_t style) = 0; virtual void SetAttLinePS(Color_t color, Style_t style, Width_t lwidth) = 0; virtual void SetAttMarkerPS(Color_t color, Style_t style, Size_t msize) = 0; virtual void SetAttTextPS(Int_t align, Float_t angle, Color_t color, Style_t font, Float_t tsize) = 0; virtual void SetName(const char *name) = 0; virtual void SetSelected(TObject *obj) = 0; virtual void SetTicks(Int_t valuex = 1, Int_t valuey = 1) = 0; virtual void SetTickx(Int_t value = 1) = 0; virtual void SetTicky(Int_t value = 1) = 0; virtual void SetTitle(const char *title="") = 0; virtual void SetTheta(Double_t theta=30) = 0; virtual void SetPhi(Double_t phi=30) = 0; virtual void SetToolTipText(const char *text, Long_t delayms = 1000) = 0; virtual void SetVertical(Bool_t vert=kTRUE) = 0; virtual void SetView(TView *view=0) = 0; virtual void SetViewer3D(TVirtualViewer3D * ) {} virtual TObject *WaitPrimitive(const char *pname="", const char *emode="") = 0; virtual void Update() = 0; virtual Int_t UtoAbsPixel(Double_t u) const = 0; virtual Int_t VtoAbsPixel(Double_t v) const = 0; virtual Int_t UtoPixel(Double_t u) const = 0; virtual Int_t VtoPixel(Double_t v) const = 0; virtual Int_t XtoAbsPixel(Double_t x) const = 0; virtual Int_t YtoAbsPixel(Double_t y) const = 0; virtual Double_t XtoPad(Double_t x) const = 0; virtual Double_t YtoPad(Double_t y) const = 0; virtual Int_t XtoPixel(Double_t x) const = 0; virtual Int_t YtoPixel(Double_t y) const = 0; virtual TObject *CreateToolTip(const TBox *b, const char *text, Long_t delayms) = 0; virtual void DeleteToolTip(TObject *tip) = 0; virtual void ResetToolTip(TObject *tip) = 0; virtual void CloseToolTip(TObject *tip) = 0; virtual TVirtualViewer3D *GetViewer3D(Option_t * type = "") = 0; virtual Bool_t HasViewer3D() const = 0; virtual void ReleaseViewer3D(Option_t * type = "") = 0; virtual Int_t GetGLDevice() = 0; virtual void SetCopyGLDevice(Bool_t copy) = 0; static TVirtualPad *&Pad(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 2; } static void Dictionary(); virtual TClass *IsA() const { return TVirtualPad::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TVirtualPad::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TVirtualPad.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 252; } }; extern void **(*gThreadTsd)(void*,Int_t); extern Int_t (*gThreadXAR)(const char *xact, Int_t nb, void **ar, Int_t *iret); # 27 "/products/root_522/include/root/TPad.h" 2 class TVirtualViewer3D; class TBrowser; class TBox; class TLegend; class TPad : public TVirtualPad { private: TObject *fTip; protected: Double_t fX1; Double_t fY1; Double_t fX2; Double_t fY2; Double_t fXtoAbsPixelk; Double_t fXtoPixelk; Double_t fXtoPixel; Double_t fYtoAbsPixelk; Double_t fYtoPixelk; Double_t fYtoPixel; Double_t fUtoAbsPixelk; Double_t fUtoPixelk; Double_t fUtoPixel; Double_t fVtoAbsPixelk; Double_t fVtoPixelk; Double_t fVtoPixel; Double_t fAbsPixeltoXk; Double_t fPixeltoXk; Double_t fPixeltoX; Double_t fAbsPixeltoYk; Double_t fPixeltoYk; Double_t fPixeltoY; Double_t fXlowNDC; Double_t fYlowNDC; Double_t fWNDC; Double_t fHNDC; Double_t fAbsXlowNDC; Double_t fAbsYlowNDC; Double_t fAbsWNDC; Double_t fAbsHNDC; Double_t fUxmin; Double_t fUymin; Double_t fUxmax; Double_t fUymax; Double_t fTheta; Double_t fPhi; Double_t fAspectRatio; Int_t fPixmapID; Int_t fGLDevice; Bool_t fCopyGLDevice; Bool_t fEmbeddedGL; Int_t fNumber; Int_t fTickx; Int_t fTicky; Int_t fLogx; Int_t fLogy; Int_t fLogz; Int_t fPadPaint; Int_t fCrosshair; Int_t fCrosshairPos; Short_t fBorderSize; Short_t fBorderMode; Bool_t fModified; Bool_t fGridx; Bool_t fGridy; Bool_t fAbsCoord; Bool_t fEditable; Bool_t fFixedAspectRatio; TPad *fMother; TCanvas *fCanvas; TList *fPrimitives; TList *fExecs; TString fName; TString fTitle; TFrame *fFrame; TView *fView; TObject *fPadPointer; TObject *fPadView3D; static Int_t fgMaxPickDistance; TVirtualViewer3D *fViewer3D; void DestroyExternalViewer3D(); virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); virtual void HideToolTip(Int_t event); void PaintBorder(Color_t color, Bool_t tops); virtual void PaintBorderPS(Double_t xl,Double_t yl,Double_t xt,Double_t yt,Int_t bmode,Int_t bsize,Int_t dark,Int_t light); void PaintDate(); virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SetBatch(Bool_t batch=kTRUE); private: TPad(const TPad &pad); TPad &operator=(const TPad &rhs); void CopyBackgroundPixmap(Int_t x, Int_t y); void CopyBackgroundPixmaps(TPad *start, TPad *stop, Int_t x, Int_t y); public: enum { kFraming = (1 << (6)), kHori = (1 << (9)), kClipFrame = (1 << (10)), kPrintingPS = (1 << (11)), kCannotMove = (1 << (12)), kClearAfterCR = (1 << (14)) }; TPad(); TPad(const char *name, const char *title, Double_t xlow, Double_t ylow, Double_t xup, Double_t yup, Color_t color=-1, Short_t bordersize=-1, Short_t bordermode=-2); virtual ~TPad(); void AbsCoordinates(Bool_t set) { fAbsCoord = set; } Double_t AbsPixeltoX(Int_t px) {return fAbsPixeltoXk + px*fPixeltoX;} Double_t AbsPixeltoY(Int_t py) {return fAbsPixeltoYk + py*fPixeltoY;} virtual void AbsPixeltoXY(Int_t xpixel, Int_t ypixel, Double_t &x, Double_t &y); virtual void AddExec(const char *name, const char *command); virtual void AutoExec(); virtual void Browse(TBrowser *b); virtual TLegend *BuildLegend(Double_t x1=0.5, Double_t y1=0.67, Double_t x2=0.88, Double_t y2=0.88, const char *title=""); TVirtualPad* cd(Int_t subpadnumber=0); void Clear(Option_t *option=""); virtual Int_t Clip(Float_t *x, Float_t *y, Float_t xclipl, Float_t yclipb, Float_t xclipr, Float_t yclipt); virtual Int_t Clip(Double_t *x, Double_t *y, Double_t xclipl, Double_t yclipb, Double_t xclipr, Double_t yclipt); virtual Int_t ClippingCode(Double_t x, Double_t y, Double_t xcl1, Double_t ycl1, Double_t xcl2, Double_t ycl2); virtual Int_t ClipPolygon(Int_t n, Double_t *x, Double_t *y, Int_t nn, Double_t *xc, Double_t *yc, Double_t xclipl, Double_t yclipb, Double_t xclipr, Double_t yclipt); virtual void Close(Option_t *option=""); virtual void Closed() { Emit("Closed()"); } virtual void CopyPixmap(); virtual void CopyPixmaps(); virtual void DeleteExec(const char *name); virtual void Divide(Int_t nx=1, Int_t ny=1, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0); virtual void Draw(Option_t *option=""); virtual void DrawClassObject(const TObject *obj, Option_t *option=""); static void DrawColorTable(); virtual void DrawCrosshair(); TH1F *DrawFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax, const char *title=""); virtual void ExecuteEventAxis(Int_t event, Int_t px, Int_t py, TAxis *axis); virtual TObject *FindObject(const char *name) const; virtual TObject *FindObject(const TObject *obj) const; virtual void UseCurrentStyle(); virtual Short_t GetBorderMode() const { return fBorderMode;} virtual Short_t GetBorderSize() const { return fBorderSize;} Int_t GetCrosshair() const; virtual Int_t GetCanvasID() const; TFrame *GetFrame(); virtual Int_t GetEvent() const; virtual Int_t GetEventX() const; virtual Int_t GetEventY() const; virtual Color_t GetHighLightColor() const; virtual void GetRange(Double_t &x1, Double_t &y1, Double_t &x2, Double_t &y2); virtual void GetRangeAxis(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax); virtual void GetPadPar(Double_t &xlow, Double_t &ylow, Double_t &xup, Double_t &yup); Double_t GetXlowNDC() const {return fXlowNDC;} Double_t GetYlowNDC() const {return fYlowNDC;} Double_t GetWNDC() const {return fWNDC;} Double_t GetHNDC() const {return fHNDC;} virtual UInt_t GetWw() const; virtual UInt_t GetWh() const; Double_t GetAbsXlowNDC() const {return fAbsXlowNDC;} Double_t GetAbsYlowNDC() const {return fAbsYlowNDC;} Double_t GetAbsWNDC() const {return fAbsWNDC;} Double_t GetAbsHNDC() const {return fAbsHNDC;} Double_t GetAspectRatio() const { return fAspectRatio; } Double_t GetPhi() const {return fPhi;} Double_t GetTheta() const {return fTheta;} Double_t GetUxmin() const {return fUxmin;} Double_t GetUymin() const {return fUymin;} Double_t GetUxmax() const {return fUxmax;} Double_t GetUymax() const {return fUymax;} Bool_t GetGridx() const {return fGridx;} Bool_t GetGridy() const {return fGridy;} Int_t GetNumber() const {return fNumber;} Int_t GetTickx() const {return fTickx;} Int_t GetTicky() const {return fTicky;} Double_t GetX1() const { return fX1; } Double_t GetX2() const { return fX2; } Double_t GetY1() const { return fY1; } Double_t GetY2() const { return fY2; } static Int_t GetMaxPickDistance(); TList *GetListOfPrimitives() const {return fPrimitives;} TList *GetListOfExecs() const {return fExecs;} virtual TObject *GetPrimitive(const char *name) const; virtual TObject *GetSelected() const; virtual TVirtualPad *GetPad(Int_t subpadnumber) const; virtual TObject *GetPadPointer() const {return fPadPointer;} TVirtualPad *GetPadSave() const; TVirtualPad *GetSelectedPad() const; Int_t GetGLDevice(); TView *GetView() const {return fView;} TObject *GetView3D() const {return fPadView3D;} Int_t GetLogx() const {return fLogx;} Int_t GetLogy() const {return fLogy;} Int_t GetLogz() const {return fLogz;} virtual TVirtualPad *GetMother() const {return fMother;} const char *GetName() const {return fName.Data();} const char *GetTitle() const {return fTitle.Data();} virtual TCanvas *GetCanvas() const { return fCanvas; } virtual TVirtualPad *GetVirtCanvas() const ; Int_t GetPadPaint() const {return fPadPaint;} Int_t GetPixmapID() const {return fPixmapID;} ULong_t Hash() const { return fName.Hash(); } virtual Bool_t HasCrosshair() const; void HighLight(Color_t col=kRed, Bool_t set=kTRUE); Bool_t HasFixedAspectRatio() const { return fFixedAspectRatio; } virtual Bool_t IsBatch() const; virtual Bool_t IsEditable() const {return fEditable;} Bool_t IsFolder() const {return kTRUE;} Bool_t IsModified() const {return fModified;} virtual Bool_t IsRetained() const; virtual Bool_t IsVertical() const {return !TestBit(kHori);} virtual void ls(Option_t *option="") const; void Modified(Bool_t flag=1); virtual Bool_t OpaqueMoving() const; virtual Bool_t OpaqueResizing() const; Double_t PadtoX(Double_t x) const; Double_t PadtoY(Double_t y) const; virtual void Paint(Option_t *option=""); void PaintBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Option_t *option=""); void PaintFillArea(Int_t n, Float_t *x, Float_t *y, Option_t *option=""); void PaintFillArea(Int_t n, Double_t *x, Double_t *y, Option_t *option=""); void PaintFillAreaHatches(Int_t n, Double_t *x, Double_t *y, Int_t FillStyle); void PaintHatches(Double_t dy, Double_t angle, Int_t nn, Double_t *xx, Double_t *yy); void PaintPadFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax); void PaintLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2); void PaintLineNDC(Double_t u1, Double_t v1,Double_t u2, Double_t v2); void PaintLine3D(Float_t *p1, Float_t *p2); void PaintLine3D(Double_t *p1, Double_t *p2); void PaintPolyLine(Int_t n, Float_t *x, Float_t *y, Option_t *option=""); void PaintPolyLine(Int_t n, Double_t *x, Double_t *y, Option_t *option=""); void PaintPolyLine3D(Int_t n, Double_t *p); void PaintPolyLineNDC(Int_t n, Double_t *x, Double_t *y, Option_t *option=""); void PaintPolyMarker(Int_t n, Float_t *x, Float_t *y, Option_t *option=""); void PaintPolyMarker(Int_t n, Double_t *x, Double_t *y, Option_t *option=""); virtual void PaintModified(); void PaintText(Double_t x, Double_t y, const char *text); void PaintTextNDC(Double_t u, Double_t v, const char *text); virtual TPad *Pick(Int_t px, Int_t py, TObjLink *&pickobj); Double_t PixeltoX(Int_t px); Double_t PixeltoY(Int_t py); virtual void PixeltoXY(Int_t xpixel, Int_t ypixel, Double_t &x, Double_t &y); virtual void Pop(); virtual void Print(const char *filename="") const; virtual void Print(const char *filename, Option_t *option); virtual void Range(Double_t x1, Double_t y1, Double_t x2, Double_t y2); virtual void RangeChanged() { Emit("RangeChanged()"); } virtual void RangeAxis(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax); virtual void RangeAxisChanged() { Emit("RangeAxisChanged()"); } virtual void RecursiveRemove(TObject *obj); virtual void RedrawAxis(Option_t *option=""); virtual void ResetView3D(TObject *view=0){fPadView3D=view;} virtual void ResizePad(Option_t *option=""); virtual void SaveAs(const char *filename="",Option_t *option="") const; virtual void SetBorderMode(Short_t bordermode) {fBorderMode = bordermode; Modified();} virtual void SetBorderSize(Short_t bordersize) {fBorderSize = bordersize; Modified();} void SetCanvas(TCanvas *c) { fCanvas = c; } virtual void SetCanvasSize(UInt_t ww, UInt_t wh); virtual void SetCrosshair(Int_t crhair=1); virtual void SetCursor(ECursor cursor); virtual void SetDoubleBuffer(Int_t mode=1); virtual void SetDrawOption(Option_t *option=""); virtual void SetEditable(Bool_t mode=kTRUE); virtual void SetFixedAspectRatio(Bool_t fixed = kTRUE); virtual void SetGrid(Int_t valuex = 1, Int_t valuey = 1) {fGridx = valuex; fGridy = valuey; Modified();} virtual void SetGridx(Int_t value = 1) {fGridx = value; Modified();} virtual void SetGridy(Int_t value = 1) {fGridy = value; Modified();} virtual void SetFillStyle(Style_t fstyle); virtual void SetLogx(Int_t value = 1); virtual void SetLogy(Int_t value = 1); virtual void SetLogz(Int_t value = 1); virtual void SetNumber(Int_t number) {fNumber = number;} virtual void SetPad(const char *name, const char *title, Double_t xlow, Double_t ylow, Double_t xup, Double_t yup, Color_t color=35, Short_t bordersize=5, Short_t bordermode=-1); virtual void SetPad(Double_t xlow, Double_t ylow, Double_t xup, Double_t yup); virtual void SetAttFillPS(Color_t color, Style_t style); virtual void SetAttLinePS(Color_t color, Style_t style, Width_t lwidth); virtual void SetAttMarkerPS(Color_t color, Style_t style, Size_t msize); virtual void SetAttTextPS(Int_t align, Float_t angle, Color_t color, Style_t font, Float_t tsize); static void SetMaxPickDistance(Int_t maxPick=5); virtual void SetName(const char *name) {fName = name;} virtual void SetSelected(TObject *obj); virtual void SetTicks(Int_t valuex = 1, Int_t valuey = 1) {fTickx = valuex; fTicky = valuey; Modified();} virtual void SetTickx(Int_t value = 1) {fTickx = value; Modified();} virtual void SetTicky(Int_t value = 1) {fTicky = value; Modified();} virtual void SetTitle(const char *title="") {fTitle = title;} virtual void SetTheta(Double_t theta=30) {fTheta = theta; Modified();} virtual void SetPhi(Double_t phi=30) {fPhi = phi; Modified();} virtual void SetToolTipText(const char *text, Long_t delayms = 1000); virtual void SetVertical(Bool_t vert=kTRUE); virtual void SetView(TView *view = 0); virtual void SetViewer3D(TVirtualViewer3D *viewer3d) {fViewer3D = viewer3d;} virtual void SetCopyGLDevice(Bool_t copy) {fCopyGLDevice = copy;} virtual void Update(); Int_t UtoAbsPixel(Double_t u) const {return Int_t(fUtoAbsPixelk + u*fUtoPixel);} Int_t VtoAbsPixel(Double_t v) const {return Int_t(fVtoAbsPixelk + v*fVtoPixel);} Int_t UtoPixel(Double_t u) const; Int_t VtoPixel(Double_t v) const; virtual TObject *WaitPrimitive(const char *pname="", const char *emode=""); Int_t XtoAbsPixel(Double_t x) const; Int_t YtoAbsPixel(Double_t y) const; Double_t XtoPad(Double_t x) const; Double_t YtoPad(Double_t y) const; Int_t XtoPixel(Double_t x) const; Int_t YtoPixel(Double_t y) const; virtual void XYtoAbsPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const; virtual void XYtoPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const; virtual TObject *CreateToolTip(const TBox *b, const char *text, Long_t delayms); virtual void DeleteToolTip(TObject *tip); virtual void ResetToolTip(TObject *tip); virtual void CloseToolTip(TObject *tip); virtual void x3d(Option_t *type=""); virtual TVirtualViewer3D *GetViewer3D(Option_t * type = ""); virtual Bool_t HasViewer3D() const { return (fViewer3D); } virtual void ReleaseViewer3D(Option_t * type = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 10; } static void Dictionary(); virtual TClass *IsA() const { return TPad::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TPad::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TPad.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 374; } }; inline void TPad::Modified(Bool_t flag) { if (!fModified && flag) Emit("Modified()"); fModified = flag; } inline void TPad::AbsPixeltoXY(Int_t xpixel, Int_t ypixel, Double_t &x, Double_t &y) { x = AbsPixeltoX(xpixel); y = AbsPixeltoY(ypixel); } inline Double_t TPad::PixeltoX(Int_t px) { if (fAbsCoord) return fAbsPixeltoXk + px*fPixeltoX; else return fPixeltoXk + px*fPixeltoX; } inline Double_t TPad::PixeltoY(Int_t py) { if (fAbsCoord) return fAbsPixeltoYk + py*fPixeltoY; else return fPixeltoYk + py*fPixeltoY; } inline void TPad::PixeltoXY(Int_t xpixel, Int_t ypixel, Double_t &x, Double_t &y) { x = PixeltoX(xpixel); y = PixeltoY(ypixel); } inline Int_t TPad::UtoPixel(Double_t u) const { Double_t val; if (fAbsCoord) val = fUtoAbsPixelk + u*fUtoPixel; else val = u*fUtoPixel; if (val < -kMaxPixel) return -kMaxPixel; if (val > kMaxPixel) return kMaxPixel; return Int_t(val); } inline Int_t TPad::VtoPixel(Double_t v) const { Double_t val; if (fAbsCoord) val = fVtoAbsPixelk + v*fVtoPixel; else val = fVtoPixelk + v*fVtoPixel; if (val < -kMaxPixel) return -kMaxPixel; if (val > kMaxPixel) return kMaxPixel; return Int_t(val); } inline Int_t TPad::XtoAbsPixel(Double_t x) const { Double_t val = fXtoAbsPixelk + x*fXtoPixel; if (val < -kMaxPixel) return -kMaxPixel; if (val > kMaxPixel) return kMaxPixel; return Int_t(val); } inline Int_t TPad::XtoPixel(Double_t x) const { Double_t val; if (fAbsCoord) val = fXtoAbsPixelk + x*fXtoPixel; else val = fXtoPixelk + x*fXtoPixel; if (val < -kMaxPixel) return -kMaxPixel; if (val > kMaxPixel) return kMaxPixel; return Int_t(val); } inline Int_t TPad::YtoAbsPixel(Double_t y) const { Double_t val = fYtoAbsPixelk + y*fYtoPixel; if (val < -kMaxPixel) return -kMaxPixel; if (val > kMaxPixel) return kMaxPixel; return Int_t(val); } inline Int_t TPad::YtoPixel(Double_t y) const { Double_t val; if (fAbsCoord) val = fYtoAbsPixelk + y*fYtoPixel; else val = fYtoPixelk + y*fYtoPixel; if (val < -kMaxPixel) return -kMaxPixel; if (val > kMaxPixel) return kMaxPixel; return Int_t(val); } inline void TPad::XYtoAbsPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const { xpixel = XtoAbsPixel(x); ypixel = YtoAbsPixel(y); } inline void TPad::XYtoPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const { xpixel = XtoPixel(x); ypixel = YtoPixel(y); } inline void TPad::SetDrawOption(Option_t *) { } # 26 "/products/root_522/include/root/TCanvas.h" 2 # 1 "/products/root_522/include/root/TAttCanvas.h" 1 # 28 "/products/root_522/include/root/TAttCanvas.h" class TAttCanvas { private: Float_t fXBetween; Float_t fYBetween; Float_t fTitleFromTop; Float_t fXdate; Float_t fYdate; Float_t fAdate; public: TAttCanvas(); virtual ~TAttCanvas(); virtual void Copy(TAttCanvas &attcanvas) const; Float_t GetAdate() const { return fAdate;} Float_t GetTitleFromTop() const { return fTitleFromTop;} Float_t GetXBetween() const { return fXBetween;} Float_t GetXdate() const { return fXdate;} Float_t GetYBetween() const { return fYBetween;} Float_t GetYdate() const { return fYdate;} virtual void Print(Option_t *option="") const; virtual void ResetAttCanvas(Option_t *option=""); virtual void SetAdate(Float_t adate) { fAdate=adate;} virtual void SetTitleFromTop(Float_t titlefromtop) { fTitleFromTop=titlefromtop;} virtual void SetXBetween(Float_t xbetween) { fXBetween=xbetween;} virtual void SetXdate(Float_t xdate) { fXdate=xdate;} virtual void SetYBetween(Float_t ybetween) { fYBetween=ybetween;} virtual void SetYdate(Float_t ydate) { fYdate=ydate;} private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TAttCanvas::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TAttCanvas::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TAttCanvas.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 57; } }; # 30 "/products/root_522/include/root/TCanvas.h" 2 # 41 "/products/root_522/include/root/TCanvas.h" # 1 "/products/root_522/include/root/TCanvasImp.h" 1 # 29 "/products/root_522/include/root/TCanvasImp.h" class TCanvas; class TCanvasImp { friend class TCanvas; protected: TCanvas *fCanvas; TCanvasImp(const TCanvasImp& ci) : fCanvas(ci.fCanvas) { } TCanvasImp& operator=(const TCanvasImp& ci) {if(this!=&ci) fCanvas=ci.fCanvas; return *this;} virtual void Lock() { } virtual void Unlock() { } virtual Bool_t IsLocked() { return kFALSE; } public: TCanvasImp(TCanvas *c=0) : fCanvas(c) { } TCanvasImp(TCanvas *c, const char *name, UInt_t width, UInt_t height); TCanvasImp(TCanvas *c, const char *name, Int_t x, Int_t y, UInt_t width, UInt_t height); virtual ~TCanvasImp() { } TCanvas *Canvas() const { return fCanvas; } virtual void Close() { } virtual void ForceUpdate() { } virtual UInt_t GetWindowGeometry(Int_t &x, Int_t &y, UInt_t &w, UInt_t &h); virtual void Iconify() { } virtual Int_t InitWindow() { return 0; } virtual void SetStatusText(const char *text = 0, Int_t partidx = 0); virtual void SetWindowPosition(Int_t x, Int_t y); virtual void SetWindowSize(UInt_t w, UInt_t h); virtual void SetWindowTitle(const char *newTitle); virtual void SetCanvasSize(UInt_t w, UInt_t h); virtual void Show() { } virtual void ShowMenuBar(Bool_t show = kTRUE); virtual void ShowStatusBar(Bool_t show = kTRUE); virtual void RaiseWindow(); virtual void ReallyDelete(); virtual void ShowEditor(Bool_t show = kTRUE); virtual void ShowToolBar(Bool_t show = kTRUE); virtual Bool_t HasEditor() const { return kFALSE; } virtual Bool_t HasMenuBar() const { return kFALSE; } virtual Bool_t HasStatusBar() const { return kFALSE; } virtual Bool_t HasToolBar() const { return kFALSE; } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TCanvasImp::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TCanvasImp::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TCanvasImp.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 78; } }; inline TCanvasImp::TCanvasImp(TCanvas *c, const char *, UInt_t, UInt_t) : fCanvas(c) { } inline TCanvasImp::TCanvasImp(TCanvas *c, const char *, Int_t, Int_t, UInt_t, UInt_t) : fCanvas(c) { } inline UInt_t TCanvasImp::GetWindowGeometry(Int_t &x, Int_t &y, UInt_t &w, UInt_t &h) { x = y = 0; w = h = 0; return 0;} inline void TCanvasImp::SetStatusText(const char *, Int_t) { } inline void TCanvasImp::SetWindowPosition(Int_t, Int_t) { } inline void TCanvasImp::SetWindowSize(UInt_t, UInt_t) { } inline void TCanvasImp::SetWindowTitle(const char *) { } inline void TCanvasImp::SetCanvasSize(UInt_t, UInt_t) { } inline void TCanvasImp::ShowMenuBar(Bool_t) { } inline void TCanvasImp::ShowStatusBar(Bool_t) { } inline void TCanvasImp::RaiseWindow() { } inline void TCanvasImp::ReallyDelete() { } inline void TCanvasImp::ShowEditor(Bool_t) { } inline void TCanvasImp::ShowToolBar(Bool_t) { } # 42 "/products/root_522/include/root/TCanvas.h" 2 class TContextMenu; class TControlBar; class TBrowser; class TCanvas : public TPad { friend class TCanvasImp; friend class TThread; friend class TInterpreter; protected: TAttCanvas fCatt; TString fDISPLAY; Size_t fXsizeUser; Size_t fYsizeUser; Size_t fXsizeReal; Size_t fYsizeReal; Color_t fHighLightColor; Int_t fDoubleBuffer; Int_t fWindowTopX; Int_t fWindowTopY; UInt_t fWindowWidth; UInt_t fWindowHeight; UInt_t fCw; UInt_t fCh; Int_t fEvent; Int_t fEventX; Int_t fEventY; Int_t fCanvasID; TObject *fSelected; TObject *fClickSelected; Int_t fSelectedX; Int_t fSelectedY; TString fSelectedOpt; TPad *fSelectedPad; TPad *fClickSelectedPad; TPad *fPadSave; TCanvasImp *fCanvasImp; TContextMenu *fContextMenu; Bool_t fBatch; Bool_t fUpdating; Bool_t fRetained; Bool_t fUseGL; static Bool_t fgIsFolder; private: TCanvas(const TCanvas &canvas); TCanvas &operator=(const TCanvas &rhs); void Build(); void CopyPixmaps(); void DrawEventStatus(Int_t event, Int_t x, Int_t y, TObject *selected); void RunAutoExec(); protected: virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); void Init(); public: enum { kShowEventStatus = (1 << (15)), kAutoExec = (1 << (16)), kMenuBar = (1 << (17)), kShowToolBar = (1 << (18)), kShowEditor = (1 << (19)), kMoveOpaque = (1 << (20)), kResizeOpaque = (1 << (21)), kIsGrayscale = (1 << (22)) }; TCanvas(Bool_t build=kTRUE); TCanvas(const char *name, const char *title="", Int_t form=1); TCanvas(const char *name, const char *title, Int_t ww, Int_t wh); TCanvas(const char *name, const char *title, Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh); TCanvas(const char *name, Int_t ww, Int_t wh, Int_t winid); virtual ~TCanvas(); void Constructor(); void Constructor(const char *name, const char *title, Int_t form); void Constructor(const char *name, const char *title, Int_t ww, Int_t wh); void Constructor(const char *name, const char *title, Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh); void Destructor(); TVirtualPad *cd(Int_t subpadnumber=0); virtual void Browse(TBrowser *b); void Clear(Option_t *option=""); void Close(Option_t *option=""); virtual void Delete(Option_t * = "") { MayNotUse("Delete()"); } void DisconnectWidget(); virtual void Draw(Option_t *option=""); virtual TObject *DrawClone(Option_t *option="") const; virtual TObject *DrawClonePad(); virtual void EditorBar(); void EmbedInto(Int_t winid, Int_t ww, Int_t wh); void EnterLeave(TPad *prevSelPad, TObject *prevSelObj); void FeedbackMode(Bool_t set); void Flush(); void UseCurrentStyle(); void ForceUpdate() { fCanvasImp->ForceUpdate(); } const char *GetDISPLAY() const {return fDISPLAY.Data();} TContextMenu *GetContextMenu() const {return fContextMenu;}; Int_t GetDoubleBuffer() const {return fDoubleBuffer;} Int_t GetEvent() const { return fEvent; } Int_t GetEventX() const { return fEventX; } Int_t GetEventY() const { return fEventY; } Color_t GetHighLightColor() const { return fHighLightColor; } TVirtualPad *GetPadSave() const { return fPadSave; } void ClearPadSave() { fPadSave = 0; } TObject *GetSelected() const {return fSelected;} TObject *GetClickSelected() const {return fClickSelected;} Int_t GetSelectedX() const {return fSelectedX;} Int_t GetSelectedY() const {return fSelectedY;} Option_t *GetSelectedOpt() const {return fSelectedOpt.Data();} TVirtualPad *GetSelectedPad() const { return fSelectedPad; } TVirtualPad *GetClickSelectedPad() const { return fClickSelectedPad; } Bool_t GetShowEventStatus() const { return TestBit(kShowEventStatus); } Bool_t GetShowToolBar() const { return TestBit(kShowToolBar); } Bool_t GetShowEditor() const { return TestBit(kShowEditor); } Bool_t GetAutoExec() const { return TestBit(kAutoExec); } Size_t GetXsizeUser() const {return fXsizeUser;} Size_t GetYsizeUser() const {return fYsizeUser;} Size_t GetXsizeReal() const {return fXsizeReal;} Size_t GetYsizeReal() const {return fYsizeReal;} Int_t GetCanvasID() const {return fCanvasID;} TCanvasImp *GetCanvasImp() const {return fCanvasImp;} Int_t GetWindowTopX(); Int_t GetWindowTopY(); UInt_t GetWindowWidth() const { return fWindowWidth; } UInt_t GetWindowHeight() const { return fWindowHeight; } UInt_t GetWw() const { return fCw; } UInt_t GetWh() const { return fCh; } virtual void GetCanvasPar(Int_t &wtopx, Int_t &wtopy, UInt_t &ww, UInt_t &wh) {wtopx=GetWindowTopX(); wtopy=fWindowTopY; ww=fWindowWidth; wh=fWindowHeight;} virtual void HandleInput(EEventType button, Int_t x, Int_t y); Bool_t HasMenuBar() const { return TestBit(kMenuBar); } void Iconify() { fCanvasImp->Iconify(); } Bool_t IsBatch() const { return fBatch; } Bool_t IsFolder() const; Bool_t IsGrayscale(); Bool_t IsRetained() const { return fRetained; } virtual void ls(Option_t *option="") const; void MoveOpaque(Int_t set=1); Bool_t OpaqueMoving() const { return TestBit(kMoveOpaque); } Bool_t OpaqueResizing() const { return TestBit(kResizeOpaque); } virtual void Paint(Option_t *option=""); virtual TPad *Pick(Int_t px, Int_t py, TObjLink *&pickobj) { return TPad::Pick(px, py, pickobj); } virtual TPad *Pick(Int_t px, Int_t py, TObject *prevSelObj); virtual void Picked(TPad *selpad, TObject *selected, Int_t event); virtual void ProcessedEvent(Int_t event, Int_t x, Int_t y, TObject *selected); virtual void Selected(TVirtualPad *pad, TObject *obj, Int_t event); virtual void Cleared(TVirtualPad *pad); virtual void Closed(); void RaiseWindow() { fCanvasImp->RaiseWindow(); } virtual void Resize(Option_t *option=""); void ResizeOpaque(Int_t set=1); void SaveSource(const char *filename="", Option_t *option=""); void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SetCursor(ECursor cursor); virtual void SetDoubleBuffer(Int_t mode=1); virtual void SetFixedAspectRatio(Bool_t fixed = kTRUE); void SetGrayscale(Bool_t set = kTRUE); void SetWindowPosition(Int_t x, Int_t y) { fCanvasImp->SetWindowPosition(x, y); } void SetWindowSize(UInt_t ww, UInt_t wh) { fCanvasImp->SetWindowSize(ww, wh); } void SetCanvasSize(UInt_t ww, UInt_t wh); void SetHighLightColor(Color_t col) { fHighLightColor = col; } void SetSelected(TObject *obj); void SetClickSelected(TObject *obj) { fClickSelected = obj; } void SetSelectedPad(TPad *pad) { fSelectedPad = pad; } void SetClickSelectedPad(TPad *pad) { fClickSelectedPad = pad; } void Show() { fCanvasImp->Show(); } virtual void Size(Float_t xsizeuser=0, Float_t ysizeuser=0); void SetBatch(Bool_t batch=kTRUE); static void SetFolder(Bool_t isfolder=kTRUE); void SetPadSave(TPad *pad) {fPadSave = pad;} void SetRetained(Bool_t retained=kTRUE) { fRetained=retained;} void SetTitle(const char *title=""); virtual void ToggleEventStatus(); virtual void ToggleAutoExec(); virtual void ToggleToolBar(); virtual void ToggleEditor(); virtual void Update(); Bool_t UseGL() const { return fUseGL; } void SetSupportGL(Bool_t support) {fUseGL = support;} static TCanvas *MakeDefCanvas(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 6; } static void Dictionary(); virtual TClass *IsA() const { return TCanvas::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TCanvas::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TCanvas.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 235; } }; # 18 "VBFStudy.cxx" 2 # 1 "/products/root_522/include/root/TStyle.h" 1 # 47 "/products/root_522/include/root/TStyle.h" class TBrowser; class TStyle : public TNamed, public TAttLine, public TAttFill, public TAttMarker, public TAttText { private: TAttAxis fXaxis; TAttAxis fYaxis; TAttAxis fZaxis; Float_t fBarWidth; Float_t fBarOffset; Int_t fColorModelPS; Int_t fDrawBorder; Int_t fOptLogx; Int_t fOptLogy; Int_t fOptLogz; Int_t fOptDate; Int_t fOptStat; Int_t fOptTitle; Int_t fOptFile; Int_t fOptFit; Int_t fShowEventStatus; Int_t fShowEditor; Int_t fShowToolBar; Int_t fNumberContours; TAttText fAttDate; Float_t fDateX; Float_t fDateY; Float_t fEndErrorSize; Float_t fErrorX; Color_t fFuncColor; Style_t fFuncStyle; Width_t fFuncWidth; Color_t fGridColor; Style_t fGridStyle; Width_t fGridWidth; Width_t fLegendBorderSize; Int_t fHatchesLineWidth; Double_t fHatchesSpacing; Color_t fFrameFillColor; Color_t fFrameLineColor; Style_t fFrameFillStyle; Style_t fFrameLineStyle; Width_t fFrameLineWidth; Width_t fFrameBorderSize; Int_t fFrameBorderMode; Color_t fHistFillColor; Color_t fHistLineColor; Style_t fHistFillStyle; Style_t fHistLineStyle; Width_t fHistLineWidth; Bool_t fHistMinimumZero; Double_t fHistTopMargin; Bool_t fCanvasPreferGL; Color_t fCanvasColor; Width_t fCanvasBorderSize; Int_t fCanvasBorderMode; Int_t fCanvasDefH; Int_t fCanvasDefW; Int_t fCanvasDefX; Int_t fCanvasDefY; Color_t fPadColor; Width_t fPadBorderSize; Int_t fPadBorderMode; Float_t fPadBottomMargin; Float_t fPadTopMargin; Float_t fPadLeftMargin; Float_t fPadRightMargin; Bool_t fPadGridX; Bool_t fPadGridY; Int_t fPadTickX; Int_t fPadTickY; Float_t fPaperSizeX; Float_t fPaperSizeY; Float_t fScreenFactor; Color_t fStatColor; Color_t fStatTextColor; Width_t fStatBorderSize; Style_t fStatFont; Float_t fStatFontSize; Style_t fStatStyle; TString fStatFormat; Float_t fStatX; Float_t fStatY; Float_t fStatW; Float_t fStatH; Bool_t fStripDecimals; Int_t fTitleAlign; Color_t fTitleColor; Color_t fTitleTextColor; Width_t fTitleBorderSize; Style_t fTitleFont; Float_t fTitleFontSize; Style_t fTitleStyle; Float_t fTitleX; Float_t fTitleY; Float_t fTitleW; Float_t fTitleH; Float_t fLegoInnerR; TString fLineStyle[30]; TString fHeaderPS; TString fTitlePS; TString fFitFormat; TString fPaintTextFormat; Float_t fLineScalePS; Double_t fTimeOffset; Bool_t fIsReading; public: enum EPaperSize { kA4, kUSLetter }; TStyle(); TStyle(const char *name, const char *title); TStyle(const TStyle &style); virtual ~TStyle(); Int_t AxisChoice(Option_t *axis) const; virtual void Browse(TBrowser *b); static void BuildStyles(); virtual void Copy(TObject &style) const; virtual void cd(); virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); Int_t GetNdivisions(Option_t *axis="X") const; TAttText *GetAttDate() {return &fAttDate;} Color_t GetAxisColor(Option_t *axis="X") const; Color_t GetLabelColor(Option_t *axis="X") const; Style_t GetLabelFont(Option_t *axis="X") const; Float_t GetLabelOffset(Option_t *axis="X") const; Float_t GetLabelSize(Option_t *axis="X") const; Color_t GetTitleColor(Option_t *axis="X") const; Style_t GetTitleFont(Option_t *axis="X") const; Float_t GetTitleOffset(Option_t *axis="X") const; Float_t GetTitleSize(Option_t *axis="X") const; Float_t GetTickLength(Option_t *axis="X") const; Float_t GetBarOffset() const {return fBarOffset;} Float_t GetBarWidth() const {return fBarWidth;} Int_t GetDrawBorder() const {return fDrawBorder;} Float_t GetEndErrorSize() const {return fEndErrorSize;} Float_t GetErrorX() const {return fErrorX;} Bool_t GetCanvasPreferGL() const {return fCanvasPreferGL;} Color_t GetCanvasColor() const {return fCanvasColor;} Width_t GetCanvasBorderSize() const {return fCanvasBorderSize;} Int_t GetCanvasBorderMode() const {return fCanvasBorderMode;} Int_t GetCanvasDefH() const {return fCanvasDefH;} Int_t GetCanvasDefW() const {return fCanvasDefW;} Int_t GetCanvasDefX() const {return fCanvasDefX;} Int_t GetCanvasDefY() const {return fCanvasDefY;} Int_t GetColorPalette(Int_t i) const; Int_t GetColorModelPS() const {return fColorModelPS;} Float_t GetDateX() const {return fDateX;} Float_t GetDateY() const {return fDateY;} const char *GetFitFormat() const {return fFitFormat.Data();} Int_t GetHatchesLineWidth() const {return fHatchesLineWidth;} Double_t GetHatchesSpacing() const {return fHatchesSpacing;} Width_t GetLegendBorderSize() const {return fLegendBorderSize;} Int_t GetNumberOfColors() const; Color_t GetPadColor() const {return fPadColor;} Width_t GetPadBorderSize() const {return fPadBorderSize;} Int_t GetPadBorderMode() const {return fPadBorderMode;} Float_t GetPadBottomMargin() const {return fPadBottomMargin;} Float_t GetPadTopMargin() const {return fPadTopMargin;} Float_t GetPadLeftMargin() const {return fPadLeftMargin;} Float_t GetPadRightMargin() const {return fPadRightMargin;} Bool_t GetPadGridX() const {return fPadGridX;} Bool_t GetPadGridY() const {return fPadGridY;} Int_t GetPadTickX() const {return fPadTickX;} Int_t GetPadTickY() const {return fPadTickY;} Color_t GetFuncColor() const {return fFuncColor;} Style_t GetFuncStyle() const {return fFuncStyle;} Width_t GetFuncWidth() const {return fFuncWidth;} Color_t GetGridColor() const {return fGridColor;} Style_t GetGridStyle() const {return fGridStyle;} Width_t GetGridWidth() const {return fGridWidth;} Color_t GetFrameFillColor() const {return fFrameFillColor;} Color_t GetFrameLineColor() const {return fFrameLineColor;} Style_t GetFrameFillStyle() const {return fFrameFillStyle;} Style_t GetFrameLineStyle() const {return fFrameLineStyle;} Width_t GetFrameLineWidth() const {return fFrameLineWidth;} Width_t GetFrameBorderSize() const {return fFrameBorderSize;} Int_t GetFrameBorderMode() const {return fFrameBorderMode;} Color_t GetHistFillColor() const {return fHistFillColor;} Color_t GetHistLineColor() const {return fHistLineColor;} Style_t GetHistFillStyle() const {return fHistFillStyle;} Style_t GetHistLineStyle() const {return fHistLineStyle;} Width_t GetHistLineWidth() const {return fHistLineWidth;} Bool_t GetHistMinimumZero() const {return fHistMinimumZero;} Double_t GetHistTopMargin() const {return fHistTopMargin;} Float_t GetLegoInnerR() const {return fLegoInnerR;} Int_t GetNumberContours() const {return fNumberContours;} Int_t GetOptDate() const {return fOptDate;} Int_t GetOptFile() const {return fOptFile;} Int_t GetOptFit() const {return fOptFit;} Int_t GetOptStat() const {return fOptStat;} Int_t GetOptTitle() const {return fOptTitle;} Int_t GetOptLogx() const {return fOptLogx;} Int_t GetOptLogy() const {return fOptLogy;} Int_t GetOptLogz() const {return fOptLogz;} const char *GetPaintTextFormat() const {return fPaintTextFormat.Data();} void GetPaperSize(Float_t &xsize, Float_t &ysize); Int_t GetShowEventStatus() const {return fShowEventStatus;} Int_t GetShowEditor() const {return fShowEditor;} Int_t GetShowToolBar() const {return fShowToolBar;} Float_t GetScreenFactor() const {return fScreenFactor;} Color_t GetStatColor() const {return fStatColor;} Color_t GetStatTextColor() const {return fStatTextColor;} Width_t GetStatBorderSize() const {return fStatBorderSize;} Style_t GetStatFont() const {return fStatFont;} Float_t GetStatFontSize() const {return fStatFontSize;} Style_t GetStatStyle() const {return fStatStyle;} const char *GetStatFormat() const {return fStatFormat.Data();} Float_t GetStatX() const {return fStatX;} Float_t GetStatY() const {return fStatY;} Float_t GetStatW() const {return fStatW;} Float_t GetStatH() const {return fStatH;} Int_t GetStripDecimals() const {return fStripDecimals;} Double_t GetTimeOffset() const {return fTimeOffset;} Int_t GetTitleAlign() {return fTitleAlign;} Color_t GetTitleFillColor() const {return fTitleColor;} Color_t GetTitleTextColor() const {return fTitleTextColor;} Style_t GetTitleStyle() const {return fTitleStyle;} Float_t GetTitleFontSize() const {return fTitleFontSize;} Width_t GetTitleBorderSize() const {return fTitleBorderSize;} Float_t GetTitleXOffset() const {return GetTitleOffset("X");} Float_t GetTitleXSize() const {return GetTitleSize("X");} Float_t GetTitleYOffset() const {return GetTitleOffset("Y");} Float_t GetTitleYSize() const {return GetTitleSize("Y");} Float_t GetTitleX() const {return fTitleX;} Float_t GetTitleY() const {return fTitleY;} Float_t GetTitleW() const {return fTitleW;} Float_t GetTitleH() const {return fTitleH;} const char *GetHeaderPS() const {return fHeaderPS.Data();} const char *GetTitlePS() const {return fTitlePS.Data();} const char *GetLineStyleString(Int_t i=1) const; Float_t GetLineScalePS() const {return fLineScalePS;} Bool_t IsReading() const {return fIsReading;} virtual void Paint(Option_t *option=""); virtual void Reset(Option_t *option=""); void SetColorModelPS(Int_t c=0); void SetFitFormat(const char *format="5.4g") {fFitFormat = format;} void SetHeaderPS(const char *header); void SetHatchesLineWidth(Int_t l) {fHatchesLineWidth = l;} void SetHatchesSpacing(Double_t h) {fHatchesSpacing = TMath::Max(0.1,h);} void SetTitlePS(const char *pstitle); void SetLineScalePS(Float_t scale=3) {fLineScalePS=scale;} void SetLineStyleString(Int_t i, const char *text); void SetNdivisions(Int_t n=510, Option_t *axis="X"); void SetAxisColor(Color_t color=1, Option_t *axis="X"); void SetLabelColor(Color_t color=1, Option_t *axis="X"); void SetLabelFont(Style_t font=62, Option_t *axis="X"); void SetLabelOffset(Float_t offset=0.005, Option_t *axis="X"); void SetLabelSize(Float_t size=0.04, Option_t *axis="X"); void SetLegoInnerR(Float_t rad=0.5) {fLegoInnerR = rad;} void SetScreenFactor(Float_t factor=1) {fScreenFactor = factor;} void SetTickLength(Float_t length=0.03, Option_t *axis="X"); void SetTitleColor(Color_t color=1, Option_t *axis="X"); void SetTitleFont(Style_t font=62, Option_t *axis="X"); void SetTitleOffset(Float_t offset=1, Option_t *axis="X"); void SetTitleSize(Float_t size=0.02, Option_t *axis="X"); void SetNumberContours(Int_t number=20); void SetOptDate(Int_t datefl=1); void SetOptFile(Int_t file=1) {fOptFile = file;} void SetOptFit(Int_t fit=1); void SetOptLogx(Int_t logx=1) {fOptLogx = logx;} void SetOptLogy(Int_t logy=1) {fOptLogy = logy;} void SetOptLogz(Int_t logz=1) {fOptLogz = logz;} void SetOptStat(Int_t stat=1); void SetOptStat(Option_t *stat); void SetOptTitle(Int_t tit=1) {fOptTitle = tit;} void SetBarOffset(Float_t baroff=0.5) {fBarOffset = baroff;} void SetBarWidth(Float_t barwidth=0.5) {fBarWidth = barwidth;} void SetDateX(Float_t x=0.01) {fDateX = x;} void SetDateY(Float_t y=0.01) {fDateY = y;} void SetEndErrorSize(Float_t np=2); void SetErrorX(Float_t errorx=0.5) {fErrorX = errorx;} void SetCanvasPreferGL(Bool_t prefer = kTRUE) {fCanvasPreferGL=prefer;} void SetDrawBorder(Int_t drawborder=1) {fDrawBorder = drawborder;} void SetCanvasColor(Color_t color=19) {fCanvasColor = color;} void SetCanvasBorderSize(Width_t size=1) {fCanvasBorderSize = size;} void SetCanvasBorderMode(Int_t mode=1) {fCanvasBorderMode = mode;} void SetCanvasDefH(Int_t h=500) {fCanvasDefH = h;} void SetCanvasDefW(Int_t w=700) {fCanvasDefW = w;} void SetCanvasDefX(Int_t topx=10) {fCanvasDefX = topx;} void SetCanvasDefY(Int_t topy=10) {fCanvasDefY = topy;} void SetLegendBorderSize(Width_t size=4) {fLegendBorderSize = size;} void SetPadColor(Color_t color=19) {fPadColor = color;} void SetPadBorderSize(Width_t size=1) {fPadBorderSize = size;} void SetPadBorderMode(Int_t mode=1) {fPadBorderMode = mode;} void SetPadBottomMargin(Float_t margin=0.1) {fPadBottomMargin=margin;} void SetPadTopMargin(Float_t margin=0.1) {fPadTopMargin=margin;} void SetPadLeftMargin(Float_t margin=0.1) {fPadLeftMargin=margin;} void SetPadRightMargin(Float_t margin=0.1) {fPadRightMargin=margin;} void SetPadGridX(Bool_t gridx) {fPadGridX = gridx;} void SetPadGridY(Bool_t gridy) {fPadGridY = gridy;} void SetPadTickX(Int_t tickx) {fPadTickX = tickx;} void SetPadTickY(Int_t ticky) {fPadTickY = ticky;} void SetFuncStyle(Style_t style=1) {fFuncStyle = style;} void SetFuncColor(Color_t color=1) {fFuncColor = color;} void SetFuncWidth(Width_t width=4) {fFuncWidth = width;} void SetGridStyle(Style_t style=3) {fGridStyle = style;} void SetGridColor(Color_t color=0) {fGridColor = color;} void SetGridWidth(Width_t width=1) {fGridWidth = width;} void SetFrameFillColor(Color_t color=1) {fFrameFillColor = color;} void SetFrameLineColor(Color_t color=1) {fFrameLineColor = color;} void SetFrameFillStyle(Style_t styl=0) {fFrameFillStyle = styl;} void SetFrameLineStyle(Style_t styl=0) {fFrameLineStyle = styl;} void SetFrameLineWidth(Width_t width=1) {fFrameLineWidth = width;} void SetFrameBorderSize(Width_t size=1) {fFrameBorderSize = size;} void SetFrameBorderMode(Int_t mode=1) {fFrameBorderMode = mode;} void SetHistFillColor(Color_t color=1) {fHistFillColor = color;} void SetHistLineColor(Color_t color=1) {fHistLineColor = color;} void SetHistFillStyle(Style_t styl=0) {fHistFillStyle = styl;} void SetHistLineStyle(Style_t styl=0) {fHistLineStyle = styl;} void SetHistLineWidth(Width_t width=1) {fHistLineWidth = width;} void SetHistMinimumZero(Bool_t zero=kTRUE); void SetHistTopMargin(Double_t hmax=0.05) {fHistTopMargin = hmax;} void SetPaintTextFormat(const char *format="g") {fPaintTextFormat = format;} void SetPaperSize(EPaperSize size); void SetPaperSize(Float_t xsize=20, Float_t ysize=26); void SetStatColor(Int_t color=19) {fStatColor=color;} void SetStatTextColor(Int_t color=1) {fStatTextColor=color;} void SetStatStyle(Style_t style=1001) {fStatStyle=style;} void SetStatBorderSize(Width_t size=2) {fStatBorderSize=size;} void SetStatFont(Style_t font=62) {fStatFont=font;} void SetStatFontSize(Float_t size=0) {fStatFontSize=size;} void SetStatFormat(const char *format="6.4g") {fStatFormat = format;} void SetStatX(Float_t x=0) {fStatX=x;} void SetStatY(Float_t y=0) {fStatY=y;} void SetStatW(Float_t w=0.19) {fStatW=w;} void SetStatH(Float_t h=0.1) {fStatH=h;} void SetStripDecimals(Bool_t strip=kTRUE); void SetTimeOffset(Double_t toffset); void SetTitleAlign(Int_t a=13) {fTitleAlign=a;} void SetTitleFillColor(Color_t color=1) {fTitleColor=color;} void SetTitleTextColor(Color_t color=1) {fTitleTextColor=color;} void SetTitleStyle(Style_t style=1001) {fTitleStyle=style;} void SetTitleFontSize(Float_t size=0) {fTitleFontSize=size;} void SetTitleBorderSize(Width_t size=2) {fTitleBorderSize=size;} void SetTitleXOffset(Float_t offset=1) {SetTitleOffset(offset,"X");} void SetTitleXSize(Float_t size=0.02) {SetTitleSize(size,"X");} void SetTitleYOffset(Float_t offset=1) {SetTitleOffset(offset,"Y");} void SetTitleYSize(Float_t size=0.02) {SetTitleSize(size,"Y");} void SetTitleX(Float_t x=0) {fTitleX=x;} void SetTitleY(Float_t y=0.985) {fTitleY=y;} void SetTitleW(Float_t w=0) {fTitleW=w;} void SetTitleH(Float_t h=0) {fTitleH=h;} void ToggleEventStatus() { fShowEventStatus = fShowEventStatus ? 0 : 1; } void ToggleEditor() { fShowEditor = fShowEditor ? 0 : 1; } void ToggleToolBar() { fShowToolBar = fShowToolBar ? 0 : 1; } void SetIsReading(Bool_t reading=kTRUE); void SetPalette(Int_t ncolors=0, Int_t *colors=0); void SavePrimitive(ostream &out, Option_t * = ""); void SaveSource(const char *filename, Option_t *option=0); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 13; } static void Dictionary(); virtual TClass *IsA() const { return TStyle::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TStyle::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TStyle.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 402; }; }; extern TStyle *gStyle; # 19 "VBFStudy.cxx" 2 # 1 "/products/root_522/include/root/TSystem.h" 1 # 27 "/products/root_522/include/root/TSystem.h" # 1 "/usr/include/ctype.h" 1 3 4 # 28 "/products/root_522/include/root/TSystem.h" 2 # 1 "/usr/include/fcntl.h" 1 3 4 # 30 "/usr/include/fcntl.h" 3 4 extern "C" { # 1 "/usr/include/bits/fcntl.h" 1 3 4 # 25 "/usr/include/bits/fcntl.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 26 "/usr/include/bits/fcntl.h" 2 3 4 # 1 "/usr/include/bits/uio.h" 1 3 4 # 44 "/usr/include/bits/uio.h" 3 4 struct iovec { void *iov_base; size_t iov_len; }; # 28 "/usr/include/bits/fcntl.h" 2 3 4 # 158 "/usr/include/bits/fcntl.h" 3 4 struct flock { short int l_type; short int l_whence; __off_t l_start; __off_t l_len; __pid_t l_pid; }; struct flock64 { short int l_type; short int l_whence; __off64_t l_start; __off64_t l_len; __pid_t l_pid; }; # 225 "/usr/include/bits/fcntl.h" 3 4 extern "C" { extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count) throw (); extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, unsigned int __flags); extern ssize_t vmsplice (int __fdout, const struct iovec *__iov, size_t __count, unsigned int __flags); extern ssize_t splice (int __fdin, __off64_t *__offin, int __fdout, __off64_t *__offout, size_t __len, unsigned int __flags); extern ssize_t tee (int __fdin, int __fdout, size_t __len, unsigned int __flags); } # 35 "/usr/include/fcntl.h" 2 3 4 # 1 "/usr/include/sys/stat.h" 1 3 4 # 105 "/usr/include/sys/stat.h" 3 4 extern "C" { # 1 "/usr/include/bits/stat.h" 1 3 4 # 43 "/usr/include/bits/stat.h" 3 4 struct stat { __dev_t st_dev; __ino_t st_ino; __nlink_t st_nlink; __mode_t st_mode; __uid_t st_uid; __gid_t st_gid; int __pad0; __dev_t st_rdev; __off_t st_size; __blksize_t st_blksize; __blkcnt_t st_blocks; # 88 "/usr/include/bits/stat.h" 3 4 struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; # 103 "/usr/include/bits/stat.h" 3 4 long int __unused[3]; # 112 "/usr/include/bits/stat.h" 3 4 }; struct stat64 { __dev_t st_dev; __ino64_t st_ino; __nlink_t st_nlink; __mode_t st_mode; __uid_t st_uid; __gid_t st_gid; int __pad0; __dev_t st_rdev; __off_t st_size; __blksize_t st_blksize; __blkcnt64_t st_blocks; struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; # 164 "/usr/include/bits/stat.h" 3 4 long int __unused[3]; }; # 108 "/usr/include/sys/stat.h" 2 3 4 # 209 "/usr/include/sys/stat.h" 3 4 extern int stat (__const char *__restrict __file, struct stat *__restrict __buf) throw () __attribute__ ((__nonnull__ (1, 2))); extern int fstat (int __fd, struct stat *__buf) throw () __attribute__ ((__nonnull__ (2))); # 228 "/usr/include/sys/stat.h" 3 4 extern int stat64 (__const char *__restrict __file, struct stat64 *__restrict __buf) throw () __attribute__ ((__nonnull__ (1, 2))); extern int fstat64 (int __fd, struct stat64 *__buf) throw () __attribute__ ((__nonnull__ (2))); extern int fstatat (int __fd, __const char *__restrict __file, struct stat *__restrict __buf, int __flag) throw () __attribute__ ((__nonnull__ (2, 3))); # 252 "/usr/include/sys/stat.h" 3 4 extern int fstatat64 (int __fd, __const char *__restrict __file, struct stat64 *__restrict __buf, int __flag) throw () __attribute__ ((__nonnull__ (2, 3))); extern int lstat (__const char *__restrict __file, struct stat *__restrict __buf) throw () __attribute__ ((__nonnull__ (1, 2))); # 274 "/usr/include/sys/stat.h" 3 4 extern int lstat64 (__const char *__restrict __file, struct stat64 *__restrict __buf) throw () __attribute__ ((__nonnull__ (1, 2))); extern int chmod (__const char *__file, __mode_t __mode) throw () __attribute__ ((__nonnull__ (1))); extern int lchmod (__const char *__file, __mode_t __mode) throw () __attribute__ ((__nonnull__ (1))); extern int fchmod (int __fd, __mode_t __mode) throw (); extern int fchmodat (int __fd, __const char *__file, __mode_t mode, int __flag) throw () __attribute__ ((__nonnull__ (2))) ; extern __mode_t umask (__mode_t __mask) throw (); extern __mode_t getumask (void) throw (); extern int mkdir (__const char *__path, __mode_t __mode) throw () __attribute__ ((__nonnull__ (1))); extern int mkdirat (int __fd, __const char *__path, __mode_t __mode) throw () __attribute__ ((__nonnull__ (2))); extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev) throw () __attribute__ ((__nonnull__ (1))); extern int mknodat (int __fd, __const char *__path, __mode_t __mode, __dev_t __dev) throw () __attribute__ ((__nonnull__ (2))); extern int mkfifo (__const char *__path, __mode_t __mode) throw () __attribute__ ((__nonnull__ (1))); extern int mkfifoat (int __fd, __const char *__path, __mode_t __mode) throw () __attribute__ ((__nonnull__ (2))); extern int utimensat (int __fd, __const char *__path, __const struct timespec __times[2], int __flags) throw () __attribute__ ((__nonnull__ (2))); extern int futimens (int __fd, __const struct timespec __times[2]) throw (); # 397 "/usr/include/sys/stat.h" 3 4 extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf) throw () __attribute__ ((__nonnull__ (3))); extern int __xstat (int __ver, __const char *__filename, struct stat *__stat_buf) throw () __attribute__ ((__nonnull__ (2, 3))); extern int __lxstat (int __ver, __const char *__filename, struct stat *__stat_buf) throw () __attribute__ ((__nonnull__ (2, 3))); extern int __fxstatat (int __ver, int __fildes, __const char *__filename, struct stat *__stat_buf, int __flag) throw () __attribute__ ((__nonnull__ (3, 4))); # 430 "/usr/include/sys/stat.h" 3 4 extern int __fxstat64 (int __ver, int __fildes, struct stat64 *__stat_buf) throw () __attribute__ ((__nonnull__ (3))); extern int __xstat64 (int __ver, __const char *__filename, struct stat64 *__stat_buf) throw () __attribute__ ((__nonnull__ (2, 3))); extern int __lxstat64 (int __ver, __const char *__filename, struct stat64 *__stat_buf) throw () __attribute__ ((__nonnull__ (2, 3))); extern int __fxstatat64 (int __ver, int __fildes, __const char *__filename, struct stat64 *__stat_buf, int __flag) throw () __attribute__ ((__nonnull__ (3, 4))); extern int __xmknod (int __ver, __const char *__path, __mode_t __mode, __dev_t *__dev) throw () __attribute__ ((__nonnull__ (2, 4))); extern int __xmknodat (int __ver, int __fd, __const char *__path, __mode_t __mode, __dev_t *__dev) throw () __attribute__ ((__nonnull__ (3, 5))); # 532 "/usr/include/sys/stat.h" 3 4 } # 39 "/usr/include/fcntl.h" 2 3 4 # 76 "/usr/include/fcntl.h" 3 4 extern int fcntl (int __fd, int __cmd, ...); # 85 "/usr/include/fcntl.h" 3 4 extern int open (__const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1))); # 95 "/usr/include/fcntl.h" 3 4 extern int open64 (__const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1))); # 109 "/usr/include/fcntl.h" 3 4 extern int openat (int __fd, __const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (2))); # 120 "/usr/include/fcntl.h" 3 4 extern int openat64 (int __fd, __const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (2))); # 130 "/usr/include/fcntl.h" 3 4 extern int creat (__const char *__file, __mode_t __mode) __attribute__ ((__nonnull__ (1))); # 140 "/usr/include/fcntl.h" 3 4 extern int creat64 (__const char *__file, __mode_t __mode) __attribute__ ((__nonnull__ (1))); # 176 "/usr/include/fcntl.h" 3 4 extern int posix_fadvise (int __fd, __off_t __offset, __off_t __len, int __advise) throw (); # 188 "/usr/include/fcntl.h" 3 4 extern int posix_fadvise64 (int __fd, __off64_t __offset, __off64_t __len, int __advise) throw (); # 198 "/usr/include/fcntl.h" 3 4 extern int posix_fallocate (int __fd, __off_t __offset, __off_t __len); # 209 "/usr/include/fcntl.h" 3 4 extern int posix_fallocate64 (int __fd, __off64_t __offset, __off64_t __len); # 220 "/usr/include/fcntl.h" 3 4 } # 29 "/products/root_522/include/root/TSystem.h" 2 # 41 "/products/root_522/include/root/TSystem.h" # 1 "/products/root_522/include/root/TInetAddress.h" 1 # 40 "/products/root_522/include/root/TInetAddress.h" class TInetAddress : public TObject { friend class TSystem; friend class TUnixSystem; friend class TWinNTSystem; friend class TUUID; friend class TSocket; friend class TServerSocket; friend class TXSocket; public: typedef std::vector AddressList_t; typedef std::vector AliasList_t; private: TString fHostname; UInt_t fAddress; Int_t fFamily; Int_t fPort; AddressList_t fAddresses; AliasList_t fAliases; TInetAddress(const char *host, UInt_t addr, Int_t family, Int_t port = -1); void AddAddress(UInt_t addr); void AddAlias(const char *alias); public: TInetAddress(); TInetAddress(const TInetAddress &adr); TInetAddress &operator=(const TInetAddress &rhs); virtual ~TInetAddress() { } UInt_t GetAddress() const { return fAddresses[0]; } UChar_t *GetAddressBytes() const; const char *GetHostAddress() const; const char *GetHostName() const { return (const char *) fHostname; } Int_t GetFamily() const { return fFamily; } Int_t GetPort() const { return fPort; } const AddressList_t &GetAddresses() const { return fAddresses; } const AliasList_t &GetAliases() const { return fAliases; } Bool_t IsValid() const { return fFamily == -1 ? kFALSE : kTRUE; } void Print(Option_t *option="") const; static const char *GetHostAddress(UInt_t addr); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 3; } static void Dictionary(); virtual TClass *IsA() const { return TInetAddress::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TInetAddress::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TInetAddress.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 85; } }; # 42 "/products/root_522/include/root/TSystem.h" 2 # 1 "/products/root_522/include/root/TTimer.h" 1 # 46 "/products/root_522/include/root/TTimer.h" # 1 "/products/root_522/include/root/TSysEvtHandler.h" 1 # 32 "/products/root_522/include/root/TSysEvtHandler.h" class TSysEvtHandler : public TObject, public TQObject { private: Bool_t fIsActive; void *GetSender() { return this; } public: TSysEvtHandler() : fIsActive(kTRUE) { } virtual ~TSysEvtHandler() { } void Activate(); void DeActivate(); Bool_t IsActive() const { return fIsActive; } virtual void Add() = 0; virtual void Remove() = 0; virtual Bool_t Notify() = 0; virtual void Activated() { Emit("Activated()"); } virtual void DeActivated() { Emit("DeActivated()"); } virtual void Notified() { Emit("Notified()"); } virtual void Added() { Emit("Added()"); } virtual void Removed() { Emit("Removed()"); } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TSysEvtHandler::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TSysEvtHandler::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TSysEvtHandler.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 57; } }; # 69 "/products/root_522/include/root/TSysEvtHandler.h" class TFileHandler : public TSysEvtHandler { protected: int fFileNum; int fMask; int fReadyMask; TFileHandler(): fFileNum(-1), fMask(0), fReadyMask(0) { } public: enum { kRead = 1, kWrite = 2 }; TFileHandler(int fd, int mask); virtual ~TFileHandler() { Remove(); } int GetFd() const { return fFileNum; } void SetFd(int fd) { fFileNum = fd; } virtual Bool_t Notify(); virtual Bool_t ReadNotify(); virtual Bool_t WriteNotify(); virtual Bool_t HasReadInterest(); virtual Bool_t HasWriteInterest(); virtual void SetInterest(Int_t mask); virtual void ResetReadyMask() { fReadyMask = 0; } virtual void SetReadReady() { fReadyMask |= 0x1; } virtual void SetWriteReady() { fReadyMask |= 0x2; } virtual Bool_t IsReadReady() const { return (fReadyMask & 0x1) == 0x1; } virtual Bool_t IsWriteReady() const { return (fReadyMask & 0x2) == 0x2; } virtual void Add(); virtual void Remove(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TFileHandler::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TFileHandler::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TSysEvtHandler.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 99; } }; # 111 "/products/root_522/include/root/TSysEvtHandler.h" enum ESignals { kSigBus, kSigSegmentationViolation, kSigSystem, kSigPipe, kSigIllegalInstruction, kSigQuit, kSigInterrupt, kSigWindowChanged, kSigAlarm, kSigChild, kSigUrgent, kSigFloatingException, kSigTermination, kSigUser1, kSigUser2 }; class TSignalHandler : public TSysEvtHandler { protected: ESignals fSignal; Bool_t fSync; Int_t fDelay; TSignalHandler(): fSignal((ESignals)-1), fSync(kTRUE), fDelay(0) { } public: TSignalHandler(ESignals sig, Bool_t sync = kTRUE); virtual ~TSignalHandler() { Remove(); } void Delay() { fDelay = 1; } void HandleDelayedSignal(); ESignals GetSignal() const { return fSignal; } void SetSignal(ESignals sig) { fSignal = sig; } Bool_t IsSync() const { return fSync; } Bool_t IsAsync() const { return !fSync; } virtual Bool_t Notify(); virtual void Add(); virtual void Remove(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TSignalHandler::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TSignalHandler::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TSysEvtHandler.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 152; } }; inline void TSignalHandler::HandleDelayedSignal() { if (fDelay > 1) { fDelay = 0; Notify(); } else fDelay = 0; } # 173 "/products/root_522/include/root/TSysEvtHandler.h" namespace std { class exception; } class TStdExceptionHandler : public TSysEvtHandler { public: enum EStatus { kSEProceed, kSEHandled, kSEAbort }; TStdExceptionHandler(); virtual ~TStdExceptionHandler() { } virtual void Add(); virtual void Remove(); virtual Bool_t Notify(); virtual EStatus Handle(std::exception& exc) = 0; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TStdExceptionHandler::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TStdExceptionHandler::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TSysEvtHandler.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 189; } }; # 47 "/products/root_522/include/root/TTimer.h" 2 # 1 "/products/root_522/include/root/TTime.h" 1 # 29 "/products/root_522/include/root/TTime.h" class TTime { private: Long_t fMilliSec; public: TTime(): fMilliSec(0) { } TTime(Long_t msec): fMilliSec(msec) { } TTime(const TTime &t): fMilliSec(t.fMilliSec) { } virtual ~TTime() { } TTime& operator=(const TTime &t); TTime operator+=(const TTime &t); TTime operator-=(const TTime &t); TTime operator*=(const TTime &t); TTime operator/=(const TTime &t); friend TTime operator+(const TTime &t1, const TTime &t2); friend TTime operator-(const TTime &t1, const TTime &t2); friend TTime operator*(const TTime &t1, const TTime &t2); friend TTime operator/(const TTime &t1, const TTime &t2); friend Bool_t operator== (const TTime &t1, const TTime &t2); friend Bool_t operator!= (const TTime &t1, const TTime &t2); friend Bool_t operator< (const TTime &t1, const TTime &t2); friend Bool_t operator<= (const TTime &t1, const TTime &t2); friend Bool_t operator> (const TTime &t1, const TTime &t2); friend Bool_t operator>= (const TTime &t1, const TTime &t2); operator long() const; operator unsigned long() const; const char *AsString() const; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TTime::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TTime::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TTime.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 63; } }; inline TTime& TTime::operator= (const TTime &t) { fMilliSec = t.fMilliSec; return *this; } inline TTime TTime::operator+=(const TTime &t) { fMilliSec += t.fMilliSec; return *this; } inline TTime TTime::operator-=(const TTime &t) { fMilliSec -= t.fMilliSec; return *this; } inline TTime TTime::operator*=(const TTime &t) { fMilliSec *= t.fMilliSec; return *this; } inline TTime TTime::operator/=(const TTime &t) { fMilliSec /= t.fMilliSec; return *this; } inline TTime::operator long() const { return fMilliSec; } inline TTime::operator unsigned long() const { return (ULong_t) fMilliSec; } inline TTime operator+(const TTime &t1, const TTime &t2) { return TTime(t1.fMilliSec + t2.fMilliSec); } inline TTime operator-(const TTime &t1, const TTime &t2) { return TTime(t1.fMilliSec - t2.fMilliSec); } inline TTime operator*(const TTime &t1, const TTime &t2) { return TTime(t1.fMilliSec * t2.fMilliSec); } inline TTime operator/(const TTime &t1, const TTime &t2) { return TTime(t1.fMilliSec / t2.fMilliSec); } inline Bool_t operator== (const TTime &t1, const TTime &t2) { return t1.fMilliSec == t2.fMilliSec; } inline Bool_t operator!= (const TTime &t1, const TTime &t2) { return t1.fMilliSec != t2.fMilliSec; } inline Bool_t operator< (const TTime &t1, const TTime &t2) { return t1.fMilliSec < t2.fMilliSec; } inline Bool_t operator<= (const TTime &t1, const TTime &t2) { return t1.fMilliSec <= t2.fMilliSec; } inline Bool_t operator> (const TTime &t1, const TTime &t2) { return t1.fMilliSec > t2.fMilliSec; } inline Bool_t operator>= (const TTime &t1, const TTime &t2) { return t1.fMilliSec >= t2.fMilliSec; } # 50 "/products/root_522/include/root/TTimer.h" 2 class TTimer : public TSysEvtHandler { protected: TTime fTime; TTime fAbsTime; Bool_t fTimeout; Bool_t fSync; Bool_t fIntSyscalls; UInt_t fTimeID; TObject *fObject; TString fCommand; private: TTimer(const TTimer&); TTimer& operator=(const TTimer&); public: TTimer(Long_t milliSec = 0, Bool_t mode = kTRUE); TTimer(TObject *obj, Long_t milliSec, Bool_t mode = kTRUE); TTimer(const char *command, Long_t milliSec, Bool_t mode = kTRUE); virtual ~TTimer() { Remove(); } Bool_t CheckTimer(const TTime &now); const char *GetCommand() const { return fCommand.Data(); } TObject *GetObject() { return fObject; } TTime GetTime() const { return fTime; } UInt_t GetTimerID() { return fTimeID;} TTime GetAbsTime() const { return fAbsTime; } Bool_t HasTimedOut() const { return fTimeout; } Bool_t IsSync() const { return fSync; } Bool_t IsAsync() const { return !fSync; } Bool_t IsInterruptingSyscalls() const { return fIntSyscalls; } virtual Bool_t Notify(); void Add() { TurnOn(); } void Remove() { TurnOff(); } void Reset(); void SetCommand(const char *command); void SetObject(TObject *object); void SetInterruptSyscalls(Bool_t set = kTRUE); void SetTime(Long_t milliSec) { fTime = milliSec; } void SetTimerID(UInt_t id = 0) { fTimeID = id; } virtual void Start(Long_t milliSec = -1, Bool_t singleShot = kFALSE); virtual void Stop() { TurnOff(); } virtual void TurnOn(); virtual void TurnOff(); virtual void Timeout() { Emit("Timeout()"); } static void SingleShot(Int_t milliSec, const char *receiver_class, void *receiver, const char *method); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TTimer::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TTimer::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TTimer.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 107; } }; # 45 "/products/root_522/include/root/TSystem.h" 2 class TSeqCollection; class TFdSet; class TVirtualMutex; enum EAccessMode { kFileExists = 0, kExecutePermission = 1, kWritePermission = 2, kReadPermission = 4 }; enum ELogOption { kLogPid = 0x01, kLogCons = 0x02 }; enum ELogLevel { kLogEmerg = 0, kLogAlert = 1, kLogCrit = 2, kLogErr = 3, kLogWarning = 4, kLogNotice = 5, kLogInfo = 6, kLogDebug = 7 }; enum ELogFacility { kLogLocal0, kLogLocal1, kLogLocal2, kLogLocal3, kLogLocal4, kLogLocal5, kLogLocal6, kLogLocal7 }; enum ESysConstants { kMAXSIGNALS = 15, kMAXPATHLEN = 8192, kBUFFERSIZE = 8192, kItimerResolution = 10 }; enum EFpeMask { kNoneMask = 0x00, kInvalid = 0x01, kDivByZero = 0x02, kOverflow = 0x04, kUnderflow = 0x08, kInexact = 0x10, kDefaultMask = 0x07, kAllMask = 0x1F }; enum EFileModeMask { kS_IFMT = 0170000, kS_IFSOCK = 0140000, kS_IFLNK = 0120000, kS_IFOFF = 0110000, kS_IFREG = 0100000, kS_IFBLK = 0060000, kS_IFDIR = 0040000, kS_IFCHR = 0020000, kS_IFIFO = 0010000, kS_ISUID = 0004000, kS_ISGID = 0002000, kS_ISVTX = 0001000, kS_IRWXU = 00700, kS_IRUSR = 00400, kS_IWUSR = 00200, kS_IXUSR = 00100, kS_IRWXG = 00070, kS_IRGRP = 00040, kS_IWGRP = 00020, kS_IXGRP = 00010, kS_IRWXO = 00007, kS_IROTH = 00004, kS_IWOTH = 00002, kS_IXOTH = 00001 }; inline Bool_t R_ISDIR(Int_t mode) { return ((mode & kS_IFMT) == kS_IFDIR); } inline Bool_t R_ISCHR(Int_t mode) { return ((mode & kS_IFMT) == kS_IFCHR); } inline Bool_t R_ISBLK(Int_t mode) { return ((mode & kS_IFMT) == kS_IFBLK); } inline Bool_t R_ISREG(Int_t mode) { return ((mode & kS_IFMT) == kS_IFREG); } inline Bool_t R_ISLNK(Int_t mode) { return ((mode & kS_IFMT) == kS_IFLNK); } inline Bool_t R_ISFIFO(Int_t mode) { return ((mode & kS_IFMT) == kS_IFIFO); } inline Bool_t R_ISSOCK(Int_t mode) { return ((mode & kS_IFMT) == kS_IFSOCK); } inline Bool_t R_ISOFF(Int_t mode) { return ((mode & kS_IFMT) == kS_IFOFF); } struct FileStat_t { Long_t fDev; Long_t fIno; Int_t fMode; Int_t fUid; Int_t fGid; Long64_t fSize; Long_t fMtime; Bool_t fIsLink; FileStat_t() : fDev(0), fIno(0), fMode(0), fUid(0), fGid(0), fSize(0), fMtime(0), fIsLink(kFALSE) { } }; struct UserGroup_t { Int_t fUid; Int_t fGid; TString fUser; TString fGroup; TString fPasswd; TString fRealName; TString fShell; UserGroup_t() : fUid(0), fGid(0), fUser(), fGroup(), fPasswd(), fRealName (), fShell() { } }; struct SysInfo_t { TString fOS; TString fModel; TString fCpuType; Int_t fCpus; Int_t fCpuSpeed; Int_t fBusSpeed; Int_t fL2Cache; Int_t fPhysRam; SysInfo_t() : fOS(), fModel(), fCpuType(), fCpus(0), fCpuSpeed(0), fBusSpeed(0), fL2Cache(0), fPhysRam(0) { } virtual ~SysInfo_t() { } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return SysInfo_t::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { SysInfo_t::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TSystem.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 176; }; }; struct CpuInfo_t { Float_t fLoad1m; Float_t fLoad5m; Float_t fLoad15m; Float_t fUser; Float_t fSys; Float_t fTotal; Float_t fIdle; CpuInfo_t() : fLoad1m(0), fLoad5m(0), fLoad15m(0), fUser(0), fSys(0), fTotal(0), fIdle(0) { } virtual ~CpuInfo_t() { } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return CpuInfo_t::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { CpuInfo_t::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TSystem.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 190; }; }; struct MemInfo_t { Int_t fMemTotal; Int_t fMemUsed; Int_t fMemFree; Int_t fSwapTotal; Int_t fSwapUsed; Int_t fSwapFree; MemInfo_t() : fMemTotal(0), fMemUsed(0), fMemFree(0), fSwapTotal(0), fSwapUsed(0), fSwapFree(0) { } virtual ~MemInfo_t() { } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return MemInfo_t::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { MemInfo_t::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TSystem.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 203; }; }; struct ProcInfo_t { Float_t fCpuUser; Float_t fCpuSys; Long_t fMemResident; Long_t fMemVirtual; ProcInfo_t() : fCpuUser(0), fCpuSys(0), fMemResident(0), fMemVirtual(0) { } virtual ~ProcInfo_t() { } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return ProcInfo_t::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { ProcInfo_t::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TSystem.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 214; }; }; struct RedirectHandle_t { TString fFile; TString fStdOutTty; TString fStdErrTty; Int_t fStdOutDup; Int_t fStdErrDup; Int_t fReadOffSet; RedirectHandle_t(const char *n = 0) : fFile(n), fStdOutTty(), fStdErrTty(), fStdOutDup(-1), fStdErrDup(-1), fReadOffSet(-1) { } void Reset() { fFile = ""; fStdOutTty = ""; fStdErrTty = ""; fStdOutDup = -1; fStdErrDup = -1; fReadOffSet = -1; } }; typedef void ((*Func_t)()); extern const char *gRootDir; extern const char *gProgName; extern const char *gProgPath; extern TVirtualMutex *gSystemMutex; # 252 "/products/root_522/include/root/TSystem.h" class TProcessEventTimer : public TTimer { public: TProcessEventTimer(Long_t delay); Bool_t Notify() { return kTRUE; } Bool_t ProcessEvents(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TProcessEventTimer::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TProcessEventTimer::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TSystem.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 257; } }; class TSystem : public TNamed { public: enum EAclicMode { kDefault, kDebug, kOpt }; protected: TFdSet *fReadmask; TFdSet *fWritemask; TFdSet *fReadready; TFdSet *fWriteready; TFdSet *fSignals; Int_t fNfd; Int_t fMaxrfd; Int_t fMaxwfd; Int_t fSigcnt; TString fWdpath; TString fHostname; Bool_t fInsideNotify; Int_t fBeepFreq; Int_t fBeepDuration; Bool_t fInControl; Bool_t fDone; Int_t fLevel; TString fLastErrorString; TSeqCollection *fTimers; TSeqCollection *fSignalHandler; TSeqCollection *fFileHandler; TSeqCollection *fStdExceptionHandler; TSeqCollection *fOnExitList; TString fListLibs; TString fBuildArch; TString fBuildCompiler; TString fBuildCompilerVersion; TString fBuildNode; TString fBuildDir; TString fFlagsDebug; TString fFlagsOpt; TString fListPaths; TString fIncludePath; TString fLinkedLibs; TString fSoExt; TString fObjExt; EAclicMode fAclicMode; TString fMakeSharedLib; TString fMakeExe; TString fLinkdefSuffix; TSeqCollection *fCompiled; TSeqCollection *fHelpers; TSystem *FindHelper(const char *path, void *dirptr = 0); virtual Bool_t ConsistentWith(const char *path, void *dirptr = 0); virtual const char *ExpandFileName(const char *fname); virtual void SigAlarmInterruptsSyscalls(Bool_t) { } virtual const char *GetLinkedLibraries(); virtual void DoBeep(Int_t =-1, Int_t =-1) const { printf("\a"); fflush(stdout); } static const char *StripOffProto(const char *path, const char *proto) { return !strncmp(path, proto, strlen(proto)) ? path + strlen(proto) : path; } private: TSystem(const TSystem&); TSystem& operator=(const TSystem&); public: TSystem(const char *name = "Generic", const char *title = "Generic System"); virtual ~TSystem(); virtual Bool_t Init(); virtual void SetProgname(const char *name); virtual void SetDisplay(); void SetErrorStr(const char *errstr); const char *GetErrorStr() const { return fLastErrorString; } virtual const char *GetError(); void RemoveOnExit(TObject *obj); virtual const char *HostName(); virtual void NotifyApplicationCreated(); static Int_t GetErrno(); static void ResetErrno(); void Beep(Int_t freq=-1, Int_t duration=-1, Bool_t setDefault=kFALSE); void GetBeepDefaults(Int_t &freq, Int_t &duration) const { freq = fBeepFreq; duration = fBeepDuration; } virtual void Run(); virtual Bool_t ProcessEvents(); virtual void DispatchOneEvent(Bool_t pendingOnly = kFALSE); virtual void ExitLoop(); Bool_t InControl() const { return fInControl; } virtual void InnerLoop(); virtual Int_t Select(TList *active, Long_t timeout); virtual Int_t Select(TFileHandler *fh, Long_t timeout); virtual void AddSignalHandler(TSignalHandler *sh); virtual TSignalHandler *RemoveSignalHandler(TSignalHandler *sh); virtual void ResetSignal(ESignals sig, Bool_t reset = kTRUE); virtual void IgnoreSignal(ESignals sig, Bool_t ignore = kTRUE); virtual void IgnoreInterrupt(Bool_t ignore = kTRUE); virtual TSeqCollection *GetListOfSignalHandlers() const { return fSignalHandler; } virtual void AddFileHandler(TFileHandler *fh); virtual TFileHandler *RemoveFileHandler(TFileHandler *fh); virtual TSeqCollection *GetListOfFileHandlers() const { return fFileHandler; } virtual void AddStdExceptionHandler(TStdExceptionHandler *eh); virtual TStdExceptionHandler *RemoveStdExceptionHandler(TStdExceptionHandler *eh); virtual TSeqCollection *GetListOfStdExceptionHandlers() const { return fStdExceptionHandler; } virtual Int_t GetFPEMask(); virtual Int_t SetFPEMask(Int_t mask = kDefaultMask); virtual TTime Now(); virtual TSeqCollection *GetListOfTimers() const { return fTimers; } virtual void AddTimer(TTimer *t); virtual TTimer *RemoveTimer(TTimer *t); virtual void ResetTimer(TTimer *) { } virtual Long_t NextTimeOut(Bool_t mode); virtual void Sleep(UInt_t milliSec); virtual Int_t Exec(const char *shellcmd); virtual FILE *OpenPipe(const char *command, const char *mode); virtual int ClosePipe(FILE *pipe); virtual void Exit(int code, Bool_t mode = kTRUE); virtual void Abort(int code = 0); virtual int GetPid(); virtual void StackTrace(); virtual int MakeDirectory(const char *name); virtual void *OpenDirectory(const char *name); virtual void FreeDirectory(void *dirp); virtual const char *GetDirEntry(void *dirp); virtual void *GetDirPtr() const { return 0; } virtual Bool_t ChangeDirectory(const char *path); virtual const char *WorkingDirectory(); virtual const char *HomeDirectory(const char *userName = 0); virtual int mkdir(const char *name, Bool_t recursive = kFALSE); Bool_t cd(const char *path) { return ChangeDirectory(path); } const char *pwd() { return WorkingDirectory(); } virtual const char *TempDirectory() const; virtual FILE *TempFileName(TString &base, const char *dir = 0); virtual const char *BaseName(const char *pathname); virtual const char *DirName(const char *pathname); virtual char *ConcatFileName(const char *dir, const char *name); virtual Bool_t IsAbsoluteFileName(const char *dir); virtual Bool_t IsFileInIncludePath(const char *name, char **fullpath = 0); virtual const char *PrependPathName(const char *dir, TString& name); virtual Bool_t ExpandPathName(TString &path); virtual char *ExpandPathName(const char *path); virtual Bool_t AccessPathName(const char *path, EAccessMode mode = kFileExists); virtual Bool_t IsPathLocal(const char *path); virtual int CopyFile(const char *from, const char *to, Bool_t overwrite = kFALSE); virtual int Rename(const char *from, const char *to); virtual int Link(const char *from, const char *to); virtual int Symlink(const char *from, const char *to); virtual int Unlink(const char *name); int GetPathInfo(const char *path, Long_t *id, Long_t *size, Long_t *flags, Long_t *modtime); int GetPathInfo(const char *path, Long_t *id, Long64_t *size, Long_t *flags, Long_t *modtime); virtual int GetPathInfo(const char *path, FileStat_t &buf); virtual int GetFsInfo(const char *path, Long_t *id, Long_t *bsize, Long_t *blocks, Long_t *bfree); virtual int Chmod(const char *file, UInt_t mode); virtual int Umask(Int_t mask); virtual int Utime(const char *file, Long_t modtime, Long_t actime); virtual const char *UnixPathName(const char *unixpathname); virtual const char *FindFile(const char *search, TString& file, EAccessMode mode = kFileExists); virtual char *Which(const char *search, const char *file, EAccessMode mode = kFileExists); virtual TList *GetVolumes(Option_t *) const { return 0; } virtual Int_t GetUid(const char *user = 0); virtual Int_t GetGid(const char *group = 0); virtual Int_t GetEffectiveUid(); virtual Int_t GetEffectiveGid(); virtual UserGroup_t *GetUserInfo(Int_t uid); virtual UserGroup_t *GetUserInfo(const char *user = 0); virtual UserGroup_t *GetGroupInfo(Int_t gid); virtual UserGroup_t *GetGroupInfo(const char *group = 0); virtual void Setenv(const char *name, const char *value); virtual void Unsetenv(const char *name); virtual const char *Getenv(const char *env); virtual void Openlog(const char *name, Int_t options, ELogFacility facility); virtual void Syslog(ELogLevel level, const char *mess); virtual void Closelog(); virtual Int_t RedirectOutput(const char *name, const char *mode = "a", RedirectHandle_t *h = 0); virtual void ShowOutput(RedirectHandle_t *h); virtual const char *GetDynamicPath(); virtual void SetDynamicPath(const char *pathname); virtual char *DynamicPathName(const char *lib, Bool_t quiet = kFALSE); virtual Func_t DynFindSymbol(const char *module, const char *entry); virtual int Load(const char *module, const char *entry = "", Bool_t system = kFALSE); virtual void Unload(const char *module); virtual void ListSymbols(const char *module, const char *re = ""); virtual void ListLibraries(const char *regexp = ""); virtual const char *GetLibraries(const char *regexp = "", const char *option = "", Bool_t isRegexp = kTRUE); virtual TInetAddress GetHostByName(const char *server); virtual TInetAddress GetPeerName(int sock); virtual TInetAddress GetSockName(int sock); virtual int GetServiceByName(const char *service); virtual char *GetServiceByPort(int port); virtual int OpenConnection(const char *server, int port, int tcpwindowsize = -1); virtual int AnnounceTcpService(int port, Bool_t reuse, int backlog, int tcpwindowsize = -1); virtual int AnnounceUnixService(int port, int backlog); virtual int AnnounceUnixService(const char *sockpath, int backlog); virtual int AcceptConnection(int sock); virtual void CloseConnection(int sock, Bool_t force = kFALSE); virtual int RecvRaw(int sock, void *buffer, int length, int flag); virtual int SendRaw(int sock, const void *buffer, int length, int flag); virtual int RecvBuf(int sock, void *buffer, int length); virtual int SendBuf(int sock, const void *buffer, int length); virtual int SetSockOpt(int sock, int kind, int val); virtual int GetSockOpt(int sock, int kind, int *val); virtual int GetSysInfo(SysInfo_t *info) const; virtual int GetCpuInfo(CpuInfo_t *info, Int_t sampleTime = 1000) const; virtual int GetMemInfo(MemInfo_t *info) const; virtual int GetProcInfo(ProcInfo_t *info) const; virtual void AddIncludePath(const char *includePath); virtual void AddLinkedLibs(const char *linkedLib); virtual int CompileMacro(const char *filename, Option_t *opt="", const char* library_name = "", const char* build_dir = "", UInt_t dirmode = 0); virtual const char *GetBuildArch() const; virtual const char *GetBuildCompiler() const; virtual const char *GetBuildCompilerVersion() const; virtual const char *GetBuildNode() const; virtual const char *GetBuildDir() const; virtual const char *GetFlagsDebug() const; virtual const char *GetFlagsOpt() const; virtual const char *GetIncludePath(); virtual const char *GetLinkedLibs() const; virtual const char *GetLinkdefSuffix() const; virtual EAclicMode GetAclicMode() const; virtual const char *GetMakeExe() const; virtual const char *GetMakeSharedLib() const; virtual const char *GetSoExt() const; virtual const char *GetObjExt() const; virtual void SetBuildDir(const char*); virtual void SetFlagsDebug(const char *); virtual void SetFlagsOpt(const char *); virtual void SetIncludePath(const char *includePath); virtual void SetMakeExe(const char *directives); virtual void SetAclicMode(EAclicMode mode); virtual void SetMakeSharedLib(const char *directives); virtual void SetLinkedLibs(const char *linkedLibs); virtual void SetLinkdefSuffix(const char *suffix); virtual void SetSoExt(const char *soExt); virtual void SetObjExt(const char *objExt); virtual TString SplitAclicMode(const char* filename, TString &mode, TString &args, TString &io) const; virtual void CleanCompiledMacros(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TSystem::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TSystem::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TSystem.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 533; } }; extern TSystem *gSystem; extern TFileHandler *gXDisplay; # 20 "VBFStudy.cxx" 2 # 1 "/products/root_522/include/root/TChain.h" 1 # 25 "/products/root_522/include/root/TChain.h" # 1 "/products/root_522/include/root/TTree.h" 1 # 30 "/products/root_522/include/root/TTree.h" # 1 "/products/root_522/include/root/TBranch.h" 1 # 39 "/products/root_522/include/root/TBranch.h" class TTree; class TBasket; class TLeaf; class TBrowser; class TDirectory; class TFile; class TClonesArray; const Int_t kDoNotProcess = (1 << (10)); const Int_t kIsClone = (1 << (11)); const Int_t kBranchObject = (1 << (12)); const Int_t kBranchAny = (1 << (17)); const Int_t kMapObject = kBranchObject | kBranchAny; class TBranch : public TNamed , public TAttFill { protected: enum { kAutoDelete = (1 << (15)) }; static Int_t fgCount; Int_t fCompress; Int_t fBasketSize; Int_t fEntryOffsetLen; Int_t fWriteBasket; Long64_t fEntryNumber; Int_t fOffset; Int_t fMaxBaskets; Int_t fSplitLevel; Int_t fNleaves; Int_t fReadBasket; Long64_t fReadEntry; Long64_t fEntries; Long64_t fFirstEntry; Long64_t fTotBytes; Long64_t fZipBytes; TObjArray fBranches; TObjArray fLeaves; TObjArray fBaskets; Int_t fNBasketRAM; Int_t *fBasketRAM; Int_t *fBasketBytes; Long64_t *fBasketEntry; Long64_t *fBasketSeek; TTree *fTree; TBranch *fMother; TBranch *fParent; char *fAddress; TDirectory *fDirectory; TString fFileName; TBuffer *fEntryBuffer; TList *fBrowsables; Bool_t fSkipZip; void SetSkipZip(Bool_t skip = kTRUE) { fSkipZip = skip; } void Init(const char *name, const char *leaflist, Int_t compress); Int_t WriteBasket(TBasket* basket, Int_t where); TString GetRealFileName() const; private: TBranch(const TBranch&); TBranch& operator=(const TBranch&); public: TBranch(); TBranch(TTree *tree, const char *name, void *address, const char *leaflist, Int_t basketsize=32000, Int_t compress=-1); TBranch(TBranch *parent, const char *name, void *address, const char *leaflist, Int_t basketsize=32000, Int_t compress=-1); virtual ~TBranch(); virtual void AddBasket(TBasket &b, Bool_t ondisk, Long64_t startEntry); virtual void AddLastBasket(Long64_t startEntry); virtual void Browse(TBrowser *b); virtual void DeleteBaskets(Option_t* option=""); virtual void DropBaskets(Option_t *option = ""); void ExpandBasketArrays(); virtual Int_t Fill(); virtual void FillLeaves(TBuffer &b); virtual TBranch *FindBranch(const char *name); virtual TLeaf *FindLeaf(const char *name); Int_t FlushBaskets(); Int_t FlushOneBasket(UInt_t which); virtual char *GetAddress() const {return fAddress;} virtual Int_t GetBasketSize() const {return fBasketSize;} virtual const char* GetClassName() const { return ""; } virtual Int_t GetCompressionLevel() const {return fCompress;} virtual Int_t GetEntry(Long64_t entry=0, Int_t getall = 0); virtual Int_t GetEntryExport(Long64_t entry, Int_t getall, TClonesArray *list, Int_t n); Int_t GetEvent(Long64_t entry=0) {return GetEntry(entry);} Int_t GetEntryOffsetLen() const {return fEntryOffsetLen;} const char *GetIconName() const; virtual TLeaf *GetLeaf(const char *name) const; TBasket *GetBasket(Int_t basket); Int_t *GetBasketBytes() const {return fBasketBytes;} Long64_t *GetBasketEntry() const {return fBasketEntry;} virtual Long64_t GetBasketSeek(Int_t basket) const; virtual TList *GetBrowsables(); TDirectory *GetDirectory() const {return fDirectory;} virtual TFile *GetFile(Int_t mode=0); const char *GetFileName() const {return fFileName.Data();} Int_t GetOffset() const {return fOffset;} Int_t GetReadBasket() const {return fReadBasket;} Long64_t GetReadEntry() const {return fReadEntry;} Int_t GetWriteBasket() const {return fWriteBasket;} Long64_t GetTotalSize(Option_t *option="") const; Long64_t GetTotBytes(Option_t *option="") const; Long64_t GetZipBytes(Option_t *option="") const; Long64_t GetEntryNumber() const {return fEntryNumber;} Long64_t GetFirstEntry() const {return fFirstEntry; } TObjArray *GetListOfBaskets() {return &fBaskets;} TObjArray *GetListOfBranches() {return &fBranches;} TObjArray *GetListOfLeaves() {return &fLeaves;} Int_t GetMaxBaskets() const {return fMaxBaskets;} Int_t GetNleaves() const {return fNleaves;} Int_t GetSplitLevel() const {return fSplitLevel;} Long64_t GetEntries() const {return fEntries;} TTree *GetTree() const {return fTree;} virtual Int_t GetRow(Int_t row); TBranch *GetMother() const; TBranch *GetSubBranch(const TBranch *br) const; Bool_t IsAutoDelete() const; Bool_t IsFolder() const; virtual void KeepCircular(Long64_t maxEntries); virtual Int_t LoadBaskets(); virtual void Print(Option_t *option="") const; virtual void ReadBasket(TBuffer &b); virtual void ReadLeaves(TBuffer &b); virtual void Refresh(TBranch *b); virtual void Reset(Option_t *option=""); virtual void ResetAddress(); virtual void ResetReadEntry() {fReadEntry = -1;} virtual void SetAddress(void *add); virtual void SetObject(void *objadd); virtual void SetAutoDelete(Bool_t autodel=kTRUE); virtual void SetBasketSize(Int_t buffsize); virtual void SetBufferAddress(TBuffer *entryBuffer); virtual void SetCompressionLevel(Int_t level=1); virtual void SetEntryOffsetLen(Int_t len) {fEntryOffsetLen = len;} virtual void SetEntries(Long64_t entries); virtual void SetFirstEntry( Long64_t entry ); virtual void SetFile(TFile *file=0); virtual void SetFile(const char *filename); virtual void SetOffset(Int_t offset=0) {fOffset=offset;} virtual void SetTree(TTree *tree) { fTree = tree;} virtual void UpdateAddress() {;} static void ResetCount(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 11; } static void Dictionary(); virtual TClass *IsA() const { return TBranch::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TBranch::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TBranch.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 190; }; }; # 31 "/products/root_522/include/root/TTree.h" 2 # 58 "/products/root_522/include/root/TTree.h" # 1 "/products/root_522/include/root/TDataType.h" 1 # 26 "/products/root_522/include/root/TDataType.h" # 1 "/products/root_522/include/root/TDictionary.h" 1 # 48 "/products/root_522/include/root/TDictionary.h" # 1 "/products/root_522/include/root/cint/Property.h" 1 # 49 "/products/root_522/include/root/TDictionary.h" 2 typedef void CallFunc_t; typedef void ClassInfo_t; typedef void BaseClassInfo_t; typedef void DataMemberInfo_t; typedef void MethodInfo_t; typedef void MethodArgInfo_t; typedef void MethodArgInfo_t; typedef void TypeInfo_t; typedef void TypedefInfo_t; enum EProperty { kIsClass = 0x00000001, kIsStruct = 0x00000002, kIsUnion = 0x00000004, kIsEnum = 0x00000008, kIsNamespace = 0x08000000, kIsTypedef = 0x00000010, kIsFundamental = 0x00000020, kIsAbstract = 0x00000040, kIsVirtual = 0x00000080, kIsPureVirtual = 0x00000100, kIsPublic = 0x00000200, kIsProtected = 0x00000400, kIsPrivate = 0x00000800, kIsPointer = 0x00001000, kIsArray = 0x00002000, kIsStatic = 0x00004000, kIsDefault = 0x00008000, kIsReference = 0x00010000, kIsConstant = 0x00100000, kIsConstPointer = 0x00400000, kIsMethConst = 0x10000000 }; class TDictionary : public TNamed { public: TDictionary() { } virtual ~TDictionary() { } virtual Long_t Property() const = 0; enum ESTLType {kNone=0, kVector=1, kList, kDeque, kMap, kMultimap, kSet, kMultiset}; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TDictionary::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TDictionary::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TDictionary.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 96; } }; # 27 "/products/root_522/include/root/TDataType.h" 2 enum EDataType { kChar_t = 1, kUChar_t = 11, kShort_t = 2, kUShort_t = 12, kInt_t = 3, kUInt_t = 13, kLong_t = 4, kULong_t = 14, kFloat_t = 5, kDouble_t = 8, kDouble32_t = 9, kchar = 10, kBool_t = 18, kLong64_t = 16, kULong64_t = 17, kOther_t = -1, kNoType_t = 0, kFloat16_t= 19, kCounter = 6, kCharStar = 7, kBits = 15 }; class TDataType : public TDictionary { private: TypedefInfo_t *fInfo; Int_t fSize; EDataType fType; Long_t fProperty; TString fTrueName; void CheckInfo(); void SetType(const char *name); protected: TDataType(const TDataType&); TDataType& operator=(const TDataType&); public: TDataType(TypedefInfo_t *info = 0); TDataType(const char *typenam); virtual ~TDataType(); Int_t Size() const; Int_t GetType() const { return (Int_t)fType; } const char *GetTypeName() const; const char *GetFullTypeName() const; const char *AsString(void *buf) const; Long_t Property() const; static const char *GetTypeName(EDataType type); static EDataType GetType(const type_info &typeinfo); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TDataType::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TDataType::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TDataType.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 70; } }; # 59 "/products/root_522/include/root/TTree.h" 2 # 1 "/products/root_522/include/root/TClass.h" 1 # 34 "/products/root_522/include/root/TClass.h" # 1 "/products/root_522/include/root/TObjString.h" 1 # 32 "/products/root_522/include/root/TObjString.h" class TObjString : public TObject { private: TString fString; public: TObjString(const char *s = "") : fString(s) { } TObjString(const TObjString &s) : TObject(), fString(s.fString) { } ~TObjString() { } Int_t Compare(const TObject *obj) const; const char *GetName() const { return fString; } ULong_t Hash() const { return fString.Hash(); } void FillBuffer(char *&buffer) { fString.FillBuffer(buffer); } void Print(Option_t *) const { Printf("TObjString = %s", (const char*)fString); } Bool_t IsSortable() const { return kTRUE; } Bool_t IsEqual(const TObject *obj) const; void ReadBuffer(char *&buffer) { fString.ReadBuffer(buffer); } void SetString(const char *s) { fString = s; } TString GetString() const { return fString; } Int_t Sizeof() const { return fString.Sizeof(); } TString &String() { return fString; } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TObjString::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TObjString::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TObjString.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 54; } }; # 35 "/products/root_522/include/root/TClass.h" 2 # 1 "/usr/include/c++/4.3/map" 1 3 # 63 "/usr/include/c++/4.3/map" 3 # 64 "/usr/include/c++/4.3/map" 3 # 1 "/usr/include/c++/4.3/bits/stl_tree.h" 1 3 # 72 "/usr/include/c++/4.3/bits/stl_tree.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 90 "/usr/include/c++/4.3/bits/stl_tree.h" 3 enum _Rb_tree_color { _S_red = false, _S_black = true }; struct _Rb_tree_node_base { typedef _Rb_tree_node_base* _Base_ptr; typedef const _Rb_tree_node_base* _Const_Base_ptr; _Rb_tree_color _M_color; _Base_ptr _M_parent; _Base_ptr _M_left; _Base_ptr _M_right; static _Base_ptr _S_minimum(_Base_ptr __x) { while (__x->_M_left != 0) __x = __x->_M_left; return __x; } static _Const_Base_ptr _S_minimum(_Const_Base_ptr __x) { while (__x->_M_left != 0) __x = __x->_M_left; return __x; } static _Base_ptr _S_maximum(_Base_ptr __x) { while (__x->_M_right != 0) __x = __x->_M_right; return __x; } static _Const_Base_ptr _S_maximum(_Const_Base_ptr __x) { while (__x->_M_right != 0) __x = __x->_M_right; return __x; } }; template struct _Rb_tree_node : public _Rb_tree_node_base { typedef _Rb_tree_node<_Val>* _Link_type; _Val _M_value_field; }; _Rb_tree_node_base* _Rb_tree_increment(_Rb_tree_node_base* __x); const _Rb_tree_node_base* _Rb_tree_increment(const _Rb_tree_node_base* __x); _Rb_tree_node_base* _Rb_tree_decrement(_Rb_tree_node_base* __x); const _Rb_tree_node_base* _Rb_tree_decrement(const _Rb_tree_node_base* __x); template struct _Rb_tree_iterator { typedef _Tp value_type; typedef _Tp& reference; typedef _Tp* pointer; typedef bidirectional_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef _Rb_tree_iterator<_Tp> _Self; typedef _Rb_tree_node_base::_Base_ptr _Base_ptr; typedef _Rb_tree_node<_Tp>* _Link_type; _Rb_tree_iterator() : _M_node() { } explicit _Rb_tree_iterator(_Link_type __x) : _M_node(__x) { } reference operator*() const { return static_cast<_Link_type>(_M_node)->_M_value_field; } pointer operator->() const { return &static_cast<_Link_type>(_M_node)->_M_value_field; } _Self& operator++() { _M_node = _Rb_tree_increment(_M_node); return *this; } _Self operator++(int) { _Self __tmp = *this; _M_node = _Rb_tree_increment(_M_node); return __tmp; } _Self& operator--() { _M_node = _Rb_tree_decrement(_M_node); return *this; } _Self operator--(int) { _Self __tmp = *this; _M_node = _Rb_tree_decrement(_M_node); return __tmp; } bool operator==(const _Self& __x) const { return _M_node == __x._M_node; } bool operator!=(const _Self& __x) const { return _M_node != __x._M_node; } _Base_ptr _M_node; }; template struct _Rb_tree_const_iterator { typedef _Tp value_type; typedef const _Tp& reference; typedef const _Tp* pointer; typedef _Rb_tree_iterator<_Tp> iterator; typedef bidirectional_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef _Rb_tree_const_iterator<_Tp> _Self; typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr; typedef const _Rb_tree_node<_Tp>* _Link_type; _Rb_tree_const_iterator() : _M_node() { } explicit _Rb_tree_const_iterator(_Link_type __x) : _M_node(__x) { } _Rb_tree_const_iterator(const iterator& __it) : _M_node(__it._M_node) { } reference operator*() const { return static_cast<_Link_type>(_M_node)->_M_value_field; } pointer operator->() const { return &static_cast<_Link_type>(_M_node)->_M_value_field; } _Self& operator++() { _M_node = _Rb_tree_increment(_M_node); return *this; } _Self operator++(int) { _Self __tmp = *this; _M_node = _Rb_tree_increment(_M_node); return __tmp; } _Self& operator--() { _M_node = _Rb_tree_decrement(_M_node); return *this; } _Self operator--(int) { _Self __tmp = *this; _M_node = _Rb_tree_decrement(_M_node); return __tmp; } bool operator==(const _Self& __x) const { return _M_node == __x._M_node; } bool operator!=(const _Self& __x) const { return _M_node != __x._M_node; } _Base_ptr _M_node; }; template inline bool operator==(const _Rb_tree_iterator<_Val>& __x, const _Rb_tree_const_iterator<_Val>& __y) { return __x._M_node == __y._M_node; } template inline bool operator!=(const _Rb_tree_iterator<_Val>& __x, const _Rb_tree_const_iterator<_Val>& __y) { return __x._M_node != __y._M_node; } void _Rb_tree_insert_and_rebalance(const bool __insert_left, _Rb_tree_node_base* __x, _Rb_tree_node_base* __p, _Rb_tree_node_base& __header); _Rb_tree_node_base* _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z, _Rb_tree_node_base& __header); template > class _Rb_tree { typedef typename _Alloc::template rebind<_Rb_tree_node<_Val> >::other _Node_allocator; protected: typedef _Rb_tree_node_base* _Base_ptr; typedef const _Rb_tree_node_base* _Const_Base_ptr; public: typedef _Key key_type; typedef _Val value_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type& reference; typedef const value_type& const_reference; typedef _Rb_tree_node<_Val>* _Link_type; typedef const _Rb_tree_node<_Val>* _Const_Link_type; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Alloc allocator_type; _Node_allocator& _M_get_Node_allocator() { return *static_cast<_Node_allocator*>(&this->_M_impl); } const _Node_allocator& _M_get_Node_allocator() const { return *static_cast(&this->_M_impl); } allocator_type get_allocator() const { return allocator_type(_M_get_Node_allocator()); } protected: _Link_type _M_get_node() { return _M_impl._Node_allocator::allocate(1); } void _M_put_node(_Link_type __p) { _M_impl._Node_allocator::deallocate(__p, 1); } _Link_type _M_create_node(const value_type& __x) { _Link_type __tmp = _M_get_node(); try { get_allocator().construct(&__tmp->_M_value_field, __x); } catch(...) { _M_put_node(__tmp); throw; } return __tmp; } _Link_type _M_clone_node(_Const_Link_type __x) { _Link_type __tmp = _M_create_node(__x->_M_value_field); __tmp->_M_color = __x->_M_color; __tmp->_M_left = 0; __tmp->_M_right = 0; return __tmp; } void _M_destroy_node(_Link_type __p) { get_allocator().destroy(&__p->_M_value_field); _M_put_node(__p); } protected: template struct _Rb_tree_impl : public _Node_allocator { _Key_compare _M_key_compare; _Rb_tree_node_base _M_header; size_type _M_node_count; _Rb_tree_impl() : _Node_allocator(), _M_key_compare(), _M_header(), _M_node_count(0) { _M_initialize(); } _Rb_tree_impl(const _Key_compare& __comp, const _Node_allocator& __a) : _Node_allocator(__a), _M_key_compare(__comp), _M_header(), _M_node_count(0) { _M_initialize(); } private: void _M_initialize() { this->_M_header._M_color = _S_red; this->_M_header._M_parent = 0; this->_M_header._M_left = &this->_M_header; this->_M_header._M_right = &this->_M_header; } }; _Rb_tree_impl<_Compare> _M_impl; protected: _Base_ptr& _M_root() { return this->_M_impl._M_header._M_parent; } _Const_Base_ptr _M_root() const { return this->_M_impl._M_header._M_parent; } _Base_ptr& _M_leftmost() { return this->_M_impl._M_header._M_left; } _Const_Base_ptr _M_leftmost() const { return this->_M_impl._M_header._M_left; } _Base_ptr& _M_rightmost() { return this->_M_impl._M_header._M_right; } _Const_Base_ptr _M_rightmost() const { return this->_M_impl._M_header._M_right; } _Link_type _M_begin() { return static_cast<_Link_type>(this->_M_impl._M_header._M_parent); } _Const_Link_type _M_begin() const { return static_cast<_Const_Link_type> (this->_M_impl._M_header._M_parent); } _Link_type _M_end() { return static_cast<_Link_type>(&this->_M_impl._M_header); } _Const_Link_type _M_end() const { return static_cast<_Const_Link_type>(&this->_M_impl._M_header); } static const_reference _S_value(_Const_Link_type __x) { return __x->_M_value_field; } static const _Key& _S_key(_Const_Link_type __x) { return _KeyOfValue()(_S_value(__x)); } static _Link_type _S_left(_Base_ptr __x) { return static_cast<_Link_type>(__x->_M_left); } static _Const_Link_type _S_left(_Const_Base_ptr __x) { return static_cast<_Const_Link_type>(__x->_M_left); } static _Link_type _S_right(_Base_ptr __x) { return static_cast<_Link_type>(__x->_M_right); } static _Const_Link_type _S_right(_Const_Base_ptr __x) { return static_cast<_Const_Link_type>(__x->_M_right); } static const_reference _S_value(_Const_Base_ptr __x) { return static_cast<_Const_Link_type>(__x)->_M_value_field; } static const _Key& _S_key(_Const_Base_ptr __x) { return _KeyOfValue()(_S_value(__x)); } static _Base_ptr _S_minimum(_Base_ptr __x) { return _Rb_tree_node_base::_S_minimum(__x); } static _Const_Base_ptr _S_minimum(_Const_Base_ptr __x) { return _Rb_tree_node_base::_S_minimum(__x); } static _Base_ptr _S_maximum(_Base_ptr __x) { return _Rb_tree_node_base::_S_maximum(__x); } static _Const_Base_ptr _S_maximum(_Const_Base_ptr __x) { return _Rb_tree_node_base::_S_maximum(__x); } public: typedef _Rb_tree_iterator iterator; typedef _Rb_tree_const_iterator const_iterator; typedef std::reverse_iterator reverse_iterator; typedef std::reverse_iterator const_reverse_iterator; private: iterator _M_insert_(_Const_Base_ptr __x, _Const_Base_ptr __y, const value_type& __v); iterator _M_insert_lower(_Base_ptr __x, _Base_ptr __y, const value_type& __v); iterator _M_insert_equal_lower(const value_type& __x); _Link_type _M_copy(_Const_Link_type __x, _Link_type __p); void _M_erase(_Link_type __x); iterator _M_lower_bound(_Link_type __x, _Link_type __y, const _Key& __k); const_iterator _M_lower_bound(_Const_Link_type __x, _Const_Link_type __y, const _Key& __k) const; iterator _M_upper_bound(_Link_type __x, _Link_type __y, const _Key& __k); const_iterator _M_upper_bound(_Const_Link_type __x, _Const_Link_type __y, const _Key& __k) const; public: _Rb_tree() { } _Rb_tree(const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_impl(__comp, __a) { } _Rb_tree(const _Rb_tree& __x) : _M_impl(__x._M_impl._M_key_compare, __x._M_get_Node_allocator()) { if (__x._M_root() != 0) { _M_root() = _M_copy(__x._M_begin(), _M_end()); _M_leftmost() = _S_minimum(_M_root()); _M_rightmost() = _S_maximum(_M_root()); _M_impl._M_node_count = __x._M_impl._M_node_count; } } ~_Rb_tree() { _M_erase(_M_begin()); } _Rb_tree& operator=(const _Rb_tree& __x); _Compare key_comp() const { return _M_impl._M_key_compare; } iterator begin() { return iterator(static_cast<_Link_type> (this->_M_impl._M_header._M_left)); } const_iterator begin() const { return const_iterator(static_cast<_Const_Link_type> (this->_M_impl._M_header._M_left)); } iterator end() { return iterator(static_cast<_Link_type>(&this->_M_impl._M_header)); } const_iterator end() const { return const_iterator(static_cast<_Const_Link_type> (&this->_M_impl._M_header)); } reverse_iterator rbegin() { return reverse_iterator(end()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } reverse_iterator rend() { return reverse_iterator(begin()); } const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } bool empty() const { return _M_impl._M_node_count == 0; } size_type size() const { return _M_impl._M_node_count; } size_type max_size() const { return get_allocator().max_size(); } void swap(_Rb_tree& __t); pair _M_insert_unique(const value_type& __x); iterator _M_insert_equal(const value_type& __x); iterator _M_insert_unique_(const_iterator __position, const value_type& __x); iterator _M_insert_equal_(const_iterator __position, const value_type& __x); template void _M_insert_unique(_InputIterator __first, _InputIterator __last); template void _M_insert_equal(_InputIterator __first, _InputIterator __last); void erase(iterator __position); void erase(const_iterator __position); size_type erase(const key_type& __x); void erase(iterator __first, iterator __last); void erase(const_iterator __first, const_iterator __last); void erase(const key_type* __first, const key_type* __last); void clear() { _M_erase(_M_begin()); _M_leftmost() = _M_end(); _M_root() = 0; _M_rightmost() = _M_end(); _M_impl._M_node_count = 0; } iterator find(const key_type& __k); const_iterator find(const key_type& __k) const; size_type count(const key_type& __k) const; iterator lower_bound(const key_type& __k) { return _M_lower_bound(_M_begin(), _M_end(), __k); } const_iterator lower_bound(const key_type& __k) const { return _M_lower_bound(_M_begin(), _M_end(), __k); } iterator upper_bound(const key_type& __k) { return _M_upper_bound(_M_begin(), _M_end(), __k); } const_iterator upper_bound(const key_type& __k) const { return _M_upper_bound(_M_begin(), _M_end(), __k); } pair equal_range(const key_type& __k); pair equal_range(const key_type& __k) const; bool __rb_verify() const; }; template inline bool operator==(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) { return __x.size() == __y.size() && std::equal(__x.begin(), __x.end(), __y.begin()); } template inline bool operator<(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) { return std::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end()); } template inline bool operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) { return !(__x == __y); } template inline bool operator>(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) { return __y < __x; } template inline bool operator<=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) { return !(__y < __x); } template inline bool operator>=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) { return !(__x < __y); } template inline void swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) { __x.swap(__y); } # 820 "/usr/include/c++/4.3/bits/stl_tree.h" 3 template _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: operator=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x) { if (this != &__x) { clear(); _M_impl._M_key_compare = __x._M_impl._M_key_compare; if (__x._M_root() != 0) { _M_root() = _M_copy(__x._M_begin(), _M_end()); _M_leftmost() = _S_minimum(_M_root()); _M_rightmost() = _S_maximum(_M_root()); _M_impl._M_node_count = __x._M_impl._M_node_count; } } return *this; } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_(_Const_Base_ptr __x, _Const_Base_ptr __p, const _Val& __v) { bool __insert_left = (__x != 0 || __p == _M_end() || _M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(__p))); _Link_type __z = _M_create_node(__v); _Rb_tree_insert_and_rebalance(__insert_left, __z, const_cast<_Base_ptr>(__p), this->_M_impl._M_header); ++_M_impl._M_node_count; return iterator(__z); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_lower(_Base_ptr __x, _Base_ptr __p, const _Val& __v) { bool __insert_left = (__x != 0 || __p == _M_end() || !_M_impl._M_key_compare(_S_key(__p), _KeyOfValue()(__v))); _Link_type __z = _M_create_node(__v); _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, this->_M_impl._M_header); ++_M_impl._M_node_count; return iterator(__z); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_equal_lower(const _Val& __v) { _Link_type __x = _M_begin(); _Link_type __y = _M_end(); while (__x != 0) { __y = __x; __x = !_M_impl._M_key_compare(_S_key(__x), _KeyOfValue()(__v)) ? _S_left(__x) : _S_right(__x); } return _M_insert_lower(__x, __y, __v); } template typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::_Link_type _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>:: _M_copy(_Const_Link_type __x, _Link_type __p) { _Link_type __top = _M_clone_node(__x); __top->_M_parent = __p; try { if (__x->_M_right) __top->_M_right = _M_copy(_S_right(__x), __top); __p = __top; __x = _S_left(__x); while (__x != 0) { _Link_type __y = _M_clone_node(__x); __p->_M_left = __y; __y->_M_parent = __p; if (__x->_M_right) __y->_M_right = _M_copy(_S_right(__x), __y); __p = __y; __x = _S_left(__x); } } catch(...) { _M_erase(__top); throw; } return __top; } template void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_erase(_Link_type __x) { while (__x != 0) { _M_erase(_S_right(__x)); _Link_type __y = _S_left(__x); _M_destroy_node(__x); __x = __y; } } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_lower_bound(_Link_type __x, _Link_type __y, const _Key& __k) { while (__x != 0) if (!_M_impl._M_key_compare(_S_key(__x), __k)) __y = __x, __x = _S_left(__x); else __x = _S_right(__x); return iterator(__y); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_lower_bound(_Const_Link_type __x, _Const_Link_type __y, const _Key& __k) const { while (__x != 0) if (!_M_impl._M_key_compare(_S_key(__x), __k)) __y = __x, __x = _S_left(__x); else __x = _S_right(__x); return const_iterator(__y); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_upper_bound(_Link_type __x, _Link_type __y, const _Key& __k) { while (__x != 0) if (_M_impl._M_key_compare(__k, _S_key(__x))) __y = __x, __x = _S_left(__x); else __x = _S_right(__x); return iterator(__y); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_upper_bound(_Const_Link_type __x, _Const_Link_type __y, const _Key& __k) const { while (__x != 0) if (_M_impl._M_key_compare(__k, _S_key(__x))) __y = __x, __x = _S_left(__x); else __x = _S_right(__x); return const_iterator(__y); } template pair::iterator, typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator> _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: equal_range(const _Key& __k) { _Link_type __x = _M_begin(); _Link_type __y = _M_end(); while (__x != 0) { if (_M_impl._M_key_compare(_S_key(__x), __k)) __x = _S_right(__x); else if (_M_impl._M_key_compare(__k, _S_key(__x))) __y = __x, __x = _S_left(__x); else { _Link_type __xu(__x), __yu(__y); __y = __x, __x = _S_left(__x); __xu = _S_right(__xu); return pair(_M_lower_bound(__x, __y, __k), _M_upper_bound(__xu, __yu, __k)); } } return pair(iterator(__y), iterator(__y)); } template pair::const_iterator, typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator> _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: equal_range(const _Key& __k) const { _Const_Link_type __x = _M_begin(); _Const_Link_type __y = _M_end(); while (__x != 0) { if (_M_impl._M_key_compare(_S_key(__x), __k)) __x = _S_right(__x); else if (_M_impl._M_key_compare(__k, _S_key(__x))) __y = __x, __x = _S_left(__x); else { _Const_Link_type __xu(__x), __yu(__y); __y = __x, __x = _S_left(__x); __xu = _S_right(__xu); return pair(_M_lower_bound(__x, __y, __k), _M_upper_bound(__xu, __yu, __k)); } } return pair(const_iterator(__y), const_iterator(__y)); } template void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __t) { if (_M_root() == 0) { if (__t._M_root() != 0) { _M_root() = __t._M_root(); _M_leftmost() = __t._M_leftmost(); _M_rightmost() = __t._M_rightmost(); _M_root()->_M_parent = _M_end(); __t._M_root() = 0; __t._M_leftmost() = __t._M_end(); __t._M_rightmost() = __t._M_end(); } } else if (__t._M_root() == 0) { __t._M_root() = _M_root(); __t._M_leftmost() = _M_leftmost(); __t._M_rightmost() = _M_rightmost(); __t._M_root()->_M_parent = __t._M_end(); _M_root() = 0; _M_leftmost() = _M_end(); _M_rightmost() = _M_end(); } else { std::swap(_M_root(),__t._M_root()); std::swap(_M_leftmost(),__t._M_leftmost()); std::swap(_M_rightmost(),__t._M_rightmost()); _M_root()->_M_parent = _M_end(); __t._M_root()->_M_parent = __t._M_end(); } std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count); std::swap(this->_M_impl._M_key_compare, __t._M_impl._M_key_compare); std::__alloc_swap<_Node_allocator>:: _S_do_it(_M_get_Node_allocator(), __t._M_get_Node_allocator()); } template pair::iterator, bool> _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_unique(const _Val& __v) { _Link_type __x = _M_begin(); _Link_type __y = _M_end(); bool __comp = true; while (__x != 0) { __y = __x; __comp = _M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(__x)); __x = __comp ? _S_left(__x) : _S_right(__x); } iterator __j = iterator(__y); if (__comp) { if (__j == begin()) return pair(_M_insert_(__x, __y, __v), true); else --__j; } if (_M_impl._M_key_compare(_S_key(__j._M_node), _KeyOfValue()(__v))) return pair(_M_insert_(__x, __y, __v), true); return pair(__j, false); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_equal(const _Val& __v) { _Link_type __x = _M_begin(); _Link_type __y = _M_end(); while (__x != 0) { __y = __x; __x = _M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(__x)) ? _S_left(__x) : _S_right(__x); } return _M_insert_(__x, __y, __v); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_unique_(const_iterator __position, const _Val& __v) { if (__position._M_node == _M_end()) { if (size() > 0 && _M_impl._M_key_compare(_S_key(_M_rightmost()), _KeyOfValue()(__v))) return _M_insert_(0, _M_rightmost(), __v); else return _M_insert_unique(__v).first; } else if (_M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(__position._M_node))) { const_iterator __before = __position; if (__position._M_node == _M_leftmost()) return _M_insert_(_M_leftmost(), _M_leftmost(), __v); else if (_M_impl._M_key_compare(_S_key((--__before)._M_node), _KeyOfValue()(__v))) { if (_S_right(__before._M_node) == 0) return _M_insert_(0, __before._M_node, __v); else return _M_insert_(__position._M_node, __position._M_node, __v); } else return _M_insert_unique(__v).first; } else if (_M_impl._M_key_compare(_S_key(__position._M_node), _KeyOfValue()(__v))) { const_iterator __after = __position; if (__position._M_node == _M_rightmost()) return _M_insert_(0, _M_rightmost(), __v); else if (_M_impl._M_key_compare(_KeyOfValue()(__v), _S_key((++__after)._M_node))) { if (_S_right(__position._M_node) == 0) return _M_insert_(0, __position._M_node, __v); else return _M_insert_(__after._M_node, __after._M_node, __v); } else return _M_insert_unique(__v).first; } else return iterator(static_cast<_Link_type> (const_cast<_Base_ptr>(__position._M_node))); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_equal_(const_iterator __position, const _Val& __v) { if (__position._M_node == _M_end()) { if (size() > 0 && !_M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(_M_rightmost()))) return _M_insert_(0, _M_rightmost(), __v); else return _M_insert_equal(__v); } else if (!_M_impl._M_key_compare(_S_key(__position._M_node), _KeyOfValue()(__v))) { const_iterator __before = __position; if (__position._M_node == _M_leftmost()) return _M_insert_(_M_leftmost(), _M_leftmost(), __v); else if (!_M_impl._M_key_compare(_KeyOfValue()(__v), _S_key((--__before)._M_node))) { if (_S_right(__before._M_node) == 0) return _M_insert_(0, __before._M_node, __v); else return _M_insert_(__position._M_node, __position._M_node, __v); } else return _M_insert_equal(__v); } else { const_iterator __after = __position; if (__position._M_node == _M_rightmost()) return _M_insert_(0, _M_rightmost(), __v); else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node), _KeyOfValue()(__v))) { if (_S_right(__position._M_node) == 0) return _M_insert_(0, __position._M_node, __v); else return _M_insert_(__after._M_node, __after._M_node, __v); } else return _M_insert_equal_lower(__v); } } template template void _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>:: _M_insert_unique(_II __first, _II __last) { for (; __first != __last; ++__first) _M_insert_unique_(end(), *__first); } template template void _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>:: _M_insert_equal(_II __first, _II __last) { for (; __first != __last; ++__first) _M_insert_equal_(end(), *__first); } template inline void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: erase(iterator __position) { _Link_type __y = static_cast<_Link_type>(_Rb_tree_rebalance_for_erase (__position._M_node, this->_M_impl._M_header)); _M_destroy_node(__y); --_M_impl._M_node_count; } template inline void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: erase(const_iterator __position) { _Link_type __y = static_cast<_Link_type>(_Rb_tree_rebalance_for_erase (const_cast<_Base_ptr>(__position._M_node), this->_M_impl._M_header)); _M_destroy_node(__y); --_M_impl._M_node_count; } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: erase(const _Key& __x) { pair __p = equal_range(__x); const size_type __old_size = size(); erase(__p.first, __p.second); return __old_size - size(); } template void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: erase(iterator __first, iterator __last) { if (__first == begin() && __last == end()) clear(); else while (__first != __last) erase(__first++); } template void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: erase(const_iterator __first, const_iterator __last) { if (__first == begin() && __last == end()) clear(); else while (__first != __last) erase(__first++); } template void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: erase(const _Key* __first, const _Key* __last) { while (__first != __last) erase(*__first++); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: find(const _Key& __k) { iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); return (__j == end() || _M_impl._M_key_compare(__k, _S_key(__j._M_node))) ? end() : __j; } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: find(const _Key& __k) const { const_iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); return (__j == end() || _M_impl._M_key_compare(__k, _S_key(__j._M_node))) ? end() : __j; } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: count(const _Key& __k) const { pair __p = equal_range(__k); const size_type __n = std::distance(__p.first, __p.second); return __n; } unsigned int _Rb_tree_black_count(const _Rb_tree_node_base* __node, const _Rb_tree_node_base* __root); template bool _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const { if (_M_impl._M_node_count == 0 || begin() == end()) return _M_impl._M_node_count == 0 && begin() == end() && this->_M_impl._M_header._M_left == _M_end() && this->_M_impl._M_header._M_right == _M_end(); unsigned int __len = _Rb_tree_black_count(_M_leftmost(), _M_root()); for (const_iterator __it = begin(); __it != end(); ++__it) { _Const_Link_type __x = static_cast<_Const_Link_type>(__it._M_node); _Const_Link_type __L = _S_left(__x); _Const_Link_type __R = _S_right(__x); if (__x->_M_color == _S_red) if ((__L && __L->_M_color == _S_red) || (__R && __R->_M_color == _S_red)) return false; if (__L && _M_impl._M_key_compare(_S_key(__x), _S_key(__L))) return false; if (__R && _M_impl._M_key_compare(_S_key(__R), _S_key(__x))) return false; if (!__L && !__R && _Rb_tree_black_count(__x, _M_root()) != __len) return false; } if (_M_leftmost() != _Rb_tree_node_base::_S_minimum(_M_root())) return false; if (_M_rightmost() != _Rb_tree_node_base::_S_maximum(_M_root())) return false; return true; } } # 66 "/usr/include/c++/4.3/map" 2 3 # 1 "/usr/include/c++/4.3/bits/stl_map.h" 1 3 # 68 "/usr/include/c++/4.3/bits/stl_map.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 89 "/usr/include/c++/4.3/bits/stl_map.h" 3 template , typename _Alloc = std::allocator > > class map { public: typedef _Key key_type; typedef _Tp mapped_type; typedef std::pair value_type; typedef _Compare key_compare; typedef _Alloc allocator_type; private: typedef typename _Alloc::value_type _Alloc_value_type; public: class value_compare : public std::binary_function { friend class map<_Key, _Tp, _Compare, _Alloc>; protected: _Compare comp; value_compare(_Compare __c) : comp(__c) { } public: bool operator()(const value_type& __x, const value_type& __y) const { return comp(__x.first, __y.first); } }; private: typedef typename _Alloc::template rebind::other _Pair_alloc_type; typedef _Rb_tree, key_compare, _Pair_alloc_type> _Rep_type; _Rep_type _M_t; public: typedef typename _Pair_alloc_type::pointer pointer; typedef typename _Pair_alloc_type::const_pointer const_pointer; typedef typename _Pair_alloc_type::reference reference; typedef typename _Pair_alloc_type::const_reference const_reference; typedef typename _Rep_type::iterator iterator; typedef typename _Rep_type::const_iterator const_iterator; typedef typename _Rep_type::size_type size_type; typedef typename _Rep_type::difference_type difference_type; typedef typename _Rep_type::reverse_iterator reverse_iterator; typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; map() : _M_t() { } explicit map(const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_t(__comp, __a) { } # 175 "/usr/include/c++/4.3/bits/stl_map.h" 3 map(const map& __x) : _M_t(__x._M_t) { } # 199 "/usr/include/c++/4.3/bits/stl_map.h" 3 template map(_InputIterator __first, _InputIterator __last) : _M_t() { _M_t._M_insert_unique(__first, __last); } # 215 "/usr/include/c++/4.3/bits/stl_map.h" 3 template map(_InputIterator __first, _InputIterator __last, const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_t(__comp, __a) { _M_t._M_insert_unique(__first, __last); } # 238 "/usr/include/c++/4.3/bits/stl_map.h" 3 map& operator=(const map& __x) { _M_t = __x._M_t; return *this; } # 264 "/usr/include/c++/4.3/bits/stl_map.h" 3 allocator_type get_allocator() const { return _M_t.get_allocator(); } iterator begin() { return _M_t.begin(); } const_iterator begin() const { return _M_t.begin(); } iterator end() { return _M_t.end(); } const_iterator end() const { return _M_t.end(); } reverse_iterator rbegin() { return _M_t.rbegin(); } const_reverse_iterator rbegin() const { return _M_t.rbegin(); } reverse_iterator rend() { return _M_t.rend(); } const_reverse_iterator rend() const { return _M_t.rend(); } # 383 "/usr/include/c++/4.3/bits/stl_map.h" 3 bool empty() const { return _M_t.empty(); } size_type size() const { return _M_t.size(); } size_type max_size() const { return _M_t.max_size(); } # 410 "/usr/include/c++/4.3/bits/stl_map.h" 3 mapped_type& operator[](const key_type& __k) { iterator __i = lower_bound(__k); if (__i == end() || key_comp()(__k, (*__i).first)) __i = insert(__i, value_type(__k, mapped_type())); return (*__i).second; } # 432 "/usr/include/c++/4.3/bits/stl_map.h" 3 mapped_type& at(const key_type& __k) { iterator __i = lower_bound(__k); if (__i == end() || key_comp()(__k, (*__i).first)) __throw_out_of_range(("map::at")); return (*__i).second; } const mapped_type& at(const key_type& __k) const { const_iterator __i = lower_bound(__k); if (__i == end() || key_comp()(__k, (*__i).first)) __throw_out_of_range(("map::at")); return (*__i).second; } # 467 "/usr/include/c++/4.3/bits/stl_map.h" 3 std::pair insert(const value_type& __x) { return _M_t._M_insert_unique(__x); } # 494 "/usr/include/c++/4.3/bits/stl_map.h" 3 iterator insert(iterator __position, const value_type& __x) { return _M_t._M_insert_unique_(__position, __x); } # 506 "/usr/include/c++/4.3/bits/stl_map.h" 3 template void insert(_InputIterator __first, _InputIterator __last) { _M_t._M_insert_unique(__first, __last); } # 521 "/usr/include/c++/4.3/bits/stl_map.h" 3 void erase(iterator __position) { _M_t.erase(__position); } # 536 "/usr/include/c++/4.3/bits/stl_map.h" 3 size_type erase(const key_type& __x) { return _M_t.erase(__x); } # 551 "/usr/include/c++/4.3/bits/stl_map.h" 3 void erase(iterator __first, iterator __last) { _M_t.erase(__first, __last); } # 566 "/usr/include/c++/4.3/bits/stl_map.h" 3 void swap(map& __x) { _M_t.swap(__x._M_t); } void clear() { _M_t.clear(); } key_compare key_comp() const { return _M_t.key_comp(); } value_compare value_comp() const { return value_compare(_M_t.key_comp()); } # 613 "/usr/include/c++/4.3/bits/stl_map.h" 3 iterator find(const key_type& __x) { return _M_t.find(__x); } # 628 "/usr/include/c++/4.3/bits/stl_map.h" 3 const_iterator find(const key_type& __x) const { return _M_t.find(__x); } # 640 "/usr/include/c++/4.3/bits/stl_map.h" 3 size_type count(const key_type& __x) const { return _M_t.find(__x) == _M_t.end() ? 0 : 1; } # 655 "/usr/include/c++/4.3/bits/stl_map.h" 3 iterator lower_bound(const key_type& __x) { return _M_t.lower_bound(__x); } # 670 "/usr/include/c++/4.3/bits/stl_map.h" 3 const_iterator lower_bound(const key_type& __x) const { return _M_t.lower_bound(__x); } iterator upper_bound(const key_type& __x) { return _M_t.upper_bound(__x); } const_iterator upper_bound(const key_type& __x) const { return _M_t.upper_bound(__x); } # 709 "/usr/include/c++/4.3/bits/stl_map.h" 3 std::pair equal_range(const key_type& __x) { return _M_t.equal_range(__x); } # 728 "/usr/include/c++/4.3/bits/stl_map.h" 3 std::pair equal_range(const key_type& __x) const { return _M_t.equal_range(__x); } template friend bool operator==(const map<_K1, _T1, _C1, _A1>&, const map<_K1, _T1, _C1, _A1>&); template friend bool operator<(const map<_K1, _T1, _C1, _A1>&, const map<_K1, _T1, _C1, _A1>&); }; # 753 "/usr/include/c++/4.3/bits/stl_map.h" 3 template inline bool operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x, const map<_Key, _Tp, _Compare, _Alloc>& __y) { return __x._M_t == __y._M_t; } # 770 "/usr/include/c++/4.3/bits/stl_map.h" 3 template inline bool operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x, const map<_Key, _Tp, _Compare, _Alloc>& __y) { return __x._M_t < __y._M_t; } template inline bool operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x, const map<_Key, _Tp, _Compare, _Alloc>& __y) { return !(__x == __y); } template inline bool operator>(const map<_Key, _Tp, _Compare, _Alloc>& __x, const map<_Key, _Tp, _Compare, _Alloc>& __y) { return __y < __x; } template inline bool operator<=(const map<_Key, _Tp, _Compare, _Alloc>& __x, const map<_Key, _Tp, _Compare, _Alloc>& __y) { return !(__y < __x); } template inline bool operator>=(const map<_Key, _Tp, _Compare, _Alloc>& __x, const map<_Key, _Tp, _Compare, _Alloc>& __y) { return !(__x < __y); } template inline void swap(map<_Key, _Tp, _Compare, _Alloc>& __x, map<_Key, _Tp, _Compare, _Alloc>& __y) { __x.swap(__y); } # 825 "/usr/include/c++/4.3/bits/stl_map.h" 3 } # 67 "/usr/include/c++/4.3/map" 2 3 # 1 "/usr/include/c++/4.3/bits/stl_multimap.h" 1 3 # 67 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 88 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 template , typename _Alloc = std::allocator > > class multimap { public: typedef _Key key_type; typedef _Tp mapped_type; typedef std::pair value_type; typedef _Compare key_compare; typedef _Alloc allocator_type; private: typedef typename _Alloc::value_type _Alloc_value_type; public: class value_compare : public std::binary_function { friend class multimap<_Key, _Tp, _Compare, _Alloc>; protected: _Compare comp; value_compare(_Compare __c) : comp(__c) { } public: bool operator()(const value_type& __x, const value_type& __y) const { return comp(__x.first, __y.first); } }; private: typedef typename _Alloc::template rebind::other _Pair_alloc_type; typedef _Rb_tree, key_compare, _Pair_alloc_type> _Rep_type; _Rep_type _M_t; public: typedef typename _Pair_alloc_type::pointer pointer; typedef typename _Pair_alloc_type::const_pointer const_pointer; typedef typename _Pair_alloc_type::reference reference; typedef typename _Pair_alloc_type::const_reference const_reference; typedef typename _Rep_type::iterator iterator; typedef typename _Rep_type::const_iterator const_iterator; typedef typename _Rep_type::size_type size_type; typedef typename _Rep_type::difference_type difference_type; typedef typename _Rep_type::reverse_iterator reverse_iterator; typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; multimap() : _M_t() { } explicit multimap(const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_t(__comp, __a) { } # 173 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 multimap(const multimap& __x) : _M_t(__x._M_t) { } # 197 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 template multimap(_InputIterator __first, _InputIterator __last) : _M_t() { _M_t._M_insert_equal(__first, __last); } # 213 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 template multimap(_InputIterator __first, _InputIterator __last, const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_t(__comp, __a) { _M_t._M_insert_equal(__first, __last); } # 236 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 multimap& operator=(const multimap& __x) { _M_t = __x._M_t; return *this; } # 262 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 allocator_type get_allocator() const { return _M_t.get_allocator(); } iterator begin() { return _M_t.begin(); } const_iterator begin() const { return _M_t.begin(); } iterator end() { return _M_t.end(); } const_iterator end() const { return _M_t.end(); } reverse_iterator rbegin() { return _M_t.rbegin(); } const_reverse_iterator rbegin() const { return _M_t.rbegin(); } reverse_iterator rend() { return _M_t.rend(); } const_reverse_iterator rend() const { return _M_t.rend(); } # 379 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 bool empty() const { return _M_t.empty(); } size_type size() const { return _M_t.size(); } size_type max_size() const { return _M_t.max_size(); } # 406 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 iterator insert(const value_type& __x) { return _M_t._M_insert_equal(__x); } # 430 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 iterator insert(iterator __position, const value_type& __x) { return _M_t._M_insert_equal_(__position, __x); } # 442 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 template void insert(_InputIterator __first, _InputIterator __last) { _M_t._M_insert_equal(__first, __last); } # 457 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 void erase(iterator __position) { _M_t.erase(__position); } # 472 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 size_type erase(const key_type& __x) { return _M_t.erase(__x); } # 487 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 void erase(iterator __first, iterator __last) { _M_t.erase(__first, __last); } # 502 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 void swap(multimap& __x) { _M_t.swap(__x._M_t); } void clear() { _M_t.clear(); } key_compare key_comp() const { return _M_t.key_comp(); } value_compare value_comp() const { return value_compare(_M_t.key_comp()); } # 549 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 iterator find(const key_type& __x) { return _M_t.find(__x); } # 564 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 const_iterator find(const key_type& __x) const { return _M_t.find(__x); } size_type count(const key_type& __x) const { return _M_t.count(__x); } # 588 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 iterator lower_bound(const key_type& __x) { return _M_t.lower_bound(__x); } # 603 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 const_iterator lower_bound(const key_type& __x) const { return _M_t.lower_bound(__x); } iterator upper_bound(const key_type& __x) { return _M_t.upper_bound(__x); } const_iterator upper_bound(const key_type& __x) const { return _M_t.upper_bound(__x); } # 640 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 std::pair equal_range(const key_type& __x) { return _M_t.equal_range(__x); } # 657 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 std::pair equal_range(const key_type& __x) const { return _M_t.equal_range(__x); } template friend bool operator==(const multimap<_K1, _T1, _C1, _A1>&, const multimap<_K1, _T1, _C1, _A1>&); template friend bool operator<(const multimap<_K1, _T1, _C1, _A1>&, const multimap<_K1, _T1, _C1, _A1>&); }; # 682 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 template inline bool operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, const multimap<_Key, _Tp, _Compare, _Alloc>& __y) { return __x._M_t == __y._M_t; } # 699 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 template inline bool operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, const multimap<_Key, _Tp, _Compare, _Alloc>& __y) { return __x._M_t < __y._M_t; } template inline bool operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, const multimap<_Key, _Tp, _Compare, _Alloc>& __y) { return !(__x == __y); } template inline bool operator>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, const multimap<_Key, _Tp, _Compare, _Alloc>& __y) { return __y < __x; } template inline bool operator<=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, const multimap<_Key, _Tp, _Compare, _Alloc>& __y) { return !(__y < __x); } template inline bool operator>=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, const multimap<_Key, _Tp, _Compare, _Alloc>& __y) { return !(__x < __y); } template inline void swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x, multimap<_Key, _Tp, _Compare, _Alloc>& __y) { __x.swap(__y); } # 754 "/usr/include/c++/4.3/bits/stl_multimap.h" 3 } # 68 "/usr/include/c++/4.3/map" 2 3 # 37 "/products/root_522/include/root/TClass.h" 2 class TBaseClass; class TBrowser; class TDataMember; class TClassRef; class TMethod; class TRealData; class TCint; class TBuffer; class TVirtualStreamerInfo; class TVirtualCollectionProxy; class TMethodCall; class TVirtualIsAProxy; class TVirtualRefProxy; class THashTable; namespace ROOT { class TGenericClassInfo; class TCollectionProxyInfo; class TSchemaRuleSet; } namespace ROOT { class TMapTypeToTClass; } typedef ROOT::TMapTypeToTClass IdMap_t; class TClass : public TDictionary { friend class TCint; friend void ROOT::ResetClassVersion(TClass*, const char*, Short_t); friend class ROOT::TGenericClassInfo; public: enum { kClassSaved = (1 << (12)), kIgnoreTObjectStreamer = (1 << (15)), kUnloaded = (1 << (16)), kIsTObject = (1 << (17)), kIsForeign = (1 << (18)), kIsEmulation = (1 << (19)), kStartWithTObject = (1 << (20)), kWarned = (1 << (21)), kHasNameMapNode = (1 << (22)) }; enum ENewType { kRealNew = 0, kClassNew, kDummyNew }; private: mutable TObjArray *fStreamerInfo; mutable std::map *fConversionStreamerInfo; TList *fRealData; TList *fBase; TList *fData; TList *fMethod; TList *fAllPubData; TList *fAllPubMethod; const char *fDeclFileName; const char *fImplFileName; Short_t fDeclFileLine; Short_t fImplFileLine; UInt_t fInstanceCount; UInt_t fOnHeap; mutable UInt_t fCheckSum; TVirtualCollectionProxy *fCollectionProxy; Version_t fClassVersion; ClassInfo_t *fClassInfo; TString fContextMenuTitle; TList *fClassMenuList; const type_info *fTypeInfo; ShowMembersFunc_t fShowMembers; TClassStreamer *fStreamer; TString fSharedLibs; TVirtualIsAProxy *fIsA; IsAGlobalFunc_t fGlobalIsA; mutable TMethodCall *fIsAMethod; ROOT::NewFunc_t fNew; ROOT::NewArrFunc_t fNewArray; ROOT::DelFunc_t fDelete; ROOT::DelArrFunc_t fDeleteArray; ROOT::DesFunc_t fDestructor; ROOT::DirAutoAdd_t fDirAutoAdd; Int_t fSizeof; mutable Bool_t fVersionUsed; mutable Long_t fProperty; mutable void *fInterStreamer; mutable Long_t fOffsetStreamer; Int_t fStreamerType; mutable TVirtualStreamerInfo *fCurrentInfo; TClassRef *fRefStart; TVirtualRefProxy *fRefProxy; ROOT::TSchemaRuleSet *fSchemaRules; TMethod *GetClassMethod(Long_t faddr); TMethod *GetClassMethod(const char *name, const char *signature); Int_t GetBaseClassOffsetRecurse(const TClass *base); void Init(const char *name, Version_t cversion, const type_info *info, TVirtualIsAProxy *isa, ShowMembersFunc_t showmember, const char *dfil, const char *ifil, Int_t dl, Int_t il, Bool_t silent); void ForceReload (TClass* oldcl); void SetClassVersion(Version_t version); void SetClassSize(Int_t sizof) { fSizeof = sizof; } static IdMap_t *fgIdMap; static ENewType fgCallingNew; static Int_t fgClassCount; enum { kLoading = (1 << (14)) }; enum {kDefault=0, kEmulated=1, kTObject=2, kInstrumented=4, kForeign=8, kExternal=16}; # 166 "/products/root_522/include/root/TClass.h" class TNameMapNode : public TObjString { public: TNameMapNode (const char* typedf, const char* orig); TString fOrigName; }; static THashTable* fgClassTypedefHash; static THashTable* fgClassShortTypedefHash; private: TClass(const TClass& tc); TClass& operator=(const TClass&); protected: TVirtualStreamerInfo *FindStreamerInfo(TObjArray* arr, UInt_t checksum) const; public: TClass(); TClass(const char *name, Bool_t silent = kFALSE); TClass(const char *name, Version_t cversion, const char *dfil = 0, const char *ifil = 0, Int_t dl = 0, Int_t il = 0, Bool_t silent = kFALSE); TClass(const char *name, Version_t cversion, const type_info &info, TVirtualIsAProxy *isa, ShowMembersFunc_t showmember, const char *dfil, const char *ifil, Int_t dl, Int_t il, Bool_t silent = kFALSE); virtual ~TClass(); void AddInstance(Bool_t heap = kFALSE) { fInstanceCount++; if (heap) fOnHeap++; } void AddImplFile(const char *filename, int line); void AddRef(TClassRef *ref); void AdoptSchemaRules( ROOT::TSchemaRuleSet *rules ); virtual void Browse(TBrowser *b); void BuildRealData(void *pointer=0); void BuildEmulatedRealData(const char *name, Long_t offset, TClass *cl); void CalculateStreamerOffset(); Bool_t CanSplit() const; Bool_t CanIgnoreTObjectStreamer() { return TestBit(kIgnoreTObjectStreamer);} void CopyCollectionProxy(const TVirtualCollectionProxy&); void Draw(Option_t *option=""); void Dump() const { TDictionary::Dump(); } void Dump(void *obj) const; char *EscapeChars(const char *text) const; TVirtualStreamerInfo *FindStreamerInfo(UInt_t checksum) const; TVirtualStreamerInfo *GetConversionStreamerInfo( const char* onfile_classname, Int_t version ) const; TVirtualStreamerInfo *FindConversionStreamerInfo( const char* onfile_classname, UInt_t checksum ) const; TVirtualStreamerInfo *GetConversionStreamerInfo( const TClass* onfile_cl, Int_t version ) const; TVirtualStreamerInfo *FindConversionStreamerInfo( const TClass* onfile_cl, UInt_t checksum ) const; Bool_t HasDefaultConstructor() const; UInt_t GetCheckSum(UInt_t code=0) const; TVirtualCollectionProxy *GetCollectionProxy() const; TVirtualIsAProxy *GetIsAProxy() const; Version_t GetClassVersion() const { fVersionUsed = kTRUE; return fClassVersion; } TDataMember *GetDataMember(const char *datamember) const; Long_t GetDataMemberOffset(const char *membername) const; const char *GetDeclFileName() const { return fDeclFileName; } Short_t GetDeclFileLine() const { return fDeclFileLine; } ROOT::DelFunc_t GetDelete() const; ROOT::DesFunc_t GetDestructor() const; ROOT::DelArrFunc_t GetDeleteArray() const; ClassInfo_t *GetClassInfo() const { return fClassInfo; } const char *GetContextMenuTitle() const { return fContextMenuTitle; } TVirtualStreamerInfo *GetCurrentStreamerInfo() { if (fCurrentInfo) return fCurrentInfo; else return (fCurrentInfo=(TVirtualStreamerInfo*)(fStreamerInfo->At(fClassVersion))); } TList *GetListOfDataMembers(); TList *GetListOfBases(); TList *GetListOfMethods(); TList *GetListOfRealData() const { return fRealData; } TList *GetListOfAllPublicMethods(); TList *GetListOfAllPublicDataMembers(); const char *GetImplFileName() const { return fImplFileName; } Short_t GetImplFileLine() const { return fImplFileLine; } TClass *GetActualClass(const void *object) const; TClass *GetBaseClass(const char *classname); TClass *GetBaseClass(const TClass *base); Int_t GetBaseClassOffset(const TClass *base); TClass *GetBaseDataMember(const char *datamember); ROOT::DirAutoAdd_t GetDirectoryAutoAdd() const; UInt_t GetInstanceCount() const { return fInstanceCount; } UInt_t GetHeapInstanceCount() const { return fOnHeap; } void GetMenuItems(TList *listitems); TList *GetMenuList() const { return fClassMenuList; } TMethod *GetMethod(const char *method, const char *params); TMethod *GetMethodWithPrototype(const char *method, const char *proto); TMethod *GetMethodAny(const char *method); TMethod *GetMethodAllAny(const char *method); Int_t GetNdata(); ROOT::NewFunc_t GetNew() const; ROOT::NewArrFunc_t GetNewArray() const; Int_t GetNmethods(); TRealData *GetRealData(const char *name) const; TVirtualRefProxy *GetReferenceProxy() const { return fRefProxy; } const ROOT::TSchemaRuleSet *GetSchemaRules() const; ROOT::TSchemaRuleSet *GetSchemaRules(Bool_t create = kFALSE); const char *GetSharedLibs(); ShowMembersFunc_t GetShowMembersWrapper() const { return fShowMembers; } TClassStreamer *GetStreamer() const; TObjArray *GetStreamerInfos() const { return fStreamerInfo; } TVirtualStreamerInfo *GetStreamerInfo(Int_t version=0) const; const type_info *GetTypeInfo() const { return fTypeInfo; }; void IgnoreTObjectStreamer(Bool_t ignore=kTRUE); Bool_t InheritsFrom(const char *cl) const; Bool_t InheritsFrom(const TClass *cl) const; Bool_t IsFolder() const { return kTRUE; } Bool_t IsLoaded() const; Bool_t IsForeign() const; Bool_t IsStartingWithTObject() const; Bool_t IsTObject() const; void MakeCustomMenuList(); void Move(void *arenaFrom, void *arenaTo) const; void *New(ENewType defConstructor = kClassNew) const; void *New(void *arena, ENewType defConstructor = kClassNew) const; void *NewArray(Long_t nElements, ENewType defConstructor = kClassNew) const; void *NewArray(Long_t nElements, void *arena, ENewType defConstructor = kClassNew) const; virtual void PostLoadCheck(); Long_t Property() const; Int_t ReadBuffer(TBuffer &b, void *pointer, Int_t version, UInt_t start, UInt_t count); Int_t ReadBuffer(TBuffer &b, void *pointer); void RemoveRef(TClassRef *ref); void ReplaceWith(TClass *newcl, Bool_t recurse = kTRUE) const; void ResetClassInfo(Long_t tagnum); void ResetInstanceCount() { fInstanceCount = fOnHeap = 0; } void ResetMenuList(); Int_t Size() const; void SetCollectionProxy(const ROOT::TCollectionProxyInfo&); void SetContextMenuTitle(const char *title); void SetCurrentStreamerInfo(TVirtualStreamerInfo *info); void SetGlobalIsA(IsAGlobalFunc_t); void SetDeclFile(const char *name, int line) { fDeclFileName = name; fDeclFileLine = line; } void SetDelete(ROOT::DelFunc_t deleteFunc); void SetDeleteArray(ROOT::DelArrFunc_t deleteArrayFunc); void SetDirectoryAutoAdd(ROOT::DirAutoAdd_t dirAutoAddFunc); void SetDestructor(ROOT::DesFunc_t destructorFunc); void SetImplFileName(const char *implFileName) { fImplFileName = implFileName; } void SetNew(ROOT::NewFunc_t newFunc); void SetNewArray(ROOT::NewArrFunc_t newArrayFunc); TVirtualStreamerInfo *SetStreamerInfo(Int_t version, const char *info=""); void SetUnloaded(); Int_t WriteBuffer(TBuffer &b, void *pointer, const char *info=""); void AdoptReferenceProxy(TVirtualRefProxy* proxy); void AdoptStreamer(TClassStreamer *strm); void AdoptMemberStreamer(const char *name, TMemberStreamer *strm); void SetMemberStreamer(const char *name, MemberStreamerFunc_t strm); static void AddClass(TClass *cl); static void RemoveClass(TClass *cl); static TClass *GetClass(const char *name, Bool_t load = kTRUE, Bool_t silent = kFALSE); static TClass *GetClass(const type_info &typeinfo, Bool_t load = kTRUE, Bool_t silent = kFALSE); static VoidFuncPtr_t GetDict (const char *cname); static VoidFuncPtr_t GetDict (const type_info &info); static Int_t AutoBrowse(TObject *obj, TBrowser *browser); static ENewType IsCallingNew(); static TClass *Load(TBuffer &b); void Store(TBuffer &b) const; Int_t Browse(void *obj, TBrowser *b) const; void DeleteArray(void *ary, Bool_t dtorOnly = kFALSE); void Destructor(void *obj, Bool_t dtorOnly = kFALSE); void *DynamicCast(const TClass *base, void *obj, Bool_t up = kTRUE); Bool_t IsFolder(void *obj) const; void Streamer(void *obj, TBuffer &b, const TClass *onfile_class = 0) const; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TClass::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TClass::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TClass.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 345; } }; namespace ROOT { template struct IsPointer { enum { kVal = 0 }; }; template struct IsPointer { enum { kVal = 1 }; }; template TClass* GetClass( T* ) { return TClass::GetClass(typeid(T)); } template TClass* GetClass(const T* ) { return TClass::GetClass(typeid(T)); } template TClass* GetClass( T** ) { return GetClass((T*)0); } template TClass* GetClass(const T** ) { return GetClass((T*)0); } template TClass* GetClass( T* const* ) { return GetClass((T*)0); } template TClass* GetClass(const T* const* ) { return GetClass((T*)0); } extern TClass *CreateClass(const char *cname, Version_t id, const char *dfil, const char *ifil, Int_t dl, Int_t il); } # 63 "/products/root_522/include/root/TTree.h" 2 # 1 "/products/root_522/include/root/TVirtualTreePlayer.h" 1 # 28 "/products/root_522/include/root/TVirtualTreePlayer.h" class TClass; class TTree; class TH1; class TTreeFormula; class TSQLResult; class TSelector; class TPrincipal; class TVirtualIndex; class TVirtualTreePlayer : public TObject { private: static TClass *fgPlayer; static TVirtualTreePlayer *fgCurrent; public: TVirtualTreePlayer() { } virtual ~TVirtualTreePlayer(); virtual TVirtualIndex *BuildIndex(const TTree *T, const char *majorname, const char *minorname) = 0; virtual TTree *CopyTree(const char *selection, Option_t *option="" ,Long64_t nentries=1000000000, Long64_t firstentry=0) = 0; virtual Long64_t DrawScript(const char *wrapperPrefix, const char *macrofilename, const char *cutfilename, Option_t *option, Long64_t nentries, Long64_t firstentry) = 0; virtual Long64_t DrawSelect(const char *varexp, const char *selection, Option_t *option ,Long64_t nentries, Long64_t firstentry) = 0; virtual Int_t Fit(const char *formula ,const char *varexp, const char *selection,Option_t *option ,Option_t *goption ,Long64_t nentries, Long64_t firstentry) = 0; virtual Int_t GetDimension() const = 0; virtual TH1 *GetHistogram() const = 0; virtual Int_t GetNfill() const = 0; virtual Long64_t GetEntries(const char *) = 0; virtual Long64_t GetSelectedRows() const = 0; virtual TTreeFormula *GetSelect() const = 0; virtual TTreeFormula *GetVar1() const = 0; virtual TTreeFormula *GetVar2() const = 0; virtual TTreeFormula *GetVar3() const = 0; virtual TTreeFormula *GetVar4() const = 0; virtual Double_t *GetV1() const = 0; virtual Double_t *GetV2() const = 0; virtual Double_t *GetV3() const = 0; virtual Double_t *GetV4() const = 0; virtual Double_t *GetW() const = 0; virtual Int_t MakeClass(const char *classname, const char *option) = 0; virtual Int_t MakeCode(const char *filename) = 0; virtual Int_t MakeProxy(const char *classname, const char *macrofilename = 0, const char *cutfilename = 0, const char *option = 0, Int_t maxUnrolling = 3) = 0; virtual TPrincipal *Principal(const char *varexp="", const char *selection="", Option_t *option="np" ,Long64_t nentries=1000000000, Long64_t firstentry=0) = 0; virtual Long64_t Process(const char *filename,Option_t *option="", Long64_t nentries=1000000000, Long64_t firstentry=0) = 0; virtual Long64_t Process(TSelector *selector,Option_t *option="", Long64_t nentries=1000000000, Long64_t firstentry=0) = 0; virtual Long64_t Scan(const char *varexp, const char *selection, Option_t *option ,Long64_t nentries, Long64_t firstentry) = 0; virtual TSQLResult *Query(const char *varexp, const char *selection, Option_t *option ,Long64_t nentries, Long64_t firstentry) = 0; virtual void SetEstimate(Long64_t n) = 0; virtual void SetTree(TTree *t) = 0; virtual void StartViewer(Int_t ww, Int_t wh) = 0; virtual Int_t UnbinnedFit(const char *formula ,const char *varexp, const char *selection,Option_t *option ,Long64_t nentries, Long64_t firstentry) = 0; virtual void UpdateFormulaLeaves() = 0; static TVirtualTreePlayer *GetCurrentPlayer(); static TVirtualTreePlayer *TreePlayer(TTree *obj); static void SetPlayer(const char *player); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TVirtualTreePlayer::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TVirtualTreePlayer::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TVirtualTreePlayer.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 96; }; }; # 67 "/products/root_522/include/root/TTree.h" 2 class TBranch; class TBrowser; class TFile; class TDirectory; class TLeaf; class TH1; class TTreeFormula; class TPolyMarker; class TEventList; class TEntryList; class TList; class TSQLResult; class TSelector; class TPrincipal; class TFriendElement; class TCut; class TVirtualIndex; class TBranchRef; class TBasket; class TStreamerInfo; class TTree : public TNamed, public TAttLine, public TAttFill, public TAttMarker { protected: Long64_t fEntries; Long64_t fTotBytes; Long64_t fZipBytes; Long64_t fSavedBytes; Double_t fWeight; Int_t fTimerInterval; Int_t fScanField; Int_t fUpdate; Long64_t fMaxEntries; Long64_t fMaxEntryLoop; Long64_t fMaxVirtualSize; Long64_t fAutoSave; Long64_t fEstimate; Long64_t fCacheSize; Long64_t fChainOffset; Long64_t fReadEntry; Long64_t fTotalBuffers; Int_t fPacketSize; Int_t fNfill; Int_t fDebug; Long64_t fDebugMin; Long64_t fDebugMax; Int_t fMakeClass; Int_t fFileNumber; TObject *fNotify; TDirectory *fDirectory; TObjArray fBranches; TObjArray fLeaves; TList *fAliases; TEventList *fEventList; TEntryList *fEntryList; TArrayD fIndexValues; TArrayI fIndex; TVirtualIndex *fTreeIndex; TList *fFriends; TList *fUserInfo; TVirtualTreePlayer *fPlayer; TList *fClones; TBranchRef *fBranchRef; UInt_t fFriendLockStatus; static Int_t fgBranchStyle; static Long64_t fgMaxTreeSize; private: TTree(const TTree& tt); TTree& operator=(const TTree& tt); protected: void AddClone(TTree*); const char *GetNameByIndex(TString& varexp, Int_t* index, Int_t colindex) const; virtual void KeepCircular(); virtual void MakeIndex(TString& varexp, Int_t* index); virtual TBranch *BranchImp(const char* branchname, const char* classname, TClass* ptrClass, void* addobj, Int_t bufsize, Int_t splitlevel); virtual TBranch *BranchImp(const char* branchname, TClass* ptrClass, void* addobj, Int_t bufsize, Int_t splitlevel); virtual TBranch *BranchImpRef(const char* branchname, TClass* ptrClass, EDataType datatype, void* addobj, Int_t bufsize, Int_t splitlevel); virtual Bool_t CheckBranchAddressType(TBranch* branch, TClass* ptrClass, EDataType datatype, Bool_t ptr); virtual TBranch *BronchExec(const char* name, const char* classname, void* addobj, Bool_t isptrptr, Int_t bufsize, Int_t splitlevel); friend TBranch *TTreeBranchImpRef(TTree *tree, const char* branchname, TClass* ptrClass, EDataType datatype, void* addobj, Int_t bufsize, Int_t splitlevel); class TFriendLock { TTree *fTree; UInt_t fMethodBit; Bool_t fPrevious; protected: TFriendLock(const TFriendLock&); TFriendLock& operator=(const TFriendLock&); public: TFriendLock(TTree* tree, UInt_t methodbit); ~TFriendLock(); }; friend class TFriendLock; enum ELockStatusBits { kFindBranch = (1 << (0)), kFindLeaf = (1 << (1)), kGetAlias = (1 << (2)), kGetBranch = (1 << (3)), kGetEntry = (1 << (4)), kGetEntryWithIndex = (1 << (5)), kGetFriend = (1 << (6)), kGetFriendAlias = (1 << (7)), kGetLeaf = (1 << (8)), kLoadTree = (1 << (9)), kPrint = (1 << (10)), kRemoveFriend = (1 << (12)), kSetBranchStatus = (1 << (12)) }; public: enum { kForceRead = (1 << (11)), kCircular = (1 << (12)) }; TTree(); TTree(const char* name, const char* title, Int_t splitlevel = 99); virtual ~TTree(); virtual TFriendElement *AddFriend(const char* treename, const char* filename = ""); virtual TFriendElement *AddFriend(const char* treename, TFile* file); virtual TFriendElement *AddFriend(TTree* tree, const char* alias = "", Bool_t warn = kFALSE); virtual void AddTotBytes(Int_t tot) { fTotBytes += tot; } virtual void AddZipBytes(Int_t zip) { fZipBytes += zip; } virtual Long64_t AutoSave(Option_t* option = ""); virtual Int_t Branch(TCollection* list, Int_t bufsize = 32000, Int_t splitlevel = 99, const char* name = ""); virtual Int_t Branch(TList* list, Int_t bufsize = 32000, Int_t splitlevel = 99); virtual Int_t Branch(const char* folder, Int_t bufsize = 32000, Int_t splitlevel = 99); virtual TBranch *Branch(const char* name, void* address, const char* leaflist, Int_t bufsize = 32000); virtual TBranch *Branch(const char* name, const char* classname, void* addobj, Int_t bufsize = 32000, Int_t splitlevel = 99); template TBranch *Branch(const char* name, const char* classname, T** addobj, Int_t bufsize = 32000, Int_t splitlevel = 99) { return BranchImp(name, classname, TBuffer::GetClass(typeid(T)), addobj, bufsize, splitlevel); } template TBranch *Branch(const char* name, T** addobj, Int_t bufsize = 32000, Int_t splitlevel = 99) { return BranchImp(name, TBuffer::GetClass(typeid(T)), addobj, bufsize, splitlevel); } template TBranch *Branch(const char* name, T* obj, Int_t bufsize = 32000, Int_t splitlevel = 99) { return BranchImpRef(name, TBuffer::GetClass(typeid(T)), TDataType::GetType(typeid(T)), obj, bufsize, splitlevel); } virtual TBranch *Bronch(const char* name, const char* classname, void* addobj, Int_t bufsize = 32000, Int_t splitlevel = 99); virtual TBranch *BranchOld(const char* name, const char* classname, void* addobj, Int_t bufsize = 32000, Int_t splitlevel = 1); virtual TBranch *BranchRef(); virtual void Browse(TBrowser*); virtual Int_t BuildIndex(const char* majorname, const char* minorname = "0"); TStreamerInfo *BuildStreamerInfo(TClass* cl, void* pointer = 0); virtual TFile *ChangeFile(TFile* file); virtual TTree *CloneTree(Long64_t nentries = -1, Option_t* option = ""); virtual void CopyAddresses(TTree*,Bool_t undo = kFALSE); virtual Long64_t CopyEntries(TTree* tree, Long64_t nentries = -1); virtual TTree *CopyTree(const char* selection, Option_t* option = "", Long64_t nentries = 1000000000, Long64_t firstentry = 0); virtual TBasket *CreateBasket(TBranch*); virtual void DirectoryAutoAdd(TDirectory *); Int_t Debug() const { return fDebug; } virtual void Delete(Option_t* option = ""); virtual void Draw(Option_t* opt) { Draw(opt, "", "", 1000000000, 0); } virtual Long64_t Draw(const char* varexp, const TCut& selection, Option_t* option = "", Long64_t nentries = 1000000000, Long64_t firstentry = 0); virtual Long64_t Draw(const char* varexp, const char* selection, Option_t* option = "", Long64_t nentries = 1000000000, Long64_t firstentry = 0); virtual void DropBaskets(); virtual void DropBuffers(Int_t nbytes); virtual Int_t Fill(); virtual TBranch *FindBranch(const char* name); virtual TLeaf *FindLeaf(const char* name); virtual Int_t Fit(const char* funcname, const char* varexp, const char* selection = "", Option_t* option = "", Option_t* goption = "", Long64_t nentries = 1000000000, Long64_t firstentry = 0); virtual Int_t FlushBaskets() const; virtual const char *GetAlias(const char* aliasName) const; virtual TBranch *GetBranch(const char* name); virtual TBranchRef *GetBranchRef() const { return fBranchRef; }; virtual Bool_t GetBranchStatus(const char* branchname) const; static Int_t GetBranchStyle(); virtual Long64_t GetCacheSize() const { return fCacheSize; } virtual Long64_t GetChainEntryNumber(Long64_t entry) const { return entry; } virtual Long64_t GetChainOffset() const { return fChainOffset; } TFile *GetCurrentFile() const; Long64_t GetDebugMax() const { return fDebugMax; } Long64_t GetDebugMin() const { return fDebugMin; } TDirectory *GetDirectory() const { return fDirectory; } virtual Long64_t GetEntries() const { return fEntries; } virtual Long64_t GetEntries(const char *selection); virtual Long64_t GetEntriesFast() const { return fEntries; } virtual Long64_t GetEntriesFriend() const; virtual Long64_t GetEstimate() const { return fEstimate; } virtual Int_t GetEntry(Long64_t entry = 0, Int_t getall = 0); Int_t GetEvent(Long64_t entry = 0, Int_t getall = 0) { return GetEntry(entry, getall); } virtual Int_t GetEntryWithIndex(Int_t major, Int_t minor = 0); virtual Long64_t GetEntryNumberWithBestIndex(Int_t major, Int_t minor = 0) const; virtual Long64_t GetEntryNumberWithIndex(Int_t major, Int_t minor = 0) const; TEventList *GetEventList() const { return fEventList; } virtual TEntryList *GetEntryList(); virtual Long64_t GetEntryNumber(Long64_t entry) const; virtual Int_t GetFileNumber() const { return fFileNumber; } virtual TTree *GetFriend(const char*) const; virtual const char *GetFriendAlias(TTree*) const; TH1 *GetHistogram() { return GetPlayer()->GetHistogram(); } virtual Int_t *GetIndex() { return &fIndex.fArray[0]; } virtual Double_t *GetIndexValues() { return &fIndexValues.fArray[0]; } virtual TIterator *GetIteratorOnAllLeaves(Bool_t dir = kIterForward); virtual TLeaf *GetLeaf(const char* name); virtual TList *GetListOfClones() { return fClones; } virtual TObjArray *GetListOfBranches() { return &fBranches; } virtual TObjArray *GetListOfLeaves() { return &fLeaves; } virtual TList *GetListOfFriends() const { return fFriends; } virtual TList *GetListOfAliases() const { return fAliases; } Int_t GetMakeClass() const { return fMakeClass; } virtual Long64_t GetMaxEntryLoop() const { return fMaxEntryLoop; } virtual Double_t GetMaximum(const char* columname); static Long64_t GetMaxTreeSize(); virtual Long64_t GetMaxVirtualSize() const { return fMaxVirtualSize; } virtual Double_t GetMinimum(const char* columname); virtual Int_t GetNbranches() { return fBranches.GetEntriesFast(); } TObject *GetNotify() const { return fNotify; } TVirtualTreePlayer *GetPlayer(); virtual Int_t GetPacketSize() const { return fPacketSize; } virtual Long64_t GetReadEntry() const { return fReadEntry; } virtual Long64_t GetReadEvent() const { return fReadEntry; } virtual Int_t GetScanField() const { return fScanField; } TTreeFormula *GetSelect() { return GetPlayer()->GetSelect(); } virtual Long64_t GetSelectedRows() { return GetPlayer()->GetSelectedRows(); } virtual Int_t GetTimerInterval() const { return fTimerInterval; } virtual Long64_t GetTotBytes() const { return fTotBytes; } virtual TTree *GetTree() const { return (TTree*)this; } virtual TVirtualIndex *GetTreeIndex() const { return fTreeIndex; } virtual Int_t GetTreeNumber() const { return 0; } virtual Int_t GetUpdate() const { return fUpdate; } virtual TList *GetUserInfo(); TTreeFormula *GetVar1() { return GetPlayer()->GetVar1(); } TTreeFormula *GetVar2() { return GetPlayer()->GetVar2(); } TTreeFormula *GetVar3() { return GetPlayer()->GetVar3(); } TTreeFormula *GetVar4() { return GetPlayer()->GetVar4(); } virtual Double_t *GetV1() { return GetPlayer()->GetV1(); } virtual Double_t *GetV2() { return GetPlayer()->GetV2(); } virtual Double_t *GetV3() { return GetPlayer()->GetV3(); } virtual Double_t *GetV4() { return GetPlayer()->GetV4(); } virtual Double_t *GetW() { return GetPlayer()->GetW(); } virtual Double_t GetWeight() const { return fWeight; } virtual Long64_t GetZipBytes() const { return fZipBytes; } virtual void IncrementTotalBuffers(Int_t nbytes) { fTotalBuffers += nbytes; } Bool_t IsFolder() const { return kTRUE; } virtual Int_t LoadBaskets(Long64_t maxmemory = 2000000000); virtual Long64_t LoadTree(Long64_t entry); virtual Long64_t LoadTreeFriend(Long64_t entry, TTree* T); virtual Int_t MakeClass(const char* classname = 0, Option_t* option = ""); virtual Int_t MakeCode(const char* filename = 0); virtual Int_t MakeProxy(const char* classname, const char* macrofilename = 0, const char* cutfilename = 0, const char* option = 0, Int_t maxUnrolling = 3); virtual Int_t MakeSelector(const char* selector = 0); Bool_t MemoryFull(Int_t nbytes); virtual Long64_t Merge(TCollection* list, Option_t* option = ""); static TTree *MergeTrees(TList* list, Option_t* option = ""); virtual Bool_t Notify(); TPrincipal *Principal(const char* varexp = "", const char* selection = "", Option_t* option = "np", Long64_t nentries = 1000000000, Long64_t firstentry = 0); virtual void Print(Option_t* option = "") const; virtual Long64_t Process(const char* filename, Option_t* option = "", Long64_t nentries = 1000000000, Long64_t firstentry = 0); virtual Long64_t Process(TSelector* selector, Option_t* option = "", Long64_t nentries = 1000000000, Long64_t firstentry = 0); virtual Long64_t Project(const char* hname, const char* varexp, const char* selection = "", Option_t* option = "", Long64_t nentries = 1000000000, Long64_t firstentry = 0); virtual TSQLResult *Query(const char* varexp = "", const char* selection = "", Option_t* option = "", Long64_t nentries = 1000000000, Long64_t firstentry = 0); virtual Long64_t ReadFile(const char* filename, const char* branchDescriptor = ""); virtual void Refresh(); virtual void RemoveFriend(TTree*); virtual void Reset(Option_t* option = ""); virtual void ResetBranchAddress(TBranch *); virtual void ResetBranchAddresses(); virtual Long64_t Scan(const char* varexp = "", const char* selection = "", Option_t* option = "", Long64_t nentries = 1000000000, Long64_t firstentry = 0); virtual Bool_t SetAlias(const char* aliasName, const char* aliasFormula); virtual void SetAutoSave(Long64_t autos = 10000000) { fAutoSave=autos; } virtual void SetBasketSize(const char* bname, Int_t buffsize = 16000); virtual void SetBranchAddress(const char *bname,void *add, TBranch **ptr = 0); virtual void SetBranchAddress(const char *bname,void *add, TClass *realClass, EDataType datatype, Bool_t isptr); virtual void SetBranchAddress(const char *bname,void *add, TBranch **ptr, TClass *realClass, EDataType datatype, Bool_t isptr); template void SetBranchAddress(const char *bname, T **add, TBranch **ptr = 0) { SetBranchAddress(bname,add,ptr,TClass::GetClass(typeid(T)),TDataType::GetType(typeid(T)),true); } template void SetBranchAddress(const char *bname, T *add, TBranch **ptr = 0) { SetBranchAddress(bname,add,ptr,TClass::GetClass(typeid(T)),TDataType::GetType(typeid(T)),false); } virtual void SetBranchStatus(const char* bname, Bool_t status = 1, UInt_t* found = 0); static void SetBranchStyle(Int_t style = 1); virtual void SetCacheSize(Long64_t cachesize = 10000000); virtual void SetChainOffset(Long64_t offset = 0) { fChainOffset=offset; } virtual void SetCircular(Long64_t maxEntries); virtual void SetDebug(Int_t level = 1, Long64_t min = 0, Long64_t max = 9999999); virtual void SetDirectory(TDirectory* dir); virtual Long64_t SetEntries(Long64_t n = -1); virtual void SetEstimate(Long64_t nentries = 10000); virtual void SetFileNumber(Int_t number = 0); virtual void SetEventList(TEventList* list); virtual void SetEntryList(TEntryList* list, Option_t *opt=""); virtual void SetMakeClass(Int_t make) { fMakeClass = make; } virtual void SetMaxEntryLoop(Long64_t maxev = 1000000000) { fMaxEntryLoop = maxev; } static void SetMaxTreeSize(Long64_t maxsize = 1900000000); virtual void SetMaxVirtualSize(Long64_t size = 0) { fMaxVirtualSize = size; } virtual void SetName(const char* name); virtual void SetNotify(TObject* obj) { fNotify = obj; } virtual void SetObject(const char* name, const char* title); virtual void SetScanField(Int_t n = 50) { fScanField = n; } virtual void SetTimerInterval(Int_t msec = 333) { fTimerInterval=msec; } virtual void SetTreeIndex(TVirtualIndex*index); virtual void SetWeight(Double_t w = 1, Option_t* option = ""); virtual void SetUpdate(Int_t freq = 0) { fUpdate = freq; } virtual void Show(Long64_t entry = -1, Int_t lenmax = 20); virtual void StartViewer(); virtual Int_t UnbinnedFit(const char* funcname, const char* varexp, const char* selection = "", Option_t* option = "", Long64_t nentries = 1000000000, Long64_t firstentry = 0); void UseCurrentStyle(); virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0); virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0) const; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 16; } static void Dictionary(); virtual TClass *IsA() const { return TTree::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TTree::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TTree.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 407; } }; # 418 "/products/root_522/include/root/TTree.h" class TTreeFriendLeafIter : public TIterator { protected: TTree *fTree; TIterator *fLeafIter; TIterator *fTreeIter; Bool_t fDirection; TTreeFriendLeafIter() : fTree(0), fLeafIter(0), fTreeIter(0), fDirection(0) { } public: TTreeFriendLeafIter(const TTree* t, Bool_t dir = kIterForward); TTreeFriendLeafIter(const TTreeFriendLeafIter &iter); ~TTreeFriendLeafIter() { { if (fLeafIter) { delete fLeafIter; fLeafIter = 0; } }; { if (fTreeIter) { delete fTreeIter; fTreeIter = 0; } }; } TIterator &operator=(const TIterator &rhs); TTreeFriendLeafIter &operator=(const TTreeFriendLeafIter &rhs); const TCollection *GetCollection() const { return 0; } Option_t *GetOption() const; TObject *Next(); void Reset() { { if (fLeafIter) { delete fLeafIter; fLeafIter = 0; } }; { if (fTreeIter) { delete fTreeIter; fTreeIter = 0; } }; } bool operator !=(const TIterator&) const { return false; } bool operator !=(const TTreeFriendLeafIter&) const { return false; } TObject *operator*() const { return 0; } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TTreeFriendLeafIter::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TTreeFriendLeafIter::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TTree.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 452; } }; # 26 "/products/root_522/include/root/TChain.h" 2 class TFile; class TBrowser; class TCut; class TEntryList; class TEventList; class TCollection; class TChain : public TTree { protected: Int_t fTreeOffsetLen; Int_t fNtrees; Int_t fTreeNumber; Long64_t *fTreeOffset; Bool_t fCanDeleteRefs; TTree *fTree; TFile *fFile; TObjArray *fFiles; TList *fStatus; TChain *fProofChain; private: TChain(const TChain&); TChain& operator=(const TChain&); protected: void ReleaseChainProof(); public: enum { kGlobalWeight = (1 << (15)), kAutoDelete = (1 << (16)), kProofUptodate = (1 << (17)), kProofLite = (1 << (18)), kBigNumber = 1234567890 }; public: TChain(); TChain(const char* name, const char* title = ""); virtual ~TChain(); virtual Int_t Add(TChain* chain); virtual Int_t Add(const char* name, Long64_t nentries = kBigNumber); virtual Int_t AddFile(const char* name, Long64_t nentries = kBigNumber, const char* tname = ""); virtual Int_t AddFileInfoList(TCollection* list, Long64_t nfiles = kBigNumber); virtual TFriendElement *AddFriend(const char* chainname, const char* dummy = ""); virtual TFriendElement *AddFriend(const char* chainname, TFile* dummy); virtual TFriendElement *AddFriend(TTree* chain, const char* alias = "", Bool_t warn = kFALSE); virtual void Browse(TBrowser*); virtual void CanDeleteRefs(Bool_t flag = kTRUE); virtual void CreatePackets(); virtual void DirectoryAutoAdd(TDirectory *); virtual Long64_t Draw(const char* varexp, const TCut& selection, Option_t* option = "", Long64_t nentries = kBigNumber, Long64_t firstentry = 0); virtual Long64_t Draw(const char* varexp, const char* selection, Option_t* option = "", Long64_t nentries = kBigNumber, Long64_t firstentry = 0); virtual void Draw(Option_t* opt) { Draw(opt, "", "", 1000000000, 0); } virtual Int_t Fill() { MayNotUse("Fill()"); return -1; } virtual TBranch *FindBranch(const char* name); virtual TLeaf *FindLeaf(const char* name); virtual TBranch *GetBranch(const char* name); virtual Bool_t GetBranchStatus(const char* branchname) const; virtual Long64_t GetChainEntryNumber(Long64_t entry) const; Int_t GetNtrees() const { return fNtrees; } virtual Long64_t GetEntries() const; virtual Long64_t GetEntries(const char *sel) { return TTree::GetEntries(sel); } virtual Int_t GetEntry(Long64_t entry=0, Int_t getall=0); virtual Long64_t GetEntryNumber(Long64_t entry) const; virtual Int_t GetEntryWithIndex(Int_t major, Int_t minor=0); TFile *GetFile() const; virtual TLeaf *GetLeaf(const char* name); virtual TObjArray *GetListOfBranches(); TObjArray *GetListOfFiles() const {return fFiles;} virtual TObjArray *GetListOfLeaves(); virtual const char *GetAlias(const char *aliasName) const; virtual Double_t GetMaximum(const char *columname); virtual Double_t GetMinimum(const char *columname); virtual Int_t GetNbranches(); virtual Long64_t GetReadEntry() const; TList *GetStatus() const { return fStatus; } virtual TTree *GetTree() const { return fTree; } virtual Int_t GetTreeNumber() const { return fTreeNumber; } Long64_t *GetTreeOffset() const { return fTreeOffset; } Int_t GetTreeOffsetLen() const { return fTreeOffsetLen; } virtual Double_t GetWeight() const; virtual Int_t LoadBaskets(Long64_t maxmemory); virtual Long64_t LoadTree(Long64_t entry); void Lookup(Bool_t force = kFALSE); virtual void Loop(Option_t *option="", Long64_t nentries=kBigNumber, Long64_t firstentry=0); virtual void ls(Option_t *option="") const; virtual Long64_t Merge(const char *name, Option_t *option = ""); virtual Long64_t Merge(TCollection *list, Option_t *option = ""); virtual Long64_t Merge(TFile *file, Int_t basketsize, Option_t *option=""); virtual void Print(Option_t *option="") const; virtual Long64_t Process(const char *filename, Option_t *option="", Long64_t nentries=kBigNumber, Long64_t firstentry=0); virtual Long64_t Process(TSelector *selector, Option_t *option="", Long64_t nentries=kBigNumber, Long64_t firstentry=0); virtual void Reset(Option_t *option=""); virtual void ResetBranchAddress(TBranch *); virtual void ResetBranchAddresses(); virtual Long64_t Scan(const char *varexp="", const char *selection="", Option_t *option="", Long64_t nentries=1000000000, Long64_t firstentry=0); virtual void SetAutoDelete(Bool_t autodel=kTRUE); virtual void SetBranchAddress(const char *bname,void *add, TBranch **ptr = 0); virtual void SetBranchAddress(const char *bname,void *add, TBranch **ptr, TClass *realClass, EDataType datatype, Bool_t isptr); virtual void SetBranchAddress(const char *bname,void *add, TClass *realClass, EDataType datatype, Bool_t isptr); virtual void SetBranchStatus(const char *bname, Bool_t status=1, UInt_t *found=0); virtual void SetDirectory(TDirectory *dir); virtual void SetEntryList(TEntryList *elist, Option_t *opt=""); virtual void SetEntryListFile(const char *filename="", Option_t *opt=""); virtual void SetEventList(TEventList *evlist); virtual void SetMakeClass(Int_t make) { TTree::SetMakeClass(make); if (fTree) fTree->SetMakeClass(make);} virtual void SetPacketSize(Int_t size = 100); virtual void SetProof(Bool_t on = kTRUE, Bool_t refresh = kFALSE, Bool_t gettreeheader = kFALSE); virtual void SetWeight(Double_t w=1, Option_t *option=""); virtual void UseCache(Int_t maxCacheSize = 10, Int_t pageSize = 0); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 5; } static void Dictionary(); virtual TClass *IsA() const { return TChain::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TChain::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TChain.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 148; } }; # 21 "VBFStudy.cxx" 2 # 1 "/products/root_522/include/root/TApplication.h" 1 # 37 "/products/root_522/include/root/TApplication.h" # 1 "/products/root_522/include/root/TApplicationImp.h" 1 # 28 "/products/root_522/include/root/TApplicationImp.h" class TGWin32Command; class TApplicationImp { protected: TString fApplicationName; public: TApplicationImp(): fApplicationName() { } TApplicationImp(const char *appClassName, int *argc, char **argv); virtual ~TApplicationImp() { } virtual const char *ApplicationName() const { return fApplicationName.Data(); } virtual void Show() { } virtual void Hide() { } virtual void Iconify() { } virtual Bool_t IsCmdThread() { return kTRUE; } virtual void Init() { } virtual void Open() { } virtual void Raise() { } virtual void Lower() { } virtual Int_t ExecCommand(TGWin32Command *code, Bool_t synch); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TApplicationImp::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TApplicationImp::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TApplicationImp.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 52; } }; inline TApplicationImp::TApplicationImp(const char *appClassName, int *, char **) : fApplicationName(appClassName) { } inline Int_t TApplicationImp::ExecCommand(TGWin32Command *, Bool_t) { return 0; } # 38 "/products/root_522/include/root/TApplication.h" 2 class TObjArray; class TTimer; class TSignalHandler; class TApplication : public TObject, public TQObject { public: enum EStatusBits { kProcessRemotely = (1 << (15)), kDefaultApplication = (1 << (16)) }; private: Int_t fArgc; char **fArgv; TApplicationImp *fAppImp; Bool_t fIsRunning; Bool_t fReturnFromRun; Bool_t fNoLog; Bool_t fNoLogo; Bool_t fQuit; Bool_t fGraphInit; TObjArray *fFiles; TString fWorkDir; TString fIdleCommand; TTimer *fIdleTimer; TSignalHandler *fSigHandler; static Bool_t fgGraphNeeded; static Bool_t fgGraphInit; TApplication(const TApplication&); TApplication& operator=(const TApplication&); protected: TApplication *fAppRemote; static TList *fgApplications; TApplication(); virtual Long_t ProcessRemote(const char *line, Int_t *error = 0); virtual void Help(const char *line); virtual void LoadGraphicsLibs(); virtual void MakeBatch(); void SetSignalHandler(TSignalHandler *sh) { fSigHandler = sh; } static Int_t ParseRemoteLine(const char *ln, TString &hostdir, TString &user, Int_t &dbg, TString &script); static TApplication *Open(const char *url, Int_t debug, const char *script); static void Close(TApplication *app); public: TApplication(const char *appClassName, Int_t *argc, char **argv, void *options = 0, Int_t numOptions = 0); virtual ~TApplication(); void InitializeGraphics(); virtual void GetOptions(Int_t *argc, char **argv); TSignalHandler *GetSignalHandler() const { return fSigHandler; } virtual void SetEchoMode(Bool_t mode); virtual void HandleException(Int_t sig); virtual void HandleIdleTimer(); virtual Bool_t HandleTermInput() { return kFALSE; } virtual void Init() { fAppImp->Init(); } virtual Long_t ProcessLine(const char *line, Bool_t sync = kFALSE, Int_t *error = 0); virtual Long_t ProcessFile(const char *file, Int_t *error = 0); virtual void Run(Bool_t retrn = kFALSE); virtual void SetIdleTimer(UInt_t idleTimeInSec, const char *command); virtual void RemoveIdleTimer(); const char *GetIdleCommand() const { return fIdleCommand; } virtual void StartIdleing(); virtual void StopIdleing(); virtual const char *ApplicationName() const { return fAppImp->ApplicationName(); } virtual void Show() { fAppImp->Show(); } virtual void Hide() { fAppImp->Hide(); } virtual void Iconify() { fAppImp->Iconify(); } virtual void Open() { fAppImp->Open(); } virtual void Raise() { fAppImp->Raise(); } virtual void Lower() { fAppImp->Lower(); } virtual Bool_t IsCmdThread() { return fAppImp ? fAppImp->IsCmdThread() : kTRUE; } virtual TApplicationImp *GetApplicationImp() { return fAppImp;} virtual void ls(Option_t *option="") const; Int_t Argc() const { return fArgc; } char **Argv() const { return fArgv; } char *Argv(Int_t index) const; Bool_t NoLogOpt() const { return fNoLog; } Bool_t NoLogoOpt() const { return fNoLogo; } Bool_t QuitOpt() const { return fQuit; } TObjArray *InputFiles() const { return fFiles; } const char *WorkingDirectory() const { return fWorkDir; } void ClearInputFiles(); TApplication *GetAppRemote() const { return fAppRemote; } Bool_t IsRunning() const { return fIsRunning; } Bool_t ReturnFromRun() const { return fReturnFromRun; } void SetReturnFromRun(Bool_t ret) { fReturnFromRun = ret; } virtual void LineProcessed(const char *line); virtual void Terminate(Int_t status = 0); virtual void KeyPressed(Int_t key); virtual void ReturnPressed(char *text ); static Long_t ExecuteFile(const char *file, Int_t *error = 0); static TList *GetApplications(); static void CreateApplication(); static void NeedGraphicsLibs(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TApplication::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TApplication::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TApplication.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 156; } }; extern TApplication *gApplication; # 22 "VBFStudy.cxx" 2 # 1 "VBFStudy.h" 1 # 24 "VBFStudy.h" # 1 "NTupleChain.h" 1 # 15 "NTupleChain.h" # 1 "/products/root_522/include/root/TH1.h" 1 # 16 "NTupleChain.h" 2 # 1 "/products/root_522/include/root/TH2.h" 1 # 17 "NTupleChain.h" 2 # 1 "/products/root_522/include/root/TH3.h" 1 # 29 "/products/root_522/include/root/TH3.h" # 1 "/products/root_522/include/root/TAtt3D.h" 1 # 29 "/products/root_522/include/root/TAtt3D.h" class TAtt3D { public: TAtt3D() { } virtual ~TAtt3D() { } virtual void Sizeof3D() const; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TAtt3D::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TAtt3D::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TAtt3D.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 37; } }; # 30 "/products/root_522/include/root/TH3.h" 2 class TProfile2D; class TH3 : public TH1, public TAtt3D { protected: Double_t fTsumwy; Double_t fTsumwy2; Double_t fTsumwxy; Double_t fTsumwz; Double_t fTsumwz2; Double_t fTsumwxz; Double_t fTsumwyz; virtual Int_t BufferFill(Double_t, Double_t) {return -2;} virtual Int_t BufferFill(Double_t, Double_t, Double_t) {return -2;} virtual Int_t BufferFill(Double_t x, Double_t y, Double_t z, Double_t w); public: TH3(); TH3(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,Double_t ylow,Double_t yup ,Int_t nbinsz,Double_t zlow,Double_t zup); TH3(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins ,Int_t nbinsy,const Float_t *ybins ,Int_t nbinsz,const Float_t *zbins); TH3(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,const Double_t *ybins ,Int_t nbinsz,const Double_t *zbins); TH3(const TH3&); virtual ~TH3(); virtual Int_t BufferEmpty(Int_t action=0); virtual void Copy(TObject &hnew) const; Int_t Fill(Double_t) {return -1;} Int_t Fill(Double_t,Double_t) {return -1;} Int_t Fill(const char*, Double_t) {return -1;} Int_t Fill(Double_t,const char*,Double_t) {return -1;} Int_t Fill(const char*,Double_t,Double_t) {return -1;} Int_t Fill(const char*,const char*,Double_t) {return -1;} virtual Int_t Fill(Double_t x, Double_t y, Double_t z); virtual Int_t Fill(Double_t x, Double_t y, Double_t z, Double_t w); virtual Int_t Fill(const char *namex, const char *namey, const char *namez, Double_t w); virtual Int_t Fill(const char *namex, Double_t y, const char *namez, Double_t w); virtual Int_t Fill(const char *namex, const char *namey, Double_t z, Double_t w); virtual Int_t Fill(Double_t x, const char *namey, const char *namez, Double_t w); virtual Int_t Fill(Double_t x, const char *namey, Double_t z, Double_t w); virtual Int_t Fill(Double_t x, Double_t y, const char *namez, Double_t w); virtual void FillRandom(const char *fname, Int_t ntimes=5000); virtual void FillRandom(TH1 *h, Int_t ntimes=5000); virtual void FitSlicesZ(TF1 *f1=0,Int_t binminx=1, Int_t binmaxx=0,Int_t binminy=1, Int_t binmaxy=0, Int_t cut=0 ,Option_t *option="QNR"); virtual Double_t GetBinWithContent3(Double_t c, Int_t &binx, Int_t &biny, Int_t &binz, Int_t firstx=0, Int_t lastx=0,Int_t firsty=0, Int_t lasty=0, Int_t firstz=0, Int_t lastz=0, Double_t maxdiff=0) const; virtual Double_t GetCorrelationFactor(Int_t axis1=1,Int_t axis2=2) const; virtual Double_t GetCovariance(Int_t axis1=1,Int_t axis2=2) const; virtual void GetRandom3(Double_t &x, Double_t &y, Double_t &z); virtual void GetStats(Double_t *stats) const; virtual Double_t Integral(Option_t *option="") const; virtual Double_t Integral(Int_t, Int_t, Option_t * ="") const {return 0;} virtual Double_t Integral(Int_t, Int_t, Int_t, Int_t, Option_t * ="") const {return 0;} virtual Double_t Integral(Int_t binx1, Int_t binx2, Int_t biny1, Int_t biny2, Int_t binz1, Int_t binz2, Option_t *option="") const; virtual Double_t Interpolate(Double_t x); virtual Double_t Interpolate(Double_t x, Double_t y); virtual Double_t Interpolate(Double_t x, Double_t y, Double_t z); virtual Double_t KolmogorovTest(const TH1 *h2, Option_t *option="") const; virtual Long64_t Merge(TCollection *list); TH1D *ProjectionZ(const char *name="_pz", Int_t firstxbin=0, Int_t lastxbin=0, Int_t firstybin=0, Int_t lastybin=0, Option_t *option="") const; TH1 *Project3D(Option_t *option="x") const; TProfile2D *Project3DProfile(Option_t *option="xy") const; virtual void PutStats(Double_t *stats); virtual void Reset(Option_t *option=""); virtual void SetShowProjection(const char *option="xy",Int_t nbins=1); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 5; } static void Dictionary(); virtual TClass *IsA() const { return TH3::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TH3::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TH3.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 106; } }; class TH3C : public TH3, public TArrayC { public: TH3C(); TH3C(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,Double_t ylow,Double_t yup ,Int_t nbinsz,Double_t zlow,Double_t zup); TH3C(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins ,Int_t nbinsy,const Float_t *ybins ,Int_t nbinsz,const Float_t *zbins); TH3C(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,const Double_t *ybins ,Int_t nbinsz,const Double_t *zbins); TH3C(const TH3C &h3c); virtual ~TH3C(); virtual void AddBinContent(Int_t bin); virtual void AddBinContent(Int_t bin, Double_t w); virtual void Copy(TObject &hnew) const; virtual TH1 *DrawCopy(Option_t *option="") const ; virtual Double_t GetBinContent(Int_t bin) const; virtual Double_t GetBinContent(Int_t bin, Int_t) const {return GetBinContent(bin);} virtual Double_t GetBinContent(Int_t binx, Int_t biny, Int_t binz) const {return GetBinContent(GetBin(binx,biny,binz));} virtual void Reset(Option_t *option=""); virtual void SetBinContent(Int_t bin, Double_t content); virtual void SetBinContent(Int_t bin, Int_t, Double_t content) {SetBinContent(bin,content);} virtual void SetBinContent(Int_t binx, Int_t biny, Int_t binz, Double_t content) {SetBinContent(GetBin(binx,biny,binz),content);} virtual void SetBinsLength(Int_t n=-1); TH3C& operator=(const TH3C &h1); friend TH3C operator*(Float_t c1, TH3C &h1); friend TH3C operator*(TH3C &h1, Float_t c1) {return operator*(c1,h1);} friend TH3C operator+(TH3C &h1, TH3C &h2); friend TH3C operator-(TH3C &h1, TH3C &h2); friend TH3C operator*(TH3C &h1, TH3C &h2); friend TH3C operator/(TH3C &h1, TH3C &h2); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 3; } static void Dictionary(); virtual TClass *IsA() const { return TH3C::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TH3C::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TH3.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 145; } }; class TH3S : public TH3, public TArrayS { public: TH3S(); TH3S(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,Double_t ylow,Double_t yup ,Int_t nbinsz,Double_t zlow,Double_t zup); TH3S(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins ,Int_t nbinsy,const Float_t *ybins ,Int_t nbinsz,const Float_t *zbins); TH3S(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,const Double_t *ybins ,Int_t nbinsz,const Double_t *zbins); TH3S(const TH3S &h3s); virtual ~TH3S(); virtual void AddBinContent(Int_t bin); virtual void AddBinContent(Int_t bin, Double_t w); virtual void Copy(TObject &hnew) const; virtual TH1 *DrawCopy(Option_t *option="") const; virtual Double_t GetBinContent(Int_t bin) const; virtual Double_t GetBinContent(Int_t bin, Int_t) const {return GetBinContent(bin);} virtual Double_t GetBinContent(Int_t binx, Int_t biny, Int_t binz) const {return GetBinContent(GetBin(binx,biny,binz));} virtual void Reset(Option_t *option=""); virtual void SetBinContent(Int_t bin, Double_t content); virtual void SetBinContent(Int_t bin, Int_t, Double_t content) {SetBinContent(bin,content);} virtual void SetBinContent(Int_t binx, Int_t biny, Int_t binz, Double_t content) {SetBinContent(GetBin(binx,biny,binz),content);} virtual void SetBinsLength(Int_t n=-1); TH3S& operator=(const TH3S &h1); friend TH3S operator*(Float_t c1, TH3S &h1); friend TH3S operator*(TH3S &h1, Float_t c1) {return operator*(c1,h1);} friend TH3S operator+(TH3S &h1, TH3S &h2); friend TH3S operator-(TH3S &h1, TH3S &h2); friend TH3S operator*(TH3S &h1, TH3S &h2); friend TH3S operator/(TH3S &h1, TH3S &h2); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 3; } static void Dictionary(); virtual TClass *IsA() const { return TH3S::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TH3S::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TH3.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 184; } }; class TH3I : public TH3, public TArrayI { public: TH3I(); TH3I(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,Double_t ylow,Double_t yup ,Int_t nbinsz,Double_t zlow,Double_t zup); TH3I(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins ,Int_t nbinsy,const Float_t *ybins ,Int_t nbinsz,const Float_t *zbins); TH3I(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,const Double_t *ybins ,Int_t nbinsz,const Double_t *zbins); TH3I(const TH3I &h3i); virtual ~TH3I(); virtual void AddBinContent(Int_t bin); virtual void AddBinContent(Int_t bin, Double_t w); virtual void Copy(TObject &hnew) const; virtual TH1 *DrawCopy(Option_t *option="") const; virtual Double_t GetBinContent(Int_t bin) const; virtual Double_t GetBinContent(Int_t bin, Int_t) const {return GetBinContent(bin);} virtual Double_t GetBinContent(Int_t binx, Int_t biny, Int_t binz) const {return GetBinContent(GetBin(binx,biny,binz));} virtual void Reset(Option_t *option=""); virtual void SetBinContent(Int_t bin, Double_t content); virtual void SetBinContent(Int_t bin, Int_t, Double_t content) {SetBinContent(bin,content);} virtual void SetBinContent(Int_t binx, Int_t biny, Int_t binz, Double_t content) {SetBinContent(GetBin(binx,biny,binz),content);} virtual void SetBinsLength(Int_t n=-1); TH3I& operator=(const TH3I &h1); friend TH3I operator*(Float_t c1, TH3I &h1); friend TH3I operator*(TH3I &h1, Float_t c1) {return operator*(c1,h1);} friend TH3I operator+(TH3I &h1, TH3I &h2); friend TH3I operator-(TH3I &h1, TH3I &h2); friend TH3I operator*(TH3I &h1, TH3I &h2); friend TH3I operator/(TH3I &h1, TH3I &h2); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 3; } static void Dictionary(); virtual TClass *IsA() const { return TH3I::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TH3I::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TH3.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 223; } }; class TH3F : public TH3, public TArrayF { public: TH3F(); TH3F(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,Double_t ylow,Double_t yup ,Int_t nbinsz,Double_t zlow,Double_t zup); TH3F(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins ,Int_t nbinsy,const Float_t *ybins ,Int_t nbinsz,const Float_t *zbins); TH3F(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,const Double_t *ybins ,Int_t nbinsz,const Double_t *zbins); TH3F(const TH3F &h3f); virtual ~TH3F(); virtual void AddBinContent(Int_t bin) {++fArray[bin];} virtual void AddBinContent(Int_t bin, Double_t w) {fArray[bin] += Float_t (w);} virtual void Copy(TObject &hnew) const; virtual TH1 *DrawCopy(Option_t *option="") const; virtual Double_t GetBinContent(Int_t bin) const; virtual Double_t GetBinContent(Int_t bin, Int_t) const {return GetBinContent(bin);} virtual Double_t GetBinContent(Int_t binx, Int_t biny, Int_t binz) const {return GetBinContent(GetBin(binx,biny,binz));} virtual void Reset(Option_t *option=""); virtual void SetBinContent(Int_t bin, Double_t content); virtual void SetBinContent(Int_t bin, Int_t, Double_t content) {SetBinContent(bin,content);} virtual void SetBinContent(Int_t binx, Int_t biny, Int_t binz, Double_t content) {SetBinContent(GetBin(binx,biny,binz),content);} virtual void SetBinsLength(Int_t n=-1); TH3F& operator=(const TH3F &h1); friend TH3F operator*(Float_t c1, TH3F &h1); friend TH3F operator*(TH3F &h1, Float_t c1) {return operator*(c1,h1);} friend TH3F operator+(TH3F &h1, TH3F &h2); friend TH3F operator-(TH3F &h1, TH3F &h2); friend TH3F operator*(TH3F &h1, TH3F &h2); friend TH3F operator/(TH3F &h1, TH3F &h2); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 3; } static void Dictionary(); virtual TClass *IsA() const { return TH3F::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TH3F::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TH3.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 264; } }; class TH3D : public TH3, public TArrayD { public: TH3D(); TH3D(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,Double_t ylow,Double_t yup ,Int_t nbinsz,Double_t zlow,Double_t zup); TH3D(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins ,Int_t nbinsy,const Float_t *ybins ,Int_t nbinsz,const Float_t *zbins); TH3D(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,const Double_t *ybins ,Int_t nbinsz,const Double_t *zbins); TH3D(const TH3D &h3d); virtual ~TH3D(); virtual void AddBinContent(Int_t bin) {++fArray[bin];} virtual void AddBinContent(Int_t bin, Double_t w) {fArray[bin] += Double_t (w);} virtual void Copy(TObject &hnew) const; virtual TH1 *DrawCopy(Option_t *option="") const; virtual Double_t GetBinContent(Int_t bin) const; virtual Double_t GetBinContent(Int_t bin, Int_t) const {return GetBinContent(bin);} virtual Double_t GetBinContent(Int_t binx, Int_t biny, Int_t binz) const {return GetBinContent(GetBin(binx,biny,binz));} virtual void Reset(Option_t *option=""); virtual void SetBinContent(Int_t bin, Double_t content); virtual void SetBinContent(Int_t bin, Int_t, Double_t content) {SetBinContent(bin,content);} virtual void SetBinContent(Int_t binx, Int_t biny, Int_t binz, Double_t content) {SetBinContent(GetBin(binx,biny,binz),content);} virtual void SetBinsLength(Int_t n=-1); TH3D& operator=(const TH3D &h1); friend TH3D operator*(Float_t c1, TH3D &h1); friend TH3D operator*(TH3D &h1, Float_t c1) {return operator*(c1,h1);} friend TH3D operator+(TH3D &h1, TH3D &h2); friend TH3D operator-(TH3D &h1, TH3D &h2); friend TH3D operator*(TH3D &h1, TH3D &h2); friend TH3D operator/(TH3D &h1, TH3D &h2); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 3; } static void Dictionary(); virtual TClass *IsA() const { return TH3D::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TH3D::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TH3.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 304; } }; # 18 "NTupleChain.h" 2 # 29 "NTupleChain.h" template class named_ntuples : public std::map*>{}; class NTupleChain { private: TChain* chain; public: Int_t iVerbose; Int_t nFirstEvent; Int_t nMaxEvents; Int_t numberOfPasses; # 1 "../VBFHiggsTauTau/PileupJetVeto_DeclNTuples.h" 1 typedef Float_t NTFloat; std::vector *v_tp_charge; std::vector *v_tp_pt; std::vector *v_tp_eta; std::vector *v_tp_phi; std::vector *v_tp_pdg_id; std::vector *v_tp_barcode; std::vector *v_tp_genVertex_x; std::vector *v_tp_genVertex_y; std::vector *v_tp_genVertex_z; std::vector *v_leptonMCMatch_eta; std::vector *v_leptonMCMatch_phi; std::vector *v_leptonMCMatch_pt; std::vector *v_leptonMCMatch_pid; std::vector *v_leptonMCMatch_mother_pid; std::vector *v_leptonMCMatch_grandmother_pid; std::vector *v_n_jets; std::vector *v_n_matched_jets; std::vector *v_n_matched_tracks_tj; std::vector *v_n_matched_tracks_pv_tj; std::vector *v_n_matched_tracks_pileup_tj; std::vector *v_pt_fraction_tj; std::vector *v_pv_pt_fraction_tracks_tj; std::vector *v_pv_pt_fraction_total_tj; std::vector *v_n_matched_tracks_other; std::vector *v_n_matched_tracks_pv_other; std::vector *v_n_matched_tracks_pileup_other; std::vector *v_pt_fraction_other; std::vector *v_pv_pt_fraction_tracks_other; std::vector *v_pv_pt_fraction_total_other; std::vector *v_n_matched_tracks; std::vector *v_n_matched_tracks_pv; std::vector *v_n_matched_tracks_pileup; std::vector *v_pt_fraction; std::vector *v_pv_pt_fraction_tracks; std::vector *v_pv_pt_fraction_total; std::vector *v_n_matched_tracks_pv_reco_tj; std::vector *v_n_matched_tracks_pileup_reco_tj; std::vector *v_pv_pt_fraction_tracks_reco_tj; std::vector *v_pv_pt_fraction_total_reco_tj; std::vector *v_n_matched_tracks_pv_reco_other; std::vector *v_n_matched_tracks_pileup_reco_other; std::vector *v_pv_pt_fraction_tracks_reco_other; std::vector *v_pv_pt_fraction_total_reco_other; std::vector *v_n_matched_tracks_pv_reco; std::vector *v_n_matched_tracks_pileup_reco; std::vector *v_pv_pt_fraction_tracks_reco; std::vector *v_pv_pt_fraction_total_reco; std::vector *v_number_primary_vertices; std::vector *v_primary_vertex_x; std::vector *v_primary_vertex_y; std::vector *v_primary_vertex_z; std::vector *v_primary_vertex_x_reordered_minus_std_sorting; std::vector *v_primary_vertex_y_reordered_minus_std_sorting; std::vector *v_primary_vertex_z_reordered_minus_std_sorting; std::vector *v_all_primary_vertex_x; std::vector *v_all_primary_vertex_y; std::vector *v_all_primary_vertex_z; std::vector *v_all_primary_vertex_nTracks; std::vector *v_all_primary_vertex_sumPTSquared; std::vector *v_all_primary_vertex_nDoF; std::vector *v_all_primary_vertex_ChiSquared; std::vector *v_all_primary_vertex_delta_z0_significance; std::vector *v_true_primary_vertex_z0_leptons; std::vector *v_true_primary_vertex_trackreco_true_z0_leptons; std::vector *v_true_primary_vertex_residual_true_z0_leptons; std::vector *v_true_primary_vertex_z0_error_leptons; std::vector *v_true_primary_vertex_d0_leptons; std::vector *v_true_primary_vertex_trackreco_true_d0_leptons; std::vector *v_true_primary_vertex_residual_true_d0_leptons; std::vector *v_true_primary_vertex_d0_error_leptons; std::vector *v_n_tracks; std::vector *v_eta_track; std::vector *v_phi_track; std::vector *v_pt_track; std::vector *v_nPixelHits_track; std::vector *v_nSCTHits_track; std::vector *v_nSumPixelSCTHits_track; std::vector *v_z0_track; std::vector *v_z0_error_track; std::vector *v_d0_track; std::vector *v_d0_error_track; std::vector *v_d0_significance_track; std::vector *v_caloSample_track; std::vector *v_impact_eta_track; std::vector *v_impact_phi_track; std::vector *v_eta_jet; std::vector *v_phi_jet; std::vector *v_et_jet; std::vector *v_e_jet; std::vector *v_pt_jet; std::vector *v_px_jet; std::vector *v_py_jet; std::vector *v_pz_jet; std::vector *v_btagweight_jet; std::vector *v_jet_matched; std::vector *v_fillPVHistosForThisEvent; std::vector *v_dBeamSpot_x; std::vector *v_dBeamSpot_y; std::vector *v_dBeamSpot_z; std::vector *v_dBeamSpot_sigma_x; std::vector *v_dBeamSpot_sigma_y; std::vector *v_dBeamSpot_sigma_z; std::vector *v_dBeamSpot_eta; std::vector *v_dBeamSpot_phi; std::vector *v_dBeamSpot_R; std::vector *v_true_primary_vertex_x; std::vector *v_true_primary_vertex_y; std::vector *v_true_primary_vertex_z; std::vector *v_primary_vertex_residual_x; std::vector *v_primary_vertex_residual_y; std::vector *v_primary_vertex_residual_z; std::vector *v_closestCaloSample; std::vector *v_trackParticle_eta; std::vector *v_trackParticle_phi; std::vector *v_distanceToBarrel; std::vector *v_distanceToEndcap; std::vector *v_n_muons; std::vector *v_z0_muons_sorted_by_pt; std::vector *v_z0_error_muons_sorted_by_pt; std::vector *v_d0_muons_sorted_by_pt; std::vector *v_d0_error_muons_sorted_by_pt; std::vector *v_d0_significance_muons_sorted_by_pt; std::vector *v_pv_z0_leptons; std::vector *v_pv_z0_error_leptons; std::vector *v_pv_z0_significance_leptons; std::vector *v_pv_d0_leptons; std::vector *v_pv_d0_error_leptons; std::vector *v_pv_d0_significance_leptons; std::vector *v_bestReco_pv_z0_leptons; std::vector *v_bestReco_pv_z0_error_leptons; std::vector *v_bestReco_pv_z0_significance_leptons; std::vector *v_bestReco_pv_d0_leptons; std::vector *v_bestReco_pv_d0_error_leptons; std::vector *v_bestReco_pv_d0_significance_leptons; std::vector *v_bestReco_pv_z0_residual_leptons; std::vector *v_bestReco_pv_d0_residual_leptons; std::vector *v_nonBestReco_pv_z0_leptons; std::vector *v_nonBestReco_pv_z0_error_leptons; std::vector *v_nonBestReco_pv_z0_significance_leptons; std::vector *v_nonBestReco_pv_d0_leptons; std::vector *v_nonBestReco_pv_d0_error_leptons; std::vector *v_nonBestReco_pv_d0_significance_leptons; std::vector *v_nonBestReco_pv_z0_residual_leptons; std::vector *v_nonBestReco_pv_d0_residual_leptons; std::vector *v_pt_muons_sorted_by_pt; std::vector *v_px_muons_sorted_by_pt; std::vector *v_py_muons_sorted_by_pt; std::vector *v_pz_muons_sorted_by_pt; std::vector *v_e_muons_sorted_by_pt; std::vector *v_author_muons_sorted_by_pt; std::vector *v_fitChi2OverDoF_muons_sorted_by_pt; std::vector *v_matchChi2_muons_sorted_by_pt; std::vector *v_etcone20_muons_sorted_by_pt; std::vector *v_muon_charge_muons_sorted_by_pt; std::vector *v_muon_eta_muons_sorted_by_pt; std::vector *v_muon_phi_muons_sorted_by_pt; std::vector *v_isCombinedMuon_muons_sorted_by_pt; std::vector *v_n_combined_muons; std::vector *v_z0_combined_muons_sorted_by_pt; std::vector *v_z0_error_combined_muons_sorted_by_pt; std::vector *v_d0_combined_muons_sorted_by_pt; std::vector *v_d0_error_combined_muons_sorted_by_pt; std::vector *v_d0_significance_combined_muons_sorted_by_pt; std::vector *v_pt_combined_muons_sorted_by_pt; std::vector *v_author_combined_muons_sorted_by_pt; std::vector *v_fitChi2OverDoF_combined_muons_sorted_by_pt; std::vector *v_matchChi2_combined_muons_sorted_by_pt; std::vector *v_etcone20_combined_muons_sorted_by_pt; std::vector *v_muon_charge_combined_muons_sorted_by_pt; std::vector *v_nPixelHits_combined_muon_sorted_by_pt_track; std::vector *v_nSCTHits_combined_muon_sorted_by_pt_track; std::vector *v_nSumPixelSCTHits_combined_muon_sorted_by_pt_track; std::vector *v_muon_idtrack_eta; std::vector *v_muon_idtrack_phi; std::vector *v_muon_idtrack_z0; std::vector *v_muon_idtrack_z0_error; std::vector *v_muon_idtrack_d0; std::vector *v_muon_idtrack_d0_error; std::vector *v_muon_idtrack_d0_significance; std::vector *v_muon_msexttrack_eta; std::vector *v_muon_msexttrack_phi; std::vector *v_muon_msexttrack_z0; std::vector *v_muon_msexttrack_z0_error; std::vector *v_muon_msexttrack_d0; std::vector *v_muon_msexttrack_d0_error; std::vector *v_muon_msexttrack_d0_significance; std::vector *v_muon_idexttrack_eta; std::vector *v_muon_idexttrack_phi; std::vector *v_muon_idexttrack_z0; std::vector *v_muon_idexttrack_z0_error; std::vector *v_muon_idexttrack_d0; std::vector *v_muon_idexttrack_d0_error; std::vector *v_muon_idexttrack_d0_significance; std::vector *v_muon_combtrack_eta; std::vector *v_muon_combtrack_phi; std::vector *v_muon_combtrack_z0; std::vector *v_muon_combtrack_z0_error; std::vector *v_muon_combtrack_d0; std::vector *v_muon_combtrack_d0_error; std::vector *v_muon_combtrack_d0_significance; std::vector *v_1muonTrack_z0_minus_truthPV_z0; std::vector *g_1muonTrack_z0_minus_truthPV_z0_x; std::vector *g_1muonTrack_z0_minus_truthPV_z0_x_err; std::vector *g_1muonTrack_z0_minus_truthPV_z0_y; std::vector *g_1muonTrack_z0_minus_truthPV_z0_y_err; std::vector *v_1stmuonTrack_z0_minus_truthPV_z0; std::vector *v_2ndmuonTrack_z0_minus_truthPV_z0; std::vector *g_1stmuonTrack_z0_minus_truthPV_z0_vs_2ndmuonTrack_z0_minus_truthPV_z0_x; std::vector *g_1stmuonTrack_z0_minus_truthPV_z0_vs_2ndmuonTrack_z0_minus_truthPV_z0_x_err; std::vector *g_1stmuonTrack_z0_minus_truthPV_z0_vs_2ndmuonTrack_z0_minus_truthPV_z0_y; std::vector *g_1stmuonTrack_z0_minus_truthPV_z0_vs_2ndmuonTrack_z0_minus_truthPV_z0_y_err; std::vector *g_softermuonTrack_z0_minus_truthPV_z0_x; std::vector *g_softermuonTrack_z0_minus_truthPV_z0_x_err; std::vector *g_softermuonTrack_z0_minus_truthPV_z0_y; std::vector *g_softermuonTrack_z0_minus_truthPV_z0_y_err; std::vector *v_deltaR_muon_vs_track; std::vector *v_1muonTrack_z0_minus_recoPV_z0; std::vector *v_1stmuonTrack_z0_minus_2ndmuonTrack_z0; std::vector *v_1stmuonTrack_z0_minus_recoPV_z0; std::vector *v_2ndmuonTrack_z0_minus_recoPV_z0; std::vector *v_softermuonTrack_z0_minus_recoPV_z0; std::vector *v_softermuonTrack_z0_minus_truthPV_z0; std::vector *v_n_electrons; std::vector *v_n_leptons; std::vector *v_z0_electrons_sorted_by_pt; std::vector *v_z0_error_electrons_sorted_by_pt; std::vector *v_d0_electrons_sorted_by_pt; std::vector *v_d0_error_electrons_sorted_by_pt; std::vector *v_d0_significance_electrons_sorted_by_pt; std::vector *v_pt_electrons_sorted_by_pt; std::vector *v_px_electrons_sorted_by_pt; std::vector *v_py_electrons_sorted_by_pt; std::vector *v_pz_electrons_sorted_by_pt; std::vector *v_e_electrons_sorted_by_pt; std::vector *v_author_electrons_sorted_by_pt; std::vector *v_fitChi2OverDoF_electrons_sorted_by_pt; std::vector *v_etcone20_electrons_sorted_by_pt; std::vector *v_electron_charge_electrons_sorted_by_pt; std::vector *v_electron_eta_electrons_sorted_by_pt; std::vector *v_electron_phi_electrons_sorted_by_pt; std::vector *v_hasTrack_electrons_sorted_by_pt; std::vector *v_nPixelHits_electrons_sorted_by_pt_track; std::vector *v_nSCTHits_electrons_sorted_by_pt_track; std::vector *v_nSumPixelSCTHits_electrons_sorted_by_pt_track; std::vector *v_1stelectronTrack_z0_minus_2ndelectronTrack_z0; std::vector *v_pvPositionClosestToTruePvRanking; std::map*> *leptonZ0Pv; std::map*> *leptonSignificancePv; std::map*> *leptonZ0PvRanking; std::map*> *leptonSignificancePvRanking; std::vector *v_dileptonZ0LikelihoodPv; std::vector *v_dileptonZ0LikelihoodPvRanking; std::vector *v_dileptonSumZ0SignificancePv; std::vector *v_dileptonSumZ0SignificancePvRanking; std::vector *v_dileptonSumAbsZ0SignificancePv; std::vector *v_dileptonSumAbsZ0SignificancePvRanking; std::vector *v_dileptonZ0SignificanceSquaredSumPv; std::vector *v_dileptonZ0SignificanceSquaredSumPvRanking; std::vector *v_deltaZ_PVs_favored_by_leptons; std::vector *v_deltaz0_leptons_wrt_topPVCandidate; std::vector *v_EF_e20_loose_EF_mu20_triggered; std::vector *v_MET_RefFinal; # 56 "NTupleChain.h" 2 named_ntuples ntuples; # 1 "../VBFHiggsTauTau/PileupJetVeto_DeclHistograms.h" 1 TH1D* h_tp_charge; TH1D* h_tp_pt; TH1D* h_tp_eta; TH1D* h_tp_phi; TH1D* h_tp_pdg_id; TH1D* h_tp_barcode; TH1D* h_tp_genVertex_x; TH1D* h_tp_genVertex_y; TH1D* h_tp_genVertex_z; TH1D* h_nTracksPV; TH1D* h_vertexSinTheta; TH1D* h_pvZPosition; TH1D* h_pvReconstruction; TH1D* h_pvReconstructionEfficiency; TH1D* h_pvSelection; TH1D* h_pvSelectionEfficiency; TH1D* h_z0SigElectron; TH1D* h_z0SigMuon; TH1D* h_n_jets; TH1D* h_n_matched_jets; TH1D* h_nVertices; TH1D* h_n_matched_tracks_tj; TH1D* h_n_matched_tracks_pv_tj; TH1D* h_n_matched_tracks_pileup_tj; TH1D* h_pt_fraction_tj; TH1D* h_pv_pt_fraction_tracks_tj; TH1D* h_pv_pt_fraction_total_tj; TH1D* h_n_matched_tracks_other; TH1D* h_n_matched_tracks_pv_other; TH1D* h_n_matched_tracks_pileup_other; TH1D* h_pt_fraction_other; TH1D* h_pv_pt_fraction_tracks_other; TH1D* h_pv_pt_fraction_total_other; TH1D* h_n_matched_tracks; TH1D* h_n_matched_tracks_pv; TH1D* h_n_matched_tracks_pileup; TH1D* h_pt_fraction; TH1D* h_pv_pt_fraction_tracks; TH1D* h_pv_pt_fraction_total; TH1D* h_n_matched_tracks_pv_reco_tj; TH1D* h_n_matched_tracks_pileup_reco_tj; TH1D* h_pv_pt_fraction_tracks_reco_tj; TH1D* h_pv_pt_fraction_total_reco_tj; TH1D* h_n_matched_tracks_pv_reco_other; TH1D* h_n_matched_tracks_pileup_reco_other; TH1D* h_pv_pt_fraction_tracks_reco_other; TH1D* h_pv_pt_fraction_total_reco_other; TH1D* h_n_matched_tracks_pv_reco; TH1D* h_n_matched_tracks_pileup_reco; TH1D* h_pv_pt_fraction_tracks_reco; TH1D* h_pv_pt_fraction_total_reco; TH1D* h_number_primary_vertices; TH1D* h_primary_vertex_x; TH1D* h_primary_vertex_y; TH1D* h_primary_vertex_z; TH1D* h_primary_vertex_x_reordered_minus_std_sorting; TH1D* h_primary_vertex_y_reordered_minus_std_sorting; TH1D* h_primary_vertex_z_reordered_minus_std_sorting; TH1D* h_all_primary_vertex_x; TH1D* h_all_primary_vertex_y; TH1D* h_all_primary_vertex_z; TH1D* h_true_primary_vertex_x; TH1D* h_true_primary_vertex_y; TH1D* h_true_primary_vertex_z; TH1D* h_primary_vertex_residual_x; TH1D* h_primary_vertex_residual_y; TH1D* h_primary_vertex_residual_z; TH1D* h_primary_vertex_residual_z_newbinning; TH1D* h_closestCaloSample; TH2D* h_eta_vs_closestCaloSample; TH2D* h_phi_vs_closestCaloSample; TH3D* h_eta_phi_vs_closestCaloSample; TH2D* h_distanceToBarrel_vs_distanceToEndcap; TH1D* h_n_muons; TH1D* h_z0_muons_sorted_by_pt; TH1D* h_z0_error_muons_sorted_by_pt; TH1D* h_d0_muons_sorted_by_pt; TH1D* h_d0_error_muons_sorted_by_pt; TH1D* h_d0_significance_muons_sorted_by_pt; TH1D* h_pt_muons_sorted_by_pt; TH1D* h_author_muons_sorted_by_pt; TH1D* h_fitChi2OverDoF_muons_sorted_by_pt; TH1D* h_matchChi2_muons_sorted_by_pt; TH1D* h_etcone20_muons_sorted_by_pt; TH1D* h_muon_charge_muons_sorted_by_pt; TH1D* h_qualityCutsPassed_muons_sorted_by_pt; TH1D* h_isCombinedMuon_muons_sorted_by_pt; TH1D* h_n_combined_muons; TH1D* h_z0_combined_muons_sorted_by_pt; TH1D* h_z0_error_combined_muons_sorted_by_pt; TH1D* h_d0_combined_muons_sorted_by_pt; TH1D* h_d0_error_combined_muons_sorted_by_pt; TH1D* h_d0_significance_combined_muons_sorted_by_pt; TH1D* h_pt_combined_muons_sorted_by_pt; TH1D* h_author_combined_muons_sorted_by_pt; TH1D* h_fitChi2OverDoF_combined_muons_sorted_by_pt; TH1D* h_matchChi2_combined_muons_sorted_by_pt; TH1D* h_etcone20_combined_muons_sorted_by_pt; TH1D* h_muon_charge_combined_muons_sorted_by_pt; TH1D* h_qualityCutsPassed_combined_muons_sorted_by_pt; TH1D* h_1stmuonTrack_z0_minus_2ndmuonTrack_z0; TH1D* h_1muonTrack_z0_minus_truthPV_z0; TH1D* h_1stmuonTrack_z0_minus_truthPV_z0; TH1D* h_2ndmuonTrack_z0_minus_truthPV_z0; TH2D* h_1stmuonTrack_z0_minus_truthPV_z0_vs_2ndmuonTrack_z0_minus_truthPV_z0; TH1D* h_softermuonTrack_z0_minus_truthPV_z0; TH1D* h_1muonTrack_z0_minus_recoPV_z0; TH1D* h_1stmuonTrack_z0_minus_recoPV_z0; TH1D* h_2ndmuonTrack_z0_minus_recoPV_z0; TH2D* h_1stmuonTrack_z0_minus_recoPV_z0_vs_2ndmuonTrack_z0_minus_recoPV_z0; TH1D* h_softermuonTrack_z0_minus_recoPV_z0; TH1D* h_deltaR_muon_vs_track; TH1D* h_n_electrons; TH1D* h_n_leptons; TH1D* h_1stelectronTrack_z0_minus_2ndelectronTrack_z0; TH1D* h_1stelectronTrack_z0_minus_truthPV_z0; TH1D* h_n_tracks; TH1D* h_eta_track; TH1D* h_phi_track; TH1D* h_nPixelHits_track; TH1D* h_nSCTHits_track; TH1D* h_nSumPixelSCTHits_track; TH1D* h_z0_track; TH1D* h_z0_error_track; TH1D* h_d0_track; TH1D* h_d0_error_track; TH1D* h_d0_significance_track; TH1D* h_caloSample_track; TH1D* h_impact_eta_track; TH1D* h_impact_phi_track; TH1D* h_eta_jet; TH1D* h_phi_jet; TH1D* h_et_jet; TH1D* h_pt_jet; TH1D* h_dBeamSpot_x; TH1D* h_dBeamSpot_y; TH1D* h_dBeamSpot_z; TH1D* h_dBeamSpot_sigma_x; TH1D* h_dBeamSpot_sigma_y; TH1D* h_dBeamSpot_sigma_z; TH1D* h_dBeamSpot_eta; TH1D* h_dBeamSpot_phi; TH1D* h_dBeamSpot_R; TH1D* h_muon_idtrack_eta; TH1D* h_muon_idtrack_phi; TH1D* h_muon_idtrack_z0; TH1D* h_muon_idtrack_z0_error; TH1D* h_muon_idtrack_d0; TH1D* h_muon_idtrack_d0_error; TH1D* h_muon_idtrack_d0_significance; TH1D* h_pv_z0_leptons; TH1D* h_pv_z0_error_leptons; TH1D* h_pv_z0_significance_leptons; TH1D* h_pv_d0_leptons; TH1D* h_pv_d0_error_leptons; TH1D* h_pv_d0_significance_leptons; TH1D* h_bestReco_pv_z0_leptons; TH1D* h_bestReco_pv_z0_error_leptons; TH1D* h_bestReco_pv_z0_significance_leptons; TH1D* h_bestReco_pv_d0_leptons; TH1D* h_bestReco_pv_d0_error_leptons; TH1D* h_bestReco_pv_d0_significance_leptons; TH1D* h_nonBestReco_pv_z0_leptons; TH1D* h_nonBestReco_pv_z0_error_leptons; TH1D* h_nonBestReco_pv_z0_significance_leptons; TH1D* h_nonBestReco_pv_d0_leptons; TH1D* h_nonBestReco_pv_d0_error_leptons; TH1D* h_nonBestReco_pv_d0_significance_leptons; # 60 "NTupleChain.h" 2 NTupleChain(char fileMask[], char specName[], Int_t triggerLevel, Int_t nFirstEvent, Int_t nMaxEvents, bool isMask = false); virtual ~NTupleChain(); TChain* getChain(); Long64_t getChainEntries(); void RefreshNTMap(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return NTupleChain::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { NTupleChain::Streamer(b); } static const char *DeclFileName() { return "NTupleChain.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 69; } }; # 25 "VBFStudy.h" 2 # 1 "Plotset.h" 1 # 14 "Plotset.h" # 1 "/products/root_522/include/root/TH1D.h" 1 # 15 "Plotset.h" 2 # 1 "/products/root_522/include/root/TH2D.h" 1 # 16 "Plotset.h" 2 # 1 "/products/root_522/include/root/TH3D.h" 1 # 17 "Plotset.h" 2 # 26 "Plotset.h" # 1 "/products/root_522/include/root/TGString.h" 1 # 34 "/products/root_522/include/root/TGString.h" class TGString : public TString { public: TGString() : TString() { } TGString(const char *s) : TString(s) { } TGString(Int_t number) : TString() { *this += number; } TGString(const TGString *s); virtual ~TGString() { } Int_t GetLength() const { return Length(); } const char *GetString() const { return Data(); } virtual void SetString(const char *s) { *this = s; } virtual void Draw(Drawable_t id, GContext_t gc, Int_t x, Int_t y); virtual void DrawWrapped(Drawable_t id, GContext_t gc, Int_t x, Int_t y, UInt_t w, FontStruct_t font); virtual Int_t GetLines(FontStruct_t font, UInt_t w); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGString::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGString::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGString.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 52; } }; class TGHotString : public TGString { protected: char fHotChar; Int_t fHotPos; GContext_t fLastGC; Int_t fOff1; Int_t fOff2; void DrawHotChar(Drawable_t id, GContext_t gc, Int_t x, Int_t y); public: TGHotString(const char *s); Int_t GetHotChar() const { return fHotChar; } Int_t GetHotPos() const { return fHotPos; } virtual void Draw(Drawable_t id, GContext_t gc, Int_t x, Int_t y); virtual void DrawWrapped(Drawable_t id, GContext_t gc, Int_t x, Int_t y, UInt_t w, FontStruct_t font); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGHotString::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGHotString::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGString.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 77; } }; # 27 "Plotset.h" 2 # 1 "EventCutset.h" 1 # 17 "EventCutset.h" # 1 "/products/root_522/include/root/TFormula.h" 1 # 18 "EventCutset.h" 2 # 28 "EventCutset.h" # 1 "Utilities.h" 1 # 1 "/usr/include/c++/4.3/sstream" 1 3 # 42 "/usr/include/c++/4.3/sstream" 3 # 43 "/usr/include/c++/4.3/sstream" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 61 "/usr/include/c++/4.3/sstream" 3 template class basic_stringbuf : public basic_streambuf<_CharT, _Traits> { public: typedef _CharT char_type; typedef _Traits traits_type; typedef _Alloc allocator_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_streambuf __streambuf_type; typedef basic_string __string_type; typedef typename __string_type::size_type __size_type; protected: ios_base::openmode _M_mode; __string_type _M_string; public: # 95 "/usr/include/c++/4.3/sstream" 3 explicit basic_stringbuf(ios_base::openmode __mode = ios_base::in | ios_base::out) : __streambuf_type(), _M_mode(__mode), _M_string() { } # 108 "/usr/include/c++/4.3/sstream" 3 explicit basic_stringbuf(const __string_type& __str, ios_base::openmode __mode = ios_base::in | ios_base::out) : __streambuf_type(), _M_mode(), _M_string(__str.data(), __str.size()) { _M_stringbuf_init(__mode); } # 123 "/usr/include/c++/4.3/sstream" 3 __string_type str() const { __string_type __ret; if (this->pptr()) { if (this->pptr() > this->egptr()) __ret = __string_type(this->pbase(), this->pptr()); else __ret = __string_type(this->pbase(), this->egptr()); } else __ret = _M_string; return __ret; } # 147 "/usr/include/c++/4.3/sstream" 3 void str(const __string_type& __s) { _M_string.assign(__s.data(), __s.size()); _M_stringbuf_init(_M_mode); } protected: void _M_stringbuf_init(ios_base::openmode __mode) { _M_mode = __mode; __size_type __len = 0; if (_M_mode & (ios_base::ate | ios_base::app)) __len = _M_string.size(); _M_sync(const_cast(_M_string.data()), 0, __len); } virtual streamsize showmanyc() { streamsize __ret = -1; if (_M_mode & ios_base::in) { _M_update_egptr(); __ret = this->egptr() - this->gptr(); } return __ret; } virtual int_type underflow(); virtual int_type pbackfail(int_type __c = traits_type::eof()); virtual int_type overflow(int_type __c = traits_type::eof()); # 199 "/usr/include/c++/4.3/sstream" 3 virtual __streambuf_type* setbuf(char_type* __s, streamsize __n) { if (__s && __n >= 0) { _M_string.clear(); _M_sync(__s, __n, 0); } return this; } virtual pos_type seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode = ios_base::in | ios_base::out); virtual pos_type seekpos(pos_type __sp, ios_base::openmode __mode = ios_base::in | ios_base::out); void _M_sync(char_type* __base, __size_type __i, __size_type __o); void _M_update_egptr() { const bool __testin = _M_mode & ios_base::in; if (this->pptr() && this->pptr() > this->egptr()) if (__testin) this->setg(this->eback(), this->gptr(), this->pptr()); else this->setg(this->pptr(), this->pptr(), this->pptr()); } }; # 256 "/usr/include/c++/4.3/sstream" 3 template class basic_istringstream : public basic_istream<_CharT, _Traits> { public: typedef _CharT char_type; typedef _Traits traits_type; typedef _Alloc allocator_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type; typedef basic_istream __istream_type; private: __stringbuf_type _M_stringbuf; public: # 292 "/usr/include/c++/4.3/sstream" 3 explicit basic_istringstream(ios_base::openmode __mode = ios_base::in) : __istream_type(), _M_stringbuf(__mode | ios_base::in) { this->init(&_M_stringbuf); } # 310 "/usr/include/c++/4.3/sstream" 3 explicit basic_istringstream(const __string_type& __str, ios_base::openmode __mode = ios_base::in) : __istream_type(), _M_stringbuf(__str, __mode | ios_base::in) { this->init(&_M_stringbuf); } ~basic_istringstream() { } # 332 "/usr/include/c++/4.3/sstream" 3 __stringbuf_type* rdbuf() const { return const_cast<__stringbuf_type*>(&_M_stringbuf); } __string_type str() const { return _M_stringbuf.str(); } void str(const __string_type& __s) { _M_stringbuf.str(__s); } }; # 365 "/usr/include/c++/4.3/sstream" 3 template class basic_ostringstream : public basic_ostream<_CharT, _Traits> { public: typedef _CharT char_type; typedef _Traits traits_type; typedef _Alloc allocator_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type; typedef basic_ostream __ostream_type; private: __stringbuf_type _M_stringbuf; public: # 401 "/usr/include/c++/4.3/sstream" 3 explicit basic_ostringstream(ios_base::openmode __mode = ios_base::out) : __ostream_type(), _M_stringbuf(__mode | ios_base::out) { this->init(&_M_stringbuf); } # 419 "/usr/include/c++/4.3/sstream" 3 explicit basic_ostringstream(const __string_type& __str, ios_base::openmode __mode = ios_base::out) : __ostream_type(), _M_stringbuf(__str, __mode | ios_base::out) { this->init(&_M_stringbuf); } ~basic_ostringstream() { } # 441 "/usr/include/c++/4.3/sstream" 3 __stringbuf_type* rdbuf() const { return const_cast<__stringbuf_type*>(&_M_stringbuf); } __string_type str() const { return _M_stringbuf.str(); } void str(const __string_type& __s) { _M_stringbuf.str(__s); } }; # 474 "/usr/include/c++/4.3/sstream" 3 template class basic_stringstream : public basic_iostream<_CharT, _Traits> { public: typedef _CharT char_type; typedef _Traits traits_type; typedef _Alloc allocator_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_string<_CharT, _Traits, _Alloc> __string_type; typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type; typedef basic_iostream __iostream_type; private: __stringbuf_type _M_stringbuf; public: # 508 "/usr/include/c++/4.3/sstream" 3 explicit basic_stringstream(ios_base::openmode __m = ios_base::out | ios_base::in) : __iostream_type(), _M_stringbuf(__m) { this->init(&_M_stringbuf); } # 524 "/usr/include/c++/4.3/sstream" 3 explicit basic_stringstream(const __string_type& __str, ios_base::openmode __m = ios_base::out | ios_base::in) : __iostream_type(), _M_stringbuf(__str, __m) { this->init(&_M_stringbuf); } ~basic_stringstream() { } # 546 "/usr/include/c++/4.3/sstream" 3 __stringbuf_type* rdbuf() const { return const_cast<__stringbuf_type*>(&_M_stringbuf); } __string_type str() const { return _M_stringbuf.str(); } void str(const __string_type& __s) { _M_stringbuf.str(__s); } }; } # 1 "/usr/include/c++/4.3/bits/sstream.tcc" 1 3 # 44 "/usr/include/c++/4.3/bits/sstream.tcc" 3 # 45 "/usr/include/c++/4.3/bits/sstream.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type basic_stringbuf<_CharT, _Traits, _Alloc>:: pbackfail(int_type __c) { int_type __ret = traits_type::eof(); if (this->eback() < this->gptr()) { const bool __testeof = traits_type::eq_int_type(__c, __ret); if (!__testeof) { const bool __testeq = traits_type::eq(traits_type:: to_char_type(__c), this->gptr()[-1]); const bool __testout = this->_M_mode & ios_base::out; if (__testeq || __testout) { this->gbump(-1); if (!__testeq) *this->gptr() = traits_type::to_char_type(__c); __ret = __c; } } else { this->gbump(-1); __ret = traits_type::not_eof(__c); } } return __ret; } template typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type basic_stringbuf<_CharT, _Traits, _Alloc>:: overflow(int_type __c) { const bool __testout = this->_M_mode & ios_base::out; if (__builtin_expect(!__testout, false)) return traits_type::eof(); const bool __testeof = traits_type::eq_int_type(__c, traits_type::eof()); if (__builtin_expect(__testeof, false)) return traits_type::not_eof(__c); const __size_type __capacity = _M_string.capacity(); const __size_type __max_size = _M_string.max_size(); const bool __testput = this->pptr() < this->epptr(); if (__builtin_expect(!__testput && __capacity == __max_size, false)) return traits_type::eof(); const char_type __conv = traits_type::to_char_type(__c); if (!__testput) { # 115 "/usr/include/c++/4.3/bits/sstream.tcc" 3 const __size_type __opt_len = std::max(__size_type(2 * __capacity), __size_type(512)); const __size_type __len = std::min(__opt_len, __max_size); __string_type __tmp; __tmp.reserve(__len); if (this->pbase()) __tmp.assign(this->pbase(), this->epptr() - this->pbase()); __tmp.push_back(__conv); _M_string.swap(__tmp); _M_sync(const_cast(_M_string.data()), this->gptr() - this->eback(), this->pptr() - this->pbase()); } else *this->pptr() = __conv; this->pbump(1); return __c; } template typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type basic_stringbuf<_CharT, _Traits, _Alloc>:: underflow() { int_type __ret = traits_type::eof(); const bool __testin = this->_M_mode & ios_base::in; if (__testin) { _M_update_egptr(); if (this->gptr() < this->egptr()) __ret = traits_type::to_int_type(*this->gptr()); } return __ret; } template typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type basic_stringbuf<_CharT, _Traits, _Alloc>:: seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode) { pos_type __ret = pos_type(off_type(-1)); bool __testin = (ios_base::in & this->_M_mode & __mode) != 0; bool __testout = (ios_base::out & this->_M_mode & __mode) != 0; const bool __testboth = __testin && __testout && __way != ios_base::cur; __testin &= !(__mode & ios_base::out); __testout &= !(__mode & ios_base::in); const char_type* __beg = __testin ? this->eback() : this->pbase(); if ((__beg || !__off) && (__testin || __testout || __testboth)) { _M_update_egptr(); off_type __newoffi = __off; off_type __newoffo = __newoffi; if (__way == ios_base::cur) { __newoffi += this->gptr() - __beg; __newoffo += this->pptr() - __beg; } else if (__way == ios_base::end) __newoffo = __newoffi += this->egptr() - __beg; if ((__testin || __testboth) && __newoffi >= 0 && this->egptr() - __beg >= __newoffi) { this->gbump((__beg + __newoffi) - this->gptr()); __ret = pos_type(__newoffi); } if ((__testout || __testboth) && __newoffo >= 0 && this->egptr() - __beg >= __newoffo) { this->pbump((__beg + __newoffo) - this->pptr()); __ret = pos_type(__newoffo); } } return __ret; } template typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type basic_stringbuf<_CharT, _Traits, _Alloc>:: seekpos(pos_type __sp, ios_base::openmode __mode) { pos_type __ret = pos_type(off_type(-1)); const bool __testin = (ios_base::in & this->_M_mode & __mode) != 0; const bool __testout = (ios_base::out & this->_M_mode & __mode) != 0; const char_type* __beg = __testin ? this->eback() : this->pbase(); if ((__beg || !off_type(__sp)) && (__testin || __testout)) { _M_update_egptr(); const off_type __pos(__sp); const bool __testpos = (0 <= __pos && __pos <= this->egptr() - __beg); if (__testpos) { if (__testin) this->gbump((__beg + __pos) - this->gptr()); if (__testout) this->pbump((__beg + __pos) - this->pptr()); __ret = __sp; } } return __ret; } template void basic_stringbuf<_CharT, _Traits, _Alloc>:: _M_sync(char_type* __base, __size_type __i, __size_type __o) { const bool __testin = _M_mode & ios_base::in; const bool __testout = _M_mode & ios_base::out; char_type* __endg = __base + _M_string.size(); char_type* __endp = __base + _M_string.capacity(); if (__base != _M_string.data()) { __endg += __i; __i = 0; __endp = __endg; } if (__testin) this->setg(__base, __base + __i, __endg); if (__testout) { this->setp(__base, __endp); this->pbump(__o); if (!__testin) this->setg(__endg, __endg, __endg); } } extern template class basic_stringbuf; extern template class basic_istringstream; extern template class basic_ostringstream; extern template class basic_stringstream; extern template class basic_stringbuf; extern template class basic_istringstream; extern template class basic_ostringstream; extern template class basic_stringstream; } # 573 "/usr/include/c++/4.3/sstream" 2 3 # 9 "Utilities.h" 2 using namespace std; typedef Float_t NTFloat; class Utilities { public: Utilities(); virtual ~Utilities(); static Double_t relativeDoublePrecision; static Double_t RelDif(Double_t a, Double_t b); static Bool_t ApproxEqual(Double_t a, Double_t b, Double_t relDoublePrecision = relativeDoublePrecision); static TString EffError(Double_t passes, Double_t all); enum VERBOSITY {SILENT, FATAL, ERROR, WARNING, INFO, DEBUG, VERBOSE}; VERBOSITY verbositySettingUtil; bool VERB_(string explain = ""); bool DEB_(string explain = ""); bool INF_(string explain = ""); bool WAR_(string explain = ""); bool ERR_(string explain = ""); bool FAT_(string explain = ""); inline bool VERB(string var, std::string explain = ""){return VERB_( explain + " type " + typeid( var ).name() + ", value: " + ( string ) var );}; inline bool DEB(string var, std::string explain = ""){return DEB_( explain + " type " + typeid( var ).name() + ", value: " + ( string ) var );}; inline bool INF(string var, std::string explain = ""){return INF_( explain + " type " + typeid( var ).name() + ", value: " + ( string ) var );}; inline bool WAR(string var, std::string explain = ""){return WAR_( explain + " type " + typeid( var ).name() + ", value: " + ( string ) var );}; inline bool ERR(string var, std::string explain = ""){return ERR_( explain + " type " + typeid( var ).name() + ", value: " + ( string ) var );}; inline bool FAT(string var, std::string explain = ""){return FAT_( explain + " type " + typeid( var ).name() + ", value: " + ( string ) var );}; # 65 "Utilities.h" inline bool VERB(int var, std::string explain = ""){return VERB(to_string(var), explain);}; inline bool DEB(int var, std::string explain = ""){return DEB(to_string(var), explain);}; inline bool INF(int var, std::string explain = ""){return INF(to_string(var), explain);}; inline bool WAR(int var, std::string explain = ""){return WAR(to_string(var), explain);}; inline bool ERR(int var, std::string explain = ""){return ERR(to_string(var), explain);}; inline bool FAT(int var, std::string explain = ""){return FAT(to_string(var), explain);}; inline bool VERB(Double_t var, std::string explain = ""){return VERB(to_string(var), explain);}; inline bool DEB(Double_t var, std::string explain = ""){return DEB(to_string(var), explain);}; inline bool INF(Double_t var, std::string explain = ""){return INF(to_string(var), explain);}; inline bool WAR(Double_t var, std::string explain = ""){return WAR(to_string(var), explain);}; inline bool ERR(Double_t var, std::string explain = ""){return ERR(to_string(var), explain);}; inline bool FAT(Double_t var, std::string explain = ""){return FAT(to_string(var), explain);}; # 86 "Utilities.h" template inline std::string to_string (const T& t) { std::stringstream ss; ss << t; return ss.str(); } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return Utilities::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { Utilities::Streamer(b); } static const char *DeclFileName() { return "Utilities.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 94; } }; # 29 "EventCutset.h" 2 class GenuineNTupleCut{ public: enum CUT_TYPE{ ONE_LARGER, TWO_LARGER, THREE_LARGER, FOUR_LARGER, FIVE_LARGER, SIX_LARGER, ONE_EQUAL, TWO_EQUAL, THREE_EQUAL, FOUR_EQUAL, FIVE_EQUAL, SIX_EQUAL, ONE_NOT_EQUAL, TWO_NOT_EQUAL, THREE_NOT_EQUAL, FOUR_NOT_EQUAL, FIVE_NOT_EQUAL, SIX_NOT_EQUAL, ONE_SMALLER, TWO_SMALLER, THREE_SMALLER, FOUR_SMALLER, FIVE_SMALLER, SIX_SMALLER, FIRST_LARGER, SECOND_LARGER, THIRD_LARGER, FOURTH_LARGER, FIFTH_LARGER, SIXTH_LARGER, FIRST_EQUAL, SECOND_EQUAL, THIRD_EQUAL, FOURTH_EQUAL, FIFTH_EQUAL, SIXTH_EQUAL, FIRST_NOT_EQUAL, SECOND_NOT_EQUAL, THIRD_NOT_EQUAL, FOURTH_NOT_EQUAL, FIFTH_NOT_EQUAL, SIXTH_NOT_EQUAL, FIRST_SMALLER, SECOND_SMALLER, THIRD_SMALLER, FOURTH_SMALLER, FIFTH_SMALLER, SIXTH_SMALLER, ALL_LARGER, ALL_EQUAL, ALL_NOT_EQUAL, ALL_SMALLER, ALL_BUT_FIRST_TWO_ABS_LARGER, LARGER, LARGER_EQUAL, EQUAL, NOT_EQUAL, SMALLER_EQUAL, SMALLER, NO_DUMMY }; static string to_string(CUT_TYPE aCut); enum LOGIC_LINK{ NONE, AND, OR }; enum ENTRY_ADDRESS{ FIRST=0, SECOND=1, THIRD=2, FOURTH=3, FIFTH=4, SIXTH=5, }; static const float defaultNumber = -938921.; static string to_string(LOGIC_LINK aLogicLink); string ntuplename; CUT_TYPE typeOfCut; Double_t value; LOGIC_LINK condition; GenuineNTupleCut(); GenuineNTupleCut(string ntuplename, CUT_TYPE typeOfCut, Double_t value, LOGIC_LINK condition = NONE); ~GenuineNTupleCut(); string to_string() const; private: mutable Utilities *ut; }; struct NTupleTagsToFrom{ inline NTupleTagsToFrom(){}; inline NTupleTagsToFrom(string to, string from, GenuineNTupleCut::LOGIC_LINK cond): ntuplename_toTag(to), ntuplename_toRead(from), condition(cond) {}; inline ~NTupleTagsToFrom(){}; string ntuplename_toTag; string ntuplename_toRead; GenuineNTupleCut::LOGIC_LINK condition; }; class EventCutset { public: typedef map applicable_cut_types; typedef map applicable_cut_values; typedef map > ntuple_tags; std::map histos; EventCutset(); EventCutset( NTupleChain *givenNTupleChain ); virtual ~EventCutset(); void SetEvent( int eventNumber ); void AddEventCut( std::string ntupleName, GenuineNTupleCut::CUT_TYPE typeOfCut, Double_t value ); void AddEventCut(std::vector ntupleNames, std::vector typesOfCuts, std::vector values, std::vector conditions); void AddEventCut(TFormula formula, std::vector inputNTuples, std::vector nTupleEntries, GenuineNTupleCut::CUT_TYPE typeOfCut, Double_t value, GenuineNTupleCut::LOGIC_LINK logicLink); Bool_t EvaluateEvent() const; Bool_t EvaluateEventCut( std::string ntuplename, GenuineNTupleCut::CUT_TYPE typeOfCut, Double_t value ) const; Bool_t EvaluateEventCut(TFormula formula, std::vector inputNTuples, std::vector nTupleEntries, GenuineNTupleCut::CUT_TYPE typeOfCut, Double_t value) const; void AddNTupleCut( std::string ntuplename, GenuineNTupleCut::CUT_TYPE typeOfCut, Double_t value, GenuineNTupleCut::LOGIC_LINK condition = GenuineNTupleCut::NONE ); void AddNTupleCutForEvent( std::string ntuplename, GenuineNTupleCut::CUT_TYPE typeOfCut, Double_t value, GenuineNTupleCut::LOGIC_LINK condition = GenuineNTupleCut::NONE ); inline void AddNTupleCutForAllEvents( std::string ntuplename, GenuineNTupleCut::CUT_TYPE typeOfCut, Double_t value, GenuineNTupleCut::LOGIC_LINK condition = GenuineNTupleCut::NONE ){ GenuineNTupleCut gntc( ntuplename, typeOfCut, value, condition ); ut->INF_("Adding N-tuple cut with properties: "+gntc.to_string()); genuineNTupleCuts.push_back(gntc); }; inline void AddNTupleCutForAllEvents_( std::string ntuplename, GenuineNTupleCut::CUT_TYPE typeOfCut, GenuineNTupleCut::LOGIC_LINK condition = GenuineNTupleCut::NONE ){ ut->INF_("Calling AddNTupleCutForAllEvents without cut value."); AddNTupleCutForAllEvents(ntuplename, typeOfCut, -99999., condition); }; void AddNTupleCutFromTag( std::string ntuplename_toTag, std::string ntuplename_toRead, GenuineNTupleCut::LOGIC_LINK condition = GenuineNTupleCut::AND ); void AddNTupleCutFromTagForEvent( std::string ntuplename_toTag, std::string ntuplename_toRead, GenuineNTupleCut::LOGIC_LINK condition = GenuineNTupleCut::AND ); inline void AddNTupleCutFromTagForAllEvents( std::string ntuplename_toTag, std::string ntuplename_toRead, GenuineNTupleCut::LOGIC_LINK condition = GenuineNTupleCut::AND ){ ut->INF_("Cross-tagging: N-tuple "+ntuplename_toTag+" to be tagged by N-tuple "+ntuplename_toRead+" with LOGIC_LINK "+GenuineNTupleCut::to_string(condition)); nTupleTagsToFrom.push_back(NTupleTagsToFrom(ntuplename_toTag, ntuplename_toRead, condition)); }; Bool_t GetNTupleTag( std::string ntuplename, unsigned int address, int eventNumber = -1 ) const; Bool_t GetNTupleTagForEvent( std::string ntuplename, unsigned int address ) const; string GetNTupleCuts() const; private: NTupleChain *theNTupleChain; mutable int eventNumber; named_ntuples theNtuples; mutable named_ntuples copied_ntuples; mutable map theNtupleTagsForEvent; mutable applicable_cut_types theApplicableCutTypes; mutable applicable_cut_values theApplicableCutValues; mutable std::vector > theApplicableComplexEventCutNTupleNames; mutable std::vector > theApplicableComplexEventCutTypes; mutable std::vector > theApplicableComplexEventCutValues; mutable std::vector > theApplicableComplexEventCutLogicLinks; mutable std::vector theApplicableTFormulae; mutable std::vector > theApplicableTFormulaInputNTuples; mutable std::vector > theApplicableTFormulaInputNTupleEntries; mutable std::vector theApplicableTFormulaCutTypes; mutable std::vector theApplicableTFormulaCutValues; mutable std::vector theApplicableTFormulaLogicLinks; mutable Utilities *ut; void DeleteNTupleCutResultForEvent(); vector genuineNTupleCuts; vector nTupleTagsToFrom; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return EventCutset::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { EventCutset::Streamer(b); } static const char *DeclFileName() { return "EventCutset.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 175; } }; # 28 "Plotset.h" 2 class Plotset { public: std::map histos; Plotset(NTupleChain *givenNTupleChain, TString name = ""); virtual ~Plotset(); inline TString GetName() { return itsName; }; Bool_t Is(std::string histname, std::string property); Bool_t Define(std::string histname, std::string property); Bool_t Define(std::string histname, std::vector properties); inline Bool_t IsMultiplicityPlot(std::string histname) { return multiplicityPlots.find(histname) != multiplicityPlots.end(); }; inline Bool_t IsSpecialPlot(std::string histname) { Bool_t isSpecialPlot = false; for (std::vector::const_iterator it = specialPlots.begin(); it != specialPlots.end(); it++) { if (*it == histname) isSpecialPlot = true; } return isSpecialPlot; }; inline Bool_t IsDisabledPlot(std::string histname) { Bool_t isDisabledPlot = false; for (std::vector::const_iterator it = disabledPlots.begin(); it != disabledPlots.end(); it++) { ut->VERB_((string)" IsDisabledPlot checking against disabled plot "+(*it)); if (*it == histname) { isDisabledPlot = true; break; } } ut->VERB_((string)"IsDisabledPlot("+histname+(string)") ["+ut->to_string(disabledPlots.size())+(string)" disabled plots] returning " + ut->to_string(isDisabledPlot)); return isDisabledPlot; }; inline UInt_t GetNumberOfDisabledPlots() { return disabledPlots.size(); } inline void DefineDisabledPlot(std::string histname) { disabledPlots.push_back(histname); ut->VERB_((string)"DefineDisabledPlot("+histname+(string)") done."); }; inline void DefineMultiplicityPlot(std::string histname, std::string respectiveNTuple) { multiplicityPlots[histname] = respectiveNTuple; }; inline std::string GetMultiplicityPlotNTupleName(std::string histname) { if (multiplicityPlots.find(histname) != multiplicityPlots.end()) return multiplicityPlots[histname]; else return ""; }; inline Bool_t EvaluateEvent() const { return theEventCuts->EvaluateEvent(); }; inline void AddEventCut(std::string ntupleName, GenuineNTupleCut::CUT_TYPE typeOfCut, Double_t value) { return theEventCuts->AddEventCut(ntupleName, typeOfCut, value); }; inline void AddEventCut(std::vector ntupleNames, std::vector typesOfCuts, std::vector values, std::vector conditions){ theEventCuts->AddEventCut(ntupleNames, typesOfCuts, values, conditions); }; inline void AddEventCut(TFormula formula, std::vector inputNTuples, std::vector nTupleEntries, GenuineNTupleCut::CUT_TYPE typeOfCut, Double_t value, GenuineNTupleCut::LOGIC_LINK logicLink){ theEventCuts->AddEventCut(formula, inputNTuples, nTupleEntries, typeOfCut, value, logicLink); }; inline void AddNTupleCut(std::string ntuplename, GenuineNTupleCut::CUT_TYPE typeOfCut, Double_t value, GenuineNTupleCut::LOGIC_LINK condition = GenuineNTupleCut::NONE) { theEventCuts->AddNTupleCut(ntuplename, typeOfCut, value, condition); }; inline void AddNTupleCutForEvent(std::string ntuplename, GenuineNTupleCut::CUT_TYPE typeOfCut, Double_t value, GenuineNTupleCut::LOGIC_LINK condition = GenuineNTupleCut::NONE) { theEventCuts->AddNTupleCutForEvent(ntuplename, typeOfCut, value, condition); }; inline void AddNTupleCutForAllEvents(std::string ntuplename, GenuineNTupleCut::CUT_TYPE typeOfCut, Double_t value, GenuineNTupleCut::LOGIC_LINK condition = GenuineNTupleCut::NONE) { theEventCuts->AddNTupleCutForAllEvents(ntuplename, typeOfCut, value, condition); }; inline void AddNTupleCutForAllEvents_(std::string ntuplename, GenuineNTupleCut::CUT_TYPE typeOfCut, GenuineNTupleCut::LOGIC_LINK condition = GenuineNTupleCut::NONE) { theEventCuts->AddNTupleCutForAllEvents_(ntuplename, typeOfCut, condition); }; inline void AddNTupleCutFromTag(std::string ntuplename_toTag, std::string ntuplename_toRead, GenuineNTupleCut::LOGIC_LINK condition = GenuineNTupleCut::AND) { ut->WAR_("Plotset forwarding call to deprecated EventCutset::AddNTupleCutFromTag(...)."); theEventCuts->AddNTupleCutFromTag(ntuplename_toTag, ntuplename_toRead, condition); }; inline void AddNTupleCutFromTagForEvent(std::string ntuplename_toTag, std::string ntuplename_toRead, GenuineNTupleCut::LOGIC_LINK condition = GenuineNTupleCut::AND) { theEventCuts->AddNTupleCutFromTagForEvent(ntuplename_toTag, ntuplename_toRead, condition); }; inline void AddNTupleCutFromTagForAllEvents(string ntuplename_toTag, string ntuplename_toRead, GenuineNTupleCut::LOGIC_LINK condition = GenuineNTupleCut::AND) { theEventCuts->AddNTupleCutFromTagForAllEvents(ntuplename_toTag, ntuplename_toRead, condition); }; inline Bool_t GetNTupleTag(std::string ntuplename, unsigned int address, int eventNumber) const { ut->WAR_("Plotset forwarding call to deprecated EventCutset::GetNTupleTag(...)."); return theEventCuts->GetNTupleTag(ntuplename, address, eventNumber); }; inline Bool_t GetNTupleTagForEvent(std::string ntuplename, unsigned int address) const { return theEventCuts->GetNTupleTagForEvent(ntuplename, address); }; inline string GetNTupleCuts() const { return theEventCuts->GetNTupleCuts(); }; inline void SetEvent(int eventNumber) { theEventCuts->SetEvent(eventNumber); }; private: TString itsName; EventCutset *theEventCuts; named_ntuples ntuples; typedef std::map boolProperties; std::map histoBoolProperties; std::map multiplicityPlots; std::vector specialPlots; std::vector disabledPlots; Utilities *ut; # 1 "../VBFHiggsTauTau/PileupJetVeto_DeclHistograms.h" 1 TH1D* h_tp_charge; TH1D* h_tp_pt; TH1D* h_tp_eta; TH1D* h_tp_phi; TH1D* h_tp_pdg_id; TH1D* h_tp_barcode; TH1D* h_tp_genVertex_x; TH1D* h_tp_genVertex_y; TH1D* h_tp_genVertex_z; TH1D* h_nTracksPV; TH1D* h_vertexSinTheta; TH1D* h_pvZPosition; TH1D* h_pvReconstruction; TH1D* h_pvReconstructionEfficiency; TH1D* h_pvSelection; TH1D* h_pvSelectionEfficiency; TH1D* h_z0SigElectron; TH1D* h_z0SigMuon; TH1D* h_n_jets; TH1D* h_n_matched_jets; TH1D* h_nVertices; TH1D* h_n_matched_tracks_tj; TH1D* h_n_matched_tracks_pv_tj; TH1D* h_n_matched_tracks_pileup_tj; TH1D* h_pt_fraction_tj; TH1D* h_pv_pt_fraction_tracks_tj; TH1D* h_pv_pt_fraction_total_tj; TH1D* h_n_matched_tracks_other; TH1D* h_n_matched_tracks_pv_other; TH1D* h_n_matched_tracks_pileup_other; TH1D* h_pt_fraction_other; TH1D* h_pv_pt_fraction_tracks_other; TH1D* h_pv_pt_fraction_total_other; TH1D* h_n_matched_tracks; TH1D* h_n_matched_tracks_pv; TH1D* h_n_matched_tracks_pileup; TH1D* h_pt_fraction; TH1D* h_pv_pt_fraction_tracks; TH1D* h_pv_pt_fraction_total; TH1D* h_n_matched_tracks_pv_reco_tj; TH1D* h_n_matched_tracks_pileup_reco_tj; TH1D* h_pv_pt_fraction_tracks_reco_tj; TH1D* h_pv_pt_fraction_total_reco_tj; TH1D* h_n_matched_tracks_pv_reco_other; TH1D* h_n_matched_tracks_pileup_reco_other; TH1D* h_pv_pt_fraction_tracks_reco_other; TH1D* h_pv_pt_fraction_total_reco_other; TH1D* h_n_matched_tracks_pv_reco; TH1D* h_n_matched_tracks_pileup_reco; TH1D* h_pv_pt_fraction_tracks_reco; TH1D* h_pv_pt_fraction_total_reco; TH1D* h_number_primary_vertices; TH1D* h_primary_vertex_x; TH1D* h_primary_vertex_y; TH1D* h_primary_vertex_z; TH1D* h_primary_vertex_x_reordered_minus_std_sorting; TH1D* h_primary_vertex_y_reordered_minus_std_sorting; TH1D* h_primary_vertex_z_reordered_minus_std_sorting; TH1D* h_all_primary_vertex_x; TH1D* h_all_primary_vertex_y; TH1D* h_all_primary_vertex_z; TH1D* h_true_primary_vertex_x; TH1D* h_true_primary_vertex_y; TH1D* h_true_primary_vertex_z; TH1D* h_primary_vertex_residual_x; TH1D* h_primary_vertex_residual_y; TH1D* h_primary_vertex_residual_z; TH1D* h_primary_vertex_residual_z_newbinning; TH1D* h_closestCaloSample; TH2D* h_eta_vs_closestCaloSample; TH2D* h_phi_vs_closestCaloSample; TH3D* h_eta_phi_vs_closestCaloSample; TH2D* h_distanceToBarrel_vs_distanceToEndcap; TH1D* h_n_muons; TH1D* h_z0_muons_sorted_by_pt; TH1D* h_z0_error_muons_sorted_by_pt; TH1D* h_d0_muons_sorted_by_pt; TH1D* h_d0_error_muons_sorted_by_pt; TH1D* h_d0_significance_muons_sorted_by_pt; TH1D* h_pt_muons_sorted_by_pt; TH1D* h_author_muons_sorted_by_pt; TH1D* h_fitChi2OverDoF_muons_sorted_by_pt; TH1D* h_matchChi2_muons_sorted_by_pt; TH1D* h_etcone20_muons_sorted_by_pt; TH1D* h_muon_charge_muons_sorted_by_pt; TH1D* h_qualityCutsPassed_muons_sorted_by_pt; TH1D* h_isCombinedMuon_muons_sorted_by_pt; TH1D* h_n_combined_muons; TH1D* h_z0_combined_muons_sorted_by_pt; TH1D* h_z0_error_combined_muons_sorted_by_pt; TH1D* h_d0_combined_muons_sorted_by_pt; TH1D* h_d0_error_combined_muons_sorted_by_pt; TH1D* h_d0_significance_combined_muons_sorted_by_pt; TH1D* h_pt_combined_muons_sorted_by_pt; TH1D* h_author_combined_muons_sorted_by_pt; TH1D* h_fitChi2OverDoF_combined_muons_sorted_by_pt; TH1D* h_matchChi2_combined_muons_sorted_by_pt; TH1D* h_etcone20_combined_muons_sorted_by_pt; TH1D* h_muon_charge_combined_muons_sorted_by_pt; TH1D* h_qualityCutsPassed_combined_muons_sorted_by_pt; TH1D* h_1stmuonTrack_z0_minus_2ndmuonTrack_z0; TH1D* h_1muonTrack_z0_minus_truthPV_z0; TH1D* h_1stmuonTrack_z0_minus_truthPV_z0; TH1D* h_2ndmuonTrack_z0_minus_truthPV_z0; TH2D* h_1stmuonTrack_z0_minus_truthPV_z0_vs_2ndmuonTrack_z0_minus_truthPV_z0; TH1D* h_softermuonTrack_z0_minus_truthPV_z0; TH1D* h_1muonTrack_z0_minus_recoPV_z0; TH1D* h_1stmuonTrack_z0_minus_recoPV_z0; TH1D* h_2ndmuonTrack_z0_minus_recoPV_z0; TH2D* h_1stmuonTrack_z0_minus_recoPV_z0_vs_2ndmuonTrack_z0_minus_recoPV_z0; TH1D* h_softermuonTrack_z0_minus_recoPV_z0; TH1D* h_deltaR_muon_vs_track; TH1D* h_n_electrons; TH1D* h_n_leptons; TH1D* h_1stelectronTrack_z0_minus_2ndelectronTrack_z0; TH1D* h_1stelectronTrack_z0_minus_truthPV_z0; TH1D* h_n_tracks; TH1D* h_eta_track; TH1D* h_phi_track; TH1D* h_nPixelHits_track; TH1D* h_nSCTHits_track; TH1D* h_nSumPixelSCTHits_track; TH1D* h_z0_track; TH1D* h_z0_error_track; TH1D* h_d0_track; TH1D* h_d0_error_track; TH1D* h_d0_significance_track; TH1D* h_caloSample_track; TH1D* h_impact_eta_track; TH1D* h_impact_phi_track; TH1D* h_eta_jet; TH1D* h_phi_jet; TH1D* h_et_jet; TH1D* h_pt_jet; TH1D* h_dBeamSpot_x; TH1D* h_dBeamSpot_y; TH1D* h_dBeamSpot_z; TH1D* h_dBeamSpot_sigma_x; TH1D* h_dBeamSpot_sigma_y; TH1D* h_dBeamSpot_sigma_z; TH1D* h_dBeamSpot_eta; TH1D* h_dBeamSpot_phi; TH1D* h_dBeamSpot_R; TH1D* h_muon_idtrack_eta; TH1D* h_muon_idtrack_phi; TH1D* h_muon_idtrack_z0; TH1D* h_muon_idtrack_z0_error; TH1D* h_muon_idtrack_d0; TH1D* h_muon_idtrack_d0_error; TH1D* h_muon_idtrack_d0_significance; TH1D* h_pv_z0_leptons; TH1D* h_pv_z0_error_leptons; TH1D* h_pv_z0_significance_leptons; TH1D* h_pv_d0_leptons; TH1D* h_pv_d0_error_leptons; TH1D* h_pv_d0_significance_leptons; TH1D* h_bestReco_pv_z0_leptons; TH1D* h_bestReco_pv_z0_error_leptons; TH1D* h_bestReco_pv_z0_significance_leptons; TH1D* h_bestReco_pv_d0_leptons; TH1D* h_bestReco_pv_d0_error_leptons; TH1D* h_bestReco_pv_d0_significance_leptons; TH1D* h_nonBestReco_pv_z0_leptons; TH1D* h_nonBestReco_pv_z0_error_leptons; TH1D* h_nonBestReco_pv_z0_significance_leptons; TH1D* h_nonBestReco_pv_d0_leptons; TH1D* h_nonBestReco_pv_d0_error_leptons; TH1D* h_nonBestReco_pv_d0_significance_leptons; # 197 "Plotset.h" 2 TH1D* h_n_truth_particles; public: TH1D* h_nPixelHits_combined_muon_sorted_by_pt_track; TH1D* h_nSCTHits_combined_muon_sorted_by_pt_track; TH1D* h_nSumPixelSCTHits_combined_muon_sorted_by_pt_track; TH1D* h_closest_primary_vertex_residual_x; TH1D* h_closest_primary_vertex_residual_y; TH1D* h_closest_primary_vertex_residual_z; TH1D* h_closest_primary_vertex_residual_z_newbinning; TH1D* h_all_primary_vertex_delta_z0_significance; TH1D* h_all_primary_vertex_ChiSquared; TH1D* h_all_primary_vertex_nDoF; TH1D* h_all_primary_vertex_sumPTSquared; TH1D* h_all_primary_vertex_nTracks; TH1D* h_all_primary_vertex_ChiSquaredOnDoF; TH2D* h_closest_primary_vertex_recoz0_hardest_vs_2nd_hardest_lepton; TH1D* h_closest_primary_vertex_recoz0_leptons; TH2D* h_closest_primary_vertex_recod0_hardest_vs_2nd_hardest_lepton; TH1D* h_closest_primary_vertex_recod0_leptons; TH2D* h_closest_primary_vertex_recod0_vs_recoz0_leptons; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return Plotset::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { Plotset::Streamer(b); } static const char *DeclFileName() { return "Plotset.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 223; } }; # 26 "VBFStudy.h" 2 # 1 "/products/root_522/include/root/TGClient.h" 1 # 39 "/products/root_522/include/root/TGClient.h" class TList; class THashList; class TGWindow; class TGResourcePool; class TGPicturePool; class TGPicture; class TGGCPool; class TGGC; class TGFontPool; class TGFont; class TGMimeTypes; class TGUnknownWindowHandler; class TGIdleHandler; class TGClient : public TObject, public TQObject { protected: Pixel_t fBackColor; Pixel_t fForeColor; Pixel_t fHilite; Pixel_t fShadow; Pixel_t fSelBackColor; Pixel_t fSelForeColor; Pixel_t fWhite; Pixel_t fBlack; TGWindow *fDefaultRoot; TGWindow *fRoot; Int_t fXfd; TGResourcePool *fResourcePool; TGGCPool *fGCPool; TGFontPool *fFontPool; TGPicturePool *fPicturePool; TGMimeTypes *fMimeTypeList; Colormap_t fDefaultColormap; Bool_t fGlobalNeedRedraw; Bool_t fForceRedraw; THashList *fWlist; TList *fPlist; TList *fUWHandlers; TList *fIdleHandlers; EGEventType fWaitForEvent; Window_t fWaitForWindow; TGClient(const TGClient&); TGClient& operator=(const TGClient&); Bool_t ProcessOneEvent(); Bool_t ProcessIdleEvent(); Bool_t DoRedraw(); public: TGClient(const char *dpyName = 0); virtual ~TGClient(); const TGWindow *GetRoot() const; const TGWindow *GetDefaultRoot() const; void SetRoot(TGWindow *root = 0); TGWindow *GetWindowById(Window_t sw) const; TGWindow *GetWindowByName(const char *name) const; UInt_t GetDisplayWidth() const; UInt_t GetDisplayHeight() const; Bool_t IsEditable() const { return fRoot != fDefaultRoot; } Bool_t IsEditDisabled() const; void SetEditDisabled(Bool_t on = kTRUE); FontStruct_t GetFontByName(const char *name, Bool_t fixedDefault = kTRUE) const; Bool_t GetColorByName(const char *name, Pixel_t &pixel) const; Pixel_t GetHilite(Pixel_t base_color) const; Pixel_t GetShadow(Pixel_t base_color) const; void FreeColor(Pixel_t color) const; void ForceRedraw() { fForceRedraw = kTRUE; } void NeedRedraw(TGWindow *w, Bool_t force = kFALSE); void RegisterWindow(TGWindow *w); void UnregisterWindow(TGWindow *w); void RegisterPopup(TGWindow *w); void UnregisterPopup(TGWindow *w); void AddUnknownWindowHandler(TGUnknownWindowHandler *h); void RemoveUnknownWindowHandler(TGUnknownWindowHandler *h); void AddIdleHandler(TGIdleHandler *h); void RemoveIdleHandler(TGIdleHandler *h); Bool_t HandleInput(); void ProcessLine(TString cmd, Long_t msg, Long_t parm1, Long_t parm2); void WaitFor(TGWindow *w); void WaitForUnmap(TGWindow *w); void ResetWaitFor(TGWindow *w); EGEventType GetWaitForEvent() const { return fWaitForEvent;} Window_t GetWaitForWindow() const { return fWaitForWindow; } Bool_t ProcessEventsFor(TGWindow *w); Bool_t HandleEvent(Event_t *event); Bool_t HandleMaskEvent(Event_t *event, Window_t wid); void RegisteredWindow(Window_t w); void ProcessedEvent(Event_t *event, Window_t wid); const TGResourcePool *GetResourcePool() const { return fResourcePool; } TGPicturePool *GetPicturePool() const { return fPicturePool; } const TGPicture *GetPicture(const char *name); const TGPicture *GetPicture(const char *name, UInt_t new_width, UInt_t new_height); void FreePicture(const TGPicture *pic); TGGCPool *GetGCPool() const { return fGCPool; } TGGC *GetGC(GCValues_t *values, Bool_t rw = kFALSE); void FreeGC(const TGGC *gc); void FreeGC(GContext_t gc); TGFontPool *GetFontPool() const { return fFontPool; } TGFont *GetFont(const char *font, Bool_t fixedDefault = kTRUE); TGFont *GetFont(const TGFont *font); void FreeFont(const TGFont *font); Colormap_t GetDefaultColormap() const { return fDefaultColormap; } TGMimeTypes *GetMimeTypeList() const { return fMimeTypeList; } THashList *GetListOfWindows() const { return fWlist; } TList *GetListOfPopups() const { return fPlist; } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGClient::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGClient::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGClient.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 159; } }; extern TGClient *gClient; # 27 "VBFStudy.h" 2 # 1 "/products/root_522/include/root/TGButton.h" 1 # 48 "/products/root_522/include/root/TGButton.h" # 1 "/products/root_522/include/root/TGFrame.h" 1 # 26 "/products/root_522/include/root/TGFrame.h" # 1 "/products/root_522/include/root/TGWindow.h" 1 # 25 "/products/root_522/include/root/TGWindow.h" # 1 "/products/root_522/include/root/TGObject.h" 1 # 33 "/products/root_522/include/root/TGObject.h" class TGClient; class TGObject : public TObject { protected: Handle_t fId; TGClient *fClient; TGObject& operator=(const TGObject& tgo) {if(this!=&tgo) { TObject::operator=(tgo); fId=tgo.fId; fClient=tgo.fClient; } return *this; } public: TGObject(): fId(0), fClient(0) { } TGObject(const TGObject& tgo): TObject(tgo), fId(tgo.fId), fClient(tgo.fClient) { } virtual ~TGObject() { } Handle_t GetId() const { return fId; } TGClient *GetClient() const { return fClient; } ULong_t Hash() const { return (ULong_t) fId >> 0; } Bool_t IsEqual(const TObject *obj) const { return fId == ((TGObject *) obj)->fId; } virtual void SaveAs(const char* filename = "", Option_t* option = "") const; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGObject::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGObject::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGObject.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 58; } }; # 26 "/products/root_522/include/root/TGWindow.h" 2 # 34 "/products/root_522/include/root/TGWindow.h" class TGClient; class TGIdleHandler; class TGWindow : public TGObject { friend class TGClient; protected: const TGWindow *fParent; Bool_t fNeedRedraw; TString fName; static Int_t fgCounter; UInt_t fEditDisabled; TGWindow(Window_t id) : fParent(0), fNeedRedraw(kFALSE), fName(), fEditDisabled(0) { fClient = 0; fId = id; } TGWindow(const TGWindow& tgw) : TGObject(tgw), fParent(tgw.fParent), fNeedRedraw(tgw.fNeedRedraw), fName(tgw.fName), fEditDisabled(tgw.fEditDisabled) { } TGWindow& operator=(const TGWindow& tgw) { if (this!=&tgw) { TGObject::operator=(tgw); fParent=tgw.fParent; fNeedRedraw=tgw.fNeedRedraw; fName=tgw.fName; fEditDisabled=tgw.fEditDisabled; } return *this; } virtual void DoRedraw() { } public: enum EEditMode { kEditEnable = 0, kEditDisable = (1 << (0)), kEditDisableEvents = (1 << (1)), kEditDisableGrab = (1 << (2)), kEditDisableLayout = (1 << (3)), kEditDisableResize = (1 << (4)), kEditDisableHeight = (1 << (5)), kEditDisableWidth = (1 << (6)), kEditDisableBtnEnable = (1 << (7)), kEditDisableKeyEnable = (1 << (8)) }; TGWindow(const TGWindow *p = 0, Int_t x = 0, Int_t y = 0, UInt_t w = 0, UInt_t h = 0, UInt_t border = 0, Int_t depth = 0, UInt_t clss = 0, void *visual = 0, SetWindowAttributes_t *attr = 0, UInt_t wtype = 0); TGWindow(TGClient *c, Window_t id, const TGWindow *parent = 0); virtual ~TGWindow(); const TGWindow *GetParent() const { return fParent; } virtual const TGWindow *GetMainFrame() const; virtual void MapWindow() { (TVirtualX::Instance())->MapWindow(fId); } virtual void MapSubwindows() { (TVirtualX::Instance())->MapSubwindows(fId); } virtual void MapRaised() { (TVirtualX::Instance())->MapRaised(fId); } virtual void UnmapWindow() { (TVirtualX::Instance())->UnmapWindow(fId); } virtual void DestroyWindow() { (TVirtualX::Instance())->DestroyWindow(fId); } virtual void DestroySubwindows() { (TVirtualX::Instance())->DestroySubwindows(fId); } virtual void RaiseWindow() { (TVirtualX::Instance())->RaiseWindow(fId); } virtual void LowerWindow() { (TVirtualX::Instance())->LowerWindow(fId); } virtual void IconifyWindow() { (TVirtualX::Instance())->IconifyWindow(fId); } virtual void ReparentWindow(const TGWindow *p, Int_t x = 0, Int_t y = 0); virtual void RequestFocus() { (TVirtualX::Instance())->SetInputFocus(fId); } virtual void SetBackgroundColor(Pixel_t color) { (TVirtualX::Instance())->SetWindowBackground(fId, color); } virtual void SetBackgroundPixmap(Pixmap_t pixmap) { (TVirtualX::Instance())->SetWindowBackgroundPixmap(fId, pixmap); } virtual Bool_t HandleExpose(Event_t *event) { if (event->fCount == 0) fClient->NeedRedraw(this); return kTRUE; } virtual Bool_t HandleEvent(Event_t *) { return kFALSE; } virtual Bool_t HandleTimer(TTimer *) { return kFALSE; } virtual Bool_t HandleIdleEvent(TGIdleHandler *) { return kFALSE; } virtual void Move(Int_t x, Int_t y); virtual void Resize(UInt_t w, UInt_t h); virtual void MoveResize(Int_t x, Int_t y, UInt_t w, UInt_t h); virtual Bool_t IsMapped(); virtual Bool_t IsEditable() const { return (fClient->GetRoot() == this); } virtual UInt_t GetEditDisabled() const { return fEditDisabled; } virtual void SetEditDisabled(UInt_t on = kEditDisable) { fEditDisabled = on; } virtual void SetEditable(Bool_t on = kTRUE) { if (!(fEditDisabled & kEditDisable)) fClient->SetRoot(on ? this : 0); } virtual Int_t MustCleanup() const { return 0; } virtual void Print(Option_t *option="") const; virtual void SetWindowName(const char *name = 0); virtual const char *GetName() const; virtual void SetName(const char *name) { fName = name; } virtual void SetMapSubwindows(Bool_t ) { } virtual Bool_t IsMapSubwindows() const { return kTRUE; } static Int_t GetCounter(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TGWindow::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGWindow::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGWindow.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 134; } }; # 147 "/products/root_522/include/root/TGWindow.h" class TGUnknownWindowHandler : public TObject { public: TGUnknownWindowHandler() { } virtual ~TGUnknownWindowHandler() { } virtual Bool_t HandleEvent(Event_t *) = 0; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGUnknownWindowHandler::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGUnknownWindowHandler::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGWindow.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 155; } }; # 27 "/products/root_522/include/root/TGFrame.h" 2 # 1 "/products/root_522/include/root/TGDimension.h" 1 # 29 "/products/root_522/include/root/TGDimension.h" class TGDimension { public: UInt_t fWidth; UInt_t fHeight; TGDimension(): fWidth(0), fHeight(0) { } TGDimension(UInt_t width, UInt_t height): fWidth(width), fHeight(height) { } TGDimension(const TGDimension &d): fWidth(d.fWidth), fHeight(d.fHeight) { } virtual ~TGDimension() { } Bool_t operator==(const TGDimension &b) const { return ((fWidth == b.fWidth) && (fHeight == b.fHeight)); } TGDimension operator-(const TGDimension &b) const { return TGDimension(fWidth - b.fWidth, fHeight - b.fHeight); } TGDimension operator+(const TGDimension &b) const { return TGDimension(fWidth + b.fWidth, fHeight + b.fHeight); } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGDimension::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGDimension::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGDimension.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 46; } }; class TGPosition { public: Int_t fX; Int_t fY; TGPosition(): fX(0), fY(0) { } TGPosition(Int_t xc, Int_t yc): fX(xc), fY(yc) { } TGPosition(const TGPosition &p): fX(p.fX), fY(p.fY) { } virtual ~TGPosition() { } Bool_t operator==(const TGPosition &b) const { return ((fX == b.fX) && (fY == b.fY)); } TGPosition operator-(const TGPosition &b) const { return TGPosition(fX - b.fX, fY - b.fY); } TGPosition operator+(const TGPosition &b) const { return TGPosition(fX + b.fX, fY + b.fY); } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGPosition::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGPosition::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGDimension.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 67; } }; class TGLongPosition { public: Long_t fX; Long_t fY; TGLongPosition(): fX(0), fY(0) { } TGLongPosition(Long_t xc, Long_t yc): fX(xc), fY(yc) { } TGLongPosition(const TGLongPosition &p): fX(p.fX), fY(p.fY) { } virtual ~TGLongPosition() { } Bool_t operator==(const TGLongPosition &b) const { return ((fX == b.fX) && (fY == b.fY)); } TGLongPosition operator-(const TGLongPosition &b) const { return TGLongPosition(fX - b.fX, fY - b.fY); } TGLongPosition operator+(const TGLongPosition &b) const { return TGLongPosition(fX + b.fX, fY + b.fY); } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGLongPosition::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGLongPosition::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGDimension.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 88; } }; class TGInsets { public: Int_t fL; Int_t fR; Int_t fT; Int_t fB; TGInsets(): fL(0), fR(0), fT(0), fB(0) { } TGInsets(Int_t lf, Int_t rg, Int_t tp, Int_t bt): fL(lf), fR(rg), fT(tp), fB(bt) { } TGInsets(const TGInsets &in): fL(in.fL), fR(in.fR), fT(in.fT), fB(in.fB) { } virtual ~TGInsets() { } Bool_t operator==(const TGInsets &in) const { return ((fL == in.fL) && (fR == in.fR) && (fT == in.fT) && (fB == in.fB)); } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGInsets::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGInsets::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGDimension.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 109; } }; class TGRectangle { public: Int_t fX; Int_t fY; UInt_t fW; UInt_t fH; TGRectangle(): fX(0), fY(0), fW(0), fH(0) { Empty(); } TGRectangle(Int_t rx, Int_t ry, UInt_t rw, UInt_t rh): fX(rx), fY(ry), fW(rw), fH(rh) { } TGRectangle(const TGPosition &p, const TGDimension &d): fX(p.fX), fY(p.fY), fW(d.fWidth), fH(d.fHeight) { } TGRectangle(const TGRectangle &r): fX(r.fX), fY(r.fY), fW(r.fW), fH(r.fH) { } virtual ~TGRectangle() { } Bool_t Contains(Int_t px, Int_t py) const { return ((px >= fX) && (px < fX + (Int_t) fW) && (py >= fY) && (py < fY + (Int_t) fH)); } Bool_t Contains(const TGPosition &p) const { return ((p.fX >= fX) && (p.fX < fX + (Int_t) fW) && (p.fY >= fY) && (p.fY < fY + (Int_t) fH)); } Bool_t Intersects(const TGRectangle &r) const { return ((fX <= r.fX + (Int_t) r.fW - 1) && (fX + (Int_t) fW - 1 >= r.fX) && (fY <= r.fY + (Int_t) r.fH - 1) && (fY + (Int_t) fH - 1 >= r.fY)); } Int_t Area() const { return (fW * fH); } TGDimension Size() const { return TGDimension(fW, fH); } TGPosition LeftTop() const { return TGPosition(fX, fY); } TGPosition RightBottom() const { return TGPosition(fX + (Int_t) fW - 1, fY + (Int_t) fH - 1); } void Merge(const TGRectangle &r); void Empty() { fX = fY = 0; fW = fH = 0; } Bool_t IsEmpty() const { return ((fW == 0) && (fH == 0)); } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGRectangle::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGRectangle::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGDimension.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 152; } }; # 33 "/products/root_522/include/root/TGFrame.h" 2 # 1 "/products/root_522/include/root/TGGC.h" 1 # 32 "/products/root_522/include/root/TGGC.h" class THashTable; class TGGC : public TObject, public TRefCnt { friend class TGGCPool; protected: GCValues_t fValues; GContext_t fContext; TGGC(GCValues_t *values, Bool_t calledByGCPool); void UpdateValues(GCValues_t *v); TString GetMaskString() const; public: TGGC(GCValues_t *values = 0); TGGC(const TGGC &g); virtual ~TGGC(); TGGC &operator=(const TGGC &rhs); GContext_t GetGC() const { return fContext; } GContext_t operator()() const; void SetAttributes(GCValues_t *values); void SetFunction(EGraphicsFunction v); void SetPlaneMask(ULong_t v); void SetForeground(Pixel_t v); void SetBackground(Pixel_t v); void SetLineWidth(Int_t v); void SetLineStyle(Int_t v); void SetCapStyle(Int_t v); void SetJoinStyle(Int_t v); void SetFillStyle(Int_t v); void SetFillRule(Int_t v); void SetTile(Pixmap_t v); void SetStipple(Pixmap_t v); void SetTileStipXOrigin(Int_t v); void SetTileStipYOrigin(Int_t v); void SetFont(FontH_t v); void SetSubwindowMode(Int_t v); void SetGraphicsExposures(Bool_t v); void SetClipXOrigin(Int_t v); void SetClipYOrigin(Int_t v); void SetClipMask(Pixmap_t v); void SetDashOffset(Int_t v); void SetDashList(const char v[], Int_t len); void SetArcMode(Int_t v); const GCValues_t *GetAttributes() const { return &fValues; } Mask_t GetMask() const { return fValues.fMask; } EGraphicsFunction GetFunction() const { return fValues.fFunction; } ULong_t GetPlaneMask() const { return fValues.fPlaneMask; } Pixel_t GetForeground() const { return fValues.fForeground; } Pixel_t GetBackground() const { return fValues.fBackground; } Int_t GetLineWidth() const { return fValues.fLineWidth; } Int_t GetLineStyle() const { return fValues.fLineStyle; } Pixmap_t GetTile() const { return fValues.fTile; } Pixmap_t GetStipple() const { return fValues.fStipple; } Int_t GetTileStipXOrigin() const { return fValues.fTsXOrigin; } Int_t GetTileStipYOrigin() const { return fValues.fTsYOrigin; } Int_t GetSubwindowMode() const { return fValues.fSubwindowMode; } FontH_t GetFont() const { return fValues.fFont; } Bool_t GetGraphicsExposures() const { return fValues.fGraphicsExposures; } Int_t GetClipXOrigin() const { return fValues.fClipXOrigin; } Int_t GetClipYOrigin() const { return fValues.fClipYOrigin; } Pixmap_t GetClipMask() const { return fValues.fClipMask; } Int_t GetCapStyle() const { return fValues.fCapStyle; } Int_t GetJoinStyle() const { return fValues.fJoinStyle; } Int_t GetFillStyle() const { return fValues.fFillStyle; } Int_t GetFillRule() const { return fValues.fFillRule; } Int_t GetDashOffset() const { return fValues.fDashOffset; } Int_t GetDashLen() const { return fValues.fDashLen; } const char *GetDashes() const { return fValues.fDashes; } Int_t GetArcMode() const { return fValues.fArcMode; } void Print(Option_t *option="") const; void SavePrimitive(ostream &out, Option_t *option = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGGC::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGGC::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGGC.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 112; } }; class TGGCPool : public TGObject { friend class TGGC; private: THashTable *fList; void ForceFreeGC(const TGGC *gc); Int_t MatchGC(const TGGC *gc, GCValues_t *values); void UpdateGC(TGGC *gc, GCValues_t *values); protected: TGGCPool(const TGGCPool& gp) : TGObject(gp), fList(gp.fList) { } TGGCPool& operator=(const TGGCPool& gp) {if(this!=&gp) {TGObject::operator=(gp); fList=gp.fList;} return *this;} public: TGGCPool(TGClient *client); virtual ~TGGCPool(); TGGC *GetGC(GCValues_t *values, Bool_t rw = kFALSE); TGGC *GetGC(GContext_t gct); void FreeGC(const TGGC *gc); void FreeGC(GContext_t gc); TGGC *FindGC(const TGGC *gc); TGGC *FindGC(GContext_t gc); void Print(Option_t *option="") const; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGGCPool::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGGCPool::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGGC.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 147; } }; # 36 "/products/root_522/include/root/TGFrame.h" 2 # 1 "/products/root_522/include/root/TGFont.h" 1 # 35 "/products/root_522/include/root/TGFont.h" class THashTable; class TObjString; class TGFont; enum ETextLayoutFlags { kTextWholeWords = (1 << (0)), kTextAtLeastOne = (1 << (1)), kTextPartialOK = (1 << (2)), kTextIgnoreTabs = (1 << (3)), kTextIgnoreNewlines = (1 << (4)) }; enum EFontWeight { kFontWeightNormal = 0, kFontWeightMedium = 0, kFontWeightBold = 1, kFontWeightLight = 2, kFontWeightDemibold = 3, kFontWeightBlack = 4, kFontWeightUnknown = -1 }; enum EFontSlant { kFontSlantRoman = 0, kFontSlantItalic = 1, kFontSlantOblique = 2, kFontSlantUnknown = -1 }; struct FontMetrics_t { Int_t fAscent; Int_t fDescent; Int_t fLinespace; Int_t fMaxWidth; Bool_t fFixed; }; struct FontAttributes_t { const char *fFamily; Int_t fPointsize; Int_t fWeight; Int_t fSlant; Int_t fUnderline; Int_t fOverstrike; FontAttributes_t(): fFamily (0), fPointsize (0), fWeight (kFontWeightNormal), fSlant (kFontSlantRoman), fUnderline (0), fOverstrike(0) { } FontAttributes_t(const FontAttributes_t& f): fFamily (f.fFamily), fPointsize (f.fPointsize), fWeight (f.fWeight), fSlant (f.fSlant), fUnderline (f.fUnderline), fOverstrike(f.fOverstrike) { } FontAttributes_t& operator=(const FontAttributes_t& f) { fFamily = f.fFamily; fPointsize = f.fPointsize; fWeight = f.fWeight; fSlant = f.fSlant; fUnderline = f.fUnderline; fOverstrike = f.fOverstrike; return *this; } }; struct LayoutChunk_t; class TGTextLayout : public TObject { friend class TGFont; protected: const TGFont *fFont; const char *fString; Int_t fWidth; Int_t fNumChunks; LayoutChunk_t *fChunks; TGTextLayout(const TGTextLayout &tlayout); void operator=(const TGTextLayout &tlayout); public: TGTextLayout(): fFont(__null), fString(""), fWidth(0), fNumChunks(0), fChunks(__null) {} virtual ~TGTextLayout(); void DrawText(Drawable_t dst, GContext_t gc, Int_t x, Int_t y, Int_t firstChar, Int_t lastChar) const; void UnderlineChar(Drawable_t dst, GContext_t gc, Int_t x, Int_t y, Int_t underline) const; Int_t PointToChar(Int_t x, Int_t y) const; Int_t CharBbox(Int_t index, Int_t *x, Int_t *y, Int_t *w, Int_t *h) const; Int_t DistanceToText(Int_t x, Int_t y) const; Int_t IntersectText(Int_t x, Int_t y, Int_t w, Int_t h) const; void ToPostscript(TString *dst) const; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGTextLayout::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGTextLayout::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGFont.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 147; } }; class TGFont : public TNamed, public TRefCnt { friend class TGFontPool; friend class TGTextLayout; private: FontStruct_t fFontStruct; FontH_t fFontH; FontMetrics_t fFM; FontAttributes_t fFA; TObjString *fNamedHash; Int_t fTabWidth; Int_t fUnderlinePos; Int_t fUnderlineHeight; char fTypes[256]; Int_t fWidths[256]; Int_t fBarHeight; protected: TGFont(const char *name) : TNamed(name,""), TRefCnt(), fFontStruct(0), fFontH(0), fFM(), fFA(), fNamedHash(0), fTabWidth(0), fUnderlinePos(0), fUnderlineHeight(0), fBarHeight(0) { SetRefCount(1); } TGFont(const TGFont &font); void operator=(const TGFont &font); LayoutChunk_t *NewChunk(TGTextLayout *layout, int *maxPtr, const char *start, int numChars, int curX, int newX, int y) const; public: virtual ~TGFont(); FontH_t GetFontHandle() const { return fFontH; } FontStruct_t GetFontStruct() const { return fFontStruct; } FontStruct_t operator()() const; void GetFontMetrics(FontMetrics_t *m) const; FontAttributes_t GetFontAttributes() const { return fFA; } Int_t PostscriptFontName(TString *dst) const; Int_t TextWidth(const char *string, Int_t numChars = -1) const; Int_t XTextWidth(const char *string, Int_t numChars = -1) const; Int_t TextHeight() const { return fFM.fLinespace; } void UnderlineChars(Drawable_t dst, GContext_t gc, const char *string, Int_t x, Int_t y, Int_t firstChar, Int_t lastChar) const; TGTextLayout *ComputeTextLayout(const char *string, Int_t numChars, Int_t wrapLength, Int_t justify, Int_t flags, UInt_t *width, UInt_t *height) const; Int_t MeasureChars(const char *source, Int_t numChars, Int_t maxLength, Int_t flags, Int_t *length) const; void DrawCharsExp(Drawable_t dst, GContext_t gc, const char *source, Int_t numChars, Int_t x, Int_t y) const; void DrawChars(Drawable_t dst, GContext_t gc, const char *source, Int_t numChars, Int_t x, Int_t y) const; void Print(Option_t *option="") const; virtual void SavePrimitive(ostream &out, Option_t * = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGFont::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGFont::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGFont.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 218; } }; struct FontStateMap_t; struct XLFDAttributes_t; class TGFontPool : public TGObject { private: THashTable *fList; THashTable *fUidTable; THashTable *fNamedTable; TGFontPool(const TGFontPool& fp); TGFontPool& operator=(const TGFontPool& fp); protected: const char *GetUid(const char *string); Bool_t ParseXLFD(const char *string, XLFDAttributes_t *xa); TGFont *GetFontFromAttributes(FontAttributes_t *fa, TGFont *fontPtr); int FindStateNum(const FontStateMap_t *map, const char *strKey); const char *FindStateString(const FontStateMap_t *map, int numKey); Bool_t FieldSpecified(const char *field); TGFont *GetNativeFont(const char *name, Bool_t fixedDefault = kTRUE); TGFont *MakeFont(TGFont *font, FontStruct_t fontStruct, const char *fontName); public: TGFontPool(TGClient *client); virtual ~TGFontPool(); TGFont *GetFont(const char *font, Bool_t fixedDefault = kTRUE); TGFont *GetFont(const TGFont *font); TGFont *GetFont(FontStruct_t font); TGFont *GetFont(const char *family, Int_t ptsize, Int_t weight, Int_t slant); void FreeFont(const TGFont *font); TGFont *FindFont(FontStruct_t font) const; TGFont *FindFontByHandle(FontH_t font) const; char **GetAttributeInfo(const FontAttributes_t *fa); void FreeAttributeInfo(char **info); char **GetFontFamilies(); void FreeFontFamilies(char **f); Bool_t ParseFontName(const char *string, FontAttributes_t *fa); const char *NameOfFont(TGFont *font); void Print(Option_t *option="") const; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGFontPool::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGFontPool::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGFont.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 269; } }; # 39 "/products/root_522/include/root/TGFrame.h" 2 # 1 "/products/root_522/include/root/TGLayout.h" 1 # 35 "/products/root_522/include/root/TGLayout.h" enum ELayoutHints { kLHintsNoHints = 0, kLHintsLeft = (1 << (0)), kLHintsCenterX = (1 << (1)), kLHintsRight = (1 << (2)), kLHintsTop = (1 << (3)), kLHintsCenterY = (1 << (4)), kLHintsBottom = (1 << (5)), kLHintsExpandX = (1 << (6)), kLHintsExpandY = (1 << (7)), kLHintsNormal = (kLHintsLeft | kLHintsTop) }; class TGFrame; class TGCompositeFrame; class TGLayoutHints; class TList; class TGFrameElement; # 63 "/products/root_522/include/root/TGLayout.h" class TGLayoutHints : public TObject, public TRefCnt { friend class TGFrameElement; friend class TGCompositeFrame; private: TGFrameElement *fFE; TGFrameElement *fPrev; TGLayoutHints& operator=(const TGLayoutHints&); protected: ULong_t fLayoutHints; Int_t fPadtop; Int_t fPadbottom; Int_t fPadleft; Int_t fPadright; void UpdateFrameElements(TGLayoutHints *l); public: TGLayoutHints(ULong_t hints = kLHintsNormal, Int_t padleft = 0, Int_t padright = 0, Int_t padtop = 0, Int_t padbottom = 0): fFE(0), fPrev(0), fLayoutHints(hints), fPadtop(padtop), fPadbottom(padbottom), fPadleft(padleft), fPadright(padright) { SetRefCount(0); } TGLayoutHints(const TGLayoutHints &lh); virtual ~TGLayoutHints(); ULong_t GetLayoutHints() const { return fLayoutHints; } Int_t GetPadTop() const { return fPadtop; } Int_t GetPadBottom() const { return fPadbottom; } Int_t GetPadLeft() const { return fPadleft; } Int_t GetPadRight() const { return fPadright; } virtual void SetLayoutHints(ULong_t lh) { fLayoutHints = lh; } virtual void SetPadTop(Int_t v) { fPadtop = v; } virtual void SetPadBottom(Int_t v) { fPadbottom = v; } virtual void SetPadLeft(Int_t v) { fPadleft = v; } virtual void SetPadRight(Int_t v) { fPadright = v; } void Print(Option_t* option = "") const; void ls(Option_t* option = "") const { Print(option); } virtual void SavePrimitive(ostream &out, Option_t *option = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGLayoutHints::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGLayoutHints::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGLayout.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 112; } }; class TGFrameElement : public TObject { private: TGFrameElement(const TGFrameElement&); TGFrameElement& operator=(const TGFrameElement&); public: TGFrame *fFrame; Int_t fState; TGLayoutHints *fLayout; TGFrameElement() : fFrame(0), fState(0), fLayout(0) { } TGFrameElement(TGFrame *f, TGLayoutHints *l); ~TGFrameElement(); void Print(Option_t* option = "") const; void ls(Option_t* option = "") const { Print(option); } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGFrameElement::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGFrameElement::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGLayout.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 136; }; }; # 148 "/products/root_522/include/root/TGLayout.h" class TGLayoutManager : public TObject { protected: Bool_t fModified; public: TGLayoutManager() : fModified(kTRUE) {} virtual void Layout() = 0; virtual TGDimension GetDefaultSize() const = 0; virtual void SetDefaultWidth(UInt_t ) {} virtual void SetDefaultHeight(UInt_t ) {} virtual Bool_t IsModified() const { return fModified; } virtual void SetModified(Bool_t flag = kTRUE) { fModified = flag; } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGLayoutManager::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGLayoutManager::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGLayout.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 162; } }; # 172 "/products/root_522/include/root/TGLayout.h" class TGVerticalLayout : public TGLayoutManager { protected: TGCompositeFrame *fMain; TList *fList; TGVerticalLayout(const TGVerticalLayout& gvl) : TGLayoutManager(gvl), fMain(gvl.fMain), fList(gvl.fList) { } TGVerticalLayout& operator=(const TGVerticalLayout& gvl) {if(this!=&gvl) { TGLayoutManager::operator=(gvl); fMain=gvl.fMain; fList=gvl.fList;} return *this;} public: TGVerticalLayout(TGCompositeFrame *main); virtual void Layout(); virtual TGDimension GetDefaultSize() const; virtual void SavePrimitive(ostream &out, Option_t * = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGVerticalLayout::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGVerticalLayout::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGLayout.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 191; } }; class TGHorizontalLayout : public TGVerticalLayout { public: TGHorizontalLayout(TGCompositeFrame *main) : TGVerticalLayout(main) { } virtual void Layout(); virtual TGDimension GetDefaultSize() const; virtual void SavePrimitive(ostream &out, Option_t * = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGHorizontalLayout::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGHorizontalLayout::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGLayout.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 202; } }; # 214 "/products/root_522/include/root/TGLayout.h" class TGRowLayout : public TGVerticalLayout { public: Int_t fSep; TGRowLayout(TGCompositeFrame *main, Int_t s = 0) : TGVerticalLayout(main), fSep(s) { } virtual void Layout(); virtual TGDimension GetDefaultSize() const; virtual void SavePrimitive(ostream &out, Option_t * = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGRowLayout::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGRowLayout::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGLayout.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 225; } }; class TGColumnLayout : public TGRowLayout { public: TGColumnLayout(TGCompositeFrame *main, Int_t s = 0) : TGRowLayout(main, s) { } virtual void Layout(); virtual TGDimension GetDefaultSize() const; virtual void SavePrimitive(ostream &out, Option_t * = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGColumnLayout::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGColumnLayout::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGLayout.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 236; } }; # 248 "/products/root_522/include/root/TGLayout.h" class TGMatrixLayout : public TGLayoutManager { private: TGMatrixLayout(const TGMatrixLayout&); TGMatrixLayout& operator=(const TGMatrixLayout&); protected: TGCompositeFrame *fMain; TList *fList; public: Int_t fSep; Int_t fHints; UInt_t fRows; UInt_t fColumns; TGMatrixLayout(TGCompositeFrame *main, UInt_t r, UInt_t c, Int_t s=0, Int_t h=0); virtual void Layout(); virtual TGDimension GetDefaultSize() const; virtual void SavePrimitive(ostream &out, Option_t * = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGMatrixLayout::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGMatrixLayout::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGLayout.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 270; } }; # 282 "/products/root_522/include/root/TGLayout.h" class TGTileLayout : public TGLayoutManager { private: TGTileLayout(const TGTileLayout&); TGTileLayout& operator=(const TGTileLayout&); protected: Int_t fSep; TGCompositeFrame *fMain; TList *fList; Bool_t fModified; public: TGTileLayout(TGCompositeFrame *main, Int_t sep = 0); virtual void Layout(); virtual TGDimension GetDefaultSize() const; virtual Bool_t IsModified() const { return fModified; } virtual void SavePrimitive(ostream &out, Option_t * = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGTileLayout::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGTileLayout::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGLayout.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 303; } }; class TGListLayout : public TGTileLayout { public: TGListLayout(TGCompositeFrame *main, Int_t sep = 0) : TGTileLayout(main, sep) { } virtual void Layout(); virtual TGDimension GetDefaultSize() const; virtual void SavePrimitive(ostream &out, Option_t * = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGListLayout::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGListLayout::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGLayout.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 315; } }; class TGListDetailsLayout : public TGTileLayout { private: UInt_t fWidth; public: TGListDetailsLayout(TGCompositeFrame *main, Int_t sep = 0, UInt_t w = 0) : TGTileLayout(main, sep), fWidth(w) { } virtual void Layout(); virtual TGDimension GetDefaultSize() const; virtual void SetDefaultWidth(UInt_t w) { fWidth = w; } virtual void SavePrimitive(ostream &out, Option_t * = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGListDetailsLayout::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGListDetailsLayout::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGLayout.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 331; } }; # 42 "/products/root_522/include/root/TGFrame.h" 2 # 50 "/products/root_522/include/root/TGFrame.h" class TGResourcePool; class TGTextButton; class TGVFileSplitter; class TDNDData; enum EFrameState { kIsVisible = (1 << (0)), kIsMapped = kIsVisible, kIsArranged = (1 << (1)) }; enum EFrameCleanup { kNoCleanup = 0, kLocalCleanup = 1, kDeepCleanup = -1 }; enum EFrameType { kChildFrame = 0, kMainFrame = (1 << (0)), kVerticalFrame = (1 << (1)), kHorizontalFrame = (1 << (2)), kSunkenFrame = (1 << (3)), kRaisedFrame = (1 << (4)), kDoubleBorder = (1 << (5)), kFitWidth = (1 << (6)), kFixedWidth = (1 << (7)), kFitHeight = (1 << (8)), kFixedHeight = (1 << (9)), kFixedSize = (kFixedWidth | kFixedHeight), kOwnBackground = (1 << (10)), kTransientFrame = (1 << (11)), kTempFrame = (1 << (12)), kMdiMainFrame = (1 << (13)), kMdiFrame = (1 << (14)) }; enum EMWMHints { kMWMFuncAll = (1 << (0)), kMWMFuncResize = (1 << (1)), kMWMFuncMove = (1 << (2)), kMWMFuncMinimize = (1 << (3)), kMWMFuncMaximize = (1 << (4)), kMWMFuncClose = (1 << (5)), kMWMInputModeless = 0, kMWMInputPrimaryApplicationModal = 1, kMWMInputSystemModal = 2, kMWMInputFullApplicationModal = 3, kMWMDecorAll = (1 << (0)), kMWMDecorBorder = (1 << (1)), kMWMDecorResizeH = (1 << (2)), kMWMDecorTitle = (1 << (3)), kMWMDecorMenu = (1 << (4)), kMWMDecorMinimize = (1 << (5)), kMWMDecorMaximize = (1 << (6)) }; enum EDNDFlags { kIsDNDSource = (1 << (0)), kIsDNDTarget = (1 << (1)) }; # 143 "/products/root_522/include/root/TGFrame.h" class TGFrame : public TGWindow, public TQObject { protected: enum { kDeleteWindowCalled = (1 << (15)) }; Int_t fX; Int_t fY; UInt_t fWidth; UInt_t fHeight; UInt_t fMinWidth; UInt_t fMinHeight; UInt_t fMaxWidth; UInt_t fMaxHeight; Int_t fBorderWidth; UInt_t fOptions; Pixel_t fBackground; UInt_t fEventMask; Int_t fDNDState; TGFrameElement *fFE; static Bool_t fgInit; static Pixel_t fgDefaultFrameBackground; static Pixel_t fgDefaultSelectedBackground; static Pixel_t fgWhitePixel; static Pixel_t fgBlackPixel; static const TGGC *fgBlackGC; static const TGGC *fgWhiteGC; static const TGGC *fgHilightGC; static const TGGC *fgShadowGC; static const TGGC *fgBckgndGC; static Time_t fgLastClick; static UInt_t fgLastButton; static Int_t fgDbx, fgDby; static Window_t fgDbw; static UInt_t fgUserColor; static Time_t GetLastClick(); virtual void *GetSender() { return this; } virtual void Draw3dRectangle(UInt_t type, Int_t x, Int_t y, UInt_t w, UInt_t h); virtual void DoRedraw(); const TGResourcePool *GetResourcePool() const { return fClient->GetResourcePool(); } TString GetOptionString() const; virtual void StartGuiBuilding(Bool_t on = kTRUE); private: TGFrame(const TGFrame&); TGFrame& operator=(const TGFrame&); public: static Pixel_t GetDefaultFrameBackground(); static Pixel_t GetDefaultSelectedBackground(); static Pixel_t GetWhitePixel(); static Pixel_t GetBlackPixel(); static const TGGC &GetBlackGC(); static const TGGC &GetWhiteGC(); static const TGGC &GetHilightGC(); static const TGGC &GetShadowGC(); static const TGGC &GetBckgndGC(); TGFrame(const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1, UInt_t options = 0, Pixel_t back = GetDefaultFrameBackground()); TGFrame(TGClient *c, Window_t id, const TGWindow *parent = 0); virtual ~TGFrame(); virtual void DeleteWindow(); virtual void ReallyDelete() { delete this; } UInt_t GetEventMask() const { return fEventMask; } void AddInput(UInt_t emask); void RemoveInput(UInt_t emask); virtual Bool_t HandleEvent(Event_t *event); virtual Bool_t HandleConfigureNotify(Event_t *event); virtual Bool_t HandleButton(Event_t *) { return kFALSE; } virtual Bool_t HandleDoubleClick(Event_t *) { return kFALSE; } virtual Bool_t HandleCrossing(Event_t *) { return kFALSE; } virtual Bool_t HandleMotion(Event_t *) { return kFALSE; } virtual Bool_t HandleKey(Event_t *) { return kFALSE; } virtual Bool_t HandleFocusChange(Event_t *) { return kFALSE; } virtual Bool_t HandleClientMessage(Event_t *event); virtual Bool_t HandleSelection(Event_t *) { return kFALSE; } virtual Bool_t HandleSelectionRequest(Event_t *) { return kFALSE; } virtual Bool_t HandleSelectionClear(Event_t *) { return kFALSE; } virtual Bool_t HandleColormapChange(Event_t *) { return kFALSE; } virtual Bool_t HandleDragEnter(TGFrame *) { return kFALSE; } virtual Bool_t HandleDragLeave(TGFrame *) { return kFALSE; } virtual Bool_t HandleDragMotion(TGFrame *) { return kFALSE; } virtual Bool_t HandleDragDrop(TGFrame *, Int_t , Int_t , TGLayoutHints*) { return kFALSE; } virtual void ProcessedConfigure(Event_t *event) { Emit("ProcessedConfigure(Event_t*)", (Long_t)event); } virtual void ProcessedEvent(Event_t *event) { Emit("ProcessedEvent(Event_t*)", (Long_t)event); } virtual void SendMessage(const TGWindow *w, Long_t msg, Long_t parm1, Long_t parm2); virtual Bool_t ProcessMessage(Long_t, Long_t, Long_t) { return kFALSE; } virtual TGDimension GetDefaultSize() const ; virtual void Move(Int_t x, Int_t y); virtual void Resize(UInt_t w = 0, UInt_t h = 0); virtual void Resize(TGDimension size); virtual void MoveResize(Int_t x, Int_t y, UInt_t w = 0, UInt_t h = 0); virtual UInt_t GetDefaultWidth() const { return GetDefaultSize().fWidth; } virtual UInt_t GetDefaultHeight() const { return GetDefaultSize().fHeight; } virtual Pixel_t GetBackground() const { return fBackground; } virtual void ChangeBackground(Pixel_t back); virtual void SetBackgroundColor(Pixel_t back); virtual Pixel_t GetForeground() const; virtual void SetForegroundColor(Pixel_t ) { } virtual UInt_t GetOptions() const { return fOptions; } virtual void ChangeOptions(UInt_t options); virtual void Layout() { } virtual void MapSubwindows() { } virtual void ReparentWindow(const TGWindow *p, Int_t x = 0, Int_t y = 0) { TGWindow::ReparentWindow(p, x, y); Move(x, y); } virtual void MapWindow() { TGWindow::MapWindow(); if (fFE) fFE->fState |= kIsVisible; } virtual void MapRaised() { TGWindow::MapRaised(); if (fFE) fFE->fState |= kIsVisible; } virtual void UnmapWindow() { TGWindow::UnmapWindow(); if (fFE) fFE->fState &= ~kIsVisible; } virtual void DrawBorder(); virtual void DrawCopy(Handle_t , Int_t , Int_t ) { } virtual void Activate(Bool_t) { } virtual Bool_t IsActive() const { return kFALSE; } virtual Bool_t IsComposite() const { return kFALSE; } virtual Bool_t IsEditable() const { return kFALSE; } virtual void SetEditable(Bool_t) {} virtual void SetLayoutBroken(Bool_t = kTRUE) {} virtual Bool_t IsLayoutBroken() const { return kFALSE; } virtual void SetCleanup(Int_t = kLocalCleanup) { } virtual void SetDragType(Int_t type); virtual void SetDropType(Int_t type); virtual Int_t GetDragType() const; virtual Int_t GetDropType() const; UInt_t GetWidth() const { return fWidth; } UInt_t GetHeight() const { return fHeight; } UInt_t GetMinWidth() const { return fMinWidth; } UInt_t GetMinHeight() const { return fMinHeight; } UInt_t GetMaxWidth() const { return fMaxWidth; } UInt_t GetMaxHeight() const { return fMaxHeight; } TGDimension GetSize() const { return TGDimension(fWidth, fHeight); } Int_t GetX() const { return fX; } Int_t GetY() const { return fY; } Int_t GetBorderWidth() const { return fBorderWidth; } TGFrameElement *GetFrameElement() const { return fFE; } void SetFrameElement(TGFrameElement *fe) { fFE = fe; } Bool_t Contains(Int_t x, Int_t y) const { return ((x >= 0) && (x < (Int_t)fWidth) && (y >= 0) && (y < (Int_t)fHeight)); } virtual TGFrame *GetFrameFromPoint(Int_t x, Int_t y) { return (Contains(x, y) ? this : 0); } virtual void SetX(Int_t x) { fX = x; } virtual void SetY(Int_t y) { fY = y; } virtual void SetWidth(UInt_t w) { fWidth = w; } virtual void SetHeight(UInt_t h) { fHeight = h; } virtual void SetMinWidth(UInt_t w) { fMinWidth = w; } virtual void SetMinHeight(UInt_t h) { fMinHeight = h; } virtual void SetMaxWidth(UInt_t w) { fMaxWidth = w; } virtual void SetMaxHeight(UInt_t h) { fMaxHeight = h; } virtual void SetSize(const TGDimension &s) { fWidth = s.fWidth; fHeight = s.fHeight; } virtual void Print(Option_t *option="") const; void SaveUserColor(ostream &out, Option_t *); virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void Delete(Option_t * ="") { } virtual TObject *DrawClone(Option_t * ="") const { return 0; } virtual void DrawClass() const { } virtual void Dump() const { } virtual void Inspect() const { } virtual void SetDrawOption(Option_t * ="") { } void SetDNDSource(Bool_t onoff) { if (onoff) fDNDState |= kIsDNDSource; else fDNDState &= ~kIsDNDSource; } void SetDNDTarget(Bool_t onoff) { if (onoff) fDNDState |= kIsDNDTarget; else fDNDState &= ~kIsDNDTarget; } Bool_t IsDNDSource() const { return fDNDState & kIsDNDSource; } Bool_t IsDNDTarget() const { return fDNDState & kIsDNDTarget; } virtual TDNDData *GetDNDData(Atom_t ) { return 0; } virtual Bool_t HandleDNDDrop(TDNDData * ) { return kFALSE; } virtual Atom_t HandleDNDPosition(Int_t , Int_t , Atom_t , Int_t , Int_t ) { return kNone; } virtual Atom_t HandleDNDEnter(Atom_t * ) { return kNone; } virtual Bool_t HandleDNDLeave() { return kFALSE; } virtual Bool_t HandleDNDFinished() { return kFALSE; } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGFrame::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGFrame::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGFrame.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 346; } }; # 362 "/products/root_522/include/root/TGFrame.h" class TGCompositeFrame : public TGFrame { protected: TGLayoutManager *fLayoutManager; TList *fList; Bool_t fLayoutBroken; Int_t fMustCleanup; Bool_t fMapSubwindows; static TGLayoutHints *fgDefaultHints; private: TGCompositeFrame(const TGCompositeFrame&); TGCompositeFrame& operator=(const TGCompositeFrame&); public: TGCompositeFrame(const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1, UInt_t options = 0, Pixel_t back = GetDefaultFrameBackground()); TGCompositeFrame(TGClient *c, Window_t id, const TGWindow *parent = 0); virtual ~TGCompositeFrame(); virtual TList *GetList() const { return fList; } virtual UInt_t GetDefaultWidth() const { return GetDefaultSize().fWidth; } virtual UInt_t GetDefaultHeight() const { return GetDefaultSize().fHeight; } virtual TGDimension GetDefaultSize() const { return (IsLayoutBroken() ? TGDimension(fWidth, fHeight) : fLayoutManager->GetDefaultSize()); } virtual TGFrame *GetFrameFromPoint(Int_t x, Int_t y); virtual Bool_t TranslateCoordinates(TGFrame *child, Int_t x, Int_t y, Int_t &fx, Int_t &fy); virtual void MapSubwindows(); virtual void Layout(); virtual Bool_t HandleButton(Event_t *) { return kFALSE; } virtual Bool_t HandleDoubleClick(Event_t *) { return kFALSE; } virtual Bool_t HandleCrossing(Event_t *) { return kFALSE; } virtual Bool_t HandleMotion(Event_t *) { return kFALSE; } virtual Bool_t HandleKey(Event_t *) { return kFALSE; } virtual Bool_t HandleFocusChange(Event_t *) { return kFALSE; } virtual Bool_t HandleSelection(Event_t *) { return kFALSE; } virtual Bool_t HandleDragEnter(TGFrame *); virtual Bool_t HandleDragLeave(TGFrame *); virtual Bool_t HandleDragMotion(TGFrame *); virtual Bool_t HandleDragDrop(TGFrame *frame, Int_t x, Int_t y, TGLayoutHints *lo); virtual void ChangeOptions(UInt_t options); virtual Bool_t ProcessMessage(Long_t, Long_t, Long_t) { return kFALSE; } virtual TGLayoutManager *GetLayoutManager() const { return fLayoutManager; } virtual void SetLayoutManager(TGLayoutManager *l); virtual TGFrameElement* FindFrameElement(TGFrame *f) const; virtual void AddFrame(TGFrame *f, TGLayoutHints *l = 0); virtual void RemoveAll(); virtual void RemoveFrame(TGFrame *f); virtual void ShowFrame(TGFrame *f); virtual void HideFrame(TGFrame *f); Int_t GetState(TGFrame *f) const; Bool_t IsVisible(TGFrame *f) const; Bool_t IsVisible(TGFrameElement *ptr) const { return (ptr->fState & kIsVisible); } Bool_t IsArranged(TGFrame *f) const; Bool_t IsArranged(TGFrameElement *ptr) const { return (ptr->fState & kIsArranged); } Bool_t IsComposite() const { return kTRUE; } virtual Bool_t IsEditable() const; virtual void SetEditable(Bool_t on = kTRUE); virtual void SetLayoutBroken(Bool_t on = kTRUE); virtual Bool_t IsLayoutBroken() const { return fLayoutBroken || !fLayoutManager; } virtual void SetEditDisabled(UInt_t on = 1); virtual void SetCleanup(Int_t mode = kLocalCleanup); virtual Int_t MustCleanup() const { return fMustCleanup; } virtual void Cleanup(); virtual void SetMapSubwindows(Bool_t on) { fMapSubwindows = on; } virtual Bool_t IsMapSubwindows() const { return fMapSubwindows; } virtual void Print(Option_t *option="") const; virtual void ChangeSubframesBackground(Pixel_t back); virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SavePrimitiveSubframes(ostream &out, Option_t *option = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGCompositeFrame::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGCompositeFrame::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGFrame.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 446; } }; class TGVerticalFrame : public TGCompositeFrame { public: TGVerticalFrame(const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1, UInt_t options = kChildFrame, Pixel_t back = GetDefaultFrameBackground()) : TGCompositeFrame(p, w, h, options | kVerticalFrame, back) { SetWindowName(); } virtual void SavePrimitive(ostream &out, Option_t *option = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGVerticalFrame::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGVerticalFrame::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGFrame.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 458; } }; class TGHorizontalFrame : public TGCompositeFrame { public: TGHorizontalFrame(const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1, UInt_t options = kChildFrame, Pixel_t back = GetDefaultFrameBackground()) : TGCompositeFrame(p, w, h, options | kHorizontalFrame, back) { SetWindowName(); } virtual void SavePrimitive(ostream &out, Option_t *option = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGHorizontalFrame::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGHorizontalFrame::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGFrame.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 469; } }; # 482 "/products/root_522/include/root/TGFrame.h" class TGMainFrame : public TGCompositeFrame { protected: enum { kDontCallClose = (1 << (14)) }; class TGMapKey : public TObject { private: TGMapKey(const TGMapKey&); TGMapKey& operator=(const TGMapKey&); public: UInt_t fKeyCode; TGWindow *fWindow; TGMapKey(UInt_t keycode, TGWindow *w): fKeyCode(keycode), fWindow(w) { } }; Atom_t *fDNDTypeList; TList *fBindList; TString fWindowName; TString fIconName; TString fIconPixmap; TString fClassName; TString fResourceName; UInt_t fMWMValue; UInt_t fMWMFuncs; UInt_t fMWMInput; Int_t fWMX; Int_t fWMY; UInt_t fWMWidth; UInt_t fWMHeight; UInt_t fWMMinWidth; UInt_t fWMMinHeight; UInt_t fWMMaxWidth; UInt_t fWMMaxHeight; UInt_t fWMWidthInc; UInt_t fWMHeightInc; EInitialState fWMInitState; TString GetMWMvalueString() const; TString GetMWMfuncString() const; TString GetMWMinpString() const; private: TGMainFrame(const TGMainFrame&); TGMainFrame& operator=(const TGMainFrame&); public: TGMainFrame(const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1, UInt_t options = kVerticalFrame); virtual ~TGMainFrame(); virtual Bool_t HandleKey(Event_t *event); virtual Bool_t HandleClientMessage(Event_t *event); virtual Bool_t HandleSelection(Event_t *event); virtual Bool_t HandleSelectionRequest(Event_t *event); virtual Bool_t HandleButton(Event_t *event); virtual Bool_t HandleMotion(Event_t *event); virtual void SendCloseMessage(); virtual void CloseWindow(); void DontCallClose(); void SetWindowName(const char *name = 0); void SetIconName(const char *name); const TGPicture *SetIconPixmap(const char *iconName); void SetIconPixmap(char **xpm_array); void SetClassHints(const char *className, const char *resourceName); void SetMWMHints(UInt_t value, UInt_t funcs, UInt_t input); void SetWMPosition(Int_t x, Int_t y); void SetWMSize(UInt_t w, UInt_t h); void SetWMSizeHints(UInt_t wmin, UInt_t hmin, UInt_t wmax, UInt_t hmax, UInt_t winc, UInt_t hinc); void SetWMState(EInitialState state); virtual Bool_t BindKey(const TGWindow *w, Int_t keycode, Int_t modifier) const; virtual void RemoveBind(const TGWindow *w, Int_t keycode, Int_t modifier) const; TList *GetBindList() const { return fBindList; } const char *GetWindowName() const { return fWindowName; } const char *GetIconName() const { return fIconName; } const char *GetIconPixmap() const { return fIconPixmap; } void GetClassHints(const char *&className, const char *&resourceName) const { className = fClassName.Data(); resourceName = fResourceName.Data(); } void GetMWMHints(UInt_t &value, UInt_t &funcs, UInt_t &input) const { value = fMWMValue; funcs = fMWMFuncs; input = fMWMInput; } void GetWMPosition(Int_t &x, Int_t &y) const { x = fWMX; y = fWMY; } void GetWMSize(UInt_t &w, UInt_t &h) const { w = fWMWidth; h = fWMHeight; } void GetWMSizeHints(UInt_t &wmin, UInt_t &hmin, UInt_t &wmax, UInt_t &hmax, UInt_t &winc, UInt_t &hinc) const { wmin = fWMMinWidth; hmin = fWMMinHeight; wmax = fWMMaxWidth; hmax = fWMMaxHeight; winc = fWMWidthInc; hinc = fWMHeightInc; } EInitialState GetWMState() const { return fWMInitState; } virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SaveSource(const char *filename = "Rootappl.C", Option_t *option = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGMainFrame::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGMainFrame::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGFrame.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 577; } }; # 590 "/products/root_522/include/root/TGFrame.h" class TGTransientFrame : public TGMainFrame { protected: const TGWindow *fMain; private: TGTransientFrame(const TGTransientFrame&); TGTransientFrame& operator=(const TGTransientFrame&); public: TGTransientFrame(const TGWindow *p = 0, const TGWindow *main = 0, UInt_t w = 1, UInt_t h = 1, UInt_t options = kVerticalFrame); enum EPlacement { kCenter, kLeft, kRight, kTop, kBottom, kTopLeft, kTopRight, kBottomLeft, kBottomRight }; virtual void CenterOnParent(Bool_t croot = kTRUE, EPlacement pos = kCenter); const TGWindow *GetMain() const { return fMain; } virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SaveSource(const char *filename = "Rootdlog.C", Option_t *option = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGTransientFrame::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGTransientFrame::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGFrame.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 610; } }; # 624 "/products/root_522/include/root/TGFrame.h" class TGGroupFrame : public TGCompositeFrame { protected: TGString *fText; FontStruct_t fFontStruct; GContext_t fNormGC; Int_t fTitlePos; Bool_t fHasOwnFont; virtual void DoRedraw(); static const TGFont *fgDefaultFont; static const TGGC *fgDefaultGC; private: TGGroupFrame(const TGGroupFrame&); TGGroupFrame& operator=(const TGGroupFrame&); public: enum ETitlePos { kLeft = -1, kCenter = 0, kRight = 1 }; static FontStruct_t GetDefaultFontStruct(); static const TGGC &GetDefaultGC(); TGGroupFrame(const TGWindow *p, TGString *title, UInt_t options = kVerticalFrame, GContext_t norm = GetDefaultGC()(), FontStruct_t font = GetDefaultFontStruct(), Pixel_t back = GetDefaultFrameBackground()); TGGroupFrame(const TGWindow *p = 0, const char *title = 0, UInt_t options = kVerticalFrame, GContext_t norm = GetDefaultGC()(), FontStruct_t font = GetDefaultFontStruct(), Pixel_t back = GetDefaultFrameBackground()); virtual ~TGGroupFrame(); virtual TGDimension GetDefaultSize() const; virtual void DrawBorder(); virtual void SetTitle(TGString *title); virtual void SetTitle(const char *title); virtual void Rename(const char *title) { SetTitle(title); } Int_t GetTitlePos() const { return fTitlePos; } virtual void SetTitlePos(ETitlePos pos = kLeft) { fTitlePos = pos; } virtual void SetTextColor(Pixel_t color, Bool_t local = kTRUE); virtual void SetTextFont(const char *fontName, Bool_t local = kTRUE); virtual void SetTextFont(FontStruct_t font, Bool_t local = kTRUE); GContext_t GetNormGC() const { return fNormGC; } FontStruct_t GetFontStruct() const { return fFontStruct; } virtual const char *GetTitle() const { return fText->GetString(); } Bool_t HasOwnFont() const; virtual void SavePrimitive(ostream &out, Option_t *option = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGGroupFrame::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGGroupFrame::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGFrame.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 678; } }; # 690 "/products/root_522/include/root/TGFrame.h" class TGHeaderFrame : public TGHorizontalFrame { private: TGHeaderFrame(const TGHeaderFrame&); TGHeaderFrame& operator=(const TGHeaderFrame&); protected: Int_t fNColumns; TGTextButton **fColHeader; TGVFileSplitter **fSplitHeader; Cursor_t fSplitCursor; Bool_t fOverSplitter; Int_t fOverButton; Int_t fLastButton; public: TGHeaderFrame(const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1, UInt_t options = kChildFrame, Pixel_t back = GetDefaultFrameBackground()); virtual Bool_t HandleButton(Event_t* event); virtual Bool_t HandleMotion(Event_t* event); virtual Bool_t HandleDoubleClick(Event_t *event); void SetColumnsInfo(Int_t nColumns, TGTextButton **colHeader, TGVFileSplitter **splitHeader); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGHeaderFrame::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGHeaderFrame::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGFrame.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 715; } }; # 49 "/products/root_522/include/root/TGButton.h" 2 # 1 "/products/root_522/include/root/TGWidget.h" 1 # 33 "/products/root_522/include/root/TGWidget.h" # 1 "/products/root_522/include/root/WidgetMessageTypes.h" 1 # 29 "/products/root_522/include/root/WidgetMessageTypes.h" enum EWidgetMessageTypes { kC_COMMAND = 1, kCM_MENU = 1, kCM_MENUSELECT = 2, kCM_BUTTON = 3, kCM_CHECKBUTTON = 4, kCM_RADIOBUTTON = 5, kCM_LISTBOX = 6, kCM_COMBOBOX = 7, kCM_TAB = 8, kC_HSCROLL = 2, kC_VSCROLL = 3, kSB_LINEUP = 1, kSB_LINEDOWN = 2, kSB_PAGEUP = 3, kSB_PAGEDOWN = 4, kSB_SLIDERTRACK = 5, kSB_SLIDERPOS = 6, kC_TEXTENTRY = 4, kTE_TEXTCHANGED = 1, kTE_ENTER = 2, kTE_TAB = 3, kTE_KEY = 4, kC_CONTAINER = 5, kCT_ITEMCLICK = 1, kCT_ITEMDBLCLICK = 2, kCT_SELCHANGED = 3, kCT_KEY = 4, kC_HSLIDER = 6, kC_VSLIDER = 7, kSL_POS = 1, kSL_TRACK = 2, kSL_PRESS = 3, kSL_RELEASE = 4, kSL_POINTER = 5, kC_LISTTREE = 8, kC_TEXTVIEW = 9, kTXT_ISMARKED = 1, kTXT_DATACHANGE = 2, kTXT_CLICK2 = 3, kTXT_CLICK3 = 4, kTXT_F3 = 5, kTXT_OPEN = 6, kTXT_CLOSE = 7, kTXT_SAVE = 8, kC_COLORSEL = 10, kCOL_CLICK = 1, kCOL_SELCHANGED = 2, kC_PATTERNSEL = 11, kPAT_CLICK = 1, kPAT_SELCHANGED = 2, kC_MARKERSEL = 12, kMAR_CLICK = 1, kMAR_SELCHANGED = 2, kC_POPUP = 13, kPOP_HIDE = 1, kC_DOCK = 14, kDOCK_DOCK = 1, kDOCK_UNDOCK = 2, kDOCK_SHOW = 3, kDOCK_HIDE = 4, kC_MDI = 15, kMDI_CURRENT = 1, kMDI_CREATE = 2, kMDI_CLOSE = 4, kMDI_RESTORE = 8, kMDI_MOVE = 16, kMDI_SIZE = 32, kMDI_MINIMIZE = 64, kMDI_MAXIMIZE = 128, kMDI_HELP = 256, kMDI_MENU = 512, kC_USER = 1001, kC_MSGMAX = 10000 }; inline Int_t MK_MSG(EWidgetMessageTypes msg, EWidgetMessageTypes submsg) { return (msg << 8) + submsg; } inline Int_t GET_MSG(Long_t val) { return Int_t(val >> 8); } inline Int_t GET_SUBMSG(Long_t val) { return Int_t(val & 255); } # 34 "/products/root_522/include/root/TGWidget.h" 2 enum ETextJustification { kTextLeft = (1 << (0)), kTextRight = (1 << (1)), kTextCenterX = (1 << (2)), kTextTop = (1 << (3)), kTextBottom = (1 << (4)), kTextCenterY = (1 << (5)) }; enum EWidgetStatus { kWidgetWantFocus = (1 << (0)), kWidgetHasFocus = (1 << (1)), kWidgetIsEnabled = (1 << (2)) }; class TGWindow; class TGWidget { protected: Int_t fWidgetId; Int_t fWidgetFlags; const TGWindow *fMsgWindow; TString fCommand; TGWidget(const TGWidget& tgw): fWidgetId(tgw.fWidgetId), fWidgetFlags(tgw.fWidgetFlags), fMsgWindow(tgw.fMsgWindow), fCommand(tgw.fCommand) { } TGWidget& operator=(const TGWidget& tgw) { if(this!=&tgw) { fWidgetId=tgw.fWidgetId; fWidgetFlags=tgw.fWidgetFlags; fMsgWindow=tgw.fMsgWindow; fCommand=tgw.fCommand; } return *this; } Int_t SetFlags(Int_t flags) { return fWidgetFlags |= flags; } Int_t ClearFlags(Int_t flags) { return fWidgetFlags &= ~flags; } public: TGWidget(): fWidgetId(-1), fWidgetFlags(0), fMsgWindow(0), fCommand() { } TGWidget(Int_t id): fWidgetId(id), fWidgetFlags(0), fMsgWindow(0), fCommand() { } virtual ~TGWidget() { } Int_t WidgetId() const { return fWidgetId; } Bool_t IsEnabled() const { return (Bool_t)((fWidgetFlags & kWidgetIsEnabled) != 0); } Bool_t HasFocus() const { return (Bool_t)((fWidgetFlags & kWidgetHasFocus) != 0); } Bool_t WantFocus() const { return (Bool_t)((fWidgetFlags & kWidgetWantFocus) != 0); } virtual void Associate(const TGWindow *w) { fMsgWindow = w; } virtual void SetCommand(const char *command) { fCommand = command; } const char *GetCommand() const { return fCommand.Data(); } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGWidget::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGWidget::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGWidget.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 94; } }; # 52 "/products/root_522/include/root/TGButton.h" 2 enum EButtonState { kButtonUp, kButtonDown, kButtonEngaged, kButtonDisabled }; class TGWidget; class TGHotString; class TGPicture; class TGToolTip; class TGButtonGroup; class TGPopupMenu; class TGTextLayout; class TGButton : public TGFrame, public TGWidget { friend class TGButtonGroup; protected: UInt_t fTWidth; UInt_t fTHeight; EButtonState fState; Bool_t fStayDown; GContext_t fNormGC; void *fUserData; TGToolTip *fTip; TGButtonGroup *fGroup; virtual void SetToggleButton(Bool_t) { } virtual void EmitSignals(Bool_t wasUp); static const TGGC *fgDefaultGC; static const TGGC *fgHibckgndGC; static Window_t fgReleaseBtn; private: TGButton(const TGButton&); TGButton& operator=(const TGButton&); public: static const TGGC &GetDefaultGC(); static const TGGC &GetHibckgndGC(); TGButton(const TGWindow *p = 0, Int_t id = -1, GContext_t norm = GetDefaultGC()(), UInt_t option = kRaisedFrame | kDoubleBorder); virtual ~TGButton(); virtual Bool_t HandleButton(Event_t *event); virtual Bool_t HandleCrossing(Event_t *event); virtual void SetUserData(void *userData) { fUserData = userData; } virtual void *GetUserData() const { return fUserData; } virtual void SetToolTipText(const char *text, Long_t delayms = 400); virtual TGToolTip *GetToolTip() const { return fTip; } virtual void SetState(EButtonState state, Bool_t emit = kFALSE); virtual EButtonState GetState() const { return fState; } virtual void AllowStayDown(Bool_t a) { fStayDown = a; } virtual void SetGroup(TGButtonGroup *gr); TGButtonGroup *GetGroup() const { return fGroup; } virtual Bool_t IsDown() const { return !(fOptions & kRaisedFrame); } virtual void SetDown(Bool_t on = kTRUE, Bool_t emit = kFALSE); virtual Bool_t IsOn() const { return IsDown(); } virtual void SetOn(Bool_t on = kTRUE, Bool_t emit = kFALSE) { SetDown(on, emit); } virtual Bool_t IsToggleButton() const { return kFALSE; } virtual Bool_t IsExclusiveToggle() const { return kFALSE; } virtual void Toggle(Bool_t emit = kFALSE) { SetDown(IsDown() ? kFALSE : kTRUE, emit); } virtual void SetEnabled(Bool_t e = kTRUE); virtual void SavePrimitive(ostream &out, Option_t *option = ""); GContext_t GetNormGC() const { return fNormGC; } virtual void Pressed() { Emit("Pressed()"); } virtual void Released() { Emit("Released()"); } virtual void Clicked() { Emit("Clicked()"); } virtual void Toggled(Bool_t on) { Emit("Toggled(Bool_t)", on); } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGButton::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGButton::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGButton.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 136; } }; class TGTextButton : public TGButton { protected: TGHotString *fLabel; Int_t fMLeft; Int_t fMRight; Int_t fMTop; Int_t fMBottom; Int_t fTMode; Int_t fWrapLength; Int_t fHKeycode; TGTextLayout *fTLayout; FontStruct_t fFontStruct; Bool_t fHasOwnFont; Bool_t fStateOn; Bool_t fPrevStateOn; static const TGFont *fgDefaultFont; void Init(); virtual void DoRedraw(); private: TGTextButton(const TGTextButton&); TGTextButton& operator=(const TGTextButton&); public: static FontStruct_t GetDefaultFontStruct(); TGTextButton(const TGWindow *p, TGHotString *s, Int_t id = -1, GContext_t norm = GetDefaultGC()(), FontStruct_t font = GetDefaultFontStruct(), UInt_t option = kRaisedFrame | kDoubleBorder); TGTextButton(const TGWindow *p = 0, const char *s = 0, Int_t id = -1, GContext_t norm = GetDefaultGC()(), FontStruct_t font = GetDefaultFontStruct(), UInt_t option = kRaisedFrame | kDoubleBorder); TGTextButton(const TGWindow *p, const char *s, const char *cmd, Int_t id = -1, GContext_t norm = GetDefaultGC()(), FontStruct_t font = GetDefaultFontStruct(), UInt_t option = kRaisedFrame | kDoubleBorder); virtual ~TGTextButton(); virtual TGDimension GetDefaultSize() const; virtual Bool_t HandleKey(Event_t *event); const TGHotString *GetText() const { return fLabel; } virtual const char *GetTitle() const { return fLabel->Data(); } TString GetString() const { return TString(fLabel->GetString()); } virtual void SetTextJustify(Int_t tmode); Int_t GetTextJustify() const { return fTMode; } virtual void SetText(TGHotString *new_label); virtual void SetText(const TString &new_label); virtual void SetTitle(const char *label) { SetText(label); } virtual void SetFont(FontStruct_t font, Bool_t global = kFALSE); virtual void SetFont(const char *fontName, Bool_t global = kFALSE); virtual void SetTextColor(Pixel_t color, Bool_t global = kFALSE); virtual void SetForegroundColor(Pixel_t fore) { SetTextColor(fore); } Bool_t HasOwnFont() const; void SetWrapLength(Int_t wl) { fWrapLength = wl; Layout(); } Int_t GetWrapLength() const { return fWrapLength; } void SetMargins(Int_t left=0, Int_t right=0, Int_t top=0, Int_t bottom=0) { fMLeft = left; fMRight = right; fMTop = top; fMBottom = bottom; } virtual void SetLeftMargin(Int_t val) { fMLeft = val; } virtual void SetRightMargin(Int_t val) { fMRight = val; } virtual void SetTopMargin(Int_t val) { fMTop = val; } virtual void SetBottomMargin(Int_t val) { fMBottom = val; } Int_t GetLeftMargin() const { return fMLeft; } Int_t GetRightMargin() const { return fMRight; } Int_t GetTopMargin() const { return fMTop; } Int_t GetBottomMargin() const { return fMBottom; } void ChangeText(const char *title) { SetTitle(title); } FontStruct_t GetFontStruct() const { return fFontStruct; } virtual void Layout(); virtual void SavePrimitive(ostream &out, Option_t *option = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGTextButton::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGTextButton::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGButton.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 222; } }; class TGPictureButton : public TGButton { protected: const TGPicture *fPic; const TGPicture *fPicD; Bool_t fOwnDisabledPic; virtual void DoRedraw(); virtual void CreateDisabledPicture(); private: TGPictureButton(const TGPictureButton&); TGPictureButton& operator=(const TGPictureButton&); public: TGPictureButton(const TGWindow *p, const TGPicture *pic, Int_t id = -1, GContext_t norm = GetDefaultGC()(), UInt_t option = kRaisedFrame | kDoubleBorder); TGPictureButton(const TGWindow *p, const TGPicture *pic, const char *cmd, Int_t id = -1, GContext_t norm = GetDefaultGC()(), UInt_t option = kRaisedFrame | kDoubleBorder); TGPictureButton(const TGWindow *p = 0, const char* pic = 0, Int_t id = -1, GContext_t norm = GetDefaultGC()(), UInt_t option = kRaisedFrame | kDoubleBorder); virtual ~TGPictureButton(); virtual void SetPicture(const TGPicture *new_pic); virtual void SetDisabledPicture(const TGPicture *pic); const TGPicture *GetPicture() const { return fPic; }; const TGPicture *GetDisabledPicture() const { return fPicD; }; virtual void SavePrimitive(ostream &out, Option_t *option = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGPictureButton::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGPictureButton::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGButton.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 258; } }; class TGCheckButton : public TGTextButton { private: TGCheckButton(const TGCheckButton&); TGCheckButton& operator=(const TGCheckButton&); protected: EButtonState fPrevState; const TGPicture *fOn; const TGPicture *fOff; const TGPicture *fDisOn; const TGPicture *fDisOff; void Init(); void PSetState(EButtonState state, Bool_t emit); virtual void DoRedraw(); virtual void EmitSignals(Bool_t wasUp = kTRUE); static const TGFont *fgDefaultFont; static const TGGC *fgDefaultGC; public: static FontStruct_t GetDefaultFontStruct(); static const TGGC &GetDefaultGC(); TGCheckButton(const TGWindow *p, TGHotString *s, Int_t id = -1, GContext_t norm = GetDefaultGC()(), FontStruct_t font = GetDefaultFontStruct(), UInt_t option = 0); TGCheckButton(const TGWindow *p = 0, const char *s = 0, Int_t id = -1, GContext_t norm = GetDefaultGC()(), FontStruct_t font = GetDefaultFontStruct(), UInt_t option = 0); TGCheckButton(const TGWindow *p, const char *s, const char *cmd, Int_t id = -1, GContext_t norm = GetDefaultGC()(), FontStruct_t font = GetDefaultFontStruct(), UInt_t option = 0); virtual ~TGCheckButton(); virtual TGDimension GetDefaultSize() const; virtual Bool_t HandleButton(Event_t *event); virtual Bool_t HandleKey(Event_t *event); virtual Bool_t HandleCrossing(Event_t *event); virtual Bool_t IsToggleButton() const { return kTRUE; } virtual Bool_t IsOn() const { return fState == kButtonDown; } virtual Bool_t IsDown() const { return fState == kButtonDown; } virtual Bool_t IsDisabledAndSelected() const { return kButtonDisabled && fStateOn; } virtual void SetDisabledAndSelected(Bool_t); virtual void SetState(EButtonState state, Bool_t emit = kFALSE); virtual void SavePrimitive(ostream &out, Option_t *option = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGCheckButton::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGCheckButton::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGButton.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 316; } }; class TGRadioButton : public TGTextButton { private: TGRadioButton(const TGRadioButton&); TGRadioButton& operator=(const TGRadioButton&); protected: EButtonState fPrevState; const TGPicture *fOn; const TGPicture *fOff; const TGPicture *fDisOn; const TGPicture *fDisOff; void Init(); void PSetState(EButtonState state, Bool_t emit); virtual void DoRedraw(); virtual void EmitSignals(Bool_t wasUp = kTRUE); static const TGFont *fgDefaultFont; static const TGGC *fgDefaultGC; public: static FontStruct_t GetDefaultFontStruct(); static const TGGC &GetDefaultGC(); TGRadioButton(const TGWindow *p, TGHotString *s, Int_t id = -1, GContext_t norm = GetDefaultGC()(), FontStruct_t font = GetDefaultFontStruct(), UInt_t option = 0); TGRadioButton(const TGWindow *p = 0, const char *s = 0, Int_t id = -1, GContext_t norm = GetDefaultGC()(), FontStruct_t font = GetDefaultFontStruct(), UInt_t option = 0); TGRadioButton(const TGWindow *p, const char *s, const char *cmd, Int_t id = -1, GContext_t norm = GetDefaultGC()(), FontStruct_t font = GetDefaultFontStruct(), UInt_t option = 0); virtual ~TGRadioButton(); virtual TGDimension GetDefaultSize() const; virtual Bool_t HandleButton(Event_t *event); virtual Bool_t HandleKey(Event_t *event); virtual Bool_t HandleCrossing(Event_t *event); virtual void SetState(EButtonState state, Bool_t emit = kFALSE); virtual void SetDisabledAndSelected(Bool_t); virtual Bool_t IsToggleButton() const { return kTRUE; } virtual Bool_t IsExclusiveToggle() const { return kTRUE; } virtual Bool_t IsOn() const { return fStateOn; } virtual Bool_t IsDown() const { return fStateOn; } virtual Bool_t IsDisabledAndSelected() const { return kButtonDisabled && fStateOn; } virtual void SavePrimitive(ostream &out, Option_t *option = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGRadioButton::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGRadioButton::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGButton.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 373; } }; class TGSplitButton : public TGTextButton { friend class TGPopupMenu; private: TGSplitButton(const TGSplitButton&); TGSplitButton& operator=(const TGSplitButton&); void CalcSize(); void DrawTriangle(const GContext_t gc, Int_t x, Int_t y); Bool_t HandleSButton(Event_t *event); Bool_t HandleSCrossing(Event_t *event); Bool_t HandleSKey(Event_t *event); void SetMenuState(Bool_t state) ; protected: Bool_t fSplit; EButtonState fMBState; UInt_t fTBWidth; UInt_t fMBWidth; TGPopupMenu *fPopMenu; Int_t fEntryId; TGHotString *fMenuLabel; Cursor_t fDefaultCursor; Bool_t fKeyNavigate; TGString fWidestLabel; TGString fHeighestLabel; virtual void DoRedraw(); void Init(); void BindKeys(Bool_t on = kTRUE); void BindMenuKeys(Bool_t on = kTRUE); public: TGSplitButton(const TGWindow *p, TGHotString *menulabel, TGPopupMenu *popmenu, Bool_t split = kTRUE, Int_t id = -1, GContext_t norm = GetDefaultGC()(), FontStruct_t fontstruct = GetDefaultFontStruct(), UInt_t option = kRaisedFrame | kDoubleBorder); virtual ~TGSplitButton(); virtual TGDimension GetDefaultSize() const ; virtual void SetText(TGHotString *new_label); virtual void SetText(const TString &new_label); virtual void SetFont(FontStruct_t font, Bool_t global = kFALSE); virtual void SetFont(const char *fontName, Bool_t global = kFALSE); virtual void SetMBState(EButtonState state); virtual void SetSplit(Bool_t split); Bool_t IsSplit() { return fSplit; } virtual Bool_t HandleButton(Event_t *event); virtual Bool_t HandleCrossing(Event_t *event); virtual Bool_t HandleKey(Event_t *event); virtual Bool_t HandleMotion(Event_t *event); virtual void Layout(); virtual void MBPressed() { Emit("MBPressed()"); } virtual void MBReleased() { Emit("MBReleased()"); } virtual void MBClicked() { Emit("MBClicked()"); } virtual void ItemClicked(Int_t id) { Emit("ItemClicked(Int_t)", id); } void HandleMenu(Int_t id) ; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGSplitButton::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGSplitButton::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGButton.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 443; } }; # 28 "VBFStudy.h" 2 # 1 "/products/root_522/include/root/TGFrame.h" 1 # 29 "VBFStudy.h" 2 # 1 "/products/root_522/include/root/TRootEmbeddedCanvas.h" 1 # 26 "/products/root_522/include/root/TRootEmbeddedCanvas.h" # 1 "/products/root_522/include/root/TGCanvas.h" 1 # 30 "/products/root_522/include/root/TGCanvas.h" class TGHScrollBar; class TGVScrollBar; class TGClient; class TGViewPort; class TGCanvas; class TGFrameElement; class TGContainerTimer; class TGContainerKeyboardTimer; class TGContainerScrollTimer; class TGListView; class TGPicture; class TGRectangle; class TGContainer : public TGCompositeFrame { friend class TGViewPort; friend class TGCanvas; friend class TGContainerKeyboardTimer; friend class TGContainerScrollTimer; friend class TGListView; protected: TGViewPort *fViewPort; TGCanvas *fCanvas; const TGWindow *fMsgWindow; TGFrameElement *fLastActiveEl; Int_t fXp, fYp; Int_t fX0, fY0; Int_t fXf, fYf; Bool_t fDragging; Int_t fTotal; Int_t fSelected; TTimer *fScrollTimer; Bool_t fOnMouseOver; Bool_t fLastDir; Bool_t fLastCase; Bool_t fLastSubstring; TString fLastName; TTimer *fKeyTimer; TString fKeyInput; Bool_t fKeyTimerActive; Bool_t fScrolling; Int_t fXDND, fYDND; Bool_t fBdown; TGRectangle fExposedRegion; static TGGC *fgLineGC; static const TGGC &GetLineGC(); virtual void DoRedraw(); virtual void ActivateItem(TGFrameElement* el); virtual void DeActivateItem(TGFrameElement* el); virtual void SearchPattern(); virtual void OnAutoScroll(); virtual void RepeatSearch(); private: TGContainer(const TGContainer&); TGContainer& operator=(const TGContainer&); public: TGContainer(const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1, UInt_t options = kSunkenFrame, Pixel_t back = GetDefaultFrameBackground()); TGContainer(TGCanvas *p,UInt_t options = kSunkenFrame, Pixel_t back = GetDefaultFrameBackground()); virtual ~TGContainer(); virtual void DrawRegion(Int_t x, Int_t y, UInt_t w, UInt_t h); virtual void ClearViewPort(); virtual void Associate(const TGWindow *w) { fMsgWindow = w; } virtual void AdjustPosition(); virtual void SetPagePosition(const TGPosition& pos); virtual void SetPagePosition(Int_t x, Int_t y); virtual void SetPageDimension(const TGDimension& dim); virtual void SetPageDimension(UInt_t w, UInt_t h); virtual void RemoveAll(); virtual void RemoveItem(TGFrame *item); virtual void Layout(); TGCanvas *GetCanvas() const { return fCanvas; } const TGWindow *GetMessageWindow() const { return fMsgWindow; } virtual TGPosition GetPagePosition() const; virtual TGDimension GetPageDimension() const; virtual Int_t NumSelected() const { return fSelected; } virtual Int_t NumItems() const { return fTotal; } virtual TGFrameElement *FindFrame(Int_t x,Int_t y,Bool_t exclude=kTRUE); virtual TGFrame *FindFrameByName(const char *name); virtual TGHScrollBar *GetHScrollbar() const; virtual TGVScrollBar *GetVScrollbar() const; virtual void SetHsbPosition(Int_t newPos); virtual void SetVsbPosition(Int_t newPos); virtual void LineUp(Bool_t select = kFALSE); virtual void LineDown(Bool_t select = kFALSE); virtual void LineLeft(Bool_t select = kFALSE); virtual void LineRight(Bool_t select = kFALSE); virtual void PageUp(Bool_t select = kFALSE); virtual void PageDown(Bool_t select = kFALSE); virtual void Home(Bool_t select = kFALSE); virtual void End(Bool_t select = kFALSE); virtual void Search(Bool_t close = kTRUE); virtual void *FindItem(const TString& name, Bool_t direction = kTRUE, Bool_t caseSensitive = kTRUE, Bool_t subString = kFALSE); virtual const TGFrame *GetNextSelected(void **current); virtual TGFrame *GetLastActive() const { return fLastActiveEl ? fLastActiveEl->fFrame : 0; } virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual Bool_t HandleDNDFinished() { fBdown = kFALSE; return kTRUE; } virtual Bool_t HandleExpose(Event_t *event); virtual Bool_t HandleButton(Event_t *event); virtual Bool_t HandleDoubleClick(Event_t *event); virtual Bool_t HandleMotion(Event_t *event); virtual Bool_t HandleKey(Event_t *event); const TGPicture *GetObjPicture(TGFrame *f); virtual void SetDragPixmap(const TGPicture *pic); virtual void SelectAll(); virtual void UnSelectAll(); virtual void InvertSelection(); virtual void ReturnPressed(TGFrame*); virtual void SpacePressed(TGFrame*); virtual void KeyPressed(TGFrame*, UInt_t keysym, UInt_t mask); virtual void OnMouseOver(TGFrame*); virtual void CurrentChanged(Int_t x,Int_t y); virtual void CurrentChanged(TGFrame* f); virtual void Clicked(TGFrame *f, Int_t btn); virtual void DoubleClicked(TGFrame *f, Int_t btn); virtual void DoubleClicked(TGFrame *f, Int_t btn, Int_t x, Int_t y); virtual void Clicked(TGFrame *f, Int_t btn, Int_t x, Int_t y); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGContainer::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGContainer::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGCanvas.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 166; } }; class TGViewPort : public TGCompositeFrame { protected: Int_t fX0, fY0; TGFrame *fContainer; private: TGViewPort(const TGViewPort&); TGViewPort& operator=(const TGViewPort&); public: TGViewPort(const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1, UInt_t options = kChildFrame, Pixel_t back = GetDefaultFrameBackground()); TGFrame *GetContainer() const { return fContainer; } void SetContainer(TGFrame *f); virtual void DrawBorder() { }; virtual void Layout() { } virtual TGDimension GetDefaultSize() const { return TGDimension(fWidth, fHeight); } virtual void SetHPos(Int_t xpos); virtual void SetVPos(Int_t ypos); void SetPos(Int_t xpos, Int_t ypos); Int_t GetHPos() const { return fX0; } Int_t GetVPos() const { return fY0; } virtual Bool_t HandleConfigureNotify(Event_t *event); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGViewPort::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGViewPort::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGCanvas.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 200; } }; class TGCanvas : public TGFrame { protected: TGViewPort *fVport; TGHScrollBar *fHScrollbar; TGVScrollBar *fVScrollbar; Int_t fScrolling; private: TGCanvas(const TGCanvas&); TGCanvas& operator=(const TGCanvas&); public: enum { kCanvasNoScroll = 0, kCanvasScrollHorizontal = (1 << (0)), kCanvasScrollVertical = (1 << (1)), kCanvasScrollBoth = (kCanvasScrollHorizontal | kCanvasScrollVertical) }; TGCanvas(const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1, UInt_t options = kSunkenFrame | kDoubleBorder, Pixel_t back = GetDefaultFrameBackground()); virtual ~TGCanvas(); TGFrame *GetContainer() const { return fVport->GetContainer(); } TGViewPort *GetViewPort() const { return fVport; } TGHScrollBar *GetHScrollbar() const { return fHScrollbar; } TGVScrollBar *GetVScrollbar() const { return fVScrollbar; } virtual void AddFrame(TGFrame *f, TGLayoutHints *l = 0); virtual void SetContainer(TGFrame *f) { fVport->SetContainer(f); } virtual void MapSubwindows(); virtual void DrawBorder(); virtual void Layout(); virtual void ClearViewPort(); virtual Int_t GetHsbPosition() const; virtual Int_t GetVsbPosition() const; virtual void SetHsbPosition(Int_t newPos); virtual void SetVsbPosition(Int_t newPos); void SetScrolling(Int_t scrolling); Int_t GetScrolling() const { return fScrolling; } virtual TGDimension GetDefaultSize() const { return TGDimension(fWidth, fHeight); } virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2); virtual void SavePrimitive(ostream &out, Option_t *option = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGCanvas::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGCanvas::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGCanvas.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 251; } }; # 27 "/products/root_522/include/root/TRootEmbeddedCanvas.h" 2 class TCanvas; class TRootEmbeddedContainer; class TDNDData; class TRootEmbeddedCanvas : public TGCanvas { friend class TRootEmbeddedContainer; protected: Int_t fCWinId; TRootEmbeddedContainer *fCanvasContainer; TCanvas *fCanvas; Bool_t fAutoFit; Int_t fButton; Atom_t *fDNDTypeList; virtual Bool_t HandleContainerButton(Event_t *ev); virtual Bool_t HandleContainerDoubleClick(Event_t *ev); virtual Bool_t HandleContainerConfigure(Event_t *ev); virtual Bool_t HandleContainerKey(Event_t *ev); virtual Bool_t HandleContainerMotion(Event_t *ev); virtual Bool_t HandleContainerExpose(Event_t *ev); virtual Bool_t HandleContainerCrossing(Event_t *ev); private: TRootEmbeddedCanvas(const TRootEmbeddedCanvas&); TRootEmbeddedCanvas& operator=(const TRootEmbeddedCanvas&); public: TRootEmbeddedCanvas(const char *name = 0, const TGWindow *p = 0, UInt_t w = 10, UInt_t h = 10, UInt_t options = kSunkenFrame | kDoubleBorder, Pixel_t back = GetDefaultFrameBackground()); virtual ~TRootEmbeddedCanvas(); void AdoptCanvas(TCanvas *c); TCanvas *GetCanvas() const { return fCanvas; } Int_t GetCanvasWindowId() const { return fCWinId; } Bool_t GetAutoFit() const { return fAutoFit; } void SetAutoFit(Bool_t fit = kTRUE) { fAutoFit = fit; } virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual Bool_t HandleDNDDrop(TDNDData *data); virtual Atom_t HandleDNDPosition(Int_t , Int_t , Atom_t action, Int_t , Int_t ); virtual Atom_t HandleDNDEnter(Atom_t * typelist); virtual Bool_t HandleDNDLeave(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TRootEmbeddedCanvas::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TRootEmbeddedCanvas::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TRootEmbeddedCanvas.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 77; } }; # 30 "VBFStudy.h" 2 # 1 "/products/root_522/include/root/RQ_OBJECT.h" 1 # 15 "/products/root_522/include/root/RQ_OBJECT.h" # 1 "/products/root_522/include/root/TQObject.h" 1 # 16 "/products/root_522/include/root/RQ_OBJECT.h" 2 # 1 "/products/root_522/include/root/Varargs.h" 1 # 17 "/products/root_522/include/root/RQ_OBJECT.h" 2 # 31 "VBFStudy.h" 2 # 1 "VBFStudyGUI.h" 1 # 15 "VBFStudyGUI.h" # 1 "/products/root_522/include/root/TRandom.h" 1 # 29 "/products/root_522/include/root/TRandom.h" class TRandom : public TNamed { protected: UInt_t fSeed; public: TRandom(UInt_t seed=65539); virtual ~TRandom(); virtual Int_t Binomial(Int_t ntot, Double_t prob); virtual Double_t BreitWigner(Double_t mean=0, Double_t gamma=1); virtual void Circle(Double_t &x, Double_t &y, Double_t r); virtual Double_t Exp(Double_t tau); virtual Double_t Gaus(Double_t mean=0, Double_t sigma=1); virtual UInt_t GetSeed() {return fSeed;} virtual UInt_t Integer(UInt_t imax); virtual Double_t Landau(Double_t mean=0, Double_t sigma=1); virtual Int_t Poisson(Double_t mean); virtual Double_t PoissonD(Double_t mean); virtual void Rannor(Float_t &a, Float_t &b); virtual void Rannor(Double_t &a, Double_t &b); virtual void ReadRandom(const char *filename); virtual void SetSeed(UInt_t seed=65539); virtual Double_t Rndm(Int_t i=0); virtual void RndmArray(Int_t n, Float_t *array); virtual void RndmArray(Int_t n, Double_t *array); virtual void Sphere(Double_t &x, Double_t &y, Double_t &z, Double_t r); virtual Double_t Uniform(Double_t x1=1); virtual Double_t Uniform(Double_t x1, Double_t x2); virtual void WriteRandom(const char *filename); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return TRandom::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TRandom::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TRandom.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 59; } }; extern TRandom *gRandom; # 16 "VBFStudyGUI.h" 2 # 1 "/products/root_522/include/root/TGMenu.h" 1 # 34 "/products/root_522/include/root/TGMenu.h" # 1 "/products/root_522/include/root/TGPicture.h" 1 # 43 "/products/root_522/include/root/TGPicture.h" class THashTable; class TGPicture : public TObject, public TRefCnt { friend class TGPicturePool; protected: TString fName; Bool_t fScaled; Pixmap_t fPic; Pixmap_t fMask; PictureAttributes_t fAttributes; TGPicture(const char *name, Bool_t scaled = kFALSE): fName(name), fScaled(scaled), fPic(kNone), fMask(kNone), fAttributes() { fAttributes.fPixels = 0; SetRefCount(1); } TGPicture(const char *name, Pixmap_t pxmap, Pixmap_t mask = 0); void Draw(Option_t * = "") { MayNotUse("Draw(Option_t*)"); } public: virtual ~TGPicture(); const char *GetName() const { return fName; } UInt_t GetWidth() const { return fAttributes.fWidth; } UInt_t GetHeight() const { return fAttributes.fHeight; } Pixmap_t GetPicture() const { return fPic; } Pixmap_t GetMask() const { return fMask; } Bool_t IsScaled() const { return fScaled; } ULong_t Hash() const { return fName.Hash(); } static const char *HashName(const char *name, Int_t width, Int_t height); virtual void Draw(Handle_t id, GContext_t gc, Int_t x, Int_t y) const; void Print(Option_t *option="") const; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGPicture::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGPicture::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGPicture.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 84; } }; class TGSelectedPicture : public TGPicture { protected: const TGClient *fClient; static TGGC *fgSelectedGC; static TGGC &GetSelectedGC(); TGSelectedPicture(const TGSelectedPicture& gp): TGPicture(gp), fClient(gp.fClient) { } TGSelectedPicture& operator=(const TGSelectedPicture& gp) {if(this!=&gp) { TGPicture::operator=(gp); fClient=gp.fClient;} return *this;} public: TGSelectedPicture(const TGClient *client, const TGPicture *p); virtual ~TGSelectedPicture(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGSelectedPicture::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGSelectedPicture::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGPicture.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 106; } }; class TGPicturePool : public TObject { protected: const TGClient *fClient; TString fPath; THashTable *fPicList; TGPicturePool(const TGPicturePool&); TGPicturePool& operator=(const TGPicturePool&); public: TGPicturePool(const TGClient *client, const char *path): fClient(client), fPath(path), fPicList(0) { } virtual ~TGPicturePool(); const char *GetPath() const { return fPath; } const TGPicture *GetPicture(const char *name); const TGPicture *GetPicture(const char *name, char **xpm); const TGPicture *GetPicture(const char *name, UInt_t new_width, UInt_t new_height); const TGPicture *GetPicture(const char *name, Pixmap_t pxmap, Pixmap_t mask = 0); void FreePicture(const TGPicture *pic); void Print(Option_t *option="") const; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGPicturePool::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGPicturePool::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGPicture.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 134; } }; # 35 "/products/root_522/include/root/TGMenu.h" 2 enum EMenuEntryState { kMenuActiveMask = (1 << (0)), kMenuEnableMask = (1 << (1)), kMenuDefaultMask = (1 << (2)), kMenuCheckedMask = (1 << (3)), kMenuRadioMask = (1 << (4)), kMenuHideMask = (1 << (5)), kMenuRadioEntryMask = (1 << (6)) }; enum EMenuEntryType { kMenuSeparator, kMenuLabel, kMenuEntry, kMenuPopup }; class TGPopupMenu; class TGMenuBar; class TGMenuTitle; class TTimer; class TGSplitButton; # 77 "/products/root_522/include/root/TGMenu.h" class TGMenuEntry : public TObject { friend class TGPopupMenu; friend class TGMenuBar; protected: Int_t fEntryId; void *fUserData; EMenuEntryType fType; Int_t fStatus; Int_t fEx, fEy; UInt_t fEw, fEh; TGHotString *fLabel; const TGPicture *fPic; TGPopupMenu *fPopup; private: TGMenuEntry(const TGMenuEntry&); TGMenuEntry& operator=(const TGMenuEntry&); public: TGMenuEntry(): fEntryId(0), fUserData(0), fType(), fStatus(0), fEx(0), fEy(0), fEw(0), fEh(0), fLabel(0), fPic(0), fPopup(0) { } virtual ~TGMenuEntry() { if (fLabel) delete fLabel; } Int_t GetEntryId() const { return fEntryId; } const char *GetName() const { return fLabel ? fLabel->GetString() : 0; } virtual Int_t GetStatus() const { return fStatus; } EMenuEntryType GetType() const { return fType; } TGPopupMenu *GetPopup() const { return fPopup; } TGHotString *GetLabel() const { return fLabel; } Int_t GetEx() const { return fEx; } Int_t GetEy() const { return fEy; } UInt_t GetEw() const { return fEw; } UInt_t GetEh() const { return fEh; } const TGPicture *GetPic() const { return fPic; } void *GetUserData() const { return fUserData; } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGMenuEntry::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGMenuEntry::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGMenu.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 115; }; }; # 128 "/products/root_522/include/root/TGMenu.h" class TGPopupMenu : public TGFrame { friend class TGMenuTitle; friend class TGMenuBar; friend class TGSplitButton; protected: TList *fEntryList; TGMenuEntry *fCurrent; Bool_t fStick; Bool_t fHasGrab; Bool_t fPoppedUp; UInt_t fXl; UInt_t fMenuWidth; UInt_t fMenuHeight; TTimer *fDelay; GContext_t fNormGC; GContext_t fSelGC; GContext_t fSelbackGC; FontStruct_t fFontStruct; FontStruct_t fHifontStruct; Cursor_t fDefaultCursor; const TGWindow *fMsgWindow; TGMenuBar *fMenuBar; TGSplitButton *fSplitButton; UInt_t fEntrySep; static const TGFont *fgDefaultFont; static const TGFont *fgHilightFont; static const TGGC *fgDefaultGC; static const TGGC *fgDefaultSelectedGC; static const TGGC *fgDefaultSelectedBackgroundGC; void DrawTrianglePattern(GContext_t gc, Int_t l, Int_t t, Int_t r, Int_t b); void DrawCheckMark(GContext_t gc, Int_t l, Int_t t, Int_t r, Int_t b); void DrawRCheckMark(GContext_t gc, Int_t l, Int_t t, Int_t r, Int_t b); virtual void DoRedraw(); virtual void DrawEntry(TGMenuEntry *entry); virtual void Reposition(); static FontStruct_t GetDefaultFontStruct(); static FontStruct_t GetHilightFontStruct(); static const TGGC &GetDefaultGC(); static const TGGC &GetDefaultSelectedGC(); static const TGGC &GetDefaultSelectedBackgroundGC(); private: TGPopupMenu(const TGPopupMenu&); TGPopupMenu& operator=(const TGPopupMenu&); public: TGPopupMenu(const TGWindow *p = 0, UInt_t w = 10, UInt_t h = 10, UInt_t options = 0); virtual ~TGPopupMenu(); virtual void AddEntry(TGHotString *s, Int_t id, void *ud = 0, const TGPicture *p = 0, TGMenuEntry *before = 0); virtual void AddEntry(const char *s, Int_t id, void *ud = 0, const TGPicture *p = 0, TGMenuEntry *before = 0); virtual void AddSeparator(TGMenuEntry *before = 0); virtual void AddLabel(TGHotString *s, const TGPicture *p = 0, TGMenuEntry *before = 0); virtual void AddLabel(const char *s, const TGPicture *p = 0, TGMenuEntry *before = 0); virtual void AddPopup(TGHotString *s, TGPopupMenu *popup, TGMenuEntry *before = 0, const TGPicture *p = 0); virtual void AddPopup(const char *s, TGPopupMenu *popup, TGMenuEntry *before = 0, const TGPicture *p = 0); virtual void EnableEntry(Int_t id); virtual void DisableEntry(Int_t id); virtual Bool_t IsEntryEnabled(Int_t id); virtual void HideEntry(Int_t id); virtual Bool_t IsEntryHidden(Int_t id); virtual void DefaultEntry(Int_t id); virtual void CheckEntry(Int_t id); virtual void CheckEntryByData(void *user_data); virtual void UnCheckEntry(Int_t id); virtual void UnCheckEntryByData(void *user_data); virtual void UnCheckEntries(); virtual Bool_t IsEntryChecked(Int_t id); virtual void RCheckEntry(Int_t id, Int_t IDfirst, Int_t IDlast); virtual Bool_t IsEntryRChecked(Int_t id); virtual void PlaceMenu(Int_t x, Int_t y, Bool_t stick_mode, Bool_t grab_pointer); virtual Int_t EndMenu(void *&userData); virtual void DeleteEntry(Int_t id); virtual void DeleteEntry(TGMenuEntry *entry); virtual TGMenuEntry *GetEntry(Int_t id); virtual TGMenuEntry *GetCurrent() const { return fCurrent; } virtual TGMenuEntry *GetEntry(const char *s); const TList *GetListOfEntries() const { return fEntryList; } virtual void DrawBorder(); virtual Bool_t HandleButton(Event_t *event); virtual Bool_t HandleMotion(Event_t *event); virtual Bool_t HandleCrossing(Event_t *event); virtual Bool_t HandleTimer(TTimer *t); virtual void Associate(const TGWindow *w) { fMsgWindow = w; } virtual void SetMenuBar(TGMenuBar *bar) { fMenuBar = bar; } TGMenuBar *GetMenuBar() const { return fMenuBar; } virtual void Activate(Bool_t) { } virtual void Activate(TGMenuEntry *entry); virtual void SavePrimitive(ostream &out, Option_t *option = ""); UInt_t GetEntrySep() const { return fEntrySep; } virtual void SetEntrySep(UInt_t sep) { fEntrySep = sep; } virtual void PoppedUp() { Emit("PoppedUp()"); } virtual void PoppedDown() { Emit("PoppedDown()"); } virtual void Highlighted(Int_t id) { Emit("Highlighted(Int_t)", id); } virtual void Activated(Int_t id) { Emit("Activated(Int_t)", id); } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGPopupMenu::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGPopupMenu::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGMenu.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 239; } }; # 253 "/products/root_522/include/root/TGMenu.h" class TGMenuTitle : public TGFrame { protected: TGPopupMenu *fMenu; TGHotString *fLabel; Int_t fTitleId; void *fTitleData; Bool_t fState; Int_t fHkeycode; FontStruct_t fFontStruct; Pixel_t fTextColor; GContext_t fNormGC, fSelGC; virtual void DoRedraw(); static const TGFont *fgDefaultFont; static const TGGC *fgDefaultSelectedGC; static const TGGC *fgDefaultGC; private: TGMenuTitle(const TGMenuTitle&); TGMenuTitle& operator=(const TGMenuTitle&); public: static FontStruct_t GetDefaultFontStruct(); static const TGGC &GetDefaultSelectedGC(); static const TGGC &GetDefaultGC(); TGMenuTitle(const TGWindow *p = 0, TGHotString *s = 0, TGPopupMenu *menu = 0, GContext_t norm = GetDefaultGC()(), FontStruct_t font = GetDefaultFontStruct(), UInt_t options = 0); virtual ~TGMenuTitle() { if (fLabel) delete fLabel; } Pixel_t GetTextColor() const { return fTextColor; } void SetTextColor(Pixel_t col) { fTextColor = col; } virtual void SetState(Bool_t state); Bool_t GetState() const { return fState; } Int_t GetHotKeyCode() const { return fHkeycode; } TGPopupMenu *GetMenu() const { return fMenu; } const char *GetName() const { return fLabel ? fLabel->GetString() : 0; } virtual void DoSendMessage(); virtual void SavePrimitive(ostream &out, Option_t *option = ""); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGMenuTitle::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGMenuTitle::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGMenu.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 297; } }; # 309 "/products/root_522/include/root/TGMenu.h" class TGMenuBar : public TGHorizontalFrame { friend class TGPopupMenu; protected: TGMenuTitle *fCurrent; TList *fTitles; Cursor_t fDefaultCursor; Bool_t fStick; TList *fTrash; Bool_t fKeyNavigate; TGPopupMenu *fMenuMore; TGLayoutHints *fMenuBarMoreLayout; Bool_t fWithExt; TList *fOutLayouts; TList *fNeededSpace; virtual void AddFrameBefore(TGFrame *f, TGLayoutHints *l = 0, TGPopupMenu *before = 0); virtual void BindHotKey(Int_t keycode, Bool_t on = kTRUE); virtual void BindKeys(Bool_t on = kTRUE); void BindMenu(TGPopupMenu* subMenu, Bool_t on); private: TGMenuBar(const TGMenuBar&); TGMenuBar& operator=(const TGMenuBar&); public: TGMenuBar(const TGWindow *p = 0, UInt_t w = 60, UInt_t h = 20, UInt_t options = kHorizontalFrame | kRaisedFrame); virtual ~TGMenuBar(); virtual void AddPopup(TGHotString *s, TGPopupMenu *menu, TGLayoutHints *l, TGPopupMenu *before = 0); virtual void AddPopup(const char *s, TGPopupMenu *menu, TGLayoutHints *l, TGPopupMenu *before = 0); virtual TGPopupMenu *AddPopup(const TString &s, Int_t padleft = 4, Int_t padright = 0, Int_t padtop = 0, Int_t padbottom = 0); virtual void AddTitle(TGMenuTitle *title, TGLayoutHints *l, TGPopupMenu *before = 0); virtual TGPopupMenu *GetPopup(const char *s); virtual TGPopupMenu *RemovePopup(const char *s); virtual TList *GetTitles() const { return fTitles; } virtual Bool_t HandleButton(Event_t *event); virtual Bool_t HandleMotion(Event_t *event); virtual Bool_t HandleKey(Event_t *event); virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void Layout(); void PopupConnection(); TGFrameElement* GetLastOnLeft(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TGMenuBar::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TGMenuBar::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TGMenu.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 362; } }; # 20 "VBFStudyGUI.h" 2 # 1 "/usr/include/c++/4.3/list" 1 3 # 64 "/usr/include/c++/4.3/list" 3 # 65 "/usr/include/c++/4.3/list" 3 # 1 "/usr/include/c++/4.3/bits/stl_list.h" 1 3 # 67 "/usr/include/c++/4.3/bits/stl_list.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { struct _List_node_base { _List_node_base* _M_next; _List_node_base* _M_prev; static void swap(_List_node_base& __x, _List_node_base& __y); void transfer(_List_node_base * const __first, _List_node_base * const __last); void reverse(); void hook(_List_node_base * const __position); void unhook(); }; template struct _List_node : public _List_node_base { _Tp _M_data; }; template struct _List_iterator { typedef _List_iterator<_Tp> _Self; typedef _List_node<_Tp> _Node; typedef ptrdiff_t difference_type; typedef std::bidirectional_iterator_tag iterator_category; typedef _Tp value_type; typedef _Tp* pointer; typedef _Tp& reference; _List_iterator() : _M_node() { } explicit _List_iterator(_List_node_base* __x) : _M_node(__x) { } reference operator*() const { return static_cast<_Node*>(_M_node)->_M_data; } pointer operator->() const { return &static_cast<_Node*>(_M_node)->_M_data; } _Self& operator++() { _M_node = _M_node->_M_next; return *this; } _Self operator++(int) { _Self __tmp = *this; _M_node = _M_node->_M_next; return __tmp; } _Self& operator--() { _M_node = _M_node->_M_prev; return *this; } _Self operator--(int) { _Self __tmp = *this; _M_node = _M_node->_M_prev; return __tmp; } bool operator==(const _Self& __x) const { return _M_node == __x._M_node; } bool operator!=(const _Self& __x) const { return _M_node != __x._M_node; } _List_node_base* _M_node; }; template struct _List_const_iterator { typedef _List_const_iterator<_Tp> _Self; typedef const _List_node<_Tp> _Node; typedef _List_iterator<_Tp> iterator; typedef ptrdiff_t difference_type; typedef std::bidirectional_iterator_tag iterator_category; typedef _Tp value_type; typedef const _Tp* pointer; typedef const _Tp& reference; _List_const_iterator() : _M_node() { } explicit _List_const_iterator(const _List_node_base* __x) : _M_node(__x) { } _List_const_iterator(const iterator& __x) : _M_node(__x._M_node) { } reference operator*() const { return static_cast<_Node*>(_M_node)->_M_data; } pointer operator->() const { return &static_cast<_Node*>(_M_node)->_M_data; } _Self& operator++() { _M_node = _M_node->_M_next; return *this; } _Self operator++(int) { _Self __tmp = *this; _M_node = _M_node->_M_next; return __tmp; } _Self& operator--() { _M_node = _M_node->_M_prev; return *this; } _Self operator--(int) { _Self __tmp = *this; _M_node = _M_node->_M_prev; return __tmp; } bool operator==(const _Self& __x) const { return _M_node == __x._M_node; } bool operator!=(const _Self& __x) const { return _M_node != __x._M_node; } const _List_node_base* _M_node; }; template inline bool operator==(const _List_iterator<_Val>& __x, const _List_const_iterator<_Val>& __y) { return __x._M_node == __y._M_node; } template inline bool operator!=(const _List_iterator<_Val>& __x, const _List_const_iterator<_Val>& __y) { return __x._M_node != __y._M_node; } template class _List_base { protected: # 291 "/usr/include/c++/4.3/bits/stl_list.h" 3 typedef typename _Alloc::template rebind<_List_node<_Tp> >::other _Node_alloc_type; typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type; struct _List_impl : public _Node_alloc_type { _List_node_base _M_node; _List_impl() : _Node_alloc_type(), _M_node() { } _List_impl(const _Node_alloc_type& __a) : _Node_alloc_type(__a), _M_node() { } }; _List_impl _M_impl; _List_node<_Tp>* _M_get_node() { return _M_impl._Node_alloc_type::allocate(1); } void _M_put_node(_List_node<_Tp>* __p) { _M_impl._Node_alloc_type::deallocate(__p, 1); } public: typedef _Alloc allocator_type; _Node_alloc_type& _M_get_Node_allocator() { return *static_cast<_Node_alloc_type*>(&this->_M_impl); } const _Node_alloc_type& _M_get_Node_allocator() const { return *static_cast(&this->_M_impl); } _Tp_alloc_type _M_get_Tp_allocator() const { return _Tp_alloc_type(_M_get_Node_allocator()); } allocator_type get_allocator() const { return allocator_type(_M_get_Node_allocator()); } _List_base() : _M_impl() { _M_init(); } _List_base(const allocator_type& __a) : _M_impl(__a) { _M_init(); } # 357 "/usr/include/c++/4.3/bits/stl_list.h" 3 ~_List_base() { _M_clear(); } void _M_clear(); void _M_init() { this->_M_impl._M_node._M_next = &this->_M_impl._M_node; this->_M_impl._M_node._M_prev = &this->_M_impl._M_node; } }; # 415 "/usr/include/c++/4.3/bits/stl_list.h" 3 template > class list : protected _List_base<_Tp, _Alloc> { typedef typename _Alloc::value_type _Alloc_value_type; typedef _List_base<_Tp, _Alloc> _Base; typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; public: typedef _Tp value_type; typedef typename _Tp_alloc_type::pointer pointer; typedef typename _Tp_alloc_type::const_pointer const_pointer; typedef typename _Tp_alloc_type::reference reference; typedef typename _Tp_alloc_type::const_reference const_reference; typedef _List_iterator<_Tp> iterator; typedef _List_const_iterator<_Tp> const_iterator; typedef std::reverse_iterator const_reverse_iterator; typedef std::reverse_iterator reverse_iterator; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Alloc allocator_type; protected: typedef _List_node<_Tp> _Node; using _Base::_M_impl; using _Base::_M_put_node; using _Base::_M_get_node; using _Base::_M_get_Tp_allocator; using _Base::_M_get_Node_allocator; _Node* _M_create_node(const value_type& __x) { _Node* __p = this->_M_get_node(); try { _M_get_Tp_allocator().construct(&__p->_M_data, __x); } catch(...) { _M_put_node(__p); throw; } return __p; } # 492 "/usr/include/c++/4.3/bits/stl_list.h" 3 public: list() : _Base() { } explicit list(const allocator_type& __a) : _Base(__a) { } # 517 "/usr/include/c++/4.3/bits/stl_list.h" 3 explicit list(size_type __n, const value_type& __value = value_type(), const allocator_type& __a = allocator_type()) : _Base(__a) { _M_fill_initialize(__n, __value); } # 530 "/usr/include/c++/4.3/bits/stl_list.h" 3 list(const list& __x) : _Base(__x._M_get_Node_allocator()) { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); } # 556 "/usr/include/c++/4.3/bits/stl_list.h" 3 template list(_InputIterator __first, _InputIterator __last, const allocator_type& __a = allocator_type()) : _Base(__a) { typedef typename std::__is_integer<_InputIterator>::__type _Integral; _M_initialize_dispatch(__first, __last, _Integral()); } # 581 "/usr/include/c++/4.3/bits/stl_list.h" 3 list& operator=(const list& __x); # 612 "/usr/include/c++/4.3/bits/stl_list.h" 3 void assign(size_type __n, const value_type& __val) { _M_fill_assign(__n, __val); } # 628 "/usr/include/c++/4.3/bits/stl_list.h" 3 template void assign(_InputIterator __first, _InputIterator __last) { typedef typename std::__is_integer<_InputIterator>::__type _Integral; _M_assign_dispatch(__first, __last, _Integral()); } allocator_type get_allocator() const { return _Base::get_allocator(); } iterator begin() { return iterator(this->_M_impl._M_node._M_next); } const_iterator begin() const { return const_iterator(this->_M_impl._M_node._M_next); } iterator end() { return iterator(&this->_M_impl._M_node); } const_iterator end() const { return const_iterator(&this->_M_impl._M_node); } reverse_iterator rbegin() { return reverse_iterator(end()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } reverse_iterator rend() { return reverse_iterator(begin()); } const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } # 757 "/usr/include/c++/4.3/bits/stl_list.h" 3 bool empty() const { return this->_M_impl._M_node._M_next == &this->_M_impl._M_node; } size_type size() const { return std::distance(begin(), end()); } size_type max_size() const { return _M_get_Tp_allocator().max_size(); } # 781 "/usr/include/c++/4.3/bits/stl_list.h" 3 void resize(size_type __new_size, value_type __x = value_type()); reference front() { return *begin(); } const_reference front() const { return *begin(); } reference back() { iterator __tmp = end(); --__tmp; return *__tmp; } const_reference back() const { const_iterator __tmp = end(); --__tmp; return *__tmp; } # 837 "/usr/include/c++/4.3/bits/stl_list.h" 3 void push_front(const value_type& __x) { this->_M_insert(begin(), __x); } # 859 "/usr/include/c++/4.3/bits/stl_list.h" 3 void pop_front() { this->_M_erase(begin()); } # 874 "/usr/include/c++/4.3/bits/stl_list.h" 3 void push_back(const value_type& __x) { this->_M_insert(end(), __x); } # 895 "/usr/include/c++/4.3/bits/stl_list.h" 3 void pop_back() { this->_M_erase(iterator(this->_M_impl._M_node._M_prev)); } # 928 "/usr/include/c++/4.3/bits/stl_list.h" 3 iterator insert(iterator __position, const value_type& __x); # 960 "/usr/include/c++/4.3/bits/stl_list.h" 3 void insert(iterator __position, size_type __n, const value_type& __x) { list __tmp(__n, __x, _M_get_Node_allocator()); splice(__position, __tmp); } # 980 "/usr/include/c++/4.3/bits/stl_list.h" 3 template void insert(iterator __position, _InputIterator __first, _InputIterator __last) { list __tmp(__first, __last, _M_get_Node_allocator()); splice(__position, __tmp); } # 1004 "/usr/include/c++/4.3/bits/stl_list.h" 3 iterator erase(iterator __position); # 1025 "/usr/include/c++/4.3/bits/stl_list.h" 3 iterator erase(iterator __first, iterator __last) { while (__first != __last) __first = erase(__first); return __last; } # 1042 "/usr/include/c++/4.3/bits/stl_list.h" 3 void swap(list& __x) { _List_node_base::swap(this->_M_impl._M_node, __x._M_impl._M_node); std::__alloc_swap:: _S_do_it(_M_get_Node_allocator(), __x._M_get_Node_allocator()); } void clear() { _Base::_M_clear(); _Base::_M_init(); } # 1082 "/usr/include/c++/4.3/bits/stl_list.h" 3 void splice(iterator __position, list& __x) { if (!__x.empty()) { _M_check_equal_allocators(__x); this->_M_transfer(__position, __x.begin(), __x.end()); } } # 1106 "/usr/include/c++/4.3/bits/stl_list.h" 3 void splice(iterator __position, list& __x, iterator __i) { iterator __j = __i; ++__j; if (__position == __i || __position == __j) return; if (this != &__x) _M_check_equal_allocators(__x); this->_M_transfer(__position, __i, __j); } # 1136 "/usr/include/c++/4.3/bits/stl_list.h" 3 void splice(iterator __position, list& __x, iterator __first, iterator __last) { if (__first != __last) { if (this != &__x) _M_check_equal_allocators(__x); this->_M_transfer(__position, __first, __last); } } # 1165 "/usr/include/c++/4.3/bits/stl_list.h" 3 void remove(const _Tp& __value); # 1179 "/usr/include/c++/4.3/bits/stl_list.h" 3 template void remove_if(_Predicate); # 1193 "/usr/include/c++/4.3/bits/stl_list.h" 3 void unique(); # 1208 "/usr/include/c++/4.3/bits/stl_list.h" 3 template void unique(_BinaryPredicate); # 1221 "/usr/include/c++/4.3/bits/stl_list.h" 3 void merge(list& __x); # 1240 "/usr/include/c++/4.3/bits/stl_list.h" 3 template void merge(list&, _StrictWeakOrdering); void reverse() { this->_M_impl._M_node.reverse(); } void sort(); template void sort(_StrictWeakOrdering); protected: template void _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) { _M_fill_initialize(static_cast(__n), __x); } template void _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, __false_type) { for (; __first != __last; ++__first) push_back(*__first); } void _M_fill_initialize(size_type __n, const value_type& __x) { for (; __n > 0; --__n) push_back(__x); } # 1314 "/usr/include/c++/4.3/bits/stl_list.h" 3 template void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) { _M_fill_assign(__n, __val); } template void _M_assign_dispatch(_InputIterator __first, _InputIterator __last, __false_type); void _M_fill_assign(size_type __n, const value_type& __val); void _M_transfer(iterator __position, iterator __first, iterator __last) { __position._M_node->transfer(__first._M_node, __last._M_node); } void _M_insert(iterator __position, const value_type& __x) { _Node* __tmp = _M_create_node(__x); __tmp->hook(__position._M_node); } # 1355 "/usr/include/c++/4.3/bits/stl_list.h" 3 void _M_erase(iterator __position) { __position._M_node->unhook(); _Node* __n = static_cast<_Node*>(__position._M_node); _M_get_Tp_allocator().destroy(&__n->_M_data); _M_put_node(__n); } void _M_check_equal_allocators(list& __x) { if (std::__alloc_neq:: _S_do_it(_M_get_Node_allocator(), __x._M_get_Node_allocator())) __throw_runtime_error(("list::_M_check_equal_allocators")); } }; # 1384 "/usr/include/c++/4.3/bits/stl_list.h" 3 template inline bool operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) { typedef typename list<_Tp, _Alloc>::const_iterator const_iterator; const_iterator __end1 = __x.end(); const_iterator __end2 = __y.end(); const_iterator __i1 = __x.begin(); const_iterator __i2 = __y.begin(); while (__i1 != __end1 && __i2 != __end2 && *__i1 == *__i2) { ++__i1; ++__i2; } return __i1 == __end1 && __i2 == __end2; } # 1413 "/usr/include/c++/4.3/bits/stl_list.h" 3 template inline bool operator<(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) { return std::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end()); } template inline bool operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) { return !(__x == __y); } template inline bool operator>(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) { return __y < __x; } template inline bool operator<=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) { return !(__y < __x); } template inline bool operator>=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) { return !(__x < __y); } template inline void swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y) { __x.swap(__y); } # 1461 "/usr/include/c++/4.3/bits/stl_list.h" 3 } # 69 "/usr/include/c++/4.3/list" 2 3 # 1 "/usr/include/c++/4.3/bits/list.tcc" 1 3 # 65 "/usr/include/c++/4.3/bits/list.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template void _List_base<_Tp, _Alloc>:: _M_clear() { typedef _List_node<_Tp> _Node; _Node* __cur = static_cast<_Node*>(this->_M_impl._M_node._M_next); while (__cur != &this->_M_impl._M_node) { _Node* __tmp = __cur; __cur = static_cast<_Node*>(__cur->_M_next); _M_get_Tp_allocator().destroy(&__tmp->_M_data); _M_put_node(__tmp); } } # 96 "/usr/include/c++/4.3/bits/list.tcc" 3 template typename list<_Tp, _Alloc>::iterator list<_Tp, _Alloc>:: insert(iterator __position, const value_type& __x) { _Node* __tmp = _M_create_node(__x); __tmp->hook(__position._M_node); return iterator(__tmp); } template typename list<_Tp, _Alloc>::iterator list<_Tp, _Alloc>:: erase(iterator __position) { iterator __ret = iterator(__position._M_node->_M_next); _M_erase(__position); return __ret; } template void list<_Tp, _Alloc>:: resize(size_type __new_size, value_type __x) { iterator __i = begin(); size_type __len = 0; for (; __i != end() && __len < __new_size; ++__i, ++__len) ; if (__len == __new_size) erase(__i, end()); else insert(end(), __new_size - __len, __x); } template list<_Tp, _Alloc>& list<_Tp, _Alloc>:: operator=(const list& __x) { if (this != &__x) { iterator __first1 = begin(); iterator __last1 = end(); const_iterator __first2 = __x.begin(); const_iterator __last2 = __x.end(); for (; __first1 != __last1 && __first2 != __last2; ++__first1, ++__first2) *__first1 = *__first2; if (__first2 == __last2) erase(__first1, __last1); else insert(__last1, __first2, __last2); } return *this; } template void list<_Tp, _Alloc>:: _M_fill_assign(size_type __n, const value_type& __val) { iterator __i = begin(); for (; __i != end() && __n > 0; ++__i, --__n) *__i = __val; if (__n > 0) insert(end(), __n, __val); else erase(__i, end()); } template template void list<_Tp, _Alloc>:: _M_assign_dispatch(_InputIterator __first2, _InputIterator __last2, __false_type) { iterator __first1 = begin(); iterator __last1 = end(); for (; __first1 != __last1 && __first2 != __last2; ++__first1, ++__first2) *__first1 = *__first2; if (__first2 == __last2) erase(__first1, __last1); else insert(__last1, __first2, __last2); } template void list<_Tp, _Alloc>:: remove(const value_type& __value) { iterator __first = begin(); iterator __last = end(); iterator __extra = __last; while (__first != __last) { iterator __next = __first; ++__next; if (*__first == __value) { if (&*__first != &__value) _M_erase(__first); else __extra = __first; } __first = __next; } if (__extra != __last) _M_erase(__extra); } template void list<_Tp, _Alloc>:: unique() { iterator __first = begin(); iterator __last = end(); if (__first == __last) return; iterator __next = __first; while (++__next != __last) { if (*__first == *__next) _M_erase(__next); else __first = __next; __next = __first; } } template void list<_Tp, _Alloc>:: merge(list& __x) { if (this != &__x) { _M_check_equal_allocators(__x); iterator __first1 = begin(); iterator __last1 = end(); iterator __first2 = __x.begin(); iterator __last2 = __x.end(); while (__first1 != __last1 && __first2 != __last2) if (*__first2 < *__first1) { iterator __next = __first2; _M_transfer(__first1, __first2, ++__next); __first2 = __next; } else ++__first1; if (__first2 != __last2) _M_transfer(__last1, __first2, __last2); } } template template void list<_Tp, _Alloc>:: merge(list& __x, _StrictWeakOrdering __comp) { if (this != &__x) { _M_check_equal_allocators(__x); iterator __first1 = begin(); iterator __last1 = end(); iterator __first2 = __x.begin(); iterator __last2 = __x.end(); while (__first1 != __last1 && __first2 != __last2) if (__comp(*__first2, *__first1)) { iterator __next = __first2; _M_transfer(__first1, __first2, ++__next); __first2 = __next; } else ++__first1; if (__first2 != __last2) _M_transfer(__last1, __first2, __last2); } } template void list<_Tp, _Alloc>:: sort() { if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node) { list __carry; list __tmp[64]; list * __fill = &__tmp[0]; list * __counter; do { __carry.splice(__carry.begin(), *this, begin()); for(__counter = &__tmp[0]; __counter != __fill && !__counter->empty(); ++__counter) { __counter->merge(__carry); __carry.swap(*__counter); } __carry.swap(*__counter); if (__counter == __fill) ++__fill; } while ( !empty() ); for (__counter = &__tmp[1]; __counter != __fill; ++__counter) __counter->merge(*(__counter - 1)); swap( *(__fill - 1) ); } } template template void list<_Tp, _Alloc>:: remove_if(_Predicate __pred) { iterator __first = begin(); iterator __last = end(); while (__first != __last) { iterator __next = __first; ++__next; if (__pred(*__first)) _M_erase(__first); __first = __next; } } template template void list<_Tp, _Alloc>:: unique(_BinaryPredicate __binary_pred) { iterator __first = begin(); iterator __last = end(); if (__first == __last) return; iterator __next = __first; while (++__next != __last) { if (__binary_pred(*__first, *__next)) _M_erase(__next); else __first = __next; __next = __first; } } template template void list<_Tp, _Alloc>:: sort(_StrictWeakOrdering __comp) { if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node) { list __carry; list __tmp[64]; list * __fill = &__tmp[0]; list * __counter; do { __carry.splice(__carry.begin(), *this, begin()); for(__counter = &__tmp[0]; __counter != __fill && !__counter->empty(); ++__counter) { __counter->merge(__carry, __comp); __carry.swap(*__counter); } __carry.swap(*__counter); if (__counter == __fill) ++__fill; } while ( !empty() ); for (__counter = &__tmp[1]; __counter != __fill; ++__counter) __counter->merge(*(__counter - 1), __comp); swap(*(__fill - 1)); } } } # 72 "/usr/include/c++/4.3/list" 2 3 # 25 "VBFStudyGUI.h" 2 # 1 "/products/root_522/include/root/TPaveStats.h" 1 # 24 "/products/root_522/include/root/TPaveStats.h" # 1 "/products/root_522/include/root/TPaveText.h" 1 # 28 "/products/root_522/include/root/TPaveText.h" # 1 "/products/root_522/include/root/TText.h" 1 # 34 "/products/root_522/include/root/TText.h" class TText : public TNamed, public TAttText { protected: Double_t fX; Double_t fY; public: enum { kTextNDC = (1 << (14)) }; TText(); TText(Double_t x, Double_t y, const char *text); TText(const TText &text); virtual ~TText(); void Copy(TObject &text) const; virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); virtual TText *DrawText(Double_t x, Double_t y, const char *text); virtual TText *DrawTextNDC(Double_t x, Double_t y, const char *text); virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); virtual void GetControlBox(Int_t x, Int_t y, Double_t theta, Int_t cBoxX[4], Int_t cBoxY[4]); Double_t GetX() const { return fX; } virtual void GetBoundingBox(UInt_t &w, UInt_t &h, Bool_t angle = kFALSE); virtual void GetTextAscentDescent(UInt_t &a, UInt_t &d, const char *text) const; virtual void GetTextExtent(UInt_t &w, UInt_t &h, const char *text) const; Double_t GetY() const { return fY; } virtual void ls(Option_t *option="") const; virtual void Paint(Option_t *option=""); virtual void PaintControlBox(Int_t x, Int_t y, Double_t theta); virtual void PaintText(Double_t x, Double_t y, const char *text); virtual void PaintTextNDC(Double_t u, Double_t v, const char *text); virtual void Print(Option_t *option="") const; virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SetNDC(Bool_t isNDC=kTRUE); virtual void SetText(Double_t x, Double_t y, const char *text) {fX=x; fY=y; SetTitle(text);} virtual void SetX(Double_t x) { fX = x; } virtual void SetY(Double_t y) { fY = y; } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 2; } static void Dictionary(); virtual TClass *IsA() const { return TText::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TText::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TText.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 74; } }; # 29 "/products/root_522/include/root/TPaveText.h" 2 class TPaveText : public TPave, public TAttText { protected: TString fLabel; Int_t fLongest; Float_t fMargin; TList *fLines; public: TPaveText(); TPaveText(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2, Option_t *option="br"); TPaveText(const TPaveText &pavetext); virtual ~TPaveText(); TPaveText& operator=(const TPaveText&); virtual TBox *AddBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2); virtual TLine *AddLine(Double_t x1=0, Double_t y1=0, Double_t x2=0, Double_t y2=0); virtual TText *AddText(Double_t x1, Double_t y1, const char *label); virtual TText *AddText(const char *label); virtual void Clear(Option_t *option=""); virtual void DeleteText(); virtual void Draw(Option_t *option=""); virtual void DrawFile(const char *filename, Option_t *option=""); virtual void EditText(); const char *GetLabel() const {return fLabel.Data();} virtual TText *GetLine(Int_t number) const; virtual TText *GetLineWith(const char *text) const; virtual TList *GetListOfLines() const {return fLines;} Float_t GetMargin() const {return fMargin;} virtual TObject *GetObject(Double_t &ymouse, Double_t &yobj) const; virtual Int_t GetSize() const; virtual void InsertLine(); virtual void InsertText(const char *label); virtual void Paint(Option_t *option=""); virtual void PaintPrimitives(Int_t mode); virtual void Print(Option_t *option="") const; virtual void ReadFile(const char *filename, Option_t *option="", Int_t nlines=50, Int_t fromline=0); virtual void SaveLines(ostream &out, const char *name); virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SetAllWith(const char *text, Option_t *option, Double_t value); virtual void SetLabel(const char *label) {fLabel = label;} virtual void SetMargin(Float_t margin=0.05) {fMargin=margin;} virtual void UseCurrentStyle(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 2; } static void Dictionary(); virtual TClass *IsA() const { return TPaveText::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TPaveText::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TPaveText.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 80; } }; # 25 "/products/root_522/include/root/TPaveStats.h" 2 class TPaveStats : public TPaveText { protected: Int_t fOptFit; Int_t fOptStat; TString fFitFormat; TString fStatFormat; TObject *fParent; public: TPaveStats(); TPaveStats(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2, Option_t *option="br"); virtual ~TPaveStats(); virtual TBox *AddBox(Double_t , Double_t , Double_t , Double_t) {return 0;} virtual TLine *AddLine(Double_t , Double_t , Double_t, Double_t) {return 0;} virtual void DeleteText() { } virtual void EditText() { } virtual const char *GetFitFormat() const {return fFitFormat.Data();} virtual const char *GetStatFormat() const {return fStatFormat.Data();} Int_t GetOptFit() const; Int_t GetOptStat() const; TObject *GetParent() const {return fParent;} virtual void Paint(Option_t *option=""); virtual void InsertText(const char *) { } virtual void InsertLine() { } virtual void ReadFile(const char *, Option_t *, Int_t, Int_t) { } virtual void SavePrimitive(ostream &out, Option_t *option = ""); virtual void SaveStyle(); virtual void SetAllWith(const char *, Option_t *, Double_t) { } virtual void SetMargin(Float_t) { } virtual void SetFitFormat(const char *format="5.4g"); virtual void SetStatFormat(const char *format="6.4g"); void SetOptFit(Int_t fit=1); void SetOptStat(Int_t stat=1); void SetParent(TObject*obj) {fParent = obj;} virtual void UseCurrentStyle(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 4; } static void Dictionary(); virtual TClass *IsA() const { return TPaveStats::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TPaveStats::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TPaveStats.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 65; } }; # 26 "VBFStudyGUI.h" 2 # 1 "/products/root_522/include/root/TPostScript.h" 1 # 26 "/products/root_522/include/root/TPostScript.h" # 1 "/products/root_522/include/root/TVirtualPS.h" 1 # 40 "/products/root_522/include/root/TVirtualPS.h" class TVirtualPS : public TNamed, public TAttLine, public TAttFill, public TAttMarker, public TAttText { private: TVirtualPS(const TVirtualPS&); TVirtualPS& operator=(const TVirtualPS&); protected: Int_t fNByte; Int_t fLenBuffer; Int_t fSizBuffer; Bool_t fPrinted; ofstream *fStream; char *fBuffer; public: TVirtualPS(); TVirtualPS(const char *filename, Int_t type=-111); virtual ~TVirtualPS(); virtual void CellArrayBegin(Int_t W, Int_t H, Double_t x1, Double_t x2, Double_t y1, Double_t y2) = 0; virtual void CellArrayFill(Int_t r, Int_t g, Int_t b) = 0; virtual void CellArrayEnd() = 0; virtual void Close(Option_t *opt="") = 0; virtual void DrawBox(Double_t x1, Double_t y1,Double_t x2, Double_t y2) = 0; virtual void DrawFrame(Double_t xl, Double_t yl, Double_t xt, Double_t yt, Int_t mode, Int_t border, Int_t dark, Int_t light) = 0; virtual void DrawPolyMarker(Int_t n, Float_t *x, Float_t *y) = 0; virtual void DrawPolyMarker(Int_t n, Double_t *x, Double_t *y) = 0; virtual void DrawPS(Int_t n, Float_t *xw, Float_t *yw) = 0; virtual void DrawPS(Int_t n, Double_t *xw, Double_t *yw) = 0; virtual void NewPage() = 0; virtual void Open(const char *filename, Int_t type=-111) = 0; virtual void Text(Double_t x, Double_t y, const char *string) = 0; virtual void SetColor(Float_t r, Float_t g, Float_t b) = 0; virtual void PrintFast(Int_t nch, const char *string=""); virtual void PrintStr(const char *string=""); virtual void WriteInteger(Int_t i, Bool_t space=kTRUE); virtual void WriteReal(Float_t r); virtual void *GetStream() const { return (void*)fStream; } virtual void SetStream(ofstream *os) { fStream = os; } virtual void SetType(Int_t = -111) { } virtual Int_t GetType() const { return 111; } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TVirtualPS::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TVirtualPS::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TVirtualPS.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 84; } }; extern TVirtualPS *gVirtualPS; # 27 "/products/root_522/include/root/TPostScript.h" 2 class TPoints; class TPostScript : public TVirtualPS { protected: Float_t fX1v; Float_t fY1v; Float_t fX2v; Float_t fY2v; Float_t fX1w; Float_t fY1w; Float_t fX2w; Float_t fY2w; Float_t fDXC; Float_t fDYC; Float_t fXC; Float_t fYC; Float_t fFX; Float_t fFY; Float_t fXVP1; Float_t fXVP2; Float_t fYVP1; Float_t fYVP2; Float_t fXVS1; Float_t fXVS2; Float_t fYVS1; Float_t fYVS2; Float_t fXsize; Float_t fYsize; Float_t fMaxsize; Float_t fRed; Float_t fGreen; Float_t fBlue; Float_t fLineScale; Int_t fLineJoin; Int_t fSave; Int_t fNXzone; Int_t fNYzone; Int_t fIXzone; Int_t fIYzone; Float_t fMarkerSizeCur; Int_t fCurrentColor; Int_t fNpages; Int_t fType; Int_t fMode; Int_t fClip; Bool_t fBoundingBox; Bool_t fClear; Bool_t fClipStatus; Bool_t fRange; Bool_t fZone; char fPatterns[32]; Int_t fNbinCT; Int_t fNbCellW; Int_t fNbCellLine; Int_t fMaxLines; Int_t fLastCellRed; Int_t fLastCellGreen; Int_t fLastCellBlue; Int_t fNBSameColorCell; static Int_t fgLineJoin; public: TPostScript(); TPostScript(const char *filename, Int_t type=-111); virtual ~TPostScript(); void CellArrayBegin(Int_t W, Int_t H, Double_t x1, Double_t x2, Double_t y1, Double_t y2); void CellArrayFill(Int_t r, Int_t g, Int_t b); void CellArrayEnd(); void Close(Option_t *opt=""); Int_t CMtoPS(Double_t u) {return Int_t(0.5 + 72*u/2.54);} void DefineMarkers(); void DrawBox(Double_t x1, Double_t y1,Double_t x2, Double_t y2); void DrawFrame(Double_t xl, Double_t yl, Double_t xt, Double_t yt, Int_t mode, Int_t border, Int_t dark, Int_t light); void DrawHatch(Float_t dy, Float_t angle, Int_t n, Float_t *x, Float_t *y); void DrawHatch(Float_t dy, Float_t angle, Int_t n, Double_t *x, Double_t *y); void DrawPolyLine(Int_t n, TPoints *xy); void DrawPolyLineNDC(Int_t n, TPoints *uv); void DrawPolyMarker(Int_t n, Float_t *x, Float_t *y); void DrawPolyMarker(Int_t n, Double_t *x, Double_t *y); void DrawPS(Int_t n, Float_t *xw, Float_t *yw); void DrawPS(Int_t n, Double_t *xw, Double_t *yw); void FontEncode(); void Initialize(); void NewPage(); void Off(); void On(); void Open(const char *filename, Int_t type=-111); void SaveRestore(Int_t flag); void SetFillColor( Color_t cindex=1); void SetFillPatterns(Int_t ipat, Int_t color); void SetLineColor( Color_t cindex=1); void SetLineJoin(Int_t linejoin=0); void SetLineStyle(Style_t linestyle = 1); void SetLineWidth(Width_t linewidth = 1); void SetLineScale(Float_t scale=3) {fLineScale = scale;} void SetMarkerColor( Color_t cindex=1); void SetTextColor( Color_t cindex=1); void MovePS(Int_t x, Int_t y); void Range(Float_t xrange, Float_t yrange); void SetColor(Int_t color = 1); void SetColor(Float_t r, Float_t g, Float_t b); void Text(Double_t x, Double_t y, const char *string); void TextNDC(Double_t u, Double_t v, const char *string); Int_t UtoPS(Double_t u); Int_t VtoPS(Double_t v); Int_t XtoPS(Double_t x); Int_t YtoPS(Double_t y); void Zone(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TPostScript::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TPostScript::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TPostScript.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 145; } }; # 28 "VBFStudyGUI.h" 2 class VBFStudyGUI { private:TQObjSender fQObject;public:TList *GetListOfSignals() const {return fQObject.GetListOfSignals();}Bool_t Connect(const char *sig,const char *cl,void *rcvr,const char *slt){fQObject.SetSender(this);fQObject.SetSenderClassName("VBFStudyGUI");return fQObject.Connect(sig,cl,rcvr,slt);}Bool_t Disconnect(const char *sig=0,void *rcvr=0,const char *slt=0){return fQObject.Disconnect(sig,rcvr,slt);}void HighPriority(const char *signal_name,const char *slot_name=0){fQObject.HighPriority(signal_name,slot_name);}void LowPriority(const char *signal_name,const char *slot_name=0){fQObject.LowPriority(signal_name,slot_name);}void EmitVA(const char *signal,Int_t nargs, ...){va_list ap;__builtin_va_start(ap,nargs);fQObject.EmitVA(signal,nargs,ap);__builtin_va_end(ap);}void Emit(const char *signal){fQObject.Emit(signal);}void Emit(const char *signal,const char *params){fQObject.Emit(signal,params);}void Emit(const char *signal,Long_t *paramArr){fQObject.Emit(signal,paramArr);}void Emit(const char *signal,Double_t param){fQObject.Emit(signal,param);}void Emit(const char *signal,Long_t param){fQObject.Emit(signal,param);} void Emit(const char *signal,Long64_t param){fQObject.Emit(signal,param);}void Emit(const char *signal,ULong64_t param){fQObject.Emit(signal,param);}void Emit(const char *signal,Bool_t param){Emit(signal,(Long_t)param);}void Emit(const char *signal,Char_t param){Emit(signal,(Long_t)param);}void Emit(const char *signal,UChar_t param){Emit(signal,(Long_t)param);}void Emit(const char *signal,Short_t param){Emit(signal,(Long_t)param);}void Emit(const char *signal,UShort_t param){Emit(signal,(Long_t)param);}void Emit(const char *signal,Int_t param){Emit(signal,(Long_t)param);}void Emit(const char *signal,UInt_t param){Emit(signal,(Long_t)param);}void Emit(const char *signal,ULong_t param){Emit(signal,(Long_t)param);}void Emit(const char *signal,Float_t param){Emit(signal,(Double_t)param);}void Destroyed(){Emit("Destroyed()");}void ChangedBy(const char *method){Emit("ChangedBy(char*)",method);}void Message(const char *msg){Emit("Message(char*)",msg);}private: public: enum GraphStyles{DEFAULT,BLACK,RED,MAGENTA,BLUE}; Utilities *ut; private: Bool_t Determine_doDraw(string histoname); void SaveHistoStats(TH1* histo, string plotsetName); void SaveEmbeddedCanvas(TRootEmbeddedCanvas *fEcanvas, string plotsetName, string histoName); vector GetKeyHistos (string key); vector GetHistoStyles(); TGMainFrame *fMain; TRootEmbeddedCanvas *fEcanvas; TGPopupMenu *fMenuSubsets; TGLayoutHints *fMenuBarItemLayout; TGMenuBar *fMenuBar; TPaveStats *stat1; TPaveStats *stat2; TPaveStats *stat3; Plotset *plotset; map allPlotsets; map plotsetStyles; TString filename; TString psFilename; UInt_t NPads; UInt_t NPadsX; UInt_t NPadsY; ofstream *ofstr; map::iterator plotIterator; map::iterator> allPlotIterators; list histoKeys; list::const_iterator currentHistoKey; std::vector *knownPropertiesTGHS; std::vector *knownProperties; std::map requiredProperties; int overlayMode; map statBoxes; bool normalizePlots; public: VBFStudyGUI(const TGWindow *p, UInt_t w = 600, UInt_t h = 600, char windowTitle[] = "VBFStudy"); virtual ~VBFStudyGUI(); Bool_t DrawHistogram(TH1* histo, TString plotsetName = "", Bool_t saveHisto = false, TPostScript *PSFile = 0, TCanvas *Canvas = 0, Int_t *padCounter = 0); Bool_t OverlayHistogramVectorSame(vector histos, vector histoStyle, TString overlayName = "", Bool_t saveOverlay = false); void AddPlotset(Plotset *aPlotset = 0, GraphStyles grstyle = DEFAULT); inline void DrawPlotset() { DrawPlotset(filename, psFilename, plotset); }; void DrawPlotset(TString givenFilename, TString givenPsFilename = "", Plotset *aPlotset = 0); void DrawPlotsets( TString givenFilename = "", TString givenPsFilename = "" ); Bool_t DrawPrevious(); Bool_t DrawNext(Bool_t saveHisto = false, TPostScript *PSFile = 0, TCanvas *Canvas = 0, Int_t padCounter = -1); void HandleMenu(UInt_t id); void SetHistoStyle(TH1 *histo, GraphStyles grstyle ); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return VBFStudyGUI::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { VBFStudyGUI::Streamer(b); } static const char *DeclFileName() { return "VBFStudyGUI.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 102; } }; # 33 "VBFStudy.h" 2 class VBFStudy { private:TQObjSender fQObject;public:TList *GetListOfSignals() const {return fQObject.GetListOfSignals();}Bool_t Connect(const char *sig,const char *cl,void *rcvr,const char *slt){fQObject.SetSender(this);fQObject.SetSenderClassName("VBFStudy");return fQObject.Connect(sig,cl,rcvr,slt);}Bool_t Disconnect(const char *sig=0,void *rcvr=0,const char *slt=0){return fQObject.Disconnect(sig,rcvr,slt);}void HighPriority(const char *signal_name,const char *slot_name=0){fQObject.HighPriority(signal_name,slot_name);}void LowPriority(const char *signal_name,const char *slot_name=0){fQObject.LowPriority(signal_name,slot_name);}void EmitVA(const char *signal,Int_t nargs, ...){va_list ap;__builtin_va_start(ap,nargs);fQObject.EmitVA(signal,nargs,ap);__builtin_va_end(ap);}void Emit(const char *signal){fQObject.Emit(signal);}void Emit(const char *signal,const char *params){fQObject.Emit(signal,params);}void Emit(const char *signal,Long_t *paramArr){fQObject.Emit(signal,paramArr);}void Emit(const char *signal,Double_t param){fQObject.Emit(signal,param);}void Emit(const char *signal,Long_t param){fQObject.Emit(signal,param);} void Emit(const char *signal,Long64_t param){fQObject.Emit(signal,param);}void Emit(const char *signal,ULong64_t param){fQObject.Emit(signal,param);}void Emit(const char *signal,Bool_t param){Emit(signal,(Long_t)param);}void Emit(const char *signal,Char_t param){Emit(signal,(Long_t)param);}void Emit(const char *signal,UChar_t param){Emit(signal,(Long_t)param);}void Emit(const char *signal,Short_t param){Emit(signal,(Long_t)param);}void Emit(const char *signal,UShort_t param){Emit(signal,(Long_t)param);}void Emit(const char *signal,Int_t param){Emit(signal,(Long_t)param);}void Emit(const char *signal,UInt_t param){Emit(signal,(Long_t)param);}void Emit(const char *signal,ULong_t param){Emit(signal,(Long_t)param);}void Emit(const char *signal,Float_t param){Emit(signal,(Double_t)param);}void Destroyed(){Emit("Destroyed()");}void ChangedBy(const char *method){Emit("ChangedBy(char*)",method);}void Message(const char *msg){Emit("Message(char*)",msg);}private: private: Int_t iVerbose; Int_t iVerboseSkip; Int_t iNoMessages; Int_t limitVerbosity; Int_t iRootfiles; Int_t nFirstEvent; Int_t nMaxEvents; Int_t nentries; Int_t unentries; Int_t par; Int_t lowerLevel, higherLevel; Int_t triggerExclusivenessFailed; Bool_t showStats; Bool_t compare; Bool_t useTGAE; Bool_t examineDummyPVs; Bool_t examineDetailedTiming; std::vector plotsets; NTupleChain* chain2; NTupleChain* chain1; UInt_t iEventsWithoutRecoPVs; UInt_t iEventsWith1RecoPV; UInt_t iEventsWithMoreThan1RecoPV; string chain4Name; string chain2Name; string chain1Name; string singName; VBFStudyGUI *thegui; Utilities *ut; public: VBFStudy( char specName[], Int_t lowerTriggerLevel = 0, Int_t higherTriggerLevel = 1, Int_t totalEvents = 100, Int_t FirstEvent = 0, TString opt_twoddraw = "BOX", Bool_t acceptMuPlus = false, Bool_t acceptMuMinus = true, Bool_t useTGrAsErr = true ); virtual ~VBFStudy(); TString effError( double passes, double all ); void FillHistos( NTupleChain *chain2, Plotset *histos_chain2 ); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return VBFStudy::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { VBFStudy::Streamer(b); } static const char *DeclFileName() { return "VBFStudy.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 103; } }; static double ElapsedTime(const struct timeval &start, const struct timeval &end) { long sec=end.tv_sec-start.tv_sec; long usec=end.tv_usec-start.tv_usec; return ((double) sec ) + 1e-6 * usec; }; class Optionset{ public: Optionset(std::map given_available_options); Optionset(); virtual ~Optionset(); void PresetOption(string option_name, bool target_value); void SetOptions() const; private: std::map optionsMap; std::map available_options; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 1; } static void Dictionary(); virtual TClass *IsA() const { return Optionset::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { Optionset::Streamer(b); } static const char *DeclFileName() { return "VBFStudy.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 127; } }; # 26 "VBFStudy.cxx" 2 # 1 "/products/root_522/include/root/TThread.h" 1 # 31 "/products/root_522/include/root/TThread.h" # 1 "/products/root_522/include/root/TMutex.h" 1 # 27 "/products/root_522/include/root/TMutex.h" # 1 "/products/root_522/include/root/TVirtualMutex.h" 1 # 29 "/products/root_522/include/root/TVirtualMutex.h" class TVirtualMutex; extern TVirtualMutex *gGlobalMutex; class TVirtualMutex : public TObject { public: TVirtualMutex(Bool_t = kFALSE) { } virtual ~TVirtualMutex() { } virtual Int_t Lock() = 0; virtual Int_t TryLock() = 0; virtual Int_t UnLock() = 0; virtual Int_t CleanUp() = 0; Int_t Acquire() { return Lock(); } Int_t Release() { return UnLock(); } virtual TVirtualMutex *Factory(Bool_t = kFALSE) = 0; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TVirtualMutex::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TVirtualMutex::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TVirtualMutex.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 49; } }; # 69 "/products/root_522/include/root/TVirtualMutex.h" class TLockGuard { private: TVirtualMutex *fMutex; TLockGuard(const TLockGuard&); TLockGuard& operator=(const TLockGuard&); public: TLockGuard(TVirtualMutex *mutex) : fMutex(mutex) { if (fMutex) fMutex->Lock(); } virtual ~TLockGuard() { if (fMutex) fMutex->UnLock(); } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TLockGuard::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TLockGuard::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TVirtualMutex.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 82; } }; # 28 "/products/root_522/include/root/TMutex.h" 2 # 1 "/products/root_522/include/root/TMutexImp.h" 1 # 33 "/products/root_522/include/root/TMutexImp.h" class TMutexImp : public TObject { public: TMutexImp() { } virtual ~TMutexImp() { } virtual Int_t Lock() = 0; virtual Int_t TryLock() = 0; virtual Int_t UnLock() = 0; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TMutexImp::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TMutexImp::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TMutexImp.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 43; } }; # 34 "/products/root_522/include/root/TMutex.h" 2 class TMutex : public TVirtualMutex { friend class TCondition; friend class TThread; private: TMutexImp *fMutexImp; Long_t fId; Int_t fRef; TMutex(const TMutex&); TMutex& operator=(const TMutex&); public: TMutex(Bool_t recursive = kFALSE); virtual ~TMutex() { delete fMutexImp; } Int_t Lock(); Int_t TryLock(); Int_t UnLock(); Int_t CleanUp(); TVirtualMutex *Factory(Bool_t recursive = kFALSE); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TMutex::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TMutex::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TMutex.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 61; } }; # 32 "/products/root_522/include/root/TThread.h" 2 # 1 "/products/root_522/include/root/TCondition.h" 1 # 30 "/products/root_522/include/root/TCondition.h" # 1 "/products/root_522/include/root/TConditionImp.h" 1 # 33 "/products/root_522/include/root/TConditionImp.h" class TConditionImp : public TObject { public: TConditionImp() { } virtual ~TConditionImp() { } virtual Int_t Wait() = 0; virtual Int_t TimedWait(ULong_t secs, ULong_t nanoSecs = 0) = 0; virtual Int_t Signal() = 0; virtual Int_t Broadcast() = 0; private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TConditionImp::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TConditionImp::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TConditionImp.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 44; } }; # 31 "/products/root_522/include/root/TCondition.h" 2 class TMutex; class TCondition : public TObject { friend class TThread; private: TConditionImp *fConditionImp; TMutex *fMutex; Bool_t fPrivateMutex; TCondition(const TCondition&); TCondition& operator=(const TCondition&); public: TCondition(TMutex *m = 0); virtual ~TCondition(); TMutex *GetMutex() const; Int_t Wait(); Int_t TimedWait(ULong_t secs, ULong_t nanoSecs); Int_t TimedWaitRelative(ULong_t ms); Int_t Signal() { if (fConditionImp) return fConditionImp->Signal(); return -1; } Int_t Broadcast() { if (fConditionImp) return fConditionImp->Broadcast(); return -1; } private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TCondition::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TCondition::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TCondition.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 60; } }; # 35 "/products/root_522/include/root/TThread.h" 2 # 46 "/products/root_522/include/root/TThread.h" class TThreadImp; class TThread : public TNamed { friend class TThreadImp; friend class TPosixThread; friend class TThreadTimer; friend class TThreadCleaner; friend class TWin32Thread; public: typedef void *(*VoidRtnFunc_t)(void *); typedef void (*VoidFunc_t)(void *); enum EPriority { kLowPriority, kNormalPriority, kHighPriority }; enum EState { kInvalidState, kNewState, kRunningState, kTerminatedState, kFinishedState, kCancelingState, kCanceledState, kDeletingState }; private: TThread *fNext; TThread *fPrev; TThread **fHolder; EPriority fPriority; EState fState; EState fStateComing; Long_t fId; Long_t fHandle; Bool_t fDetached; Bool_t fNamed; VoidRtnFunc_t fFcnRetn; VoidFunc_t fFcnVoid; void *fThreadArg; void *fClean; void *fTsd[20]; char fComment[100]; static TThreadImp *fgThreadImp; static char * volatile fgXAct; static void ** volatile fgXArr; static volatile Int_t fgXAnb; static volatile Int_t fgXArt; static Long_t fgMainId; static TThread *fgMain; static TMutex *fgMainMutex; static TMutex *fgXActMutex; static TCondition *fgXActCondi; void Constructor(); void SetComment(const char *txt = 0) { fComment[0] = 0; if (txt) { strncpy(fComment, txt, 99); fComment[99] = 0; } } void DoError(Int_t level, const char *location, const char *fmt, va_list va) const; void ErrorHandler(int level, const char *location, const char *fmt, va_list ap) const; static void Init(); static void *Function(void *ptr); static Int_t XARequest(const char *xact, Int_t nb, void **ar, Int_t *iret); static void AfterCancel(TThread *th); TThread(const TThread&); TThread& operator=(const TThread&); public: TThread(VoidRtnFunc_t fn, void *arg = 0, EPriority pri = kNormalPriority); TThread(VoidFunc_t fn, void *arg = 0, EPriority pri = kNormalPriority); TThread(const char *thname, VoidRtnFunc_t fn, void *arg = 0, EPriority pri = kNormalPriority); TThread(const char *thname, VoidFunc_t fn, void *arg = 0, EPriority pri = kNormalPriority); TThread(Int_t id = 0); virtual ~TThread(); Int_t Kill(); Int_t Run(void *arg = 0); void SetPriority(EPriority pri); void Delete(Option_t *option="") { TObject::Delete(option); } EPriority GetPriority() const { return fPriority; } EState GetState() const { return fState; } Long_t GetId() const { return fId; } static void Ps(); static void ps() { Ps(); } Long_t Join(void **ret = 0); static Long_t Join(Long_t id, void **ret = 0); static Int_t Exit(void *ret = 0); static Int_t Exists(); static TThread *GetThread(Long_t id); static TThread *GetThread(const char *name); static Int_t Lock(); static Int_t TryLock(); static Int_t UnLock(); static TThread *Self(); static Long_t SelfId(); static Int_t Sleep(ULong_t secs, ULong_t nanos = 0); static Int_t GetTime(ULong_t *absSec, ULong_t *absNanoSec); static Int_t Delete(TThread *&th); static void **Tsd(void *dflt, Int_t k); static Int_t SetCancelOn(); static Int_t SetCancelOff(); static Int_t SetCancelAsynchronous(); static Int_t SetCancelDeferred(); static Int_t CancelPoint(); static Int_t Kill(Long_t id); static Int_t Kill(const char *name); static Int_t CleanUpPush(void *free, void *arg = 0); static Int_t CleanUpPop(Int_t exe = 0); static Int_t CleanUp(); static void Printf(const char *fmt, ...); static void XAction(); private: static TClass *fgIsA; public: static TClass *Class(); static const char *Class_Name(); static Version_t Class_Version() { return 0; } static void Dictionary(); virtual TClass *IsA() const { return TThread::Class(); } virtual void ShowMembers(TMemberInspector &insp, char *parent); virtual void Streamer(TBuffer &b); void StreamerNVirtual(TBuffer &b) { TThread::Streamer(b); } static const char *DeclFileName() { return "/products/root_522/include/root/TThread.h"; } static int ImplFileLine(); static const char *ImplFileName(); static int DeclFileLine() { return 180; } }; # 190 "/products/root_522/include/root/TThread.h" class TThreadCleaner { public: TThreadCleaner() { } ~TThreadCleaner(); }; # 203 "/products/root_522/include/root/TThread.h" class TThreadTimer : public TTimer { public: TThreadTimer(Long_t ms = 100); Bool_t Notify(); }; # 27 "VBFStudy.cxx" 2 # 1 "/usr/include/sys/time.h" 1 3 4 # 29 "/usr/include/sys/time.h" 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 30 "/usr/include/sys/time.h" 2 3 4 # 39 "/usr/include/sys/time.h" 3 4 extern "C" { # 57 "/usr/include/sys/time.h" 3 4 struct timezone { int tz_minuteswest; int tz_dsttime; }; typedef struct timezone *__restrict __timezone_ptr_t; # 73 "/usr/include/sys/time.h" 3 4 extern int gettimeofday (struct timeval *__restrict __tv, __timezone_ptr_t __tz) throw () __attribute__ ((__nonnull__ (1))); extern int settimeofday (__const struct timeval *__tv, __const struct timezone *__tz) throw () __attribute__ ((__nonnull__ (1))); extern int adjtime (__const struct timeval *__delta, struct timeval *__olddelta) throw (); enum __itimer_which { ITIMER_REAL = 0, ITIMER_VIRTUAL = 1, ITIMER_PROF = 2 }; struct itimerval { struct timeval it_interval; struct timeval it_value; }; typedef int __itimer_which_t; extern int getitimer (__itimer_which_t __which, struct itimerval *__value) throw (); extern int setitimer (__itimer_which_t __which, __const struct itimerval *__restrict __new, struct itimerval *__restrict __old) throw (); extern int utimes (__const char *__file, __const struct timeval __tvp[2]) throw () __attribute__ ((__nonnull__ (1))); extern int lutimes (__const char *__file, __const struct timeval __tvp[2]) throw () __attribute__ ((__nonnull__ (1))); extern int futimes (int __fd, __const struct timeval __tvp[2]) throw (); extern int futimesat (int __fd, __const char *__file, __const struct timeval __tvp[2]) throw (); # 191 "/usr/include/sys/time.h" 3 4 } # 30 "VBFStudy.cxx" 2 VBFStudy::VBFStudy(char specName[], Int_t lowerTriggerLevel, Int_t higherTriggerLevel, Int_t totalEvents, Int_t FirstEvent, TString opt_twoddraw, Bool_t acceptMuPluss, Bool_t acceptMuMinuss, Bool_t useTGrAsErr) : ut(new Utilities()) { iVerbose = 1; iVerboseSkip = 1500; iNoMessages = 0; limitVerbosity = 300; iRootfiles = 0; nFirstEvent = FirstEvent; nMaxEvents = totalEvents; par = 2000; bool makePlots = true; examineDetailedTiming = false; std::map global_available_options; std::map optionsets; bool applyTrackQualityCriteria = false;global_available_options["applyTrackQualityCriteria"] = &applyTrackQualityCriteria; bool applyTruthParticleCutsForTracking = false;global_available_options["applyTruthParticleCutsForTracking"] = &applyTruthParticleCutsForTracking; bool applyTrackingCutOnJets = false;global_available_options["applyTrackingCutOnJets"] = &applyTrackingCutOnJets; bool onlyEvents_wo_recoPvs = false;global_available_options["onlyEvents_wo_recoPvs"] = &onlyEvents_wo_recoPvs; bool onlyEvents_w_recoPvs = false;global_available_options["onlyEvents_w_recoPvs"] = &onlyEvents_w_recoPvs; bool onlyEvents_w_exactly1_recoPv = false;global_available_options["onlyEvents_w_exactly1_recoPv"] = &onlyEvents_w_exactly1_recoPv; bool onlyEvents_w_2muons = false;global_available_options["onlyEvents_w_2muons"] = &onlyEvents_w_2muons; bool onlyEvents_w_2electrons = false;global_available_options["onlyEvents_w_2electrons"] = &onlyEvents_w_2electrons; bool onlyEvents_w_2leptons = false;global_available_options["onlyEvents_w_2leptons"] = &onlyEvents_w_2leptons; bool examineDummyPVs = false;global_available_options["examineDummyPVs"] = &examineDummyPVs; bool applyTriggerCut = false;global_available_options["applyTriggerCut"] = &applyTriggerCut; bool applyLeadingLeptonCut = false;global_available_options["applyLeadingLeptonCut"] = &applyLeadingLeptonCut; bool applyDileptonCut = false;global_available_options["applyDileptonCut"] = &applyDileptonCut; bool applyMETCut = false;global_available_options["applyMETCut"] = &applyMETCut; bool applyCollApproxCut = false;global_available_options["applyCollApproxCut"] = &applyCollApproxCut; bool applyTightJetCut = false;global_available_options["applyTightJetCut"] = &applyTightJetCut; bool applyJetHemispheresCut = false;global_available_options["applyJetHemispheresCut"] = &applyJetHemispheresCut; bool applyCentralityCut = false;global_available_options["applyCentralityCut"] = &applyCentralityCut; bool applybJetCut = false;global_available_options["applybJetCut"] = &applybJetCut; bool applyJetSeparationCut = false;global_available_options["applyJetSeparationCut"] = &applyJetSeparationCut; bool applyDiJetMassCut = false;global_available_options["applyDiJetMassCut"] = &applyDiJetMassCut; bool applyCJVStandardFlavorCut = false;global_available_options["applyCJVStandardFlavorCut"] = &applyCJVStandardFlavorCut; bool applyHiggsMassCut = false;global_available_options["applyHiggsMassCut"] = &applyHiggsMassCut; std::map ntchains; std::map plotsetmap; optionsets["ttbarFullSim"] = Optionset(global_available_options); optionsets["Ztautau2j_nolumi"] = Optionset(global_available_options); optionsets["VBF_nolumi_nocuts"] = Optionset(global_available_options); optionsets["VBF_nolumi_cut1"] = Optionset(global_available_options); optionsets["VBF_nolumi_cut1"].PresetOption("applyTriggerCut", true); optionsets["VBF_nolumi_cut2"] = Optionset(global_available_options); optionsets["VBF_nolumi_cut2"].PresetOption("applyTriggerCut", true); optionsets["VBF_nolumi_cut2"].PresetOption("applyLeadingLeptonCut", true); optionsets["VBF_nolumi_cut3"] = Optionset(global_available_options); optionsets["VBF_nolumi_cut3"].PresetOption("applyTriggerCut", true); optionsets["VBF_nolumi_cut3"].PresetOption("applyLeadingLeptonCut", true); optionsets["VBF_nolumi_cut3"].PresetOption("applyDileptonCut", true); optionsets["VBF_nolumi_cut4"] = Optionset(global_available_options); optionsets["VBF_nolumi_cut4"].PresetOption("applyTriggerCut", true); optionsets["VBF_nolumi_cut4"].PresetOption("applyLeadingLeptonCut", true); optionsets["VBF_nolumi_cut4"].PresetOption("applyDileptonCut", true); optionsets["VBF_nolumi_cut4"].PresetOption("applyMETCut", true); optionsets["VBF_nolumi_cut5"] = Optionset(global_available_options); optionsets["VBF_nolumi_cut5"].PresetOption("applyTriggerCut", true); optionsets["VBF_nolumi_cut5"].PresetOption("applyLeadingLeptonCut", true); optionsets["VBF_nolumi_cut5"].PresetOption("applyDileptonCut", true); optionsets["VBF_nolumi_cut5"].PresetOption("applyMETCut", true); optionsets["VBF_nolumi_cut5"].PresetOption("applyCollApproxCut", true); optionsets["VBF_nolumi_cut6"] = Optionset(global_available_options); optionsets["VBF_nolumi_cut6"].PresetOption("applyTriggerCut", true); optionsets["VBF_nolumi_cut6"].PresetOption("applyLeadingLeptonCut", true); optionsets["VBF_nolumi_cut6"].PresetOption("applyDileptonCut", true); optionsets["VBF_nolumi_cut6"].PresetOption("applyMETCut", true); optionsets["VBF_nolumi_cut6"].PresetOption("applyCollApproxCut", true); optionsets["VBF_nolumi_cut6"].PresetOption("applyTightJetCut", true); optionsets["VBF_nolumi_cut7"] = Optionset(global_available_options); optionsets["VBF_nolumi_cut7"].PresetOption("applyTriggerCut", true); optionsets["VBF_nolumi_cut7"].PresetOption("applyLeadingLeptonCut", true); optionsets["VBF_nolumi_cut7"].PresetOption("applyDileptonCut", true); optionsets["VBF_nolumi_cut7"].PresetOption("applyMETCut", true); optionsets["VBF_nolumi_cut7"].PresetOption("applyCollApproxCut", true); optionsets["VBF_nolumi_cut7"].PresetOption("applyTightJetCut", true); optionsets["VBF_nolumi_cut7"].PresetOption("applyJetHemispheresCut", true); optionsets["VBF_nolumi_cut8"] = Optionset(global_available_options); optionsets["VBF_nolumi_cut8"].PresetOption("applyTriggerCut", true); optionsets["VBF_nolumi_cut8"].PresetOption("applyLeadingLeptonCut", true); optionsets["VBF_nolumi_cut8"].PresetOption("applyDileptonCut", true); optionsets["VBF_nolumi_cut8"].PresetOption("applyMETCut", true); optionsets["VBF_nolumi_cut8"].PresetOption("applyCollApproxCut", true); optionsets["VBF_nolumi_cut8"].PresetOption("applyTightJetCut", true); optionsets["VBF_nolumi_cut8"].PresetOption("applyJetHemispheresCut", true); optionsets["VBF_nolumi_cut8"].PresetOption("applyCentralityCut", true); optionsets["VBF_nolumi_cut9"] = Optionset(global_available_options); optionsets["VBF_nolumi_cut9"].PresetOption("applyTriggerCut", true); optionsets["VBF_nolumi_cut9"].PresetOption("applyLeadingLeptonCut", true); optionsets["VBF_nolumi_cut9"].PresetOption("applyDileptonCut", true); optionsets["VBF_nolumi_cut9"].PresetOption("applyMETCut", true); optionsets["VBF_nolumi_cut9"].PresetOption("applyCollApproxCut", true); optionsets["VBF_nolumi_cut9"].PresetOption("applyTightJetCut", true); optionsets["VBF_nolumi_cut9"].PresetOption("applyJetHemispheresCut", true); optionsets["VBF_nolumi_cut9"].PresetOption("applyCentralityCut", true); optionsets["VBF_nolumi_cut9"].PresetOption("applybJetCut", true); optionsets["VBF_nolumi_cut10"] = Optionset(global_available_options); optionsets["VBF_nolumi_cut10"].PresetOption("applyTriggerCut", true); optionsets["VBF_nolumi_cut10"].PresetOption("applyLeadingLeptonCut", true); optionsets["VBF_nolumi_cut10"].PresetOption("applyDileptonCut", true); optionsets["VBF_nolumi_cut10"].PresetOption("applyMETCut", true); optionsets["VBF_nolumi_cut10"].PresetOption("applyCollApproxCut", true); optionsets["VBF_nolumi_cut10"].PresetOption("applyTightJetCut", true); optionsets["VBF_nolumi_cut10"].PresetOption("applyJetHemispheresCut", true); optionsets["VBF_nolumi_cut10"].PresetOption("applyCentralityCut", true); optionsets["VBF_nolumi_cut10"].PresetOption("applybJetCut", true); optionsets["VBF_nolumi_cut10"].PresetOption("applyJetSeparationCut", true); optionsets["VBF_nolumi_cut11"] = Optionset(global_available_options); optionsets["VBF_nolumi_cut11"].PresetOption("applyTriggerCut", true); optionsets["VBF_nolumi_cut11"].PresetOption("applyLeadingLeptonCut", true); optionsets["VBF_nolumi_cut11"].PresetOption("applyDileptonCut", true); optionsets["VBF_nolumi_cut11"].PresetOption("applyMETCut", true); optionsets["VBF_nolumi_cut11"].PresetOption("applyCollApproxCut", true); optionsets["VBF_nolumi_cut11"].PresetOption("applyTightJetCut", true); optionsets["VBF_nolumi_cut11"].PresetOption("applyJetHemispheresCut", true); optionsets["VBF_nolumi_cut11"].PresetOption("applyCentralityCut", true); optionsets["VBF_nolumi_cut11"].PresetOption("applybJetCut", true); optionsets["VBF_nolumi_cut11"].PresetOption("applyJetSeparationCut", true); optionsets["VBF_nolumi_cut11"].PresetOption("applyDiJetMassCut", true); optionsets["VBF_nolumi_cut12"] = Optionset(global_available_options); optionsets["VBF_nolumi_cut12"].PresetOption("applyTriggerCut", true); optionsets["VBF_nolumi_cut12"].PresetOption("applyLeadingLeptonCut", true); optionsets["VBF_nolumi_cut12"].PresetOption("applyDileptonCut", true); optionsets["VBF_nolumi_cut12"].PresetOption("applyMETCut", true); optionsets["VBF_nolumi_cut12"].PresetOption("applyCollApproxCut", true); optionsets["VBF_nolumi_cut12"].PresetOption("applyTightJetCut", true); optionsets["VBF_nolumi_cut12"].PresetOption("applyJetHemispheresCut", true); optionsets["VBF_nolumi_cut12"].PresetOption("applyCentralityCut", true); optionsets["VBF_nolumi_cut12"].PresetOption("applybJetCut", true); optionsets["VBF_nolumi_cut12"].PresetOption("applyJetSeparationCut", true); optionsets["VBF_nolumi_cut12"].PresetOption("applyDiJetMassCut", true); optionsets["VBF_nolumi_cut12"].PresetOption("applyCJVStandardFlavorCut", true); optionsets["VBF_nolumi_masscut"] = Optionset(global_available_options); optionsets["VBF_nolumi_masscut"].PresetOption("applyTriggerCut", true); optionsets["VBF_nolumi_masscut"].PresetOption("applyLeadingLeptonCut", true); optionsets["VBF_nolumi_masscut"].PresetOption("applyDileptonCut", true); optionsets["VBF_nolumi_masscut"].PresetOption("applyMETCut", true); optionsets["VBF_nolumi_masscut"].PresetOption("applyCollApproxCut", true); optionsets["VBF_nolumi_masscut"].PresetOption("applyTightJetCut", true); optionsets["VBF_nolumi_masscut"].PresetOption("applyJetHemispheresCut", true); optionsets["VBF_nolumi_masscut"].PresetOption("applyCentralityCut", true); optionsets["VBF_nolumi_masscut"].PresetOption("applybJetCut", true); optionsets["VBF_nolumi_masscut"].PresetOption("applyJetSeparationCut", true); optionsets["VBF_nolumi_masscut"].PresetOption("applyDiJetMassCut", true); optionsets["VBF_nolumi_masscut"].PresetOption("applyCJVStandardFlavorCut", true); optionsets["VBF_nolumi_masscut"].PresetOption("applyHiggsMassCut", true); ntchains["Ztautau2j_nolumi"] = new NTupleChain( "~/recon/current/VBF_Ztautau2j_nolumi/run/AnalysisSkeleton.AANSel.aan*", "", 0, 0, 0, false ); ntchains["ttbarFullSim"] = new NTupleChain("~/recon/current/VBF_ttbarFullSim/run/AnalysisSkeleton.AANSel.aan*", "", 0, 0, 0, false); ntchains["VBF_nolumi_nocuts"] = new NTupleChain("~/recon/current/VBF_nolumi/run/AnalysisSkeleton.AANSel.aan*", "", 0, 0, 0, false); ntchains["VBF_nolumi_cut1"] = new NTupleChain("~/recon/current/VBF_nolumi/run/AnalysisSkeleton.AANSel.aan*", "", 0, 0, 0, false); ntchains["VBF_nolumi_cut2"] = new NTupleChain("~/recon/current/VBF_nolumi/run/AnalysisSkeleton.AANSel.aan*", "", 0, 0, 0, false); ntchains["VBF_nolumi_cut3"] = new NTupleChain("~/recon/current/VBF_nolumi/run/AnalysisSkeleton.AANSel.aan*", "", 0, 0, 0, false); ntchains["VBF_nolumi_cut4"] = new NTupleChain("~/recon/current/VBF_nolumi/run/AnalysisSkeleton.AANSel.aan*", "", 0, 0, 0, false); ntchains["VBF_nolumi_cut5"] = new NTupleChain("~/recon/current/VBF_nolumi/run/AnalysisSkeleton.AANSel.aan*", "", 0, 0, 0, false); ntchains["VBF_nolumi_cut6"] = new NTupleChain("~/recon/current/VBF_nolumi/run/AnalysisSkeleton.AANSel.aan*", "", 0, 0, 0, false); ntchains["VBF_nolumi_cut7"] = new NTupleChain("~/recon/current/VBF_nolumi/run/AnalysisSkeleton.AANSel.aan*", "", 0, 0, 0, false); ntchains["VBF_nolumi_cut8"] = new NTupleChain("~/recon/current/VBF_nolumi/run/AnalysisSkeleton.AANSel.aan*", "", 0, 0, 0, false); ntchains["VBF_nolumi_cut9"] = new NTupleChain("~/recon/current/VBF_nolumi/run/AnalysisSkeleton.AANSel.aan*", "", 0, 0, 0, false); ntchains["VBF_nolumi_cut10"] = new NTupleChain("~/recon/current/VBF_nolumi/run/AnalysisSkeleton.AANSel.aan*", "", 0, 0, 0, false); ntchains["VBF_nolumi_cut11"] = new NTupleChain("~/recon/current/VBF_nolumi/run/AnalysisSkeleton.AANSel.aan*", "", 0, 0, 0, false); ntchains["VBF_nolumi_cut12"] = new NTupleChain("~/recon/current/VBF_nolumi/run/AnalysisSkeleton.AANSel.aan*", "", 0, 0, 0, false); ntchains["VBF_nolumi_masscut"] = new NTupleChain("~/recon/current/VBF_nolumi/run/AnalysisSkeleton.AANSel.aan*", "", 0, 0, 0, false); plotsetmap["VBF_nolumi_nocuts"] = new Plotset(ntchains["VBF_nolumi_nocuts"], "histos_VBF_nolumi_nocuts"); # 241 "VBFStudy.cxx" gROOT->SetStyle("ATLAS"); gROOT->ForceStyle(); showStats = true; compare = false; useTGAE = true; if (showStats) { gStyle->SetOptStat(1112211); gStyle->SetOptTitle(1); gStyle->SetTitleFillColor(0); gStyle->SetOptFit(1111); } ut->VERB_("Initializing GUI."); thegui = new VBFStudyGUI(gClient->GetRoot()); ut->VERB_(" -> SUCCESS!"); nFirstEvent = FirstEvent; TString muonLowPtNames[ 1 ] = {""}; Float_t muonLowPtThresholds[ 1 ] = {0.}; TString muonHighPtNames[ 1 ] = {""}; Float_t muonHighPtThresholds[ 1 ] = {0.}; Bool_t useAlteredMuonTriggerMenu = false; iNoMessages = 0; for(std::map::const_iterator ch = ntchains.begin(); ch != ntchains.end(); ch++){ ut->INF_("Number of entries in " + ch->first + (string)" chain: " + ut->to_string((ch->second)->getChainEntries())); (ch->second)->nFirstEvent = nFirstEvent; (ch->second)->nMaxEvents = TMath::Min(nMaxEvents, (Int_t) (ch->second)->getChainEntries()); } if (nMaxEvents < 0) return ; for(std::map::const_iterator itplots = plotsetmap.begin(); itplots != plotsetmap.end(); itplots++){ ut->INF_("Chain " + (string)itplots->first + ": Calling plotsets.push_back( ... );"); optionsets[itplots->first].SetOptions(); plotsets.push_back(itplots->second); ut->VERB_("#include \"SetHistoProperties.cinc\""); # 1 "SetHistoProperties.cinc" 1 itplots->second->Define("tp_charge", "TruthHistogram"); itplots->second->Define("tp_pt", "TruthHistogram"); itplots->second->Define("tp_eta", "TruthHistogram"); itplots->second->Define("tp_phi", "TruthHistogram"); itplots->second->Define("tp_pdg_id", "TruthHistogram"); itplots->second->Define("tp_barcode", "TruthHistogram"); itplots->second->Define("tp_genVertex_x", "TruthHistogram"); itplots->second->Define("tp_genVertex_y", "TruthHistogram"); itplots->second->Define("tp_genVertex_z", "TruthHistogram"); itplots->second->Define("n_truth_particles", "TruthHistogram"); itplots->second->Define("n_truth_particles", "MultiplicityHistogram"); itplots->second->Define("n_jets", "JetHistogram"); itplots->second->Define("n_jets", "ControlPlot"); itplots->second->Define("n_jets", "MultiplicityHistogram"); itplots->second->Define("n_matched_jets", "JetHistogram"); itplots->second->Define("n_matched_jets", "MatchingHistogram"); itplots->second->Define("n_matched_jets", "MultiplicityHistogram"); itplots->second->Define("n_matched_tracks_tj", "TrackHistogram"); itplots->second->Define("n_matched_tracks_tj", "TaggingJetHistogram"); itplots->second->Define("n_matched_tracks_tj", "MultiplicityHistogram"); itplots->second->Define("n_matched_tracks_pv_tj", "TaggingJetHistogram"); itplots->second->Define("n_matched_tracks_pv_tj", "FromTruePVHistogram"); itplots->second->Define("n_matched_tracks_pv_tj", "MultiplicityHistogram"); itplots->second->Define("n_matched_tracks_pileup_tj", "TaggingJetHistogram"); itplots->second->Define("n_matched_tracks_pileup_tj", "MultiplicityHistogram"); itplots->second->Define("pt_fraction_tj", "TaggingJetHistogram"); itplots->second->Define("pv_pt_fraction_tracks_tj", "TaggingJetHistogram"); itplots->second->Define("pv_pt_fraction_tracks_tj", "FromTruePVHistogram"); itplots->second->Define("pv_pt_fraction_total_tj", "TaggingJetHistogram"); itplots->second->Define("pv_pt_fraction_total_tj", "FromTruePVHistogram"); itplots->second->Define("n_matched_tracks_other", "OtherJetHistogram"); itplots->second->Define("n_matched_tracks_pv_other", "OtherJetHistogram"); itplots->second->Define("n_matched_tracks_pv_other", "FromTruePVHistogram"); itplots->second->Define("n_matched_tracks_pileup_other", "OtherJetHistogram"); itplots->second->Define("pt_fraction_other", "OtherJetHistogram"); itplots->second->Define("pv_pt_fraction_tracks_other", "OtherJetHistogram"); itplots->second->Define("pv_pt_fraction_tracks_other", "FromTruePVHistogram"); itplots->second->Define("pv_pt_fraction_total_other", "OtherJetHistogram"); itplots->second->Define("pv_pt_fraction_total_other", "FromTruePVHistogram"); itplots->second->Define("n_matched_tracks", "nothing"); itplots->second->Define("n_matched_tracks_pv", "nothing"); itplots->second->Define("n_matched_tracks_pileup", "nothing"); itplots->second->Define("pt_fraction", "nothing"); itplots->second->Define("pv_pt_fraction_tracks", "FromTruePVHistogram"); itplots->second->Define("pv_pt_fraction_total", "FromTruePVHistogram"); itplots->second->Define("n_matched_tracks_pv_reco_tj", "TaggingJetHistogram"); itplots->second->Define("n_matched_tracks_pv_reco_tj", "FromRecoPVHistogram"); itplots->second->Define("n_matched_tracks_pileup_reco_tj", "TaggingJetHistogram"); itplots->second->Define("n_matched_tracks_pileup_reco_tj", "FromRecoPileupVHistogram"); itplots->second->Define("pv_pt_fraction_tracks_reco_tj", "TaggingJetHistogram"); itplots->second->Define("pv_pt_fraction_total_reco_tj", "TaggingJetHistogram"); itplots->second->Define("n_matched_tracks_pv_reco_other", "OtherJetHistogram"); itplots->second->Define("n_matched_tracks_pv_reco_other", "FromRecoPVHistogram"); itplots->second->Define("n_matched_tracks_pileup_reco_other", "OtherJetHistogram"); itplots->second->Define("n_matched_tracks_pileup_reco_other", "FromRecoPileupVHistogram"); itplots->second->Define("pv_pt_fraction_tracks_reco_other", "OtherJetHistogram"); itplots->second->Define("pv_pt_fraction_total_reco_other", "OtherJetHistogram"); itplots->second->Define("n_matched_tracks_pv_reco", "FromRecoPVHistogram"); itplots->second->Define("n_matched_tracks_pileup_reco", "FromRecoPVHistogram"); itplots->second->Define("pv_pt_fraction_tracks_reco", "nothing"); itplots->second->Define("pv_pt_fraction_total_reco", "nothing"); itplots->second->Define("number_primary_vertices", "PVHistogram"); itplots->second->Define("number_primary_vertices", "ControlPlot"); itplots->second->Define("number_primary_vertices", "MultiplicityHistogram"); itplots->second->Define("primary_vertex_x", "PVHistogram"); itplots->second->Define("primary_vertex_y", "PVHistogram"); itplots->second->Define("primary_vertex_z", "PVHistogram"); itplots->second->Define("primary_vertex_x_reordered_minus_std_sorting", "PVResortingHistogram"); itplots->second->Define("primary_vertex_y_reordered_minus_std_sorting", "PVResortingHistogram"); itplots->second->Define("primary_vertex_z_reordered_minus_std_sorting", "PVResortingHistogram"); itplots->second->Define("all_primary_vertex_x", "PVHistogram"); itplots->second->Define("all_primary_vertex_y", "PVHistogram"); itplots->second->Define("all_primary_vertex_z", "PVHistogram"); itplots->second->Define("all_primary_vertex_delta_z0_significance", "PVHistogram"); itplots->second->Define("all_primary_vertex_ChiSquared", "PVHistogram"); itplots->second->Define("all_primary_vertex_nDoF", "PVHistogram"); itplots->second->Define("all_primary_vertex_sumPTSquared", "PVHistogram"); itplots->second->Define("all_primary_vertex_nTracks", "PVHistogram"); itplots->second->Define("true_primary_vertex_x", "PVHistogram"); itplots->second->Define("true_primary_vertex_y", "PVHistogram"); itplots->second->Define("true_primary_vertex_z", "PVHistogram"); itplots->second->Define("primary_vertex_residual_x", "PVHistogram"); itplots->second->Define("primary_vertex_residual_y", "PVHistogram"); itplots->second->Define("primary_vertex_residual_z", "PVHistogram"); itplots->second->Define("primary_vertex_residual_z_newbinning", "PVHistogram"); itplots->second->Define("closest_primary_vertex_residual_x", "PVHistogram"); itplots->second->Define("closest_primary_vertex_residual_y", "PVHistogram"); itplots->second->Define("closest_primary_vertex_residual_z", "PVHistogram"); itplots->second->Define("closest_primary_vertex_residual_z_newbinning", "PVHistogram"); itplots->second->Define("1muonTrack_z0_minus_truthPV_z0", "MuonHistogram"); itplots->second->Define("1stmuonTrack_z0_minus_truthPV_z0", "MuonHistogram"); itplots->second->Define("1stelectronTrack_z0_minus_truthPV_z0", "ElectronHistogram"); itplots->second->Define("2ndmuonTrack_z0_minus_truthPV_z0", "MuonHistogram"); itplots->second->Define("1stmuonTrack_z0_minus_truthPV_z0_vs_2ndmuonTrack_z0_minus_truthPV_z0", "2DHistogram"); itplots->second->Define("1stmuonTrack_z0_minus_truthPV_z0_vs_2ndmuonTrack_z0_minus_truthPV_z0", "MuonHistogram"); itplots->second->Define("softermuonTrack_z0_minus_truthPV_z0", "MuonHistogram"); itplots->second->Define("softerelectronTrack_z0_minus_truthPV_z0", "ElectronHistogram"); itplots->second->Define("1muonTrack_z0_minus_recoPV_z0", "MuonHistogram"); itplots->second->Define("1stmuonTrack_z0_minus_recoPV_z0", "MuonHistogram"); itplots->second->Define("2ndmuonTrack_z0_minus_recoPV_z0", "MuonHistogram"); itplots->second->Define("1stmuonTrack_z0_minus_recoPV_z0_vs_2ndmuonTrack_z0_minus_recoPV_z0", "2DHistogram"); itplots->second->Define("1stmuonTrack_z0_minus_recoPV_z0_vs_2ndmuonTrack_z0_minus_recoPV_z0", "MuonHistogram"); itplots->second->Define("softermuonTrack_z0_minus_recoPV_z0", "MuonHistogram"); itplots->second->Define("1stmuonTrack_z0_minus_2ndmuonTrack_z0", "MuonHistogram"); itplots->second->Define("1stmuonTrack_z0_minus_2ndmuonTrack_z0", "2DHistogram"); itplots->second->Define("closestCaloSample", "CaloSampleFinding"); itplots->second->Define("eta_vs_closestCaloSample", "CaloSampleFinding"); itplots->second->Define("phi_vs_closestCaloSample", "CaloSampleFinding"); itplots->second->Define("eta_phi_vs_closestCaloSample", "CaloSampleFinding"); itplots->second->Define("distanceToBarrel_vs_distanceToEndcap", "CaloSampleFinding"); itplots->second->Define("deltaR_muon_vs_track", "MuonHistogram"); itplots->second->Define("n_muons", "MuonHistogram"); itplots->second->Define("n_muons", "ControlPlot"); itplots->second->Define("n_muons", "MultiplicityHistogram"); itplots->second->Define("n_muons", "LeptonTrackHistogram"); itplots->second->Define("n_electrons", "ElectronHistogram"); itplots->second->Define("n_electrons", "ControlPlot"); itplots->second->Define("n_electrons", "MultiplicityHistogram"); itplots->second->Define("n_electrons", "LeptonTrackHistogram"); itplots->second->Define("z0_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("z0_error_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("d0_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("d0_error_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("d0_significance_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("pt_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("author_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("fitChi2OverDoF_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("matchChi2_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("etcone20_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("muon_charge_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("qualityCutsPassed_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("z0_muons_sorted_by_pt", "LeptonTrackHistogram"); itplots->second->Define("z0_error_muons_sorted_by_pt", "LeptonTrackHistogram"); itplots->second->Define("d0_muons_sorted_by_pt", "LeptonTrackHistogram"); itplots->second->Define("d0_error_muons_sorted_by_pt", "LeptonTrackHistogram"); itplots->second->Define("d0_significance_muons_sorted_by_pt", "LeptonTrackHistogram"); itplots->second->Define("pt_muons_sorted_by_pt", "LeptonTrackHistogram"); itplots->second->Define("author_muons_sorted_by_pt", "LeptonTrackHistogram"); itplots->second->Define("fitChi2OverDoF_muons_sorted_by_pt", "LeptonTrackHistogram"); itplots->second->Define("matchChi2_muons_sorted_by_pt", "LeptonTrackHistogram"); itplots->second->Define("etcone20_muons_sorted_by_pt", "LeptonTrackHistogram"); itplots->second->Define("muon_charge_muons_sorted_by_pt", "LeptonTrackHistogram"); itplots->second->Define("qualityCutsPassed_muons_sorted_by_pt", "LeptonTrackHistogram"); itplots->second->Define("isCombinedMuon_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("n_combined_muons", "MuonHistogram"); itplots->second->Define("n_combined_muons", "CombinedMuonHistogram"); itplots->second->Define("n_combined_muons", "MultiplicityHistogram"); itplots->second->Define("z0_combined_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("z0_combined_muons_sorted_by_pt", "CombinedMuonHistogram"); itplots->second->Define("d0_combined_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("d0_combined_muons_sorted_by_pt", "CombinedMuonHistogram"); itplots->second->Define("d0_significance_combined_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("d0_significance_combined_muons_sorted_by_pt", "CombinedMuonHistogram"); itplots->second->Define("z0_error_combined_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("z0_error_combined_muons_sorted_by_pt", "CombinedMuonHistogram"); itplots->second->Define("d0_error_combined_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("d0_error_combined_muons_sorted_by_pt", "CombinedMuonHistogram"); itplots->second->Define("pt_combined_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("pt_combined_muons_sorted_by_pt", "CombinedMuonHistogram"); itplots->second->Define("h_author_combined_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("h_author_combined_muons_sorted_by_pt", "CombinedMuonHistogram"); itplots->second->Define("fitChi2OverDoF_combined_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("fitChi2OverDoF_combined_muons_sorted_by_pt", "CombinedMuonHistogram"); itplots->second->Define("matchChi2_combined_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("matchChi2_combined_muons_sorted_by_pt", "CombinedMuonHistogram"); itplots->second->Define("etcone20_combined_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("etcone20_combined_muons_sorted_by_pt", "CombinedMuonHistogram"); itplots->second->Define("muon_charge_combined_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("muon_charge_combined_muons_sorted_by_pt", "CombinedMuonHistogram"); itplots->second->Define("qualityCutsPassed_combined_muons_sorted_by_pt", "MuonHistogram"); itplots->second->Define("qualityCutsPassed_combined_muons_sorted_by_pt", "CombinedMuonHistogram"); itplots->second->Define("n_tracks", "TrackHistogram"); itplots->second->Define("n_tracks", "ControlPlot"); itplots->second->Define("n_tracks", "MultiplicityHistogram"); itplots->second->Define("eta_track", "TrackHistogram"); itplots->second->Define("eta_track", "ControlPlot"); itplots->second->Define("phi_track", "TrackHistogram"); itplots->second->Define("phi_track", "ControlPlot"); itplots->second->Define("pt_track", "TrackHistogram"); itplots->second->Define("pt_track", "ControlPlot"); itplots->second->Define("nPixelHits_track", "TrackHistogram"); itplots->second->Define("nSCTHits_track", "TrackHistogram"); itplots->second->Define("nSumPixelSCTHits_track", "TrackHistogram"); itplots->second->Define("nPixelHits_combined_muon_sorted_by_pt_track", "MuonTrackHistogram"); itplots->second->Define("nSCTHits_combined_muon_sorted_by_pt_track", "MuonTrackHistogram"); itplots->second->Define("nSumPixelSCTHits_combined_muon_sorted_by_pt_track", "MuonTrackHistogram"); itplots->second->Define("caloSample_track", "MatchingHistogram"); itplots->second->Define("caloSample_track", "TrackHistogram"); itplots->second->Define("impact_eta_track", "MatchingHistogram"); itplots->second->Define("impact_eta_track", "TrackHistogram"); itplots->second->Define("impact_phi_track", "MatchingHistogram"); itplots->second->Define("impact_phi_track", "TrackHistogram"); itplots->second->Define("eta_jet", "JetHistogram"); itplots->second->Define("eta_jet", "ControlPlot"); itplots->second->Define("phi_jet", "JetHistogram"); itplots->second->Define("phi_jet", "ControlPlot"); itplots->second->Define("et_jet", "JetHistogram"); itplots->second->Define("et_jet", "ControlPlot"); itplots->second->Define("pt_jet", "JetHistogram"); itplots->second->Define("pt_jet", "ControlPlot"); itplots->second->Define("dBeamSpot_x", "BeamSpotHistogram"); itplots->second->Define("dBeamSpot_y", "BeamSpotHistogram"); itplots->second->Define("dBeamSpot_z", "BeamSpotHistogram"); itplots->second->Define("dBeamSpot_sigma_x", "BeamSpotHistogram"); itplots->second->Define("dBeamSpot_sigma_y", "BeamSpotHistogram"); itplots->second->Define("dBeamSpot_sigma_z", "BeamSpotHistogram"); itplots->second->Define("dBeamSpot_eta", "BeamSpotHistogram"); itplots->second->Define("dBeamSpot_phi", "BeamSpotHistogram"); itplots->second->Define("dBeamSpot_R", "BeamSpotHistogram"); itplots->second->Define("muon_idtrack_eta", "MuonHistogram"); itplots->second->Define("muon_idtrack_phi", "MuonHistogram"); itplots->second->Define("muon_idtrack_pt", "MuonHistogram"); itplots->second->Define("pv_z0_leptons", "PV_ID_ComparisonHistogram"); itplots->second->Define("pv_z0_error_leptons", "PV_ID_ComparisonHistogram"); itplots->second->Define("pv_z0_significance_leptons", "PV_ID_ComparisonHistogram"); itplots->second->Define("pv_d0_leptons", "PV_ID_ComparisonHistogram"); itplots->second->Define("pv_d0_error_leptons", "PV_ID_ComparisonHistogram"); itplots->second->Define("pv_d0_significance_leptons", "PV_ID_ComparisonHistogram"); itplots->second->Define("pv_z0_leptons", "LeptonTrackHistogram"); itplots->second->Define("pv_z0_error_leptons", "LeptonTrackHistogram"); itplots->second->Define("pv_z0_significance_leptons", "LeptonTrackHistogram"); itplots->second->Define("pv_d0_leptons", "LeptonTrackHistogram"); itplots->second->Define("pv_d0_error_leptons", "LeptonTrackHistogram"); itplots->second->Define("pv_d0_significance_leptons", "LeptonTrackHistogram"); itplots->second->Define("bestReco_pv_z0_leptons", "PV_ID_ComparisonHistogram"); itplots->second->Define("bestReco_pv_z0_error_leptons", "PV_ID_ComparisonHistogram"); itplots->second->Define("bestReco_pv_z0_significance_leptons", "PV_ID_ComparisonHistogram"); itplots->second->Define("bestReco_pv_d0_leptons", "PV_ID_ComparisonHistogram"); itplots->second->Define("bestReco_pv_d0_error_leptons", "PV_ID_ComparisonHistogram"); itplots->second->Define("bestReco_pv_d0_significance_leptons", "PV_ID_ComparisonHistogram"); itplots->second->Define("nonBestReco_pv_z0_leptons", "PV_ID_ComparisonHistogram"); itplots->second->Define("nonBestReco_pv_z0_error_leptons", "PV_ID_ComparisonHistogram"); itplots->second->Define("nonBestReco_pv_z0_significance_leptons", "PV_ID_ComparisonHistogram"); itplots->second->Define("nonBestReco_pv_d0_leptons", "PV_ID_ComparisonHistogram"); itplots->second->Define("nonBestReco_pv_d0_error_leptons", "PV_ID_ComparisonHistogram"); itplots->second->Define("nonBestReco_pv_d0_significance_leptons", "PV_ID_ComparisonHistogram"); itplots->second->Define("closest_primary_vertex_residual_x", "PVHistogram"); itplots->second->Define("closest_primary_vertex_residual_y", "PVHistogram"); itplots->second->Define("closest_primary_vertex_residual_z", "PVHistogram"); itplots->second->Define("closest_primary_vertex_residual_z_newbinning", "PVHistogram"); itplots->second->Define("all_primary_vertex_nTracks", "PVHistogram"); itplots->second->Define("all_primary_vertex_delta_z0_significance", "PVHistogram"); itplots->second->Define("all_primary_vertex_ChiSquared", "PVHistogram"); itplots->second->Define("all_primary_vertex_nDoF", "PVHistogram"); itplots->second->Define("all_primary_vertex_sumPTSquared", "PVHistogram"); itplots->second->Define("all_primary_vertex_ChiSquaredOnDoF", "PVHistogram"); # 297 "VBFStudy.cxx" 2 ut->VERB_("thegui->AddPlotset( itplots->second );"); thegui->AddPlotset(itplots->second); Plotset *histos_to_apply_cut_to = itplots->second; if (onlyEvents_wo_recoPvs) histos_to_apply_cut_to->AddEventCut("number_primary_vertices", GenuineNTupleCut::ONE_SMALLER, 2.0); if (onlyEvents_w_recoPvs) histos_to_apply_cut_to->AddEventCut("number_primary_vertices", GenuineNTupleCut::ONE_LARGER, 1.0); if (onlyEvents_w_exactly1_recoPv) histos_to_apply_cut_to->AddEventCut("number_primary_vertices", GenuineNTupleCut::FIRST_EQUAL, 2.0); if (onlyEvents_w_2muons) histos_to_apply_cut_to->AddEventCut("n_combined_muons", GenuineNTupleCut::ONE_LARGER, 1.0); if (onlyEvents_w_2electrons) histos_to_apply_cut_to->AddEventCut("n_electrons", GenuineNTupleCut::ONE_LARGER, 1.0); if (onlyEvents_w_2leptons) histos_to_apply_cut_to->AddEventCut("n_leptons", GenuineNTupleCut::ONE_LARGER, 1.0); # 1 "Cutflow.cinc" 1 # 11 "Cutflow.cinc" if(applyTriggerCut){ histos_to_apply_cut_to->AddEventCut("EF_e20_loose_EF_mu20_triggered", GenuineNTupleCut::ONE_LARGER, 0.); } if(applyLeadingLeptonCut){ TFormula formula("leadLep", "([0]>0)*([1]>20.)+([2]>0)*([3]>25.)"); std::vector inputNTuples; inputNTuples.push_back("EF_e20_loose_EF_mu20_triggered"); inputNTuples.push_back("pt_muons_sorted_by_pt"); inputNTuples.push_back("EF_e20_loose_EF_mu20_triggered"); inputNTuples.push_back("pt_electrons_sorted_by_pt"); std::vector nTupleEntries; nTupleEntries.push_back(GenuineNTupleCut::SECOND); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::FIRST); GenuineNTupleCut::CUT_TYPE typeOfCut = GenuineNTupleCut::LARGER; Double_t value = 0.; GenuineNTupleCut::LOGIC_LINK logicLink = GenuineNTupleCut::AND; histos_to_apply_cut_to->AddEventCut(formula, inputNTuples, nTupleEntries, typeOfCut, value, logicLink); } if(applyDileptonCut){ histos_to_apply_cut_to->AddEventCut("n_leptons", GenuineNTupleCut::FIRST_EQUAL, 2.0); TFormula formula("diLep", "[0]*([0]-1.)*((-1.)*[2]*[3])+[1]*([1]-1.)*((-1.)*[4]*[5])+([0]-2.)*([1]-2.)*((-1.)*[2]*[4])"); std::vector inputNTuples; inputNTuples.push_back("n_muons"); inputNTuples.push_back("n_electrons"); inputNTuples.push_back("muon_charge_muons_sorted_by_pt"); inputNTuples.push_back("muon_charge_muons_sorted_by_pt"); inputNTuples.push_back("electron_charge_electrons_sorted_by_pt"); inputNTuples.push_back("electron_charge_electrons_sorted_by_pt"); std::vector nTupleEntries; nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::SECOND); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::SECOND); GenuineNTupleCut::CUT_TYPE typeOfCut = GenuineNTupleCut::LARGER; Double_t value = 0.; GenuineNTupleCut::LOGIC_LINK logicLink = GenuineNTupleCut::AND; histos_to_apply_cut_to->AddEventCut(formula, inputNTuples, nTupleEntries, typeOfCut, value, logicLink); } if(applyMETCut){ histos_to_apply_cut_to->AddEventCut("MET_RefFinal", GenuineNTupleCut::FIRST_LARGER, 40.0); } if(applyCollApproxCut){ TFormula formula("collApprox", "([0]==2)*cos(min(abs([1]-[2]),abs(2*pi-[1]+[2])))+ ([0]==1)*cos(min(abs([1]-[3]),abs(2*pi-[1]+[3])))+([0]==0)*cos(min(abs([3]-[4]),abs(2*pi-[3]+[4])))"); std::vector inputNTuples; inputNTuples.push_back("n_muons"); inputNTuples.push_back("muon_phi_muons_sorted_by_pt"); inputNTuples.push_back("muon_phi_muons_sorted_by_pt"); inputNTuples.push_back("electron_phi_electrons_sorted_by_pt"); inputNTuples.push_back("electron_phi_electrons_sorted_by_pt"); std::vector nTupleEntries; nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::SECOND); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::SECOND); GenuineNTupleCut::CUT_TYPE typeOfCut = GenuineNTupleCut::LARGER; Double_t value = -0.9; GenuineNTupleCut::LOGIC_LINK logicLink = GenuineNTupleCut::AND; histos_to_apply_cut_to->AddEventCut(formula, inputNTuples, nTupleEntries, typeOfCut, value, logicLink); TFormula formula1("x1_cuts", "([0]==2)*(([3]*[6]-[4]*[5])/([3]*[6]+[1]*[6]-[4]*[5]-[2]*[5]))+([0]==1)*(([3]*[8]-[4]*[7])/([3]*[8]+[1]*[8]-[4]*[7]-[2]*[7]))+([0]==0)*(([7]*[10]-[8]*[9])/([7]*[10]+[1]*[10]-[8]*[9]-[2]*[9]))"); TFormula formula2("x2_cuts", "([0]==2)*(([3]*[6]-[4]*[5])/([3]*[6]-[1]*[4]-[4]*[5]+[2]*[3]))+([0]==1)*(([3]*[8]-[4]*[7])/([3]*[8]-[1]*[4]-[4]*[7]+[2]*[3]))+([0]==0)*(([7]*[10]-[8]*[9])/([7]*[10]-[1]*[8]-[8]*[9]+[2]*[7]))"); std::vector inputNTuples2; inputNTuples2.push_back("n_muons"); inputNTuples2.push_back("MET_RefFinal"); inputNTuples2.push_back("MET_RefFinal"); inputNTuples2.push_back("px_muons_sorted_by_pt"); inputNTuples2.push_back("py_muons_sorted_by_pt"); inputNTuples2.push_back("px_muons_sorted_by_pt"); inputNTuples2.push_back("py_muons_sorted_by_pt"); inputNTuples2.push_back("px_electrons_sorted_by_pt"); inputNTuples2.push_back("py_electrons_sorted_by_pt"); inputNTuples2.push_back("px_electrons_sorted_by_pt"); inputNTuples2.push_back("py_electrons_sorted_by_pt"); std::vector nTupleEntries2; nTupleEntries2.push_back(GenuineNTupleCut::FIRST); nTupleEntries2.push_back(GenuineNTupleCut::SECOND); nTupleEntries2.push_back(GenuineNTupleCut::THIRD); nTupleEntries2.push_back(GenuineNTupleCut::FIRST); nTupleEntries2.push_back(GenuineNTupleCut::FIRST); nTupleEntries2.push_back(GenuineNTupleCut::SECOND); nTupleEntries2.push_back(GenuineNTupleCut::SECOND); nTupleEntries2.push_back(GenuineNTupleCut::FIRST); nTupleEntries2.push_back(GenuineNTupleCut::FIRST); nTupleEntries2.push_back(GenuineNTupleCut::SECOND); nTupleEntries2.push_back(GenuineNTupleCut::SECOND); GenuineNTupleCut::CUT_TYPE typeOfCut2 = GenuineNTupleCut::LARGER; Double_t value2 = 0.; GenuineNTupleCut::LOGIC_LINK logicLink2 = GenuineNTupleCut::AND; GenuineNTupleCut::CUT_TYPE typeOfCut3 = GenuineNTupleCut::SMALLER; Double_t value3 = 0.75; GenuineNTupleCut::LOGIC_LINK logicLink3 = GenuineNTupleCut::AND; histos_to_apply_cut_to->AddEventCut(formula1, inputNTuples2, nTupleEntries2, typeOfCut2, value2, logicLink2); histos_to_apply_cut_to->AddEventCut(formula2, inputNTuples2, nTupleEntries2, typeOfCut2, value2, logicLink2); histos_to_apply_cut_to->AddEventCut(formula1, inputNTuples2, nTupleEntries2, typeOfCut3, value3, logicLink3); histos_to_apply_cut_to->AddEventCut(formula2, inputNTuples2, nTupleEntries2, typeOfCut3, value3, logicLink3); } if(applyTightJetCut){ histos_to_apply_cut_to->AddEventCut("n_jets", GenuineNTupleCut::FIRST_LARGER, 1.0); histos_to_apply_cut_to->AddEventCut("pt_jet", GenuineNTupleCut::FIRST_LARGER, 40.0); } if(applyJetHemispheresCut){ TFormula formula("jetsInHemispheres", "[0]*[1]"); std::vector inputNTuples; inputNTuples.push_back("eta_jet"); inputNTuples.push_back("eta_jet"); std::vector nTupleEntries; nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::SECOND); GenuineNTupleCut::CUT_TYPE typeOfCut = GenuineNTupleCut::SMALLER; Double_t value = 0.; GenuineNTupleCut::LOGIC_LINK logicLink = GenuineNTupleCut::AND; histos_to_apply_cut_to->AddEventCut(formula, inputNTuples, nTupleEntries, typeOfCut, value, logicLink); } if(applyCentralityCut){ TFormula formula("centralityLeft", "([2]==2)*(min([0],[1])max([3],[4]))+([2]==1)*(max([0],[1])>max([3],[5]))+([2]==0)*(max([0],[1])>max([5],[6]))"); std::vector inputNTuples; inputNTuples.push_back("eta_jet"); inputNTuples.push_back("eta_jet"); inputNTuples.push_back("n_muons"); inputNTuples.push_back("muon_eta_muons_sorted_by_pt"); inputNTuples.push_back("muon_eta_muons_sorted_by_pt"); inputNTuples.push_back("electron_eta_electrons_sorted_by_pt"); inputNTuples.push_back("electron_eta_electrons_sorted_by_pt"); std::vector nTupleEntries; nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::SECOND); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::SECOND); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::SECOND); GenuineNTupleCut::CUT_TYPE typeOfCut = GenuineNTupleCut::LARGER; Double_t value = 0.; GenuineNTupleCut::LOGIC_LINK logicLink = GenuineNTupleCut::AND; histos_to_apply_cut_to->AddEventCut(formula, inputNTuples, nTupleEntries, typeOfCut, value, logicLink); histos_to_apply_cut_to->AddEventCut(formula2, inputNTuples, nTupleEntries, typeOfCut, value, logicLink); } if(applybJetCut){ TFormula formula("btag", "([0]>=1.)+([1]>=1.)"); std::vector inputNTuples; inputNTuples.push_back("btagweight_jet"); inputNTuples.push_back("btagweight_jet"); std::vector nTupleEntries; nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::SECOND); GenuineNTupleCut::CUT_TYPE typeOfCut = GenuineNTupleCut::SMALLER; Double_t value = 1.; GenuineNTupleCut::LOGIC_LINK logicLink = GenuineNTupleCut::AND; histos_to_apply_cut_to->AddEventCut(formula, inputNTuples, nTupleEntries, typeOfCut, value, logicLink); } if(applyJetSeparationCut){ TFormula formula("jetSeparation", "abs([0]-[1])"); std::vector inputNTuples; inputNTuples.push_back("eta_jet"); inputNTuples.push_back("eta_jet"); std::vector nTupleEntries; nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::SECOND); GenuineNTupleCut::CUT_TYPE typeOfCut = GenuineNTupleCut::LARGER; Double_t value = 4.4; GenuineNTupleCut::LOGIC_LINK logicLink = GenuineNTupleCut::AND; histos_to_apply_cut_to->AddEventCut(formula, inputNTuples, nTupleEntries, typeOfCut, value, logicLink); } if(applyDiJetMassCut){ TFormula formula("diJetMass", "sqrt(pow([0]+[4],2.)-pow([1]+[5],2.)-pow([2]+[6],2.)-pow([3]+[7],2.))"); std::vector inputNTuples; inputNTuples.push_back("e_jet"); inputNTuples.push_back("px_jet"); inputNTuples.push_back("py_jet"); inputNTuples.push_back("pz_jet"); inputNTuples.push_back("e_jet"); inputNTuples.push_back("px_jet"); inputNTuples.push_back("py_jet"); inputNTuples.push_back("pz_jet"); std::vector nTupleEntries; nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::SECOND); nTupleEntries.push_back(GenuineNTupleCut::SECOND); nTupleEntries.push_back(GenuineNTupleCut::SECOND); nTupleEntries.push_back(GenuineNTupleCut::SECOND); GenuineNTupleCut::CUT_TYPE typeOfCut = GenuineNTupleCut::LARGER; Double_t value = 700.; GenuineNTupleCut::LOGIC_LINK logicLink = GenuineNTupleCut::AND; histos_to_apply_cut_to->AddEventCut(formula, inputNTuples, nTupleEntries, typeOfCut, value, logicLink); } if(applyCJVStandardFlavorCut){ histos_to_apply_cut_to->AddEventCut("eta_jet", GenuineNTupleCut::ALL_BUT_FIRST_TWO_ABS_LARGER, 3.2); } if(applyHiggsMassCut){ TFormula formula("mtautau", "sqrt(pow(([8]>0)*[0]+([8]==0)*[4]+([8]==2)*[2]+([8]==1)*[4]+([8]==0)*[6],2.)-pow(([8]>0)*[11]+([8]==0)*[15]+([8]==2)*[13]+([8]==1)*[15]+([8]==0)*[17],2.)-pow(([8]>0)*[12]+([8]==0)*[16]+([8]==2)*[14]+([8]==1)*[16]+([8]==0)*[18],2.)-pow(([8]>0)*[1]+([8]==0)*[5]+([8]==2)*[3]+([8]==1)*[5]+([8]==0)*[7],2.))/sqrt((([8]==2)*(([11]*[14]-[12]*[13])/([11]*[14]+[9]*[14]-[12]*[13]-[10]*[13]))+([8]==1)*(([11]*[16]-[12]*[15])/([11]*[16]+[9]*[16]-[12]*[15]-[10]*[15]))+([8]==0)*(([15]*[18]-[16]*[17])/([15]*[18]+[9]*[18]-[16]*[17]-[10]*[17])))*(([8]==2)*(([11]*[14]-[12]*[13])/([11]*[14]-[9]*[12]-[12]*[13]+[10]*[11]))+([8]==1)*(([11]*[16]-[12]*[15])/([11]*[16]-[9]*[12]-[12]*[15]+[10]*[11]))+([8]==0)*(([15]*[18]-[16]*[17])/([15]*[18]-[9]*[16]-[16]*[17]+[10]*[15]))))"); std::vector inputNTuples; inputNTuples.push_back("e_muons_sorted_by_pt"); inputNTuples.push_back("pz_muons_sorted_by_pt"); inputNTuples.push_back("e_muons_sorted_by_pt"); inputNTuples.push_back("pz_muons_sorted_by_pt"); inputNTuples.push_back("e_electrons_sorted_by_pt"); inputNTuples.push_back("pz_electrons_sorted_by_pt"); inputNTuples.push_back("e_electrons_sorted_by_pt"); inputNTuples.push_back("pz_electrons_sorted_by_pt"); inputNTuples.push_back("n_muons"); inputNTuples.push_back("MET_RefFinal"); inputNTuples.push_back("MET_RefFinal"); inputNTuples.push_back("px_muons_sorted_by_pt"); inputNTuples.push_back("py_muons_sorted_by_pt"); inputNTuples.push_back("px_muons_sorted_by_pt"); inputNTuples.push_back("py_muons_sorted_by_pt"); inputNTuples.push_back("px_electrons_sorted_by_pt"); inputNTuples.push_back("py_electrons_sorted_by_pt"); inputNTuples.push_back("px_electrons_sorted_by_pt"); inputNTuples.push_back("py_electrons_sorted_by_pt"); std::vector nTupleEntries; nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::SECOND); nTupleEntries.push_back(GenuineNTupleCut::SECOND); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::SECOND); nTupleEntries.push_back(GenuineNTupleCut::SECOND); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::SECOND); nTupleEntries.push_back(GenuineNTupleCut::THIRD); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::SECOND); nTupleEntries.push_back(GenuineNTupleCut::SECOND); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::FIRST); nTupleEntries.push_back(GenuineNTupleCut::SECOND); nTupleEntries.push_back(GenuineNTupleCut::SECOND); GenuineNTupleCut::CUT_TYPE typeOfCut1 = GenuineNTupleCut::LARGER; Double_t value1 = 105.; GenuineNTupleCut::LOGIC_LINK logicLink1 = GenuineNTupleCut::AND; GenuineNTupleCut::CUT_TYPE typeOfCut2 = GenuineNTupleCut::SMALLER; Double_t value2 = 135.; GenuineNTupleCut::LOGIC_LINK logicLink2 = GenuineNTupleCut::AND; histos_to_apply_cut_to->AddEventCut(formula, inputNTuples, nTupleEntries, typeOfCut1, value1, logicLink1); histos_to_apply_cut_to->AddEventCut(formula, inputNTuples, nTupleEntries, typeOfCut2, value2, logicLink2); } # 316 "VBFStudy.cxx" 2 # 1 "TrackQuality_Criteria.cinc" 1 if(applyTrackQualityCriteria){ histos_to_apply_cut_to->AddNTupleCutForAllEvents( "nPixelHits_track", GenuineNTupleCut::LARGER, 0. ); histos_to_apply_cut_to->AddNTupleCutForAllEvents( "nSCTHits_track", GenuineNTupleCut::LARGER, 4. ); histos_to_apply_cut_to->AddNTupleCutForAllEvents( "nSumPixelSCTHits_track", GenuineNTupleCut::LARGER, 6. ); histos_to_apply_cut_to->AddNTupleCutForAllEvents( "pt_track", GenuineNTupleCut::LARGER, 0.5); histos_to_apply_cut_to->AddNTupleCutForAllEvents( "z0_error_track", GenuineNTupleCut::SMALLER, 2.5); histos_to_apply_cut_to->AddNTupleCutForAllEvents( "d0_track", GenuineNTupleCut::SMALLER, 1.); histos_to_apply_cut_to->AddNTupleCutForAllEvents( "d0_track", GenuineNTupleCut::LARGER, -1., GenuineNTupleCut::AND); histos_to_apply_cut_to->AddNTupleCutForAllEvents( "d0_error_track", GenuineNTupleCut::SMALLER, 0.35); histos_to_apply_cut_to->AddNTupleCutForAllEvents( "d0_significance_track", GenuineNTupleCut::SMALLER, 4.); histos_to_apply_cut_to->AddNTupleCutForAllEvents( "d0_significance_track", GenuineNTupleCut::LARGER, -4., GenuineNTupleCut::AND); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "nPixelHits_track", "pt_track", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "nPixelHits_track", "z0_error_track", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "nPixelHits_track", "d0_track", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "nPixelHits_track", "d0_error_track", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "nPixelHits_track", "d0_significance_track", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "nPixelHits_track", "nSumPixelSCTHits_track", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "nPixelHits_track", "nSCTHits_track", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "nSCTHits_track", "nPixelHits_track", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "nSumPixelSCTHits_track", "nPixelHits_track", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "pt_track", "nPixelHits_track", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "z0_error_track", "nPixelHits_track", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "d0_track", "nPixelHits_track", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "d0_error_track", "nPixelHits_track", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "d0_significance_track", "nPixelHits_track", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "eta_track", "nPixelHits_track", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "phi_track", "nPixelHits_track", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "caloSample_track", "nPixelHits_track", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "impact_eta_track", "nPixelHits_track", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "impact_phi_track", "nPixelHits_track", GenuineNTupleCut::AND ); } # 318 "VBFStudy.cxx" 2 # 1 "JetsWithinEta2_5.cinc" 1 if(applyTrackingCutOnJets){ histos_to_apply_cut_to->AddNTupleCutForAllEvents( "eta_jet", GenuineNTupleCut::LARGER, -2.5 ); histos_to_apply_cut_to->AddNTupleCutForAllEvents( "eta_jet", GenuineNTupleCut::SMALLER, 2.5, GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "phi_jet", "eta_jet", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "et_jet", "eta_jet", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "pt_jet", "eta_jet", GenuineNTupleCut::AND ); } # 319 "VBFStudy.cxx" 2 # 1 "TruthParticle_Cuts_ForTracking.cinc" 1 if(applyTruthParticleCutsForTracking){ histos_to_apply_cut_to->AddNTupleCutForAllEvents( "tp_eta", GenuineNTupleCut::LARGER, -2.5 ); histos_to_apply_cut_to->AddNTupleCutForAllEvents( "tp_eta", GenuineNTupleCut::SMALLER, 2.5, GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutForAllEvents( "tp_charge", GenuineNTupleCut::LARGER, 0.1 ); histos_to_apply_cut_to->AddNTupleCutForAllEvents( "tp_charge", GenuineNTupleCut::SMALLER, -0.1, GenuineNTupleCut::OR ); histos_to_apply_cut_to->AddNTupleCutForAllEvents( "tp_pdg_id", GenuineNTupleCut::NOT_EQUAL, 0. ); histos_to_apply_cut_to->AddNTupleCutForAllEvents( "tp_pt", GenuineNTupleCut::LARGER, 0.500 ); histos_to_apply_cut_to->AddNTupleCutForAllEvents( "tp_barcode", GenuineNTupleCut::SMALLER, 10000. ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "tp_charge", "tp_barcode", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "tp_charge", "tp_pdg_id", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "tp_charge", "tp_eta", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "tp_charge", "tp_pt", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "tp_eta", "tp_charge", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "tp_pdg_id", "tp_charge", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "tp_phi", "tp_charge", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "tp_pt", "tp_charge", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "tp_barcode", "tp_charge", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "tp_genVertex_x", "tp_charge", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "tp_genVertex_y", "tp_charge", GenuineNTupleCut::AND ); histos_to_apply_cut_to->AddNTupleCutFromTagForAllEvents( "tp_genVertex_z", "tp_charge", GenuineNTupleCut::AND ); } # 323 "VBFStudy.cxx" 2 # 1 "TagIgnoreDummyVertices.cinc" 1 if(!examineDummyPVs){ ut->VERB_("Tagging dummies."); histos_to_apply_cut_to->AddNTupleCutForAllEvents_( "all_primary_vertex_x", GenuineNTupleCut::NO_DUMMY); histos_to_apply_cut_to->AddNTupleCutForAllEvents_( "all_primary_vertex_y", GenuineNTupleCut::NO_DUMMY); histos_to_apply_cut_to->AddNTupleCutForAllEvents_( "all_primary_vertex_z", GenuineNTupleCut::NO_DUMMY); histos_to_apply_cut_to->AddNTupleCutForAllEvents_( "all_primary_vertex_ChiSquared", GenuineNTupleCut::NO_DUMMY); histos_to_apply_cut_to->AddNTupleCutForAllEvents_( "all_primary_vertex_nDoF", GenuineNTupleCut::NO_DUMMY); histos_to_apply_cut_to->AddNTupleCutForAllEvents_( "all_primary_vertex_sumPTSquared", GenuineNTupleCut::NO_DUMMY); histos_to_apply_cut_to->AddNTupleCutForAllEvents_( "all_primary_vertex_nTracks", GenuineNTupleCut::NO_DUMMY); histos_to_apply_cut_to->AddNTupleCutForAllEvents_( "all_primary_vertex_delta_z0_significance", GenuineNTupleCut::NO_DUMMY); } # 324 "VBFStudy.cxx" 2 histos_to_apply_cut_to = 0; ut->VERB_("Calling FillHistos( chain2, histos_chain2 )"); if(ntchains.find(itplots->first)!=ntchains.end()){ FillHistos(ntchains[itplots->first], itplots->second); } else{ ut->ERR_("Calling FillHistos( ... ) impossible, as NTupleChain not found!"); } if(makePlots) thegui->DrawPlotset((string)(itplots->first) + (string)".stat", ""); } if(makePlots) thegui->DrawPlotsets(""); # 404 "VBFStudy.cxx" } # 1079 "VBFStudy.cxx" VBFStudy::~VBFStudy() { delete chain2; delete chain1; delete thegui; } TString VBFStudy::effError(double passes, double all) { char result [ 128 ]; char resultmask [ 128 ] = "\teff.: %f + %f - %f %"; TH1F* TriggerEffHistoAll = new TH1F("TriggerEffHistoAll", "Temporary histo1", 1, 0., 1.); TH1F* TriggerEffHistoFRAG = new TH1F("TriggerEffHistoFRAG", "Temporary histo2", 1, 0., 1.); TriggerEffHistoAll->SetBinContent(1, all); TriggerEffHistoFRAG->SetBinContent(1, passes); TGraphAsymmErrors* TriggerEffGraph = new TGraphAsymmErrors(TriggerEffHistoFRAG, TriggerEffHistoAll); Double_t x_val = 0, y_val = 0; TriggerEffGraph->GetPoint(0, x_val, y_val); sprintf(result, resultmask, 100. * y_val, 100. * TriggerEffGraph->GetErrorYhigh(0), 100. * TriggerEffGraph->GetErrorYlow(0)); delete TriggerEffHistoAll; delete TriggerEffHistoFRAG; delete TriggerEffGraph; return result; } # 1411 "VBFStudy.cxx" void VBFStudy::FillHistos(NTupleChain *chain2, Plotset *histos_chain2) { ut->VERB(chain2->nMaxEvents , "Filling histos for # of events:"); float mintimediff = 0.01; map::iterator histo_chain2 = (histos_chain2->histos).begin(); time_t now = time(__null), previousTime = time(__null); timeval begin_event; gettimeofday(&begin_event, 0); timeval setEvent_event; gettimeofday(&setEvent_event, 0); iEventsWithoutRecoPVs = 0; iEventsWith1RecoPV = 0; iEventsWithMoreThan1RecoPV = 0; UInt_t eventsProcessed = 0; UInt_t eventsRejected = 0; UInt_t eventsAccepted = 0; for (Int_t i = chain2->nFirstEvent;i < (chain2->nFirstEvent + chain2->nMaxEvents);i++) { eventsProcessed++; if (i % iVerboseSkip == 0 && iVerbose > 0 && i > 0 && examineDetailedTiming ){ gettimeofday(&begin_event, 0); } histos_chain2->SetEvent(i); if (i % iVerboseSkip == 0 && iVerbose > 0 && i > 0 && examineDetailedTiming){ gettimeofday(&setEvent_event, 0); float tdiff = ElapsedTime(begin_event,setEvent_event); if ( tdiff > mintimediff) ut->INF_("SetEvent " + ut->to_string(i) + " took " + ut->to_string(tdiff*1000.) + " milliseconds."); } # 1460 "VBFStudy.cxx" if (!(histos_chain2->EvaluateEvent())) { ut->VERB_("Event failed event cuts. -> continue"); if (i % iVerboseSkip == 0 && iVerbose > 0 && i > 0) { now = time(__null); float evPerSecond = ((float)iVerboseSkip) / (difftime(now, previousTime)); ut->INF_("VBFStudy::FillHistos for " + (string) histos_chain2->GetName() + ": Events processed: " + ut->to_string(i - nFirstEvent) + " (" + ut->to_string(evPerSecond) + " events per second; remaining minutes: " + ut->to_string(TMath::Floor(((chain2->nFirstEvent + chain2->nMaxEvents - i) / evPerSecond) / 60.)) + ((((int)TMath::Floor(((chain2->nFirstEvent + chain2->nMaxEvents - i) / evPerSecond))) % 60>9)?":":":0")+ut->to_string(((int)TMath::Floor(((chain2->nFirstEvent + chain2->nMaxEvents - i) / evPerSecond))) % 60)+")"); previousTime = now; } else ut->VERB(i - nFirstEvent , "VBFStudy::FillHistos for " + (string) histos_chain2->GetName() + ": Events processed"); if (i % iVerboseSkip == 0 && iVerbose > 0 && i > 0 && examineDetailedTiming){ timeval evalEvent_event; gettimeofday(&evalEvent_event, 0); float tdiff = ElapsedTime(setEvent_event,evalEvent_event); if (tdiff > mintimediff) ut->INF_("EvaluateEvent " + ut->to_string(i) + " took " + ut->to_string(tdiff*1000.) + " milliseconds."); } eventsRejected++; continue; } eventsAccepted++; if (i % iVerboseSkip == 0 && iVerbose > 0 && i > 0 && examineDetailedTiming){ timeval evalEvent_event; gettimeofday(&evalEvent_event, 0); float tdiff = ElapsedTime(setEvent_event,evalEvent_event); if(tdiff > mintimediff) ut->INF_("EvaluateEvent " + ut->to_string(i) + " took " + ut->to_string(tdiff*1000.) + " milliseconds."); } UInt_t round = 0; UInt_t numReallyRecodPVs = 0; timeval checkDisabledPlot_event; for (histo_chain2 = (histos_chain2->histos).begin();histo_chain2 != (histos_chain2->histos).end();histo_chain2++, round++) { timeval aHisto_event; if(examineDetailedTiming){ gettimeofday(&aHisto_event, 0); } if (histos_chain2->IsDisabledPlot(histo_chain2->second->GetName())){ ut->VERB((string) "Histo " + (*histo_chain2).second->GetName() + " is disabled. Hence not filling it!"); continue; } if (i % iVerboseSkip == 0 && iVerbose > 0 && i > 0 && examineDetailedTiming){ gettimeofday(&checkDisabledPlot_event, 0); float tdiff = ElapsedTime(aHisto_event,checkDisabledPlot_event); if(tdiff > mintimediff) ut->INF_("Checking for disabled plot " + ut->to_string(histo_chain2->second->GetName()) + " took " + ut->to_string(tdiff*1000.) + " milliseconds."); } Bool_t histoHandled = false; ut->VERB((string) "Filling histo " + (*histo_chain2).second->GetName()); # 1670 "VBFStudy.cxx" if(histos_chain2->IsSpecialPlot(histo_chain2->second->GetName())){ ut->VERB((string) " " + (string) histo_chain2->second->GetName() + " is a special histo."); if ((string)(TString)(((TString)(*histo_chain2).second->GetName()) (0, ((TString)(*histo_chain2).second->GetName()).Sizeof() - (((TString) histos_chain2->GetName()).Sizeof()))) == "all_primary_vertex_ChiSquaredOnDoF") { if (i == nFirstEvent) ut->VERB((string) " " + (string) histo_chain2->second->GetName() + " is the chi²/nDoF histo."); for (UInt_t tupelind = 0; tupelind < TMath::Min((chain2->ntuples)[ "all_primary_vertex_ChiSquared" ]->size(), (chain2->ntuples)[ "all_primary_vertex_nDoF" ]->size()) ; tupelind++) { if (histos_chain2->GetNTupleTagForEvent("all_primary_vertex_ChiSquared", tupelind) && histos_chain2->GetNTupleTagForEvent("all_primary_vertex_nDoF", tupelind)) { if (i == nFirstEvent) ut->VERB((string) "First Event: chi²/nDoF histo " + (*histo_chain2).second->GetName() + " accepts entries " + ut->to_string(tupelind) + " from N-tuples all_primary_vertex_ChiSquared and all_primary_vertex_nDoF."); histos_chain2->h_all_primary_vertex_ChiSquaredOnDoF->Fill(((chain2->ntuples)[ "all_primary_vertex_ChiSquared" ]->at(tupelind))/((chain2->ntuples)[ "all_primary_vertex_nDoF" ]->at(tupelind))); } else { if (i == nFirstEvent) ut->VERB((string) "First Event: NOT filling histo " + (*histo_chain2).second->GetName() + " with entry from N-tuples all_primary_vertex_ChiSquared and all_primary_vertex_nDoF, as GetNTupleTagForEvent evaluated false."); } } histoHandled = true; } else { if (i == nFirstEvent) ut->VERB_((string) " " + (string) histo_chain2->second->GetName() + " is NOT the chi²/nDoF histo."); } # 1709 "VBFStudy.cxx" if ((string)(TString)(((TString)(*histo_chain2).second->GetName()) (0, ((TString)(*histo_chain2).second->GetName()).Sizeof() - (((TString) histos_chain2->GetName()).Sizeof()))) == "closest_primary_vertex_recoz0_hardest_vs_2nd_hardest_lepton") { if((chain2->ntuples).find("bestReco_pv_z0_leptons") != (chain2->ntuples).end()){ if (i == nFirstEvent) ut->VERB((string) " " + (string) histo_chain2->second->GetName() + " is closest_primary_vertex_recoz0_hardest_vs_2nd_hardest_lepton."); for (UInt_t tupelind = 0; tupelind < 2*((chain2->ntuples)[ "bestReco_pv_z0_leptons" ]->size()); tupelind++) { if (histos_chain2->GetNTupleTagForEvent("bestReco_pv_z0_leptons", 2*tupelind) && histos_chain2->GetNTupleTagForEvent("bestReco_pv_z0_leptons", 2*tupelind + 1)) { histos_chain2->h_closest_primary_vertex_recoz0_hardest_vs_2nd_hardest_lepton->Fill(((chain2->ntuples)[ "bestReco_pv_z0_leptons" ]->at(2*tupelind)), ((chain2->ntuples)[ "bestReco_pv_z0_leptons" ]->at(2*tupelind+1))); } else { } } } else { } histoHandled = true; } else { if (i == nFirstEvent) ut->VERB_((string) " " + (string) histo_chain2->second->GetName() + " is NOT the closest_primary_vertex_recoz0_hardest_vs_2nd_hardest_lepton histo."); } if (i % iVerboseSkip == 0 && iVerbose > 0 && i > 0 && examineDetailedTiming){ timeval specialPlotEnd_event; gettimeofday(&specialPlotEnd_event, 0); float tdiff = ElapsedTime(checkDisabledPlot_event,specialPlotEnd_event); if (tdiff > 0) ut->INF_("Special plot " + ut->to_string(histo_chain2->second->GetName()) + " took " + ut->to_string(tdiff*1000.) + " milliseconds."); } } if(!histoHandled){ ut->WAR_((string)((string)"Plot "+histo_chain2->second->GetName()+(string)" not handled. Disabling it in Plotset " + histos_chain2->GetName() + (string)" [has "+ut->to_string(histos_chain2->GetNumberOfDisabledPlots())+(string)" disabled plots].")); histos_chain2->DefineDisabledPlot(histo_chain2->second->GetName()); } } timeval end_histos; if (i % iVerboseSkip == 0 && iVerbose > 0 && i > 0 && examineDetailedTiming){ gettimeofday(&end_histos, 0); } if (numReallyRecodPVs == 0){ iEventsWithoutRecoPVs++; } else if (numReallyRecodPVs == 1){ iEventsWith1RecoPV++; } else{ iEventsWithMoreThan1RecoPV++; } if (i % iVerboseSkip == 0 && iVerbose > 0 && i > 0 && examineDetailedTiming){ timeval end_nonHistoTasks; gettimeofday(&end_nonHistoTasks, 0); float tdiff = ElapsedTime(end_histos,end_nonHistoTasks); ut->INF_("Non-histogram tasks for event " + ut->to_string(i) + " took " + ut->to_string(tdiff*1000.) + " milliseconds."); } if (i % iVerboseSkip == 0 && iVerbose > 0 && i > 0) { now = time(__null); float evPerSecond = ((float)iVerboseSkip) / (difftime(now, previousTime)); ut->INF_("VBFStudy::FillHistos for " + (string) histos_chain2->GetName() + ": Events processed: " + ut->to_string(i - nFirstEvent) + " (" + ut->to_string(evPerSecond) + " events per second; remaining minutes: " + ut->to_string(TMath::Floor(((chain2->nFirstEvent + chain2->nMaxEvents - i) / evPerSecond) / 60.)) + ((((int)TMath::Floor(((chain2->nFirstEvent + chain2->nMaxEvents - i) / evPerSecond))) % 60>9)?":":":0")+ut->to_string((int)(TMath::Floor(((chain2->nFirstEvent + chain2->nMaxEvents - i) / evPerSecond))) % 60)+")"); previousTime = now; if (i % iVerboseSkip == 0 && iVerbose > 0 && i > 0 && examineDetailedTiming){ timeval end_event; gettimeofday(&end_event, 0); float tdiff = ElapsedTime(begin_event,end_event); ut->INF_("Event " + ut->to_string(i) + " took " + ut->to_string(tdiff*1000.) + " milliseconds."); } } else ut->VERB(i - nFirstEvent , "VBFStudy::FillHistos for " + (string) histos_chain2->GetName() + ": Events processed"); } ut->INF_("= = = = = = "+(string)histos_chain2->GetName()); ut->INF_("CUTS:"); ut->INF_(histos_chain2->GetNTupleCuts()); ut->INF_("= = = = = ="); ut->INF_("Event loop done: " + ut->to_string(eventsProcessed) + (string)" events processed. Accepted " + ut->to_string(eventsAccepted) + (string)" events, rejected " + ut->to_string(eventsRejected) + (string)" events."); ut->INF_("Events without reco PVs: " + ut->to_string(iEventsWithoutRecoPVs) + (string)effError(iEventsWithoutRecoPVs, eventsAccepted)); ut->INF_("VBFStudy::FillHistos( ... ) done."); } Optionset::Optionset(std::map given_available_options) : available_options(given_available_options) { } Optionset::Optionset(){ } Optionset::~Optionset(){ } void Optionset::PresetOption(string option_name, bool target_value){ if(available_options.find(option_name) != available_options.end()){ optionsMap[available_options[option_name]] = target_value; } else cout << "Option " << option_name << "unknown" << endl; } void Optionset::SetOptions() const{ for(std::map::const_iterator stit = available_options.begin(); stit != available_options.end(); stit++){ *(stit->second) = false; } for(std::map::const_iterator it = optionsMap.begin(); it != optionsMap.end(); it++){ *(it->first) = it->second; } } int main(int argc, char **argv) { # 1 "RooLogon.C" 1 { cout << endl << "Welcome to the ATLAS rootlogon.C" << endl; TStyle *atlasStyle= new TStyle("ATLAS","Atlas style"); Int_t icol=0; atlasStyle->SetFrameBorderMode(icol); atlasStyle->SetCanvasBorderMode(icol); atlasStyle->SetPadBorderMode(icol); atlasStyle->SetPadColor(icol); atlasStyle->SetCanvasColor(icol); atlasStyle->SetStatColor(icol); atlasStyle->SetPaperSize(20,26); atlasStyle->SetPadTopMargin(0.05); atlasStyle->SetPadRightMargin(0.05); atlasStyle->SetPadBottomMargin(0.16); atlasStyle->SetPadLeftMargin(0.12); Int_t font=42; Double_t tsize=0.05; atlasStyle->SetTextFont(font); atlasStyle->SetTextSize(tsize); atlasStyle->SetLabelFont(font,"x"); atlasStyle->SetTitleFont(font,"x"); atlasStyle->SetLabelFont(font,"y"); atlasStyle->SetTitleFont(font,"y"); atlasStyle->SetLabelFont(font,"z"); atlasStyle->SetTitleFont(font,"z"); atlasStyle->SetLabelSize(tsize,"x"); atlasStyle->SetTitleSize(tsize,"x"); atlasStyle->SetLabelSize(tsize,"y"); atlasStyle->SetTitleSize(tsize,"y"); atlasStyle->SetLabelSize(tsize,"z"); atlasStyle->SetTitleSize(tsize,"z"); atlasStyle->SetMarkerStyle(20); atlasStyle->SetMarkerSize(1.2); atlasStyle->SetHistLineWidth(2); atlasStyle->SetLineStyleString(2,"[12 12]"); atlasStyle->SetOptTitle(0); atlasStyle->SetOptStat(0); atlasStyle->SetOptFit(0); atlasStyle->SetPadTickX(1); atlasStyle->SetPadTickY(1); gROOT->SetStyle("Plain"); gSystem->Load("$ROOTSYS/lib/root/libThread.so"); gSystem->Load("libGui.so"); gSystem->Load("libTree.so"); gSystem->Load("libPyROOT.so"); gSystem->Load("libVBFStudy.so"); } # 1849 "VBFStudy.cxx" 2 TApplication theApp("App", &argc, argv); VBFStudy *dsa = new VBFStudy("", 0, 1, 250, 0, "BOX", false, true, true); theApp.Run(); delete dsa; return 0; }