From: Richard Biener Date: Wed, 28 Oct 2015 13:44:18 +0000 (+0000) Subject: re PR ipa/67600 (Segfault when assigning only one char to ostreambuf_iterator compiled with -O2 or -O3) 2015-10-28 Richard Biener PR ipa/67600 * g++.dg/torture/pr67600.C: Remove preprocessed headers in favor of #includes. From-SVN: r229485 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2fd643ed132..eb99e44516d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2015-10-28 Richard Biener + + PR ipa/67600 + * g++.dg/torture/pr67600.C: Remove preprocessed headers in favor + of #includes. + 2015-10-28 Richard Biener PR tree-optimization/65962 diff --git a/gcc/testsuite/g++.dg/torture/pr67600.C b/gcc/testsuite/g++.dg/torture/pr67600.C index 5775d3619ba..0206cae186c 100644 --- a/gcc/testsuite/g++.dg/torture/pr67600.C +++ b/gcc/testsuite/g++.dg/torture/pr67600.C @@ -1,27901 +1,8 @@ // { dg-do run } -# 1 "t.C" -# 1 "" -# 1 "" -# 1 "t.C" -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/iostream" 1 3 -# 36 "/aux/hubicka/trunk-install/include/c++/6.0.0/iostream" 3 - -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/iostream" 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/c++config.h" 1 3 -# 196 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/c++config.h" 3 +#include +#include -# 196 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace std -{ - typedef long unsigned int size_t; - typedef long int ptrdiff_t; - - - typedef decltype(nullptr) nullptr_t; - -} -# 218 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/c++config.h" 3 -namespace std -{ - inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } -} -namespace __gnu_cxx -{ - inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } -} -# 493 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/c++config.h" 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/os_defines.h" 1 3 -# 39 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/os_defines.h" 3 -# 1 "/usr/include/features.h" 1 3 4 -# 323 "/usr/include/features.h" 3 4 -# 1 "/usr/include/x86_64-linux-gnu/bits/predefs.h" 1 3 4 -# 324 "/usr/include/features.h" 2 3 4 -# 356 "/usr/include/features.h" 3 4 -# 1 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 1 3 4 -# 359 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4 -# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 -# 360 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4 -# 357 "/usr/include/features.h" 2 3 4 -# 388 "/usr/include/features.h" 3 4 -# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 1 3 4 - - - -# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 -# 5 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 2 3 4 - - - - -# 1 "/usr/include/x86_64-linux-gnu/gnu/stubs-64.h" 1 3 4 -# 10 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 2 3 4 -# 389 "/usr/include/features.h" 2 3 4 -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/os_defines.h" 2 3 -# 494 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/c++config.h" 2 3 - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/cpu_defines.h" 1 3 -# 497 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/c++config.h" 2 3 -# 39 "/aux/hubicka/trunk-install/include/c++/6.0.0/iostream" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 1 3 -# 36 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 3 - -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 3 - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/ios" 1 3 -# 36 "/aux/hubicka/trunk-install/include/c++/6.0.0/ios" 3 - -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/ios" 3 - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/iosfwd" 1 3 -# 36 "/aux/hubicka/trunk-install/include/c++/6.0.0/iosfwd" 3 - -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/iosfwd" 3 - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stringfwd.h" 1 3 -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stringfwd.h" 3 - -# 38 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stringfwd.h" 3 - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/memoryfwd.h" 1 3 -# 46 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/memoryfwd.h" 3 - -# 47 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/memoryfwd.h" 3 - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 63 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/memoryfwd.h" 3 - template - class allocator; - - template<> - class allocator; - - - template - struct uses_allocator; - - - - -} -# 41 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stringfwd.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - - template - struct char_traits; - - template<> struct char_traits; - - - template<> struct char_traits; - - - - - template<> struct char_traits; - template<> struct char_traits; - - -namespace __cxx11 { - - template, - typename _Alloc = allocator<_CharT> > - class basic_string; - - - typedef basic_string string; - - - - typedef basic_string wstring; - - - - - - typedef basic_string u16string; - - - typedef basic_string u32string; - - -} - - - - -} -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/iosfwd" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/postypes.h" 1 3 -# 38 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/postypes.h" 3 - -# 39 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/postypes.h" 3 - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwchar" 1 3 -# 39 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwchar" 3 - -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwchar" 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 "/aux/hubicka/trunk-install/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include/stdarg.h" 1 3 4 -# 40 "/aux/hubicka/trunk-install/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include/stdarg.h" 3 4 -typedef __builtin_va_list __gnuc_va_list; -# 41 "/usr/include/wchar.h" 2 3 4 - -# 1 "/usr/include/x86_64-linux-gnu/bits/wchar.h" 1 3 4 -# 43 "/usr/include/wchar.h" 2 3 4 -# 52 "/usr/include/wchar.h" 3 4 -# 1 "/aux/hubicka/trunk-install/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include/stddef.h" 1 3 4 -# 216 "/aux/hubicka/trunk-install/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include/stddef.h" 3 4 -typedef long unsigned int size_t; -# 357 "/aux/hubicka/trunk-install/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include/stddef.h" 3 4 -typedef unsigned int wint_t; -# 53 "/usr/include/wchar.h" 2 3 4 -# 83 "/usr/include/wchar.h" 3 4 -typedef struct -{ - int __count; - union - { - - unsigned int __wch; - - - - char __wchb[4]; - } __value; -} __mbstate_t; -# 104 "/usr/include/wchar.h" 3 4 - - -typedef __mbstate_t mbstate_t; - - - -# 129 "/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; - - -typedef __locale_t locale_t; -# 178 "/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 "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc) - throw () __asm ("wcschr") __attribute__ ((__pure__)); -extern "C++" __const wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc) - throw () __asm ("wcschr") __attribute__ ((__pure__)); - - - - - - -extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc) - throw () __asm ("wcsrchr") __attribute__ ((__pure__)); -extern "C++" __const wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc) - throw () __asm ("wcsrchr") __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 "C++" wchar_t *wcspbrk (wchar_t *__wcs, __const wchar_t *__accept) - throw () __asm ("wcspbrk") __attribute__ ((__pure__)); -extern "C++" __const wchar_t *wcspbrk (__const wchar_t *__wcs, - __const wchar_t *__accept) - throw () __asm ("wcspbrk") __attribute__ ((__pure__)); - - - - - - -extern "C++" wchar_t *wcsstr (wchar_t *__haystack, __const wchar_t *__needle) - throw () __asm ("wcsstr") __attribute__ ((__pure__)); -extern "C++" __const wchar_t *wcsstr (__const wchar_t *__haystack, - __const wchar_t *__needle) - throw () __asm ("wcsstr") __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 "C++" wchar_t *wcswcs (wchar_t *__haystack, __const wchar_t *__needle) - throw () __asm ("wcswcs") __attribute__ ((__pure__)); -extern "C++" __const wchar_t *wcswcs (__const wchar_t *__haystack, - __const wchar_t *__needle) - throw () __asm ("wcswcs") __attribute__ ((__pure__)); -# 303 "/usr/include/wchar.h" 3 4 -extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen) - throw () __attribute__ ((__pure__)); - - - - - - -extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n) - throw () __asm ("wmemchr") __attribute__ ((__pure__)); -extern "C++" __const wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c, - size_t __n) - throw () __asm ("wmemchr") __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 (); - - - - - - - - -extern wint_t __btowc_alias (int __c) __asm ("btowc"); -extern __inline __attribute__ ((__gnu_inline__)) wint_t -btowc (int __c) throw () -{ return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f' - ? (wint_t) __c : __btowc_alias (__c)); } - -extern int __wctob_alias (wint_t __c) __asm ("wctob"); -extern __inline __attribute__ ((__gnu_inline__)) int -wctob (wint_t __wc) throw () -{ return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f' - ? (int) __wc : __wctob_alias (__wc)); } - -extern __inline __attribute__ ((__gnu_inline__)) size_t -mbrlen (__const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw () - -{ return (__ps != __null - ? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); } - - - - - -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 (); -# 528 "/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 *__restrict __dest, - __const wchar_t *__restrict __src) throw (); - - - -extern wchar_t *wcpncpy (wchar_t *__restrict __dest, - __const wchar_t *__restrict __src, size_t __n) - throw (); -# 578 "/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 () ; -# 678 "/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 () ; -# 734 "/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); - -# 799 "/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); -# 825 "/usr/include/wchar.h" 3 4 -extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); -extern wint_t putwchar_unlocked (wchar_t __wc); -# 835 "/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 (); -# 889 "/usr/include/wchar.h" 3 4 -} -# 45 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwchar" 2 3 -# 62 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwchar" 3 -namespace std -{ - using ::mbstate_t; -} -# 135 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - using ::wcspbrk; - using ::wcsrchr; - using ::wcsstr; - using ::wmemchr; -# 232 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwchar" 3 - -} - - - - - - - -namespace __gnu_cxx -{ - - - - - - using ::wcstold; -# 257 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwchar" 3 - using ::wcstoll; - using ::wcstoull; - -} - -namespace std -{ - using ::__gnu_cxx::wcstold; - using ::__gnu_cxx::wcstoll; - using ::__gnu_cxx::wcstoull; -} -# 277 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwchar" 3 -namespace std -{ - - using std::wcstof; - - - using std::vfwscanf; - - - using std::vswscanf; - - - using std::vwscanf; - - - - using std::wcstold; - using std::wcstoll; - using std::wcstoull; - -} -# 41 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/postypes.h" 2 3 -# 68 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/postypes.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 88 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/postypes.h" 3 - typedef long streamoff; -# 98 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/postypes.h" 3 - typedef ptrdiff_t streamsize; -# 111 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/postypes.h" 3 - template - class fpos - { - private: - streamoff _M_off; - _StateT _M_state; - - public: - - - - - fpos() - : _M_off(0), _M_state() { } -# 133 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - - - - typedef fpos u16streampos; - - typedef fpos u32streampos; - - - -} -# 41 "/aux/hubicka/trunk-install/include/c++/6.0.0/iosfwd" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 74 "/aux/hubicka/trunk-install/include/c++/6.0.0/iosfwd" 3 - class ios_base; - - template > - class basic_ios; - - template > - class basic_streambuf; - - template > - class basic_istream; - - template > - class basic_ostream; - - template > - class basic_iostream; - - -namespace __cxx11 { - - 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; - - - - 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; - - - - -} -# 39 "/aux/hubicka/trunk-install/include/c++/6.0.0/ios" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/exception" 1 3 -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/exception" 3 - -# 34 "/aux/hubicka/trunk-install/include/c++/6.0.0/exception" 3 - -#pragma GCC visibility push(default) - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/atomic_lockfree_defines.h" 1 3 -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/atomic_lockfree_defines.h" 3 - -# 34 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/atomic_lockfree_defines.h" 3 -# 39 "/aux/hubicka/trunk-install/include/c++/6.0.0/exception" 2 3 - -extern "C++" { - -namespace std -{ -# 60 "/aux/hubicka/trunk-install/include/c++/6.0.0/exception" 3 - class exception - { - public: - exception() noexcept { } - virtual ~exception() noexcept; - - - - virtual const char* what() const noexcept; - }; - - - - class bad_exception : public exception - { - public: - bad_exception() noexcept { } - - - - virtual ~bad_exception() noexcept; - - - virtual const char* what() const noexcept; - }; - - - typedef void (*terminate_handler) (); - - - typedef void (*unexpected_handler) (); - - - terminate_handler set_terminate(terminate_handler) noexcept; - - - - terminate_handler get_terminate() noexcept; - - - - - void terminate() noexcept __attribute__ ((__noreturn__)); - - - unexpected_handler set_unexpected(unexpected_handler) noexcept; - - - - unexpected_handler get_unexpected() noexcept; - - - - - void unexpected() __attribute__ ((__noreturn__)); -# 127 "/aux/hubicka/trunk-install/include/c++/6.0.0/exception" 3 - bool uncaught_exception() noexcept __attribute__ ((__pure__)); - - - - - int uncaught_exceptions() noexcept __attribute__ ((__pure__)); - - - -} - -namespace __gnu_cxx -{ - -# 158 "/aux/hubicka/trunk-install/include/c++/6.0.0/exception" 3 - void __verbose_terminate_handler(); - - -} - -} - -#pragma GCC visibility pop - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/exception_ptr.h" 1 3 -# 34 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/exception_ptr.h" 3 -#pragma GCC visibility push(default) - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/exception_defines.h" 1 3 -# 38 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/exception_ptr.h" 2 3 - - - - - -extern "C++" { - -namespace std -{ - class type_info; - - - - - - namespace __exception_ptr - { - class exception_ptr; - } - - using __exception_ptr::exception_ptr; - - - - - - exception_ptr current_exception() noexcept; - - - void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__)); - - namespace __exception_ptr - { - - - - - class exception_ptr - { - void* _M_exception_object; - - explicit exception_ptr(void* __e) noexcept; - - void _M_addref() noexcept; - void _M_release() noexcept; - - void *_M_get() const noexcept __attribute__ ((__pure__)); - - friend exception_ptr std::current_exception() noexcept; - friend void std::rethrow_exception(exception_ptr); - - public: - exception_ptr() noexcept; - - exception_ptr(const exception_ptr&) noexcept; - - - exception_ptr(nullptr_t) noexcept - : _M_exception_object(0) - { } - - exception_ptr(exception_ptr&& __o) noexcept - : _M_exception_object(__o._M_exception_object) - { __o._M_exception_object = 0; } -# 111 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/exception_ptr.h" 3 - exception_ptr& - operator=(const exception_ptr&) noexcept; - - - exception_ptr& - operator=(exception_ptr&& __o) noexcept - { - exception_ptr(static_cast(__o)).swap(*this); - return *this; - } - - - ~exception_ptr() noexcept; - - void - swap(exception_ptr&) noexcept; -# 138 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/exception_ptr.h" 3 - explicit operator bool() const - { return _M_exception_object; } - - - friend bool - operator==(const exception_ptr&, const exception_ptr&) - noexcept __attribute__ ((__pure__)); - - const class std::type_info* - __cxa_exception_type() const noexcept - __attribute__ ((__pure__)); - }; - - bool - operator==(const exception_ptr&, const exception_ptr&) - noexcept __attribute__ ((__pure__)); - - bool - operator!=(const exception_ptr&, const exception_ptr&) - noexcept __attribute__ ((__pure__)); - - inline void - swap(exception_ptr& __lhs, exception_ptr& __rhs) - { __lhs.swap(__rhs); } - - } - - - - template - exception_ptr - make_exception_ptr(_Ex __ex) noexcept - { - - try - { - throw __ex; - } - catch(...) - { - return current_exception(); - } - - - - } - - - - - - template - exception_ptr - copy_exception(_Ex __ex) noexcept __attribute__ ((__deprecated__)); - - template - exception_ptr - copy_exception(_Ex __ex) noexcept - { return std::make_exception_ptr<_Ex>(__ex); } - - -} - -} - -#pragma GCC visibility pop -# 169 "/aux/hubicka/trunk-install/include/c++/6.0.0/exception" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/nested_exception.h" 1 3 -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/nested_exception.h" 3 -#pragma GCC visibility push(default) -# 45 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/nested_exception.h" 3 -extern "C++" { - -namespace std -{ - - - - - - - class nested_exception - { - exception_ptr _M_ptr; - - public: - nested_exception() noexcept : _M_ptr(current_exception()) { } - - nested_exception(const nested_exception&) noexcept = default; - - nested_exception& operator=(const nested_exception&) noexcept = default; - - virtual ~nested_exception() noexcept; - - [[noreturn]] - void - rethrow_nested() const - { - if (_M_ptr) - rethrow_exception(_M_ptr); - std::terminate(); - } - - exception_ptr - nested_ptr() const noexcept - { return _M_ptr; } - }; - - template - struct _Nested_exception : public _Except, public nested_exception - { - explicit _Nested_exception(const _Except& __ex) - : _Except(__ex) - { } - - explicit _Nested_exception(_Except&& __ex) - : _Except(static_cast<_Except&&>(__ex)) - { } - }; - - template - struct _Throw_with_nested_impl - { - template - static void _S_throw(_Up&& __t) - { throw _Nested_exception<_Tp>{static_cast<_Up&&>(__t)}; } - }; - - template - struct _Throw_with_nested_impl<_Tp, false> - { - template - static void _S_throw(_Up&& __t) - { throw static_cast<_Up&&>(__t); } - }; - - template - struct _Throw_with_nested_helper : _Throw_with_nested_impl<_Tp> - { }; - - template - struct _Throw_with_nested_helper<_Tp, false> - : _Throw_with_nested_impl<_Tp, false> - { }; - - template - struct _Throw_with_nested_helper<_Tp&, false> - : _Throw_with_nested_helper<_Tp> - { }; - - template - struct _Throw_with_nested_helper<_Tp&&, false> - : _Throw_with_nested_helper<_Tp> - { }; - - - - template - [[noreturn]] - inline void - throw_with_nested(_Tp&& __t) - { - _Throw_with_nested_helper<_Tp>::_S_throw(static_cast<_Tp&&>(__t)); - } - - template - struct _Rethrow_if_nested_impl - { - static void _S_rethrow(const _Tp& __t) - { - if (auto __tp = dynamic_cast(&__t)) - __tp->rethrow_nested(); - } - }; - - template - struct _Rethrow_if_nested_impl<_Tp, false> - { - static void _S_rethrow(const _Tp&) { } - }; - - - template - inline void - rethrow_if_nested(const _Ex& __ex) - { - _Rethrow_if_nested_impl<_Ex>::_S_rethrow(__ex); - } - - -} - -} - - - -#pragma GCC visibility pop -# 170 "/aux/hubicka/trunk-install/include/c++/6.0.0/exception" 2 3 -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/ios" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/char_traits.h" 1 3 -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/char_traits.h" 3 - -# 38 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/char_traits.h" 3 - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 1 3 -# 60 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/functexcept.h" 1 3 -# 42 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/functexcept.h" 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_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__)) - __attribute__((__format__(__gnu_printf__, 1, 2))); - - 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__)); - - void - __throw_system_error(int) __attribute__((__noreturn__)); - - void - __throw_future_error(int) __attribute__((__noreturn__)); - - - void - __throw_bad_function_call() __attribute__((__noreturn__)); - - -} -# 61 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/cpp_type_traits.h" 1 3 -# 35 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/cpp_type_traits.h" 3 - -# 36 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/cpp_type_traits.h" 3 -# 67 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/cpp_type_traits.h" 3 -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_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - template<> - struct __is_integer - { - enum { __value = 1 }; - typedef __true_type __type; - }; -# 259 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/cpp_type_traits.h" 3 -template<> struct __is_integer<__int128> { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; -# 276 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/cpp_type_traits.h" 3 - 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_arithmetic - : public __traitor<__is_integer<_Tp>, __is_floating<_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; - }; - - - - template - inline _Iterator - __miter_base(_Iterator __it) - { return __it; } - - -} -# 62 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/type_traits.h" 1 3 -# 32 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/type_traits.h" 3 - -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; } - - - inline bool - __is_null_pointer(std::nullptr_t) - { return true; } - - - - template::__value> - struct __promote - { typedef double __type; }; - - - - - template - struct __promote<_Tp, false> - { }; - - template<> - struct __promote - { typedef long double __type; }; - - template<> - struct __promote - { typedef double __type; }; - - template<> - struct __promote - { typedef float __type; }; - - template::__type, - typename _Up2 = typename __promote<_Up>::__type> - struct __promote_2 - { - typedef __typeof__(_Tp2() + _Up2()) __type; - }; - - template::__type, - typename _Up2 = typename __promote<_Up>::__type, - typename _Vp2 = typename __promote<_Vp>::__type> - struct __promote_3 - { - typedef __typeof__(_Tp2() + _Up2() + _Vp2()) __type; - }; - - template::__type, - typename _Up2 = typename __promote<_Up>::__type, - typename _Vp2 = typename __promote<_Vp>::__type, - typename _Wp2 = typename __promote<_Wp>::__type> - struct __promote_4 - { - typedef __typeof__(_Tp2() + _Up2() + _Vp2() + _Wp2()) __type; - }; - - -} -# 63 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/numeric_traits.h" 1 3 -# 32 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/numeric_traits.h" 3 - -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/numeric_traits.h" 3 - - - - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - -# 54 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; -# 99 "/aux/hubicka/trunk-install/include/c++/6.0.0/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) * 643L / 2136); - - - 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 - { }; - - -} -# 64 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_pair.h" 1 3 -# 59 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_pair.h" 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/move.h" 1 3 -# 34 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/move.h" 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/concept_check.h" 1 3 -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/concept_check.h" 3 - -# 34 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/concept_check.h" 3 -# 35 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/move.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - template - inline _Tp* - __addressof(_Tp& __r) noexcept - { - return reinterpret_cast<_Tp*> - (&const_cast(reinterpret_cast(__r))); - } - - -} - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/type_traits" 1 3 -# 32 "/aux/hubicka/trunk-install/include/c++/6.0.0/type_traits" 3 - -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/type_traits" 3 -# 42 "/aux/hubicka/trunk-install/include/c++/6.0.0/type_traits" 3 -namespace std -{ - typedef short unsigned int uint_least16_t; - typedef unsigned int uint_least32_t; -} - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 68 "/aux/hubicka/trunk-install/include/c++/6.0.0/type_traits" 3 - template - struct integral_constant - { - static constexpr _Tp value = __v; - typedef _Tp value_type; - typedef integral_constant<_Tp, __v> type; - constexpr operator value_type() const { return value; } - - - - - constexpr value_type operator()() const { return value; } - - }; - - template - constexpr _Tp integral_constant<_Tp, __v>::value; - - - typedef integral_constant true_type; - - - typedef integral_constant false_type; - - template - using __bool_constant = integral_constant; -# 103 "/aux/hubicka/trunk-install/include/c++/6.0.0/type_traits" 3 - template - struct conditional; - - template - struct __or_; - - template<> - struct __or_<> - : public false_type - { }; - - template - struct __or_<_B1> - : public _B1 - { }; - - template - struct __or_<_B1, _B2> - : public conditional<_B1::value, _B1, _B2>::type - { }; - - template - struct __or_<_B1, _B2, _B3, _Bn...> - : public conditional<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>::type - { }; - - template - struct __and_; - - template<> - struct __and_<> - : public true_type - { }; - - template - struct __and_<_B1> - : public _B1 - { }; - - template - struct __and_<_B1, _B2> - : public conditional<_B1::value, _B2, _B1>::type - { }; - - template - struct __and_<_B1, _B2, _B3, _Bn...> - : public conditional<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>::type - { }; - - template - struct __not_ - : public integral_constant - { }; - - - - - - - template - struct __success_type - { typedef _Tp type; }; - - struct __failure_type - { }; - - - - template - struct remove_cv; - - template - struct __is_void_helper - : public false_type { }; - - template<> - struct __is_void_helper - : public true_type { }; - - - template - struct is_void - : public __is_void_helper::type>::type - { }; - - template - struct __is_integral_helper - : public false_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - - template<> - struct __is_integral_helper - : public true_type { }; - - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; - - - - - template<> - struct __is_integral_helper<__int128> - : public true_type { }; - - template<> - struct __is_integral_helper - : public true_type { }; -# 294 "/aux/hubicka/trunk-install/include/c++/6.0.0/type_traits" 3 - template - struct is_integral - : public __is_integral_helper::type>::type - { }; - - template - struct __is_floating_point_helper - : public false_type { }; - - template<> - struct __is_floating_point_helper - : public true_type { }; - - template<> - struct __is_floating_point_helper - : public true_type { }; - - template<> - struct __is_floating_point_helper - : public true_type { }; - - - template<> - struct __is_floating_point_helper<__float128> - : public true_type { }; - - - - template - struct is_floating_point - : public __is_floating_point_helper::type>::type - { }; - - - template - struct is_array - : public false_type { }; - - template - struct is_array<_Tp[_Size]> - : public true_type { }; - - template - struct is_array<_Tp[]> - : public true_type { }; - - template - struct __is_pointer_helper - : public false_type { }; - - template - struct __is_pointer_helper<_Tp*> - : public true_type { }; - - - template - struct is_pointer - : public __is_pointer_helper::type>::type - { }; - - - template - struct is_lvalue_reference - : public false_type { }; - - template - struct is_lvalue_reference<_Tp&> - : public true_type { }; - - - template - struct is_rvalue_reference - : public false_type { }; - - template - struct is_rvalue_reference<_Tp&&> - : public true_type { }; - - template - struct is_function; - - template - struct __is_member_object_pointer_helper - : public false_type { }; - - template - struct __is_member_object_pointer_helper<_Tp _Cp::*> - : public integral_constant::value> { }; - - - template - struct is_member_object_pointer - : public __is_member_object_pointer_helper< - typename remove_cv<_Tp>::type>::type - { }; - - template - struct __is_member_function_pointer_helper - : public false_type { }; - - template - struct __is_member_function_pointer_helper<_Tp _Cp::*> - : public integral_constant::value> { }; - - - template - struct is_member_function_pointer - : public __is_member_function_pointer_helper< - typename remove_cv<_Tp>::type>::type - { }; - - - template - struct is_enum - : public integral_constant - { }; - - - template - struct is_union - : public integral_constant - { }; - - - template - struct is_class - : public integral_constant - { }; - - - template - struct is_function - : public false_type { }; - - template - struct is_function<_Res(_ArgTypes...)> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes...) &> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes...) &&> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes......)> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes......) &> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes......) &&> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes...) const> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes...) const &> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes...) const &&> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes......) const> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes......) const &> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes......) const &&> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes...) volatile> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes...) volatile &> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes...) volatile &&> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes......) volatile> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes......) volatile &> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes......) volatile &&> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes...) const volatile> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes...) const volatile &> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes...) const volatile &&> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes......) const volatile> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes......) const volatile &> - : public true_type { }; - - template - struct is_function<_Res(_ArgTypes......) const volatile &&> - : public true_type { }; - - - - template - struct __is_null_pointer_helper - : public false_type { }; - - template<> - struct __is_null_pointer_helper - : public true_type { }; - - - template - struct is_null_pointer - : public __is_null_pointer_helper::type>::type - { }; - - - template - struct __is_nullptr_t - : public is_null_pointer<_Tp> - { }; - - - - - template - struct is_reference - : public __or_, - is_rvalue_reference<_Tp>>::type - { }; - - - template - struct is_arithmetic - : public __or_, is_floating_point<_Tp>>::type - { }; - - - template - struct is_fundamental - : public __or_, is_void<_Tp>, - is_null_pointer<_Tp>>::type - { }; - - - template - struct is_object - : public __not_<__or_, is_reference<_Tp>, - is_void<_Tp>>>::type - { }; - - template - struct is_member_pointer; - - - template - struct is_scalar - : public __or_, is_enum<_Tp>, is_pointer<_Tp>, - is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type - { }; - - - template - struct is_compound - : public integral_constant::value> { }; - - template - struct __is_member_pointer_helper - : public false_type { }; - - template - struct __is_member_pointer_helper<_Tp _Cp::*> - : public true_type { }; - - - template - struct is_member_pointer - : public __is_member_pointer_helper::type>::type - { }; - - - - template - struct __is_referenceable - : public __or_, is_reference<_Tp>>::type - { }; - - template - struct __is_referenceable<_Res(_Args...)> - : public true_type - { }; - - template - struct __is_referenceable<_Res(_Args......)> - : public true_type - { }; - - - - - template - struct is_const - : public false_type { }; - - template - struct is_const<_Tp const> - : public true_type { }; - - - template - struct is_volatile - : public false_type { }; - - template - struct is_volatile<_Tp volatile> - : public true_type { }; - - - template - struct is_trivial - : public integral_constant - { }; - - - template - struct is_trivially_copyable - : public integral_constant - { }; - - - template - struct is_standard_layout - : public integral_constant - { }; - - - - template - struct is_pod - : public integral_constant - { }; - - - template - struct is_literal_type - : public integral_constant - { }; - - - template - struct is_empty - : public integral_constant - { }; - - - template - struct is_polymorphic - : public integral_constant - { }; - - - - - template - struct is_final - : public integral_constant - { }; - - - - template - struct is_abstract - : public integral_constant - { }; - - template::value> - struct __is_signed_helper - : public false_type { }; - - template - struct __is_signed_helper<_Tp, true> - : public integral_constant - { }; - - - template - struct is_signed - : public __is_signed_helper<_Tp>::type - { }; - - - template - struct is_unsigned - : public __and_, __not_>>::type - { }; - - - - - template - struct add_rvalue_reference; - - - - - - template - typename add_rvalue_reference<_Tp>::type declval() noexcept; - - template - struct extent; - - template - struct remove_all_extents; - - template - struct __is_array_known_bounds - : public integral_constant::value > 0)> - { }; - - template - struct __is_array_unknown_bounds - : public __and_, __not_>>::type - { }; - - - - - - - struct __do_is_destructible_impl - { - template().~_Tp())> - static true_type __test(int); - - template - static false_type __test(...); - }; - - template - struct __is_destructible_impl - : public __do_is_destructible_impl - { - typedef decltype(__test<_Tp>(0)) type; - }; - - template, - __is_array_unknown_bounds<_Tp>, - is_function<_Tp>>::value, - bool = __or_, is_scalar<_Tp>>::value> - struct __is_destructible_safe; - - template - struct __is_destructible_safe<_Tp, false, false> - : public __is_destructible_impl::type>::type - { }; - - template - struct __is_destructible_safe<_Tp, true, false> - : public false_type { }; - - template - struct __is_destructible_safe<_Tp, false, true> - : public true_type { }; - - - template - struct is_destructible - : public __is_destructible_safe<_Tp>::type - { }; - - - - - - struct __do_is_nt_destructible_impl - { - template - static integral_constant().~_Tp())> - __test(int); - - template - static false_type __test(...); - }; - - template - struct __is_nt_destructible_impl - : public __do_is_nt_destructible_impl - { - typedef decltype(__test<_Tp>(0)) type; - }; - - template, - __is_array_unknown_bounds<_Tp>, - is_function<_Tp>>::value, - bool = __or_, is_scalar<_Tp>>::value> - struct __is_nt_destructible_safe; - - template - struct __is_nt_destructible_safe<_Tp, false, false> - : public __is_nt_destructible_impl::type>::type - { }; - - template - struct __is_nt_destructible_safe<_Tp, true, false> - : public false_type { }; - - template - struct __is_nt_destructible_safe<_Tp, false, true> - : public true_type { }; - - - template - struct is_nothrow_destructible - : public __is_nt_destructible_safe<_Tp>::type - { }; - - struct __do_is_default_constructible_impl - { - template - static true_type __test(int); - - template - static false_type __test(...); - }; - - template - struct __is_default_constructible_impl - : public __do_is_default_constructible_impl - { - typedef decltype(__test<_Tp>(0)) type; - }; - - template - struct __is_default_constructible_atom - : public __and_<__not_>, - __is_default_constructible_impl<_Tp>>::type - { }; - - template::value> - struct __is_default_constructible_safe; - - - - - - - template - struct __is_default_constructible_safe<_Tp, true> - : public __and_<__is_array_known_bounds<_Tp>, - __is_default_constructible_atom::type>>::type - { }; - - template - struct __is_default_constructible_safe<_Tp, false> - : public __is_default_constructible_atom<_Tp>::type - { }; - - - template - struct is_default_constructible - : public __is_default_constructible_safe<_Tp>::type - { }; -# 906 "/aux/hubicka/trunk-install/include/c++/6.0.0/type_traits" 3 - struct __do_is_static_castable_impl - { - template(declval<_From>()))> - static true_type __test(int); - - template - static false_type __test(...); - }; - - template - struct __is_static_castable_impl - : public __do_is_static_castable_impl - { - typedef decltype(__test<_From, _To>(0)) type; - }; - - template - struct __is_static_castable_safe - : public __is_static_castable_impl<_From, _To>::type - { }; - - - template - struct __is_static_castable - : public integral_constant::value)> - { }; - - - - - - - struct __do_is_direct_constructible_impl - { - template()))> - static true_type __test(int); - - template - static false_type __test(...); - }; - - template - struct __is_direct_constructible_impl - : public __do_is_direct_constructible_impl - { - typedef decltype(__test<_Tp, _Arg>(0)) type; - }; - - template - struct __is_direct_constructible_new_safe - : public __and_, - __is_direct_constructible_impl<_Tp, _Arg>>::type - { }; - - template - struct is_same; - - template - struct is_base_of; - - template - struct remove_reference; - - template, - is_function<_From>>>::value> - struct __is_base_to_derived_ref; - - - - template - struct __is_base_to_derived_ref<_From, _To, true> - { - typedef typename remove_cv::type>::type __src_t; - typedef typename remove_cv::type>::type __dst_t; - typedef __and_<__not_>, - is_base_of<__src_t, __dst_t>> type; - static constexpr bool value = type::value; - }; - - template - struct __is_base_to_derived_ref<_From, _To, false> - : public false_type - { }; - - template, - is_rvalue_reference<_To>>::value> - struct __is_lvalue_to_rvalue_ref; - - - - template - struct __is_lvalue_to_rvalue_ref<_From, _To, true> - { - typedef typename remove_cv::type>::type __src_t; - typedef typename remove_cv::type>::type __dst_t; - typedef __and_<__not_>, - __or_, - is_base_of<__dst_t, __src_t>>> type; - static constexpr bool value = type::value; - }; - - template - struct __is_lvalue_to_rvalue_ref<_From, _To, false> - : public false_type - { }; - - - - - - - - template - struct __is_direct_constructible_ref_cast - : public __and_<__is_static_castable<_Arg, _Tp>, - __not_<__or_<__is_base_to_derived_ref<_Arg, _Tp>, - __is_lvalue_to_rvalue_ref<_Arg, _Tp> - >>>::type - { }; - - template - struct __is_direct_constructible_new - : public conditional::value, - __is_direct_constructible_ref_cast<_Tp, _Arg>, - __is_direct_constructible_new_safe<_Tp, _Arg> - >::type - { }; - - template - struct __is_direct_constructible - : public __is_direct_constructible_new<_Tp, _Arg>::type - { }; - - - - - - - struct __do_is_nary_constructible_impl - { - template()...))> - static true_type __test(int); - - template - static false_type __test(...); - }; - - template - struct __is_nary_constructible_impl - : public __do_is_nary_constructible_impl - { - typedef decltype(__test<_Tp, _Args...>(0)) type; - }; - - template - struct __is_nary_constructible - : public __is_nary_constructible_impl<_Tp, _Args...>::type - { - static_assert(sizeof...(_Args) > 1, - "Only useful for > 1 arguments"); - }; - - template - struct __is_constructible_impl - : public __is_nary_constructible<_Tp, _Args...> - { }; - - template - struct __is_constructible_impl<_Tp, _Arg> - : public __is_direct_constructible<_Tp, _Arg> - { }; - - template - struct __is_constructible_impl<_Tp> - : public is_default_constructible<_Tp> - { }; - - - template - struct is_constructible - : public __is_constructible_impl<_Tp, _Args...>::type - { }; - - template::value> - struct __is_copy_constructible_impl; - - template - struct __is_copy_constructible_impl<_Tp, false> - : public false_type { }; - - template - struct __is_copy_constructible_impl<_Tp, true> - : public is_constructible<_Tp, const _Tp&> - { }; - - - template - struct is_copy_constructible - : public __is_copy_constructible_impl<_Tp> - { }; - - template::value> - struct __is_move_constructible_impl; - - template - struct __is_move_constructible_impl<_Tp, false> - : public false_type { }; - - template - struct __is_move_constructible_impl<_Tp, true> - : public is_constructible<_Tp, _Tp&&> - { }; - - - template - struct is_move_constructible - : public __is_move_constructible_impl<_Tp> - { }; - - template - struct __is_nt_default_constructible_atom - : public integral_constant - { }; - - template::value> - struct __is_nt_default_constructible_impl; - - template - struct __is_nt_default_constructible_impl<_Tp, true> - : public __and_<__is_array_known_bounds<_Tp>, - __is_nt_default_constructible_atom::type>>::type - { }; - - template - struct __is_nt_default_constructible_impl<_Tp, false> - : public __is_nt_default_constructible_atom<_Tp> - { }; - - - template - struct is_nothrow_default_constructible - : public __and_, - __is_nt_default_constructible_impl<_Tp>>::type - { }; - - template - struct __is_nt_constructible_impl - : public integral_constant()...))> - { }; - - template - struct __is_nt_constructible_impl<_Tp, _Arg> - : public integral_constant(declval<_Arg>()))> - { }; - - template - struct __is_nt_constructible_impl<_Tp> - : public is_nothrow_default_constructible<_Tp> - { }; - - - template - struct is_nothrow_constructible - : public __and_, - __is_nt_constructible_impl<_Tp, _Args...>>::type - { }; - - template::value> - struct __is_nothrow_copy_constructible_impl; - - template - struct __is_nothrow_copy_constructible_impl<_Tp, false> - : public false_type { }; - - template - struct __is_nothrow_copy_constructible_impl<_Tp, true> - : public is_nothrow_constructible<_Tp, const _Tp&> - { }; - - - template - struct is_nothrow_copy_constructible - : public __is_nothrow_copy_constructible_impl<_Tp> - { }; - - template::value> - struct __is_nothrow_move_constructible_impl; - - template - struct __is_nothrow_move_constructible_impl<_Tp, false> - : public false_type { }; - - template - struct __is_nothrow_move_constructible_impl<_Tp, true> - : public is_nothrow_constructible<_Tp, _Tp&&> - { }; - - - template - struct is_nothrow_move_constructible - : public __is_nothrow_move_constructible_impl<_Tp> - { }; - - template - class __is_assignable_helper - { - template() = declval<_Up1>())> - static true_type - __test(int); - - template - static false_type - __test(...); - - public: - typedef decltype(__test<_Tp, _Up>(0)) type; - }; - - - template - struct is_assignable - : public __is_assignable_helper<_Tp, _Up>::type - { }; - - template::value> - struct __is_copy_assignable_impl; - - template - struct __is_copy_assignable_impl<_Tp, false> - : public false_type { }; - - template - struct __is_copy_assignable_impl<_Tp, true> - : public is_assignable<_Tp&, const _Tp&> - { }; - - - template - struct is_copy_assignable - : public __is_copy_assignable_impl<_Tp> - { }; - - template::value> - struct __is_move_assignable_impl; - - template - struct __is_move_assignable_impl<_Tp, false> - : public false_type { }; - - template - struct __is_move_assignable_impl<_Tp, true> - : public is_assignable<_Tp&, _Tp&&> - { }; - - - template - struct is_move_assignable - : public __is_move_assignable_impl<_Tp> - { }; - - template - struct __is_nt_assignable_impl - : public integral_constant() = declval<_Up>())> - { }; - - - template - struct is_nothrow_assignable - : public __and_, - __is_nt_assignable_impl<_Tp, _Up>>::type - { }; - - template::value> - struct __is_nt_copy_assignable_impl; - - template - struct __is_nt_copy_assignable_impl<_Tp, false> - : public false_type { }; - - template - struct __is_nt_copy_assignable_impl<_Tp, true> - : public is_nothrow_assignable<_Tp&, const _Tp&> - { }; - - - template - struct is_nothrow_copy_assignable - : public __is_nt_copy_assignable_impl<_Tp> - { }; - - template::value> - struct __is_nt_move_assignable_impl; - - template - struct __is_nt_move_assignable_impl<_Tp, false> - : public false_type { }; - - template - struct __is_nt_move_assignable_impl<_Tp, true> - : public is_nothrow_assignable<_Tp&, _Tp&&> - { }; - - - template - struct is_nothrow_move_assignable - : public __is_nt_move_assignable_impl<_Tp> - { }; - - - template - struct is_trivially_constructible - : public __and_, integral_constant>::type - { }; - - - template - struct is_trivially_default_constructible - : public is_trivially_constructible<_Tp>::type - { }; - - - template - struct is_trivially_copy_constructible - : public __and_, - integral_constant>::type - { }; - - - template - struct is_trivially_move_constructible - : public __and_, - integral_constant>::type - { }; - - - template - struct is_trivially_assignable - : public __and_, - integral_constant>::type - { }; - - - template - struct is_trivially_copy_assignable - : public __and_, - integral_constant>::type - { }; - - - template - struct is_trivially_move_assignable - : public __and_, - integral_constant>::type - { }; - - - template - struct is_trivially_destructible - : public __and_, integral_constant>::type - { }; - - - template - struct has_trivial_default_constructor - : public integral_constant - { } __attribute__ ((__deprecated__)); - - - template - struct has_trivial_copy_constructor - : public integral_constant - { } __attribute__ ((__deprecated__)); - - - template - struct has_trivial_copy_assign - : public integral_constant - { } __attribute__ ((__deprecated__)); - - - template - struct has_virtual_destructor - : public integral_constant - { }; - - - - - - template - struct alignment_of - : public integral_constant { }; - - - template - struct rank - : public integral_constant { }; - - template - struct rank<_Tp[_Size]> - : public integral_constant::value> { }; - - template - struct rank<_Tp[]> - : public integral_constant::value> { }; - - - template - struct extent - : public integral_constant { }; - - template - struct extent<_Tp[_Size], _Uint> - : public integral_constant::value> - { }; - - template - struct extent<_Tp[], _Uint> - : public integral_constant::value> - { }; - - - - - - template - struct is_same - : public false_type { }; - - template - struct is_same<_Tp, _Tp> - : public true_type { }; - - - template - struct is_base_of - : public integral_constant - { }; - - template, is_function<_To>, - is_array<_To>>::value> - struct __is_convertible_helper - { typedef typename is_void<_To>::type type; }; - - template - class __is_convertible_helper<_From, _To, false> - { - template - static void __test_aux(_To1); - - template(std::declval<_From1>()))> - static true_type - __test(int); - - template - static false_type - __test(...); - - public: - typedef decltype(__test<_From, _To>(0)) type; - }; - - - - template - struct is_convertible - : public __is_convertible_helper<_From, _To>::type - { }; - - - - - - template - struct remove_const - { typedef _Tp type; }; - - template - struct remove_const<_Tp const> - { typedef _Tp type; }; - - - template - struct remove_volatile - { typedef _Tp type; }; - - template - struct remove_volatile<_Tp volatile> - { typedef _Tp type; }; - - - template - struct remove_cv - { - typedef typename - remove_const::type>::type type; - }; - - - template - struct add_const - { typedef _Tp const type; }; - - - template - struct add_volatile - { typedef _Tp volatile type; }; - - - template - struct add_cv - { - typedef typename - add_const::type>::type type; - }; - - - - - - - template - using remove_const_t = typename remove_const<_Tp>::type; - - - template - using remove_volatile_t = typename remove_volatile<_Tp>::type; - - - template - using remove_cv_t = typename remove_cv<_Tp>::type; - - - template - using add_const_t = typename add_const<_Tp>::type; - - - template - using add_volatile_t = typename add_volatile<_Tp>::type; - - - template - using add_cv_t = typename add_cv<_Tp>::type; - - - - - - template - struct remove_reference - { typedef _Tp type; }; - - template - struct remove_reference<_Tp&> - { typedef _Tp type; }; - - template - struct remove_reference<_Tp&&> - { typedef _Tp type; }; - - template::value> - struct __add_lvalue_reference_helper - { typedef _Tp type; }; - - template - struct __add_lvalue_reference_helper<_Tp, true> - { typedef _Tp& type; }; - - - template - struct add_lvalue_reference - : public __add_lvalue_reference_helper<_Tp> - { }; - - template::value> - struct __add_rvalue_reference_helper - { typedef _Tp type; }; - - template - struct __add_rvalue_reference_helper<_Tp, true> - { typedef _Tp&& type; }; - - - template - struct add_rvalue_reference - : public __add_rvalue_reference_helper<_Tp> - { }; - - - - template - using remove_reference_t = typename remove_reference<_Tp>::type; - - - template - using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type; - - - template - using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type; - - - - - - template - struct __cv_selector; - - template - struct __cv_selector<_Unqualified, false, false> - { typedef _Unqualified __type; }; - - template - struct __cv_selector<_Unqualified, false, true> - { typedef volatile _Unqualified __type; }; - - template - struct __cv_selector<_Unqualified, true, false> - { typedef const _Unqualified __type; }; - - template - struct __cv_selector<_Unqualified, true, true> - { typedef const volatile _Unqualified __type; }; - - template::value, - bool _IsVol = is_volatile<_Qualified>::value> - class __match_cv_qualifiers - { - typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match; - - public: - typedef typename __match::__type __type; - }; - - - template - struct __make_unsigned - { typedef _Tp __type; }; - - template<> - struct __make_unsigned - { typedef unsigned char __type; }; - - template<> - struct __make_unsigned - { typedef unsigned char __type; }; - - template<> - struct __make_unsigned - { typedef unsigned short __type; }; - - template<> - struct __make_unsigned - { typedef unsigned int __type; }; - - template<> - struct __make_unsigned - { typedef unsigned long __type; }; - - template<> - struct __make_unsigned - { typedef unsigned long long __type; }; - - - template<> - struct __make_unsigned : __make_unsigned - { }; - - - - template<> - struct __make_unsigned<__int128> - { typedef unsigned __int128 __type; }; -# 1724 "/aux/hubicka/trunk-install/include/c++/6.0.0/type_traits" 3 - template::value, - bool _IsEnum = is_enum<_Tp>::value> - class __make_unsigned_selector; - - template - class __make_unsigned_selector<_Tp, true, false> - { - typedef __make_unsigned::type> __unsignedt; - typedef typename __unsignedt::__type __unsigned_type; - typedef __match_cv_qualifiers<_Tp, __unsigned_type> __cv_unsigned; - - public: - typedef typename __cv_unsigned::__type __type; - }; - - template - class __make_unsigned_selector<_Tp, false, true> - { - - typedef unsigned char __smallest; - static const bool __b0 = sizeof(_Tp) <= sizeof(__smallest); - static const bool __b1 = sizeof(_Tp) <= sizeof(unsigned short); - static const bool __b2 = sizeof(_Tp) <= sizeof(unsigned int); - static const bool __b3 = sizeof(_Tp) <= sizeof(unsigned long); - typedef conditional<__b3, unsigned long, unsigned long long> __cond3; - typedef typename __cond3::type __cond3_type; - typedef conditional<__b2, unsigned int, __cond3_type> __cond2; - typedef typename __cond2::type __cond2_type; - typedef conditional<__b1, unsigned short, __cond2_type> __cond1; - typedef typename __cond1::type __cond1_type; - - typedef typename conditional<__b0, __smallest, __cond1_type>::type - __unsigned_type; - typedef __match_cv_qualifiers<_Tp, __unsigned_type> __cv_unsigned; - - public: - typedef typename __cv_unsigned::__type __type; - }; - - - - - - template - struct make_unsigned - { typedef typename __make_unsigned_selector<_Tp>::__type type; }; - - - template<> - struct make_unsigned; - - - - template - struct __make_signed - { typedef _Tp __type; }; - - template<> - struct __make_signed - { typedef signed char __type; }; - - template<> - struct __make_signed - { typedef signed char __type; }; - - template<> - struct __make_signed - { typedef signed short __type; }; - - template<> - struct __make_signed - { typedef signed int __type; }; - - template<> - struct __make_signed - { typedef signed long __type; }; - - template<> - struct __make_signed - { typedef signed long long __type; }; -# 1813 "/aux/hubicka/trunk-install/include/c++/6.0.0/type_traits" 3 - template<> - struct __make_signed : __make_signed - { }; - template<> - struct __make_signed : __make_signed - { }; - - - - template<> - struct __make_signed - { typedef __int128 __type; }; -# 1843 "/aux/hubicka/trunk-install/include/c++/6.0.0/type_traits" 3 - template::value, - bool _IsEnum = is_enum<_Tp>::value> - class __make_signed_selector; - - template - class __make_signed_selector<_Tp, true, false> - { - typedef __make_signed::type> __signedt; - typedef typename __signedt::__type __signed_type; - typedef __match_cv_qualifiers<_Tp, __signed_type> __cv_signed; - - public: - typedef typename __cv_signed::__type __type; - }; - - template - class __make_signed_selector<_Tp, false, true> - { - typedef typename __make_unsigned_selector<_Tp>::__type __unsigned_type; - - public: - typedef typename __make_signed_selector<__unsigned_type>::__type __type; - }; - - - - - - template - struct make_signed - { typedef typename __make_signed_selector<_Tp>::__type type; }; - - - template<> - struct make_signed; - - - - template - using make_signed_t = typename make_signed<_Tp>::type; - - - template - using make_unsigned_t = typename make_unsigned<_Tp>::type; - - - - - - template - struct remove_extent - { typedef _Tp type; }; - - template - struct remove_extent<_Tp[_Size]> - { typedef _Tp type; }; - - template - struct remove_extent<_Tp[]> - { typedef _Tp type; }; - - - template - struct remove_all_extents - { typedef _Tp type; }; - - template - struct remove_all_extents<_Tp[_Size]> - { typedef typename remove_all_extents<_Tp>::type type; }; - - template - struct remove_all_extents<_Tp[]> - { typedef typename remove_all_extents<_Tp>::type type; }; - - - - template - using remove_extent_t = typename remove_extent<_Tp>::type; - - - template - using remove_all_extents_t = typename remove_all_extents<_Tp>::type; - - - - - template - struct __remove_pointer_helper - { typedef _Tp type; }; - - template - struct __remove_pointer_helper<_Tp, _Up*> - { typedef _Up type; }; - - - template - struct remove_pointer - : public __remove_pointer_helper<_Tp, typename remove_cv<_Tp>::type> - { }; - - - template, - is_void<_Tp>>::value> - struct __add_pointer_helper - { typedef _Tp type; }; - - template - struct __add_pointer_helper<_Tp, true> - { typedef typename remove_reference<_Tp>::type* type; }; - - template - struct add_pointer - : public __add_pointer_helper<_Tp> - { }; - - - - template - using remove_pointer_t = typename remove_pointer<_Tp>::type; - - - template - using add_pointer_t = typename add_pointer<_Tp>::type; - - - template - struct __aligned_storage_msa - { - union __type - { - unsigned char __data[_Len]; - struct __attribute__((__aligned__)) { } __align; - }; - }; -# 1989 "/aux/hubicka/trunk-install/include/c++/6.0.0/type_traits" 3 - template::__type)> - struct aligned_storage - { - union type - { - unsigned char __data[_Len]; - struct __attribute__((__aligned__((_Align)))) { } __align; - }; - }; - - template - struct __strictest_alignment - { - static const size_t _S_alignment = 0; - static const size_t _S_size = 0; - }; - - template - struct __strictest_alignment<_Tp, _Types...> - { - static const size_t _S_alignment = - alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment - ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment; - static const size_t _S_size = - sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size - ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size; - }; -# 2028 "/aux/hubicka/trunk-install/include/c++/6.0.0/type_traits" 3 - template - struct aligned_union - { - private: - static_assert(sizeof...(_Types) != 0, "At least one type is required"); - - using __strictest = __strictest_alignment<_Types...>; - static const size_t _S_len = _Len > __strictest::_S_size - ? _Len : __strictest::_S_size; - public: - - static const size_t alignment_value = __strictest::_S_alignment; - - typedef typename aligned_storage<_S_len, alignment_value>::type type; - }; - - template - const size_t aligned_union<_Len, _Types...>::alignment_value; - - - - template::value, - bool _IsFunction = is_function<_Up>::value> - struct __decay_selector; - - - template - struct __decay_selector<_Up, false, false> - { typedef typename remove_cv<_Up>::type __type; }; - - template - struct __decay_selector<_Up, true, false> - { typedef typename remove_extent<_Up>::type* __type; }; - - template - struct __decay_selector<_Up, false, true> - { typedef typename add_pointer<_Up>::type __type; }; - - - template - class decay - { - typedef typename remove_reference<_Tp>::type __remove_type; - - public: - typedef typename __decay_selector<__remove_type>::__type type; - }; - - template - class reference_wrapper; - - - template - struct __strip_reference_wrapper - { - typedef _Tp __type; - }; - - template - struct __strip_reference_wrapper > - { - typedef _Tp& __type; - }; - - template - struct __decay_and_strip - { - typedef typename __strip_reference_wrapper< - typename decay<_Tp>::type>::__type __type; - }; - - - - - template - struct enable_if - { }; - - - template - struct enable_if - { typedef _Tp type; }; - - template - using _Require = typename enable_if<__and_<_Cond...>::value>::type; - - - - template - struct conditional - { typedef _Iftrue type; }; - - - template - struct conditional - { typedef _Iffalse type; }; - - - template - struct common_type; - - - - struct __do_common_type_impl - { - template - static __success_type() - : std::declval<_Up>())>::type> _S_test(int); - - template - static __failure_type _S_test(...); - }; - - template - struct __common_type_impl - : private __do_common_type_impl - { - typedef decltype(_S_test<_Tp, _Up>(0)) type; - }; - - struct __do_member_type_wrapper - { - template - static __success_type _S_test(int); - - template - static __failure_type _S_test(...); - }; - - template - struct __member_type_wrapper - : private __do_member_type_wrapper - { - typedef decltype(_S_test<_Tp>(0)) type; - }; - - template - struct __expanded_common_type_wrapper - { - typedef common_type type; - }; - - template - struct __expanded_common_type_wrapper<__failure_type, _Args...> - { typedef __failure_type type; }; - - template - struct common_type<_Tp> - { typedef typename decay<_Tp>::type type; }; - - template - struct common_type<_Tp, _Up> - : public __common_type_impl<_Tp, _Up>::type - { }; - - template - struct common_type<_Tp, _Up, _Vp...> - : public __expanded_common_type_wrapper>::type, _Vp...>::type - { }; - - - template - struct underlying_type - { - typedef __underlying_type(_Tp) type; - }; - - template - struct __declval_protector - { - static const bool __stop = false; - static typename add_rvalue_reference<_Tp>::type __delegate(); - }; - - template - inline typename add_rvalue_reference<_Tp>::type - declval() noexcept - { - static_assert(__declval_protector<_Tp>::__stop, - "declval() must not be used!"); - return __declval_protector<_Tp>::__delegate(); - } - - - template - class result_of; - - - - - - - struct __result_of_memfun_ref_impl - { - template - static __success_type().*std::declval<_Fp>())(std::declval<_Args>()...) - )> _S_test(int); - - template - static __failure_type _S_test(...); - }; - - template - struct __result_of_memfun_ref - : private __result_of_memfun_ref_impl - { - typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; - }; - - - struct __result_of_memfun_deref_impl - { - template - static __success_type()).*std::declval<_Fp>())(std::declval<_Args>()...) - )> _S_test(int); - - template - static __failure_type _S_test(...); - }; - - template - struct __result_of_memfun_deref - : private __result_of_memfun_deref_impl - { - typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; - }; - - - struct __result_of_memobj_ref_impl - { - template - static __success_type().*std::declval<_Fp>() - )> _S_test(int); - - template - static __failure_type _S_test(...); - }; - - template - struct __result_of_memobj_ref - : private __result_of_memobj_ref_impl - { - typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; - }; - - - struct __result_of_memobj_deref_impl - { - template - static __success_type()).*std::declval<_Fp>() - )> _S_test(int); - - template - static __failure_type _S_test(...); - }; - - template - struct __result_of_memobj_deref - : private __result_of_memobj_deref_impl - { - typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; - }; - - template - struct __result_of_memobj; - - template - struct __result_of_memobj<_Res _Class::*, _Arg> - { - typedef typename remove_cv::type>::type _Argval; - typedef _Res _Class::* _MemPtr; - typedef typename conditional<__or_, - is_base_of<_Class, _Argval>>::value, - __result_of_memobj_ref<_MemPtr, _Arg>, - __result_of_memobj_deref<_MemPtr, _Arg> - >::type::type type; - }; - - template - struct __result_of_memfun; - - template - struct __result_of_memfun<_Res _Class::*, _Arg, _Args...> - { - typedef typename remove_cv::type>::type _Argval; - typedef _Res _Class::* _MemPtr; - typedef typename conditional<__or_, - is_base_of<_Class, _Argval>>::value, - __result_of_memfun_ref<_MemPtr, _Arg, _Args...>, - __result_of_memfun_deref<_MemPtr, _Arg, _Args...> - >::type::type type; - }; - - template - struct __result_of_impl - { - typedef __failure_type type; - }; - - template - struct __result_of_impl - : public __result_of_memobj::type, _Arg> - { }; - - template - struct __result_of_impl - : public __result_of_memfun::type, _Arg, _Args...> - { }; - - - struct __result_of_other_impl - { - template - static __success_type()(std::declval<_Args>()...) - )> _S_test(int); - - template - static __failure_type _S_test(...); - }; - - template - struct __result_of_impl - : private __result_of_other_impl - { - typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type; - }; - - template - struct result_of<_Functor(_ArgTypes...)> - : public __result_of_impl< - is_member_object_pointer< - typename remove_reference<_Functor>::type - >::value, - is_member_function_pointer< - typename remove_reference<_Functor>::type - >::value, - _Functor, _ArgTypes... - >::type - { }; - - - - template::__type)> - using aligned_storage_t = typename aligned_storage<_Len, _Align>::type; - - template - using aligned_union_t = typename aligned_union<_Len, _Types...>::type; - - - template - using decay_t = typename decay<_Tp>::type; - - - template - using enable_if_t = typename enable_if<_Cond, _Tp>::type; - - - template - using conditional_t = typename conditional<_Cond, _Iftrue, _Iffalse>::type; - - - template - using common_type_t = typename common_type<_Tp...>::type; - - - template - using underlying_type_t = typename underlying_type<_Tp>::type; - - - template - using result_of_t = typename result_of<_Tp>::type; - - - template using __void_t = void; - - - - - template using void_t = void; - - - - template class _Op, typename... _Args> - struct __detector - { - using value_t = false_type; - using type = _Default; - }; - - - template class _Op, - typename... _Args> - struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...> - { - using value_t = true_type; - using type = _Op<_Args...>; - }; - - - template class _Op, - typename... _Args> - using __detected_or = __detector<_Default, void, _Op, _Args...>; - - - template class _Op, - typename... _Args> - using __detected_or_t - = typename __detected_or<_Default, _Op, _Args...>::type; - - - template class _Default, - template class _Op, typename... _Args> - using __detected_or_t_ = - __detected_or_t<_Default<_Args...>, _Op, _Args...>; -# 2472 "/aux/hubicka/trunk-install/include/c++/6.0.0/type_traits" 3 - namespace __is_swappable_impl { - template - struct __is_swappable : public false_type - { }; - } - - template - inline - typename enable_if<__and_, - is_move_assignable<_Tp>>::value>::type - swap(_Tp&, _Tp&) - noexcept(__and_, - is_nothrow_move_assignable<_Tp>>::value); - - template - inline - typename enable_if<__is_swappable_impl::__is_swappable<_Tp>::value>::type - swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) - noexcept(noexcept(swap(*__a, *__b))); - - namespace __is_swappable_impl { - using std::swap; - - template - struct __is_swappable<_Tp, __void_t(), - declval<_Tp&>()))>> - : public true_type - { }; - } - - template - struct __is_nothrow_swappable_impl - : public __bool_constant(), declval<_Tp&>()))> - { }; - - template - struct __is_nothrow_swappable_impl : public false_type - { }; - - template - struct __is_nothrow_swappable - : public __is_nothrow_swappable_impl< - __is_swappable_impl::__is_swappable<_Tp>::value, _Tp> - { }; - - -} -# 58 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/move.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 74 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/move.h" 3 - template - constexpr _Tp&& - forward(typename std::remove_reference<_Tp>::type& __t) noexcept - { return static_cast<_Tp&&>(__t); } - - - - - - - - template - constexpr _Tp&& - forward(typename std::remove_reference<_Tp>::type&& __t) noexcept - { - static_assert(!std::is_lvalue_reference<_Tp>::value, "template argument" - " substituting _Tp is an lvalue reference type"); - return static_cast<_Tp&&>(__t); - } - - - - - - - template - constexpr typename std::remove_reference<_Tp>::type&& - move(_Tp&& __t) noexcept - { return static_cast::type&&>(__t); } - - - template - struct __move_if_noexcept_cond - : public __and_<__not_>, - is_copy_constructible<_Tp>>::type { }; -# 118 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/move.h" 3 - template - constexpr typename - conditional<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>::type - move_if_noexcept(_Tp& __x) noexcept - { return std::move(__x); } -# 133 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/move.h" 3 - template - inline _Tp* - addressof(_Tp& __r) noexcept - { return std::__addressof(__r); } - - - template - inline _Tp - __exchange(_Tp& __obj, _Up&& __new_val) - { - _Tp __old_val = std::move(__obj); - __obj = std::forward<_Up>(__new_val); - return __old_val; - } - - - -} -# 159 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/move.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 174 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/move.h" 3 - template - inline - - typename enable_if<__and_, - is_move_assignable<_Tp>>::value>::type - swap(_Tp& __a, _Tp& __b) - noexcept(__and_, - is_nothrow_move_assignable<_Tp>>::value) - - - - - { - - - - _Tp __tmp = std::move(__a); - __a = std::move(__b); - __b = std::move(__tmp); - } - - - - - template - inline - - typename enable_if<__is_swappable_impl::__is_swappable<_Tp>::value>::type - swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) - noexcept(noexcept(swap(*__a, *__b))) - - - - - { - for (size_t __n = 0; __n < _Nm; ++__n) - swap(__a[__n], __b[__n]); - } - - - -} -# 60 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_pair.h" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 76 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_pair.h" 3 - struct piecewise_construct_t { }; - - - constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t(); - - - template - class tuple; - - template - struct _Index_tuple; - - - - template - constexpr bool _ConstructiblePair() - { - return __and_, - is_constructible<_T2, const _U2&>>::value; - } - - template - constexpr bool _ImplicitlyConvertiblePair() - { - return __and_, - is_convertible>::value; - } - - template - constexpr bool _MoveConstructiblePair() - { - return __and_, - is_constructible<_T2, _U2&&>>::value; - } - - template - constexpr bool _ImplicitlyMoveConvertiblePair() - { - return __and_, - is_convertible<_U2&&, _T2>>::value; - } -# 127 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_pair.h" 3 - template - struct pair - { - typedef _T1 first_type; - typedef _T2 second_type; - - _T1 first; - _T2 second; - - - - - - - template , - is_default_constructible<_U2>> - ::value, bool>::type = true> - - constexpr pair() - : first(), second() { } - - - - - - - template() - && _ImplicitlyConvertiblePair<_T1, _T2, _U1, _U2>(), - bool>::type=true> - constexpr pair(const _T1& __a, const _T2& __b) - : first(__a), second(__b) { } - - template() - && !_ImplicitlyConvertiblePair<_T1, _T2, _U1, _U2>(), - bool>::type=false> - explicit constexpr pair(const _T1& __a, const _T2& __b) - : first(__a), second(__b) { } -# 177 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_pair.h" 3 - template() - && _ImplicitlyConvertiblePair<_T1, _T2, _U1, _U2>(), - bool>::type=true> - constexpr pair(const pair<_U1, _U2>& __p) - : first(__p.first), second(__p.second) { } - - template() - && !_ImplicitlyConvertiblePair<_T1, _T2, _U1, _U2>(), - bool>::type=false> - explicit constexpr pair(const pair<_U1, _U2>& __p) - : first(__p.first), second(__p.second) { } - - constexpr pair(const pair&) = default; - constexpr pair(pair&&) = default; - - - template() - && _MoveConstructiblePair<_T1, _T2, _U1, _T2>() - && _ImplicitlyConvertiblePair<_T2, _T2, _T2, _T2>() - && _ImplicitlyMoveConvertiblePair<_T1, _T2, - _U1, _T2>(), - bool>::type=true> - constexpr pair(_U1&& __x, const _T2& __y) - : first(std::forward<_U1>(__x)), second(__y) { } - - template() - && _MoveConstructiblePair<_T1, _T2, _U1, _T2>() - && (!_ImplicitlyConvertiblePair<_T2, _T2, _T2, _T2>() - || !_ImplicitlyMoveConvertiblePair<_T1, _T2, - _U1, _T2>()), - bool>::type=false> - explicit constexpr pair(_U1&& __x, const _T2& __y) - : first(std::forward<_U1>(__x)), second(__y) { } - - template() - && _MoveConstructiblePair<_T1, _T2, _T1, _U2>() - && _ImplicitlyConvertiblePair<_T1, _T1, _T1, _T1>() - && _ImplicitlyMoveConvertiblePair<_T1, _T2, - _T1, _U2>(), - bool>::type=true> - constexpr pair(const _T1& __x, _U2&& __y) - : first(__x), second(std::forward<_U2>(__y)) { } - - template() - && _MoveConstructiblePair<_T1, _T2, _T1, _U2>() - && (!_ImplicitlyConvertiblePair<_T1, _T1, _T1, _T1>() - || !_ImplicitlyMoveConvertiblePair<_T1, _T2, - _T1, _U2>()), - bool>::type=false> - explicit pair(const _T1& __x, _U2&& __y) - : first(__x), second(std::forward<_U2>(__y)) { } - - template() - && _ImplicitlyMoveConvertiblePair<_T1, _T2, - _U1, _U2>(), - bool>::type=true> - constexpr pair(_U1&& __x, _U2&& __y) - : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { } - - template() - && !_ImplicitlyMoveConvertiblePair<_T1, _T2, - _U1, _U2>(), - bool>::type=false> - explicit constexpr pair(_U1&& __x, _U2&& __y) - : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { } - - - template() - && _ImplicitlyMoveConvertiblePair<_T1, _T2, - _U1, _U2>(), - bool>::type=true> - constexpr pair(pair<_U1, _U2>&& __p) - : first(std::forward<_U1>(__p.first)), - second(std::forward<_U2>(__p.second)) { } - - template() - && !_ImplicitlyMoveConvertiblePair<_T1, _T2, - _U1, _U2>(), - bool>::type=false> - explicit constexpr pair(pair<_U1, _U2>&& __p) - : first(std::forward<_U1>(__p.first)), - second(std::forward<_U2>(__p.second)) { } - - template - pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>); - - pair& - operator=(const pair& __p) - { - first = __p.first; - second = __p.second; - return *this; - } - - pair& - operator=(pair&& __p) - noexcept(__and_, - is_nothrow_move_assignable<_T2>>::value) - { - first = std::forward(__p.first); - second = std::forward(__p.second); - return *this; - } - - template - pair& - operator=(const pair<_U1, _U2>& __p) - { - first = __p.first; - second = __p.second; - return *this; - } - - template - pair& - operator=(pair<_U1, _U2>&& __p) - { - first = std::forward<_U1>(__p.first); - second = std::forward<_U2>(__p.second); - return *this; - } - - void - swap(pair& __p) - noexcept(__is_nothrow_swappable<_T1>::value - && __is_nothrow_swappable<_T2>::value) - { - using std::swap; - swap(first, __p.first); - swap(second, __p.second); - } - - private: - template - pair(tuple<_Args1...>&, tuple<_Args2...>&, - _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); - - }; - - - template - inline constexpr bool - operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) - { return __x.first == __y.first && __x.second == __y.second; } - - - template - inline constexpr 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 constexpr bool - operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) - { return !(__x == __y); } - - - template - inline constexpr bool - operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) - { return __y < __x; } - - - template - inline constexpr bool - operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) - { return !(__y < __x); } - - - template - inline constexpr bool - operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) - { return !(__x < __y); } - - - - - - template - inline void - swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) - noexcept(noexcept(__x.swap(__y))) - { __x.swap(__y); } -# 389 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_pair.h" 3 - template - constexpr pair::__type, - typename __decay_and_strip<_T2>::__type> - make_pair(_T1&& __x, _T2&& __y) - { - typedef typename __decay_and_strip<_T1>::__type __ds_type1; - typedef typename __decay_and_strip<_T2>::__type __ds_type2; - typedef pair<__ds_type1, __ds_type2> __pair_type; - return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y)); - } -# 408 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_pair.h" 3 - -} -# 65 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator_base_types.h" 1 3 -# 62 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator_base_types.h" 3 - -# 63 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator_base_types.h" 3 - - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 89 "/aux/hubicka/trunk-install/include/c++/6.0.0/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 { }; -# 116 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - }; -# 143 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator_base_types.h" 3 - template> - struct __iterator_traits { }; - - template - struct __iterator_traits<_Iterator, - __void_t> - { - 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 - : public __iterator_traits<_Iterator> { }; -# 177 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator_base_types.h" 3 - 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(); } -# 230 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator_base_types.h" 3 - template - using _RequireInputIter = typename - enable_if::iterator_category, - input_iterator_tag>::value>::type; - - - -} -# 66 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator_base_funcs.h" 1 3 -# 62 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator_base_funcs.h" 3 - -# 63 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator_base_funcs.h" 3 - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/debug/assertions.h" 1 3 -# 66 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator_base_funcs.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template struct _List_iterator; - template struct _List_const_iterator; - - - - - 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; - } - - - - template - ptrdiff_t - __distance(std::_List_iterator<_Tp>, - std::_List_iterator<_Tp>, - input_iterator_tag); - - template - ptrdiff_t - __distance(std::_List_const_iterator<_Tp>, - std::_List_const_iterator<_Tp>, - input_iterator_tag); -# 133 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 192 "/aux/hubicka/trunk-install/include/c++/6.0.0/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)); - } - - - - template - inline _ForwardIterator - next(_ForwardIterator __x, typename - iterator_traits<_ForwardIterator>::difference_type __n = 1) - { - - - - std::advance(__x, __n); - return __x; - } - - template - inline _BidirectionalIterator - prev(_BidirectionalIterator __x, typename - iterator_traits<_BidirectionalIterator>::difference_type __n = 1) - { - - - - std::advance(__x, -__n); - return __x; - } - - - - -} -# 67 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator.h" 1 3 -# 66 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator.h" 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ptr_traits.h" 1 3 -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ptr_traits.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - class __undefined; - - - template - struct __get_first_arg - { using type = __undefined; }; - - template class _Template, typename _Tp, - typename... _Types> - struct __get_first_arg<_Template<_Tp, _Types...>> - { using type = _Tp; }; - - template - using __get_first_arg_t = typename __get_first_arg<_Tp>::type; - - - template - struct __replace_first_arg - { using type = __undefined; }; - - template class _Template, typename _Up, - typename _Tp, typename... _Types> - struct __replace_first_arg<_Template<_Tp, _Types...>, _Up> - { using type = _Template<_Up, _Types...>; }; - - template - using __replace_first_arg_t = typename __replace_first_arg<_Tp, _Up>::type; - - template - using __make_not_void - = typename conditional::value, __undefined, _Tp>::type; - - - - - - template - struct pointer_traits - { - private: - template - using __element_type = typename _Tp::element_type; - - template - using __difference_type = typename _Tp::difference_type; - - template - using __rebind = typename _Tp::template rebind<_Up>; - - public: - - using pointer = _Ptr; - - - using element_type - = __detected_or_t_<__get_first_arg_t, __element_type, _Ptr>; - - - using difference_type - = __detected_or_t; - - - template - using rebind - = __detected_or_t_<__replace_first_arg_t, __rebind, _Ptr, _Up>; - - static _Ptr - pointer_to(__make_not_void& __e) - { return _Ptr::pointer_to(__e); } - - static_assert(!is_same::value, - "pointer type defines element_type or is like SomePointer"); - static_assert(!is_same, __undefined>::value, - "pointer type defines rebind or is like SomePointer"); - }; - - - - - - template - struct pointer_traits<_Tp*> - { - - typedef _Tp* pointer; - - typedef _Tp element_type; - - typedef ptrdiff_t difference_type; - - template - using rebind = _Up*; - - - - - - - static pointer - pointer_to(__make_not_void& __r) noexcept - { return std::addressof(__r); } - }; - - - template - using __ptr_rebind = typename pointer_traits<_Ptr>::template rebind<_Tp>; - - -} -# 67 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 96 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - - typedef iterator_traits<_Iterator> __traits_type; - - public: - typedef _Iterator iterator_type; - typedef typename __traits_type::difference_type difference_type; - typedef typename __traits_type::pointer pointer; - typedef typename __traits_type::reference reference; - - - - - - - - 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; } -# 160 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator.h" 3 - 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); } - }; -# 290 "/aux/hubicka/trunk-install/include/c++/6.0.0/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 auto - operator-(const reverse_iterator<_IteratorL>& __x, - const reverse_iterator<_IteratorR>& __y) - -> decltype(__y.base() - __x.base()) - - - - - - { return __y.base() - __x.base(); } - - - - - template - inline reverse_iterator<_Iterator> - __make_reverse_iterator(_Iterator __i) - { return reverse_iterator<_Iterator>(__i); } - - - - - - - - template - inline reverse_iterator<_Iterator> - make_reverse_iterator(_Iterator __i) - { return reverse_iterator<_Iterator>(__i); } - - - - - template - auto - __niter_base(reverse_iterator<_Iterator> __it) - -> decltype(__make_reverse_iterator(__niter_base(__it.base()))) - { return __make_reverse_iterator(__niter_base(__it.base())); } - - template - struct __is_move_iterator > - : __is_move_iterator<_Iterator> - { }; - - template - auto - __miter_base(reverse_iterator<_Iterator> __it) - -> decltype(__make_reverse_iterator(__miter_base(__it.base()))) - { return __make_reverse_iterator(__miter_base(__it.base())); } -# 441 "/aux/hubicka/trunk-install/include/c++/6.0.0/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) { } -# 475 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator.h" 3 - back_insert_iterator& - operator=(const typename _Container::value_type& __value) - { - container->push_back(__value); - return *this; - } - - back_insert_iterator& - operator=(typename _Container::value_type&& __value) - { - container->push_back(std::move(__value)); - return *this; - } - - - - back_insert_iterator& - operator*() - { return *this; } - - - back_insert_iterator& - operator++() - { return *this; } - - - back_insert_iterator - operator++(int) - { return *this; } - }; -# 517 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator.h" 3 - template - inline back_insert_iterator<_Container> - back_inserter(_Container& __x) - { return back_insert_iterator<_Container>(__x); } -# 532 "/aux/hubicka/trunk-install/include/c++/6.0.0/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) { } -# 565 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator.h" 3 - front_insert_iterator& - operator=(const typename _Container::value_type& __value) - { - container->push_front(__value); - return *this; - } - - front_insert_iterator& - operator=(typename _Container::value_type&& __value) - { - container->push_front(std::move(__value)); - return *this; - } - - - - front_insert_iterator& - operator*() - { return *this; } - - - front_insert_iterator& - operator++() - { return *this; } - - - front_insert_iterator - operator++(int) - { return *this; } - }; -# 607 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator.h" 3 - template - inline front_insert_iterator<_Container> - front_inserter(_Container& __x) - { return front_insert_iterator<_Container>(__x); } -# 626 "/aux/hubicka/trunk-install/include/c++/6.0.0/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) {} -# 677 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator.h" 3 - insert_iterator& - operator=(const typename _Container::value_type& __value) - { - iter = container->insert(iter, __value); - ++iter; - return *this; - } - - insert_iterator& - operator=(typename _Container::value_type&& __value) - { - iter = container->insert(iter, std::move(__value)); - ++iter; - return *this; - } - - - - insert_iterator& - operator*() - { return *this; } - - - insert_iterator& - operator++() - { return *this; } - - - insert_iterator& - operator++(int) - { return *this; } - }; -# 721 "/aux/hubicka/trunk-install/include/c++/6.0.0/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"))) -{ - -# 745 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator.h" 3 - using std::iterator_traits; - using std::iterator; - template - class __normal_iterator - { - protected: - _Iterator _M_current; - - typedef iterator_traits<_Iterator> __traits_type; - - public: - typedef _Iterator iterator_type; - typedef typename __traits_type::iterator_category iterator_category; - typedef typename __traits_type::value_type value_type; - typedef typename __traits_type::difference_type difference_type; - typedef typename __traits_type::reference reference; - typedef typename __traits_type::pointer pointer; - - constexpr __normal_iterator() noexcept - : _M_current(_Iterator()) { } - - explicit - __normal_iterator(const _Iterator& __i) noexcept - : _M_current(__i) { } - - - template - __normal_iterator(const __normal_iterator<_Iter, - typename __enable_if< - (std::__are_same<_Iter, typename _Container::pointer>::__value), - _Container>::__type>& __i) noexcept - : _M_current(__i.base()) { } - - - reference - operator*() const noexcept - { return *_M_current; } - - pointer - operator->() const noexcept - { return _M_current; } - - __normal_iterator& - operator++() noexcept - { - ++_M_current; - return *this; - } - - __normal_iterator - operator++(int) noexcept - { return __normal_iterator(_M_current++); } - - - __normal_iterator& - operator--() noexcept - { - --_M_current; - return *this; - } - - __normal_iterator - operator--(int) noexcept - { return __normal_iterator(_M_current--); } - - - reference - operator[](difference_type __n) const noexcept - { return _M_current[__n]; } - - __normal_iterator& - operator+=(difference_type __n) noexcept - { _M_current += __n; return *this; } - - __normal_iterator - operator+(difference_type __n) const noexcept - { return __normal_iterator(_M_current + __n); } - - __normal_iterator& - operator-=(difference_type __n) noexcept - { _M_current -= __n; return *this; } - - __normal_iterator - operator-(difference_type __n) const noexcept - { return __normal_iterator(_M_current - __n); } - - const _Iterator& - base() const noexcept - { return _M_current; } - }; -# 845 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator.h" 3 - template - inline bool - operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) - noexcept - { return __lhs.base() == __rhs.base(); } - - template - inline bool - operator==(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept - { return __lhs.base() == __rhs.base(); } - - template - inline bool - operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) - noexcept - { return __lhs.base() != __rhs.base(); } - - template - inline bool - operator!=(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept - { return __lhs.base() != __rhs.base(); } - - - template - inline bool - operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) - noexcept - { return __lhs.base() < __rhs.base(); } - - template - inline bool - operator<(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept - { return __lhs.base() < __rhs.base(); } - - template - inline bool - operator>(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) - noexcept - { return __lhs.base() > __rhs.base(); } - - template - inline bool - operator>(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept - { return __lhs.base() > __rhs.base(); } - - template - inline bool - operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) - noexcept - { return __lhs.base() <= __rhs.base(); } - - template - inline bool - operator<=(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept - { return __lhs.base() <= __rhs.base(); } - - template - inline bool - operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) - noexcept - { return __lhs.base() >= __rhs.base(); } - - template - inline bool - operator>=(const __normal_iterator<_Iterator, _Container>& __lhs, - const __normal_iterator<_Iterator, _Container>& __rhs) - noexcept - { return __lhs.base() >= __rhs.base(); } - - - - - - template - - - inline auto - operator-(const __normal_iterator<_IteratorL, _Container>& __lhs, - const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept - -> decltype(__lhs.base() - __rhs.base()) - - - - - - { 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) - noexcept - { 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) - noexcept - { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); } - - -} - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - _Iterator - __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it) - { return __it.base(); } - - -} - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 997 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_iterator.h" 3 - template - class move_iterator - { - protected: - _Iterator _M_current; - - typedef iterator_traits<_Iterator> __traits_type; - typedef typename __traits_type::reference __base_ref; - - public: - typedef _Iterator iterator_type; - typedef typename __traits_type::iterator_category iterator_category; - typedef typename __traits_type::value_type value_type; - typedef typename __traits_type::difference_type difference_type; - - typedef _Iterator pointer; - - - typedef typename conditional::value, - typename remove_reference<__base_ref>::type&&, - __base_ref>::type reference; - - move_iterator() - : _M_current() { } - - explicit - move_iterator(iterator_type __i) - : _M_current(__i) { } - - template - move_iterator(const move_iterator<_Iter>& __i) - : _M_current(__i.base()) { } - - iterator_type - base() const - { return _M_current; } - - reference - operator*() const - { return static_cast(*_M_current); } - - pointer - operator->() const - { return _M_current; } - - move_iterator& - operator++() - { - ++_M_current; - return *this; - } - - move_iterator - operator++(int) - { - move_iterator __tmp = *this; - ++_M_current; - return __tmp; - } - - move_iterator& - operator--() - { - --_M_current; - return *this; - } - - move_iterator - operator--(int) - { - move_iterator __tmp = *this; - --_M_current; - return __tmp; - } - - move_iterator - operator+(difference_type __n) const - { return move_iterator(_M_current + __n); } - - move_iterator& - operator+=(difference_type __n) - { - _M_current += __n; - return *this; - } - - move_iterator - operator-(difference_type __n) const - { return move_iterator(_M_current - __n); } - - move_iterator& - operator-=(difference_type __n) - { - _M_current -= __n; - return *this; - } - - reference - operator[](difference_type __n) const - { return std::move(_M_current[__n]); } - }; - - - - - template - inline bool - operator==(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - { return __x.base() == __y.base(); } - - template - inline bool - operator==(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - { return __x.base() == __y.base(); } - - template - inline bool - operator!=(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - { return !(__x == __y); } - - template - inline bool - operator!=(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - { return !(__x == __y); } - - template - inline bool - operator<(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - { return __x.base() < __y.base(); } - - template - inline bool - operator<(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - { return __x.base() < __y.base(); } - - template - inline bool - operator<=(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - { return !(__y < __x); } - - template - inline bool - operator<=(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - { return !(__y < __x); } - - template - inline bool - operator>(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - { return __y < __x; } - - template - inline bool - operator>(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - { return __y < __x; } - - template - inline bool - operator>=(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - { return !(__x < __y); } - - template - inline bool - operator>=(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - { return !(__x < __y); } - - - template - inline auto - operator-(const move_iterator<_IteratorL>& __x, - const move_iterator<_IteratorR>& __y) - -> decltype(__x.base() - __y.base()) - { return __x.base() - __y.base(); } - - template - inline auto - operator-(const move_iterator<_Iterator>& __x, - const move_iterator<_Iterator>& __y) - -> decltype(__x.base() - __y.base()) - { return __x.base() - __y.base(); } - - template - inline move_iterator<_Iterator> - operator+(typename move_iterator<_Iterator>::difference_type __n, - const move_iterator<_Iterator>& __x) - { return __x + __n; } - - template - inline move_iterator<_Iterator> - make_move_iterator(_Iterator __i) - { return move_iterator<_Iterator>(__i); } - - template::value_type>::value, - _Iterator, move_iterator<_Iterator>>::type> - inline _ReturnType - __make_move_if_noexcept_iterator(_Iterator __i) - { return _ReturnType(__i); } - - - - template::value, - const _Tp*, move_iterator<_Tp*>>::type> - inline _ReturnType - __make_move_if_noexcept_iterator(_Tp* __i) - { return _ReturnType(__i); } - - - - template - auto - __niter_base(move_iterator<_Iterator> __it) - -> decltype(make_move_iterator(__niter_base(__it.base()))) - { return make_move_iterator(__niter_base(__it.base())); } - - template - struct __is_move_iterator > - { - enum { __value = 1 }; - typedef __true_type __type; - }; - - template - auto - __miter_base(move_iterator<_Iterator> __it) - -> decltype(__miter_base(__it.base())) - { return __miter_base(__it.base()); } - - -} -# 68 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 2 3 - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/debug/debug.h" 1 3 -# 48 "/aux/hubicka/trunk-install/include/c++/6.0.0/debug/debug.h" 3 -namespace std -{ - namespace __debug { } -} - - - - -namespace __gnu_debug -{ - using namespace std::__debug; -} -# 70 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 2 3 - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/predefined_ops.h" 1 3 -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/predefined_ops.h" 3 -namespace __gnu_cxx -{ -namespace __ops -{ - struct _Iter_less_iter - { - template - constexpr - bool - operator()(_Iterator1 __it1, _Iterator2 __it2) const - { return *__it1 < *__it2; } - }; - constexpr - inline _Iter_less_iter - __iter_less_iter() - { return _Iter_less_iter(); } - - struct _Iter_less_val - { - template - bool - operator()(_Iterator __it, _Value& __val) const - { return *__it < __val; } - }; - - inline _Iter_less_val - __iter_less_val() - { return _Iter_less_val(); } - - inline _Iter_less_val - __iter_comp_val(_Iter_less_iter) - { return _Iter_less_val(); } - - struct _Val_less_iter - { - template - bool - operator()(_Value& __val, _Iterator __it) const - { return __val < *__it; } - }; - - inline _Val_less_iter - __val_less_iter() - { return _Val_less_iter(); } - - inline _Val_less_iter - __val_comp_iter(_Iter_less_iter) - { return _Val_less_iter(); } - - struct _Iter_equal_to_iter - { - template - bool - operator()(_Iterator1 __it1, _Iterator2 __it2) const - { return *__it1 == *__it2; } - }; - - inline _Iter_equal_to_iter - __iter_equal_to_iter() - { return _Iter_equal_to_iter(); } - - struct _Iter_equal_to_val - { - template - bool - operator()(_Iterator __it, _Value& __val) const - { return *__it == __val; } - }; - - inline _Iter_equal_to_val - __iter_equal_to_val() - { return _Iter_equal_to_val(); } - - inline _Iter_equal_to_val - __iter_comp_val(_Iter_equal_to_iter) - { return _Iter_equal_to_val(); } - - template - struct _Iter_comp_iter - { - _Compare _M_comp; - constexpr - _Iter_comp_iter(_Compare __comp) - : _M_comp(__comp) - { } - - template - constexpr - bool - operator()(_Iterator1 __it1, _Iterator2 __it2) - { return bool(_M_comp(*__it1, *__it2)); } - }; - - template - constexpr - inline _Iter_comp_iter<_Compare> - __iter_comp_iter(_Compare __comp) - { return _Iter_comp_iter<_Compare>(__comp); } - - template - struct _Iter_comp_val - { - _Compare _M_comp; - - _Iter_comp_val(_Compare __comp) - : _M_comp(__comp) - { } - - template - bool - operator()(_Iterator __it, _Value& __val) - { return bool(_M_comp(*__it, __val)); } - }; - - template - inline _Iter_comp_val<_Compare> - __iter_comp_val(_Compare __comp) - { return _Iter_comp_val<_Compare>(__comp); } - - template - inline _Iter_comp_val<_Compare> - __iter_comp_val(_Iter_comp_iter<_Compare> __comp) - { return _Iter_comp_val<_Compare>(__comp._M_comp); } - - template - struct _Val_comp_iter - { - _Compare _M_comp; - - _Val_comp_iter(_Compare __comp) - : _M_comp(__comp) - { } - - template - bool - operator()(_Value& __val, _Iterator __it) - { return bool(_M_comp(__val, *__it)); } - }; - - template - inline _Val_comp_iter<_Compare> - __val_comp_iter(_Compare __comp) - { return _Val_comp_iter<_Compare>(__comp); } - - template - inline _Val_comp_iter<_Compare> - __val_comp_iter(_Iter_comp_iter<_Compare> __comp) - { return _Val_comp_iter<_Compare>(__comp._M_comp); } - - template - struct _Iter_equals_val - { - _Value& _M_value; - - _Iter_equals_val(_Value& __value) - : _M_value(__value) - { } - - template - bool - operator()(_Iterator __it) - { return *__it == _M_value; } - }; - - template - inline _Iter_equals_val<_Value> - __iter_equals_val(_Value& __val) - { return _Iter_equals_val<_Value>(__val); } - - template - struct _Iter_equals_iter - { - typename std::iterator_traits<_Iterator1>::reference _M_ref; - - _Iter_equals_iter(_Iterator1 __it1) - : _M_ref(*__it1) - { } - - template - bool - operator()(_Iterator2 __it2) - { return *__it2 == _M_ref; } - }; - - template - inline _Iter_equals_iter<_Iterator> - __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it) - { return _Iter_equals_iter<_Iterator>(__it); } - - template - struct _Iter_pred - { - _Predicate _M_pred; - - _Iter_pred(_Predicate __pred) - : _M_pred(__pred) - { } - - template - bool - operator()(_Iterator __it) - { return bool(_M_pred(*__it)); } - }; - - template - inline _Iter_pred<_Predicate> - __pred_iter(_Predicate __pred) - { return _Iter_pred<_Predicate>(__pred); } - - template - struct _Iter_comp_to_val - { - _Compare _M_comp; - _Value& _M_value; - - _Iter_comp_to_val(_Compare __comp, _Value& __value) - : _M_comp(__comp), _M_value(__value) - { } - - template - bool - operator()(_Iterator __it) - { return bool(_M_comp(*__it, _M_value)); } - }; - - template - _Iter_comp_to_val<_Compare, _Value> - __iter_comp_val(_Compare __comp, _Value &__val) - { return _Iter_comp_to_val<_Compare, _Value>(__comp, __val); } - - template - struct _Iter_comp_to_iter - { - _Compare _M_comp; - typename std::iterator_traits<_Iterator1>::reference _M_ref; - - _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1) - : _M_comp(__comp), _M_ref(*__it1) - { } - - template - bool - operator()(_Iterator2 __it2) - { return bool(_M_comp(*__it2, _M_ref)); } - }; - - template - inline _Iter_comp_to_iter<_Compare, _Iterator> - __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it) - { return _Iter_comp_to_iter<_Compare, _Iterator>(__comp._M_comp, __it); } - - template - struct _Iter_negate - { - _Predicate _M_pred; - - _Iter_negate(_Predicate __pred) - : _M_pred(__pred) - { } - - template - bool - operator()(_Iterator __it) - { return !bool(_M_pred(*__it)); } - }; - - template - inline _Iter_negate<_Predicate> - __negate(_Iter_pred<_Predicate> __pred) - { return _Iter_negate<_Predicate>(__pred._M_pred); } - -} -} -# 72 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 118 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - inline void - iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) - { - - - - -# 148 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - swap(*__a, *__b); - - } -# 164 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - _ForwardIterator2 - swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, - _ForwardIterator2 __first2) - { - - - - - - ; - - for (; __first1 != __last1; ++__first1, (void)++__first2) - std::iter_swap(__first1, __first2); - return __first2; - } -# 192 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - constexpr - inline const _Tp& - min(const _Tp& __a, const _Tp& __b) - { - - - - if (__b < __a) - return __b; - return __a; - } -# 216 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - constexpr - inline const _Tp& - max(const _Tp& __a, const _Tp& __b) - { - - - - if (__a < __b) - return __b; - return __a; - } -# 240 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - constexpr - inline const _Tp& - min(const _Tp& __a, const _Tp& __b, _Compare __comp) - { - - if (__comp(__b, __a)) - return __b; - return __a; - } -# 262 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - constexpr - inline const _Tp& - max(const _Tp& __a, const _Tp& __b, _Compare __comp) - { - - if (__comp(__a, __b)) - return __b; - return __a; - } - - - - template - inline _Iterator - __niter_base(_Iterator __it) - { return __it; } - - - - - - - - template - struct __copy_move - { - template - static _OI - __copy_m(_II __first, _II __last, _OI __result) - { - for (; __first != __last; ++__result, (void)++__first) - *__result = *__first; - return __result; - } - }; - - - template - struct __copy_move - { - template - static _OI - __copy_m(_II __first, _II __last, _OI __result) - { - for (; __first != __last; ++__result, (void)++__first) - *__result = std::move(*__first); - return __result; - } - }; - - - 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; - } - }; - - - 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 = std::move(*__first); - ++__first; - ++__result; - } - return __result; - } - }; - - - template - struct __copy_move<_IsMove, true, random_access_iterator_tag> - { - template - static _Tp* - __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result) - { - - - static_assert( is_copy_assignable<_Tp>::value, - "type is not assignable" ); - - const ptrdiff_t _Num = __last - __first; - if (_Num) - __builtin_memmove(__result, __first, sizeof(_Tp) * _Num); - return __result + _Num; - } - }; - - 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_trivial(_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(__first), - std::__niter_base(__last), - std::__niter_base(__result))); - } -# 442 "/aux/hubicka/trunk-install/include/c++/6.0.0/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(__first), std::__miter_base(__last), - __result)); - } -# 475 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - inline _OI - move(_II __first, _II __last, _OI __result) - { - - - - - ; - - return std::__copy_move_a2(std::__miter_base(__first), - std::__miter_base(__last), __result); - } - - - - - - - template - struct __copy_move_backward - { - template - static _BI2 - __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) - { - while (__first != __last) - *--__result = *--__last; - return __result; - } - }; - - - template - struct __copy_move_backward - { - template - static _BI2 - __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) - { - while (__first != __last) - *--__result = std::move(*--__last); - return __result; - } - }; - - - 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; - } - }; - - - 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 = std::move(*--__last); - return __result; - } - }; - - - 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) - { - - - static_assert( is_copy_assignable<_Tp>::value, - "type is not assignable" ); - - const ptrdiff_t _Num = __last - __first; - if (_Num) - __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_trivial(_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(__first), std::__niter_base(__last), - std::__niter_base(__result))); - } -# 616 "/aux/hubicka/trunk-install/include/c++/6.0.0/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(__first), std::__miter_base(__last), - __result)); - } -# 652 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - inline _BI2 - move_backward(_BI1 __first, _BI1 __last, _BI2 __result) - { - - - - - - - ; - - return std::__copy_move_backward_a2(std::__miter_base(__first), - std::__miter_base(__last), - __result); - } - - - - - - - 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; - if (const size_t __len = __last - __first) - __builtin_memset(__first, static_cast(__tmp), __len); - } -# 718 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - inline void - fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) - { - - - - ; - - std::__fill_a(std::__niter_base(__first), std::__niter_base(__last), - __value); - } - - template - inline typename - __gnu_cxx::__enable_if::__value, _OutputIterator>::__type - __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value) - { - for (__decltype(__n + 0) __niter = __n; - __niter > 0; --__niter, ++__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 (__decltype(__n + 0) __niter = __n; - __niter > 0; --__niter, ++__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; - } -# 778 "/aux/hubicka/trunk-install/include/c++/6.0.0/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(__first), __n, __value)); - } - - template - struct __equal - { - template - static bool - equal(_II1 __first1, _II1 __last1, _II2 __first2) - { - for (; __first1 != __last1; ++__first1, (void)++__first2) - if (!(*__first1 == *__first2)) - return false; - return true; - } - }; - - template<> - struct __equal - { - template - static bool - equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2) - { - if (const size_t __len = (__last1 - __first1)) - return !__builtin_memcmp(__first1, __first2, sizeof(_Tp) * __len); - return true; - } - }; - - 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<_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 - bool - __lexicographical_compare_impl(_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, (void)++__first2) - { - if (__comp(__first1, __first2)) - return true; - if (__comp(__first2, __first1)) - return false; - } - return __first1 == __last1 && __first2 != __last2; - } - - 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) - { - return std::__lexicographical_compare_impl(__first1, __last1, - __first2, __last2, - __gnu_cxx::__ops::__iter_less_iter()); - } - - 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; - if (const size_t __len = std::min(__len1, __len2)) - if (int __result = __builtin_memcmp(__first1, __first2, __len)) - return __result < 0; - return __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); - } - - template - _ForwardIterator - __lower_bound(_ForwardIterator __first, _ForwardIterator __last, - const _Tp& __val, _Compare __comp) - { - typedef typename iterator_traits<_ForwardIterator>::difference_type - _DistanceType; - - _DistanceType __len = std::distance(__first, __last); - - while (__len > 0) - { - _DistanceType __half = __len >> 1; - _ForwardIterator __middle = __first; - std::advance(__middle, __half); - if (__comp(__middle, __val)) - { - __first = __middle; - ++__first; - __len = __len - __half - 1; - } - else - __len = __half; - } - return __first; - } -# 978 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - inline _ForwardIterator - lower_bound(_ForwardIterator __first, _ForwardIterator __last, - const _Tp& __val) - { - - - - - ; - ; - - return std::__lower_bound(__first, __last, __val, - __gnu_cxx::__ops::__iter_less_val()); - } - - - - inline constexpr int - __lg(int __n) - { return sizeof(int) * 8 - 1 - __builtin_clz(__n); } - - inline constexpr unsigned - __lg(unsigned __n) - { return sizeof(int) * 8 - 1 - __builtin_clz(__n); } - - inline constexpr long - __lg(long __n) - { return sizeof(long) * 8 - 1 - __builtin_clzl(__n); } - - inline constexpr unsigned long - __lg(unsigned long __n) - { return sizeof(long) * 8 - 1 - __builtin_clzl(__n); } - - inline constexpr long long - __lg(long long __n) - { return sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } - - inline constexpr unsigned long long - __lg(unsigned long long __n) - { return sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } - - - - -# 1036 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - inline bool - equal(_II1 __first1, _II1 __last1, _II2 __first2) - { - - - - - - - ; - - return std::__equal_aux(std::__niter_base(__first1), - std::__niter_base(__last1), - std::__niter_base(__first2)); - } -# 1068 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - inline bool - equal(_IIter1 __first1, _IIter1 __last1, - _IIter2 __first2, _BinaryPredicate __binary_pred) - { - - - - ; - - for (; __first1 != __last1; ++__first1, (void)++__first2) - if (!bool(__binary_pred(*__first1, *__first2))) - return false; - return true; - } -# 1101 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - inline bool - equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) - { - - - - - - - ; - ; - - using _RATag = random_access_iterator_tag; - using _Cat1 = typename iterator_traits<_II1>::iterator_category; - using _Cat2 = typename iterator_traits<_II2>::iterator_category; - using _RAIters = __and_, is_same<_Cat2, _RATag>>; - if (_RAIters()) - { - auto __d1 = std::distance(__first1, __last1); - auto __d2 = std::distance(__first2, __last2); - if (__d1 != __d2) - return false; - return std::equal(__first1, __last1, __first2); - } - - for (; __first1 != __last1 && __first2 != __last2; - ++__first1, (void)++__first2) - if (!(*__first1 == *__first2)) - return false; - return __first1 == __last1 && __first2 == __last2; - } -# 1150 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - inline bool - equal(_IIter1 __first1, _IIter1 __last1, - _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred) - { - - - - ; - ; - - using _RATag = random_access_iterator_tag; - using _Cat1 = typename iterator_traits<_IIter1>::iterator_category; - using _Cat2 = typename iterator_traits<_IIter2>::iterator_category; - using _RAIters = __and_, is_same<_Cat2, _RATag>>; - if (_RAIters()) - { - auto __d1 = std::distance(__first1, __last1); - auto __d2 = std::distance(__first2, __last2); - if (__d1 != __d2) - return false; - return std::equal(__first1, __last1, __first2, - __binary_pred); - } - - for (; __first1 != __last1 && __first2 != __last2; - ++__first1, (void)++__first2) - if (!bool(__binary_pred(*__first1, *__first2))) - return false; - return __first1 == __last1 && __first2 == __last2; - } -# 1198 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - inline bool - lexicographical_compare(_II1 __first1, _II1 __last1, - _II2 __first2, _II2 __last2) - { - - - - - - - - - - ; - ; - ; - ; - - return std::__lexicographical_compare_aux(std::__niter_base(__first1), - std::__niter_base(__last1), - std::__niter_base(__first2), - std::__niter_base(__last2)); - } -# 1236 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - inline bool - lexicographical_compare(_II1 __first1, _II1 __last1, - _II2 __first2, _II2 __last2, _Compare __comp) - { - - - - ; - ; - ; - ; - - return std::__lexicographical_compare_impl - (__first1, __last1, __first2, __last2, - __gnu_cxx::__ops::__iter_comp_iter(__comp)); - } - - template - pair<_InputIterator1, _InputIterator2> - __mismatch(_InputIterator1 __first1, _InputIterator1 __last1, - _InputIterator2 __first2, _BinaryPredicate __binary_pred) - { - while (__first1 != __last1 && __binary_pred(__first1, __first2)) - { - ++__first1; - ++__first2; - } - return pair<_InputIterator1, _InputIterator2>(__first1, __first2); - } -# 1281 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - inline pair<_InputIterator1, _InputIterator2> - mismatch(_InputIterator1 __first1, _InputIterator1 __last1, - _InputIterator2 __first2) - { - - - - - - - ; - - return std::__mismatch(__first1, __last1, __first2, - __gnu_cxx::__ops::__iter_equal_to_iter()); - } -# 1314 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - inline pair<_InputIterator1, _InputIterator2> - mismatch(_InputIterator1 __first1, _InputIterator1 __last1, - _InputIterator2 __first2, _BinaryPredicate __binary_pred) - { - - - - ; - - return std::__mismatch(__first1, __last1, __first2, - __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); - } - - - - template - pair<_InputIterator1, _InputIterator2> - __mismatch(_InputIterator1 __first1, _InputIterator1 __last1, - _InputIterator2 __first2, _InputIterator2 __last2, - _BinaryPredicate __binary_pred) - { - while (__first1 != __last1 && __first2 != __last2 - && __binary_pred(__first1, __first2)) - { - ++__first1; - ++__first2; - } - return pair<_InputIterator1, _InputIterator2>(__first1, __first2); - } -# 1361 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - inline pair<_InputIterator1, _InputIterator2> - mismatch(_InputIterator1 __first1, _InputIterator1 __last1, - _InputIterator2 __first2, _InputIterator2 __last2) - { - - - - - - - ; - ; - - return std::__mismatch(__first1, __last1, __first2, __last2, - __gnu_cxx::__ops::__iter_equal_to_iter()); - } -# 1396 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_algobase.h" 3 - template - inline pair<_InputIterator1, _InputIterator2> - mismatch(_InputIterator1 __first1, _InputIterator1 __last1, - _InputIterator2 __first2, _InputIterator2 __last2, - _BinaryPredicate __binary_pred) - { - - - - ; - ; - - return std::__mismatch(__first1, __last1, __first2, __last2, - __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); - } - - - -} -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/char_traits.h" 2 3 - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwchar" 1 3 -# 39 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwchar" 3 - -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwchar" 3 - - - - -# 1 "/usr/include/wchar.h" 1 3 4 -# 45 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwchar" 2 3 -# 42 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/char_traits.h" 2 3 - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - -# 57 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - }; -# 82 "/aux/hubicka/trunk-install/include/c++/6.0.0/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 constexpr bool - eq(const char_type& __c1, const char_type& __c2) - { return __c1 == __c2; } - - static constexpr 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 constexpr char_type - to_char_type(const int_type& __c) - { return static_cast(__c); } - - static constexpr int_type - to_int_type(const char_type& __c) - { return static_cast(__c); } - - static constexpr bool - eq_int_type(const int_type& __c1, const int_type& __c2) - { return __c1 == __c2; } - - static constexpr int_type - eof() - { return static_cast(-1); } - - static constexpr 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"))) -{ - -# 226 "/aux/hubicka/trunk-install/include/c++/6.0.0/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) noexcept - { __c1 = __c2; } - - static constexpr bool - eq(const char_type& __c1, const char_type& __c2) noexcept - { return __c1 == __c2; } - - static constexpr bool - lt(const char_type& __c1, const char_type& __c2) noexcept - { - - return (static_cast(__c1) - < static_cast(__c2)); - } - - static int - compare(const char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return 0; - 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) - { - if (__n == 0) - return 0; - return static_cast(__builtin_memchr(__s, __a, __n)); - } - - static char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - return static_cast(__builtin_memmove(__s1, __s2, __n)); - } - - static char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - return static_cast(__builtin_memcpy(__s1, __s2, __n)); - } - - static char_type* - assign(char_type* __s, size_t __n, char_type __a) - { - if (__n == 0) - return __s; - return static_cast(__builtin_memset(__s, __a, __n)); - } - - static constexpr char_type - to_char_type(const int_type& __c) noexcept - { return static_cast(__c); } - - - - static constexpr int_type - to_int_type(const char_type& __c) noexcept - { return static_cast(static_cast(__c)); } - - static constexpr bool - eq_int_type(const int_type& __c1, const int_type& __c2) noexcept - { return __c1 == __c2; } - - static constexpr int_type - eof() noexcept - { return static_cast(-1); } - - static constexpr int_type - not_eof(const int_type& __c) noexcept - { 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) noexcept - { __c1 = __c2; } - - static constexpr bool - eq(const char_type& __c1, const char_type& __c2) noexcept - { return __c1 == __c2; } - - static constexpr bool - lt(const char_type& __c1, const char_type& __c2) noexcept - { return __c1 < __c2; } - - static int - compare(const char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return 0; - 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) - { - if (__n == 0) - return 0; - return wmemchr(__s, __a, __n); - } - - static char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - return wmemmove(__s1, __s2, __n); - } - - static char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - return wmemcpy(__s1, __s2, __n); - } - - static char_type* - assign(char_type* __s, size_t __n, char_type __a) - { - if (__n == 0) - return __s; - return wmemset(__s, __a, __n); - } - - static constexpr char_type - to_char_type(const int_type& __c) noexcept - { return char_type(__c); } - - static constexpr int_type - to_int_type(const char_type& __c) noexcept - { return int_type(__c); } - - static constexpr bool - eq_int_type(const int_type& __c1, const int_type& __c2) noexcept - { return __c1 == __c2; } - - static constexpr int_type - eof() noexcept - { return static_cast((0xffffffffu)); } - - static constexpr int_type - not_eof(const int_type& __c) noexcept - { return eq_int_type(__c, eof()) ? 0 : __c; } - }; - - - -} - - - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdint" 1 3 -# 32 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdint" 3 - -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdint" 3 -# 41 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdint" 3 -# 1 "/aux/hubicka/trunk-install/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include/stdint.h" 1 3 4 -# 9 "/aux/hubicka/trunk-install/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include/stdint.h" 3 4 -# 1 "/usr/include/stdint.h" 1 3 4 -# 28 "/usr/include/stdint.h" 3 4 -# 1 "/usr/include/x86_64-linux-gnu/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; -# 10 "/aux/hubicka/trunk-install/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include/stdint.h" 2 3 4 -# 42 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdint" 2 3 - - - - -namespace std -{ - using ::int8_t; - using ::int16_t; - using ::int32_t; - using ::int64_t; - - using ::int_fast8_t; - using ::int_fast16_t; - using ::int_fast32_t; - using ::int_fast64_t; - - using ::int_least8_t; - using ::int_least16_t; - using ::int_least32_t; - using ::int_least64_t; - - using ::intmax_t; - using ::intptr_t; - - using ::uint8_t; - using ::uint16_t; - using ::uint32_t; - using ::uint64_t; - - using ::uint_fast8_t; - using ::uint_fast16_t; - using ::uint_fast32_t; - using ::uint_fast64_t; - - using ::uint_least8_t; - using ::uint_least16_t; - using ::uint_least32_t; - using ::uint_least64_t; - - using ::uintmax_t; - using ::uintptr_t; -} -# 421 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/char_traits.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template<> - struct char_traits - { - typedef char16_t char_type; - typedef uint_least16_t int_type; - typedef streamoff off_type; - typedef u16streampos pos_type; - typedef mbstate_t state_type; - - static void - assign(char_type& __c1, const char_type& __c2) noexcept - { __c1 = __c2; } - - static constexpr bool - eq(const char_type& __c1, const char_type& __c2) noexcept - { return __c1 == __c2; } - - static constexpr bool - lt(const char_type& __c1, const char_type& __c2) noexcept - { return __c1 < __c2; } - - static int - compare(const char_type* __s1, const char_type* __s2, size_t __n) - { - for (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; - } - - static size_t - length(const char_type* __s) - { - size_t __i = 0; - while (!eq(__s[__i], char_type())) - ++__i; - return __i; - } - - static const char_type* - find(const char_type* __s, size_t __n, const char_type& __a) - { - for (size_t __i = 0; __i < __n; ++__i) - if (eq(__s[__i], __a)) - return __s + __i; - return 0; - } - - static char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - return (static_cast - (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); - } - - static char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - return (static_cast - (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); - } - - static char_type* - assign(char_type* __s, size_t __n, char_type __a) - { - for (size_t __i = 0; __i < __n; ++__i) - assign(__s[__i], __a); - return __s; - } - - static constexpr char_type - to_char_type(const int_type& __c) noexcept - { return char_type(__c); } - - static constexpr int_type - to_int_type(const char_type& __c) noexcept - { return int_type(__c); } - - static constexpr bool - eq_int_type(const int_type& __c1, const int_type& __c2) noexcept - { return __c1 == __c2; } - - static constexpr int_type - eof() noexcept - { return static_cast(-1); } - - static constexpr int_type - not_eof(const int_type& __c) noexcept - { return eq_int_type(__c, eof()) ? 0 : __c; } - }; - - template<> - struct char_traits - { - typedef char32_t char_type; - typedef uint_least32_t int_type; - typedef streamoff off_type; - typedef u32streampos pos_type; - typedef mbstate_t state_type; - - static void - assign(char_type& __c1, const char_type& __c2) noexcept - { __c1 = __c2; } - - static constexpr bool - eq(const char_type& __c1, const char_type& __c2) noexcept - { return __c1 == __c2; } - - static constexpr bool - lt(const char_type& __c1, const char_type& __c2) noexcept - { return __c1 < __c2; } - - static int - compare(const char_type* __s1, const char_type* __s2, size_t __n) - { - for (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; - } - - static size_t - length(const char_type* __s) - { - size_t __i = 0; - while (!eq(__s[__i], char_type())) - ++__i; - return __i; - } - - static const char_type* - find(const char_type* __s, size_t __n, const char_type& __a) - { - for (size_t __i = 0; __i < __n; ++__i) - if (eq(__s[__i], __a)) - return __s + __i; - return 0; - } - - static char_type* - move(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - return (static_cast - (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); - } - - static char_type* - copy(char_type* __s1, const char_type* __s2, size_t __n) - { - if (__n == 0) - return __s1; - return (static_cast - (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); - } - - static char_type* - assign(char_type* __s, size_t __n, char_type __a) - { - for (size_t __i = 0; __i < __n; ++__i) - assign(__s[__i], __a); - return __s; - } - - static constexpr char_type - to_char_type(const int_type& __c) noexcept - { return char_type(__c); } - - static constexpr int_type - to_int_type(const char_type& __c) noexcept - { return int_type(__c); } - - static constexpr bool - eq_int_type(const int_type& __c1, const int_type& __c2) noexcept - { return __c1 == __c2; } - - static constexpr int_type - eof() noexcept - { return static_cast(-1); } - - static constexpr int_type - not_eof(const int_type& __c) noexcept - { return eq_int_type(__c, eof()) ? 0 : __c; } - }; - - -} -# 41 "/aux/hubicka/trunk-install/include/c++/6.0.0/ios" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/localefwd.h" 1 3 -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/localefwd.h" 3 - -# 38 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/localefwd.h" 3 - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/c++locale.h" 1 3 -# 39 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/c++locale.h" 3 - -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/c++locale.h" 3 - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/clocale" 1 3 -# 39 "/aux/hubicka/trunk-install/include/c++/6.0.0/clocale" 3 - -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/clocale" 3 - - -# 1 "/usr/include/locale.h" 1 3 4 -# 29 "/usr/include/locale.h" 3 4 -# 1 "/aux/hubicka/trunk-install/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include/stddef.h" 1 3 4 -# 30 "/usr/include/locale.h" 2 3 4 -# 1 "/usr/include/x86_64-linux-gnu/bits/locale.h" 1 3 4 -# 27 "/usr/include/x86_64-linux-gnu/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 (); - - -# 152 "/usr/include/locale.h" 3 4 -extern __locale_t newlocale (int __category_mask, __const char *__locale, - __locale_t __base) throw (); -# 187 "/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 (); - - - - - - - -} -# 43 "/aux/hubicka/trunk-install/include/c++/6.0.0/clocale" 2 3 -# 51 "/aux/hubicka/trunk-install/include/c++/6.0.0/clocale" 3 -namespace std -{ - using ::lconv; - using ::setlocale; - using ::localeconv; -} -# 42 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-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); -# 88 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-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; - } - - -} -# 41 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/localefwd.h" 2 3 - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/cctype" 1 3 -# 39 "/aux/hubicka/trunk-install/include/c++/6.0.0/cctype" 3 - -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/cctype" 3 - - -# 1 "/usr/include/ctype.h" 1 3 4 -# 28 "/usr/include/ctype.h" 3 4 -# 1 "/usr/include/x86_64-linux-gnu/bits/types.h" 1 3 4 -# 28 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 -# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 -# 29 "/usr/include/x86_64-linux-gnu/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/x86_64-linux-gnu/bits/types.h" 3 4 -# 1 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 1 3 4 -# 132 "/usr/include/x86_64-linux-gnu/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; -# 29 "/usr/include/ctype.h" 2 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/x86_64-linux-gnu/bits/endian.h" 1 3 4 -# 38 "/usr/include/endian.h" 2 3 4 -# 61 "/usr/include/endian.h" 3 4 -# 1 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 1 3 4 -# 28 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4 -# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 -# 29 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 2 3 4 -# 62 "/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 -} -# 43 "/aux/hubicka/trunk-install/include/c++/6.0.0/cctype" 2 3 -# 62 "/aux/hubicka/trunk-install/include/c++/6.0.0/cctype" 3 -namespace std -{ - using ::isalnum; - using ::isalpha; - using ::iscntrl; - using ::isdigit; - using ::isgraph; - using ::islower; - using ::isprint; - using ::ispunct; - using ::isspace; - using ::isupper; - using ::isxdigit; - using ::tolower; - using ::toupper; -} - - - - - - - -namespace std -{ - using ::isblank; -} -# 43 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/localefwd.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 55 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/localefwd.h" 3 - 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 - bool - isblank(_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; - -namespace __cxx11 { - template class numpunct; - template class numpunct_byname; -} - -namespace __cxx11 { - - template - class collate; - template - class collate_byname; -} - - - class time_base; -namespace __cxx11 { - template > - class time_get; - template > - class time_get_byname; -} - template > - class time_put; - template > - class time_put_byname; - - - class money_base; -namespace __cxx11 { - template > - class money_get; - template > - class money_put; -} -namespace __cxx11 { - template - class moneypunct; - template - class moneypunct_byname; -} - - - class messages_base; -namespace __cxx11 { - template - class messages; - template - class messages_byname; -} - - -} -# 42 "/aux/hubicka/trunk-install/include/c++/6.0.0/ios" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 1 3 -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 3 - -# 38 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 3 - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/atomicity.h" 1 3 -# 32 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/atomicity.h" 3 - -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/atomicity.h" 3 - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/gthr.h" 1 3 -# 30 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/gthr.h" 3 -#pragma GCC visibility push(default) -# 148 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/gthr.h" 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/gthr-default.h" 1 3 -# 35 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-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 -# 30 "/usr/include/sched.h" 3 4 -# 1 "/aux/hubicka/trunk-install/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include/stddef.h" 1 3 4 -# 31 "/usr/include/sched.h" 2 3 4 - - - -# 1 "/usr/include/time.h" 1 3 4 -# 74 "/usr/include/time.h" 3 4 - - -typedef __time_t time_t; - - - -# 120 "/usr/include/time.h" 3 4 -struct timespec - { - __time_t tv_sec; - long int tv_nsec; - }; -# 35 "/usr/include/sched.h" 2 3 4 - - -typedef __pid_t pid_t; - - - - - -# 1 "/usr/include/x86_64-linux-gnu/bits/sched.h" 1 3 4 -# 74 "/usr/include/x86_64-linux-gnu/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; - }; -# 116 "/usr/include/x86_64-linux-gnu/bits/sched.h" 3 4 -typedef unsigned long int __cpu_mask; - - - - - - -typedef struct -{ - __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; -} cpu_set_t; -# 199 "/usr/include/x86_64-linux-gnu/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 (); - -} -# 44 "/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 (); -# 118 "/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 -# 30 "/usr/include/time.h" 3 4 -extern "C" { - - - - - - - -# 1 "/aux/hubicka/trunk-install/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include/stddef.h" 1 3 4 -# 39 "/usr/include/time.h" 2 3 4 - - - -# 1 "/usr/include/x86_64-linux-gnu/bits/time.h" 1 3 4 -# 43 "/usr/include/time.h" 2 3 4 -# 58 "/usr/include/time.h" 3 4 - - -typedef __clock_t clock_t; - - - -# 92 "/usr/include/time.h" 3 4 -typedef __clockid_t clockid_t; -# 104 "/usr/include/time.h" 3 4 -typedef __timer_t timer_t; -# 131 "/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; -# 180 "/usr/include/time.h" 3 4 - - - -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 (); -# 313 "/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__)); -# 328 "/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 (); -# 390 "/usr/include/time.h" 3 4 -extern int getdate_err; -# 399 "/usr/include/time.h" 3 4 -extern struct tm *getdate (__const char *__string); -# 413 "/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/x86_64-linux-gnu/bits/pthreadtypes.h" 1 3 4 -# 23 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 -# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 -# 24 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 2 3 4 -# 50 "/usr/include/x86_64-linux-gnu/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/x86_64-linux-gnu/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/x86_64-linux-gnu/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/x86_64-linux-gnu/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; -# 29 "/usr/include/pthread.h" 2 3 4 -# 1 "/usr/include/x86_64-linux-gnu/bits/setjmp.h" 1 3 4 -# 27 "/usr/include/x86_64-linux-gnu/bits/setjmp.h" 3 4 -# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 -# 28 "/usr/include/x86_64-linux-gnu/bits/setjmp.h" 2 3 4 - - - - -typedef long int __jmp_buf[8]; -# 30 "/usr/include/pthread.h" 2 3 4 -# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 -# 31 "/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, - PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED, - PTHREAD_MUTEX_ROBUST, - PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST -}; - - - - - -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_getname_np (pthread_t __target_thread, char *__buf, - size_t __buflen) - throw () __attribute__ ((__nonnull__ (2))); - - -extern int pthread_setname_np (pthread_t __target_thread, __const char *__name) - throw () __attribute__ ((__nonnull__ (2))); - - - - - -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))); -# 478 "/usr/include/pthread.h" 3 4 -extern int pthread_once (pthread_once_t *__once_control, - void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2))); -# 490 "/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__)); -# 524 "/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); } -}; -# 726 "/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 (pthread_mutex_t *__mutex) - throw () __attribute__ ((__nonnull__ (1))); - -extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex) - throw () __attribute__ ((__nonnull__ (1))); -# 790 "/usr/include/pthread.h" 3 4 -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 (__const pthread_mutexattr_t *__attr, - int *__robustness) - throw () __attribute__ ((__nonnull__ (1, 2))); - -extern int pthread_mutexattr_getrobust_np (__const pthread_mutexattr_t *__attr, - int *__robustness) - throw () __attribute__ ((__nonnull__ (1, 2))); - - - -extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr, - int __robustness) - throw () __attribute__ ((__nonnull__ (1))); - -extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr, - int __robustness) - throw () __attribute__ ((__nonnull__ (1))); -# 872 "/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))); -# 984 "/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))); -# 1028 "/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))); -# 1095 "/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))); -# 1129 "/usr/include/pthread.h" 3 4 -extern int pthread_atfork (void (*__prepare) (void), - void (*__parent) (void), - void (*__child) (void)) throw (); - - - - -extern __inline __attribute__ ((__gnu_inline__)) int -pthread_equal (pthread_t __thread1, pthread_t __thread2) throw () -{ - return __thread1 == __thread2; -} - - -} -# 36 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/gthr-default.h" 2 3 -# 47 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 -typedef pthread_t __gthread_t; -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; -typedef struct timespec __gthread_time_t; -# 101 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-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_join) __gthrw_pthread_join __attribute__ ((__weakref__("pthread_join"))); -static __typeof(pthread_equal) __gthrw_pthread_equal __attribute__ ((__weakref__("pthread_equal"))); -static __typeof(pthread_self) __gthrw_pthread_self __attribute__ ((__weakref__("pthread_self"))); -static __typeof(pthread_detach) __gthrw_pthread_detach __attribute__ ((__weakref__("pthread_detach"))); - -static __typeof(pthread_cancel) __gthrw_pthread_cancel __attribute__ ((__weakref__("pthread_cancel"))); - -static __typeof(sched_yield) __gthrw_sched_yield __attribute__ ((__weakref__("sched_yield"))); - -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_timedlock) __gthrw_pthread_mutex_timedlock __attribute__ ((__weakref__("pthread_mutex_timedlock"))); - -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_mutex_destroy) __gthrw_pthread_mutex_destroy __attribute__ ((__weakref__("pthread_mutex_destroy"))); - -static __typeof(pthread_cond_init) __gthrw_pthread_cond_init __attribute__ ((__weakref__("pthread_cond_init"))); -static __typeof(pthread_cond_broadcast) __gthrw_pthread_cond_broadcast __attribute__ ((__weakref__("pthread_cond_broadcast"))); -static __typeof(pthread_cond_signal) __gthrw_pthread_cond_signal __attribute__ ((__weakref__("pthread_cond_signal"))); -static __typeof(pthread_cond_wait) __gthrw_pthread_cond_wait __attribute__ ((__weakref__("pthread_cond_wait"))); -static __typeof(pthread_cond_timedwait) __gthrw_pthread_cond_timedwait __attribute__ ((__weakref__("pthread_cond_timedwait"))); -static __typeof(pthread_cond_destroy) __gthrw_pthread_cond_destroy __attribute__ ((__weakref__("pthread_cond_destroy"))); - -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"))); -# 236 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 -static __typeof(pthread_key_create) __gthrw___pthread_key_create __attribute__ ((__weakref__("__pthread_key_create"))); -# 246 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 -static inline int -__gthread_active_p (void) -{ - static void *const __gthread_active_ptr - = __extension__ (void *) &__gthrw___pthread_key_create; - return __gthread_active_ptr != 0; -} -# 658 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 -static inline int -__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), - void *__args) -{ - return __gthrw_pthread_create (__threadid, __null, __func, __args); -} - -static inline int -__gthread_join (__gthread_t __threadid, void **__value_ptr) -{ - return __gthrw_pthread_join (__threadid, __value_ptr); -} - -static inline int -__gthread_detach (__gthread_t __threadid) -{ - return __gthrw_pthread_detach (__threadid); -} - -static inline int -__gthread_equal (__gthread_t __t1, __gthread_t __t2) -{ - return __gthrw_pthread_equal (__t1, __t2); -} - -static inline __gthread_t -__gthread_self (void) -{ - return __gthrw_pthread_self (); -} - -static inline int -__gthread_yield (void) -{ - return __gthrw_sched_yield (); -} - -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 void -__gthread_mutex_init_function (__gthread_mutex_t *__mutex) -{ - if (__gthread_active_p ()) - __gthrw_pthread_mutex_init (__mutex, __null); -} - -static inline int -__gthread_mutex_destroy (__gthread_mutex_t *__mutex) -{ - if (__gthread_active_p ()) - return __gthrw_pthread_mutex_destroy (__mutex); - else - return 0; -} - -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_timedlock (__gthread_mutex_t *__mutex, - const __gthread_time_t *__abs_timeout) -{ - if (__gthread_active_p ()) - return __gthrw_pthread_mutex_timedlock (__mutex, __abs_timeout); - 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; -} -# 807 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-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_timedlock (__gthread_recursive_mutex_t *__mutex, - const __gthread_time_t *__abs_timeout) -{ - return __gthread_mutex_timedlock (__mutex, __abs_timeout); -} - - -static inline int -__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) -{ - return __gthread_mutex_unlock (__mutex); -} - -static inline int -__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) -{ - return __gthread_mutex_destroy (__mutex); -} -# 849 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/gthr-default.h" 3 -static inline int -__gthread_cond_broadcast (__gthread_cond_t *__cond) -{ - return __gthrw_pthread_cond_broadcast (__cond); -} - -static inline int -__gthread_cond_signal (__gthread_cond_t *__cond) -{ - return __gthrw_pthread_cond_signal (__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_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, - const __gthread_time_t *__abs_timeout) -{ - return __gthrw_pthread_cond_timedwait (__cond, __mutex, __abs_timeout); -} - -static inline int -__gthread_cond_wait_recursive (__gthread_cond_t *__cond, - __gthread_recursive_mutex_t *__mutex) -{ - return __gthread_cond_wait (__cond, __mutex); -} - -static inline int -__gthread_cond_destroy (__gthread_cond_t* __cond) -{ - return __gthrw_pthread_cond_destroy (__cond); -} -# 149 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/gthr.h" 2 3 - - -#pragma GCC visibility pop -# 36 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/atomicity.h" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/atomic_word.h" 1 3 -# 32 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/atomic_word.h" 3 -typedef int _Atomic_word; -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/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 __atomic_fetch_add(__mem, __val, 4); } - - static inline void - __atomic_add(volatile _Atomic_word* __mem, int __val) - { __atomic_fetch_add(__mem, __val, 4); } -# 64 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); - - - - } - - -} -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 2 3 - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 1 3 -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - -# 38 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/string" 1 3 -# 36 "/aux/hubicka/trunk-install/include/c++/6.0.0/string" 3 - -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/string" 3 - - - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/allocator.h" 1 3 -# 46 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/allocator.h" 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/c++allocator.h" 1 3 -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/c++allocator.h" 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/new_allocator.h" 1 3 -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/new_allocator.h" 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/new" 1 3 -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/new" 3 - -# 38 "/aux/hubicka/trunk-install/include/c++/6.0.0/new" 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(); - }; - - - class bad_array_new_length : public bad_alloc - { - public: - bad_array_new_length() throw() { }; - - - - virtual ~bad_array_new_length() 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(); - - - - new_handler get_new_handler() noexcept; - -} -# 111 "/aux/hubicka/trunk-install/include/c++/6.0.0/new" 3 -void* operator new(std::size_t) - __attribute__((__externally_visible__)); -void* operator new[](std::size_t) - __attribute__((__externally_visible__)); -void operator delete(void*) noexcept - __attribute__((__externally_visible__)); -void operator delete[](void*) noexcept - __attribute__((__externally_visible__)); -void* operator new(std::size_t, const std::nothrow_t&) noexcept - __attribute__((__externally_visible__)); -void* operator new[](std::size_t, const std::nothrow_t&) noexcept - __attribute__((__externally_visible__)); -void operator delete(void*, const std::nothrow_t&) noexcept - __attribute__((__externally_visible__)); -void operator delete[](void*, const std::nothrow_t&) noexcept - __attribute__((__externally_visible__)); - - -inline void* operator new(std::size_t, void* __p) noexcept -{ return __p; } -inline void* operator new[](std::size_t, void* __p) noexcept -{ return __p; } - - -inline void operator delete (void*, void*) noexcept { } -inline void operator delete[](void*, void*) noexcept { } - -} - -#pragma GCC visibility pop -# 34 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/new_allocator.h" 2 3 - - - - - - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - using std::size_t; - using std::ptrdiff_t; -# 57 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; }; - - - - - typedef std::true_type propagate_on_container_move_assignment; - - - new_allocator() noexcept { } - - new_allocator(const new_allocator&) noexcept { } - - template - new_allocator(const new_allocator<_Tp1>&) noexcept { } - - ~new_allocator() noexcept { } - - pointer - address(reference __x) const noexcept - { return std::__addressof(__x); } - - const_pointer - address(const_reference __x) const noexcept - { return std::__addressof(__x); } - - - - pointer - allocate(size_type __n, const void* = 0) - { - if (__n > this->max_size()) - 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 noexcept - { return size_t(-1) / sizeof(_Tp); } - - - template - void - construct(_Up* __p, _Args&&... __args) - { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } - - template - void - destroy(_Up* __p) { __p->~_Up(); } -# 135 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/new_allocator.h" 3 - }; - - 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; } - - -} -# 34 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/c++allocator.h" 2 3 - - -namespace std -{ -# 47 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/c++allocator.h" 3 - template - using __allocator_base = __gnu_cxx::new_allocator<_Tp>; -} -# 47 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/allocator.h" 2 3 - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - - 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; }; - - - - - typedef true_type propagate_on_container_move_assignment; - - - typedef true_type is_always_equal; - - }; -# 94 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/allocator.h" 3 - template - class allocator: public __allocator_base<_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; }; - - - - - typedef true_type propagate_on_container_move_assignment; - - - allocator() throw() { } - - allocator(const allocator& __a) throw() - : __allocator_base<_Tp>(__a) { } - - template - allocator(const allocator<_Tp1>&) throw() { } - - ~allocator() throw() { } - - - }; - - template - inline bool - operator==(const allocator<_T1>&, const allocator<_T2>&) - noexcept - { return true; } - - template - inline bool - operator==(const allocator<_Tp>&, const allocator<_Tp>&) - noexcept - { return true; } - - template - inline bool - operator!=(const allocator<_T1>&, const allocator<_T2>&) - noexcept - { return false; } - - template - inline bool - operator!=(const allocator<_Tp>&, const allocator<_Tp>&) - noexcept - { return false; } - - - - - - - extern template class allocator; - extern template class allocator; - - - - - - - template - struct __alloc_swap - { static void _S_do_it(_Alloc&, _Alloc&) noexcept { } }; - - template - struct __alloc_swap<_Alloc, false> - { - static void - _S_do_it(_Alloc& __one, _Alloc& __two) noexcept - { - - 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; } - }; - - - template, - is_nothrow_move_constructible>::value> - struct __shrink_to_fit_aux - { static bool _S_do_it(_Tp&) noexcept { return false; } }; - - template - struct __shrink_to_fit_aux<_Tp, true> - { - static bool - _S_do_it(_Tp& __c) noexcept - { - - try - { - _Tp(__make_move_if_noexcept_iterator(__c.begin()), - __make_move_if_noexcept_iterator(__c.end()), - __c.get_allocator()).swap(__c); - return true; - } - catch(...) - { return false; } - - - - } - }; - - - -} -# 42 "/aux/hubicka/trunk-install/include/c++/6.0.0/string" 2 3 - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ostream_insert.h" 1 3 -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ostream_insert.h" 3 - -# 34 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ostream_insert.h" 3 - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/cxxabi_forced.h" 1 3 -# 34 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/cxxabi_forced.h" 3 - -# 35 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/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 -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); - - - - -} -# 45 "/aux/hubicka/trunk-install/include/c++/6.0.0/string" 2 3 - - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_function.h" 1 3 -# 63 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_function.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 104 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - }; -# 144 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_function.h" 3 - struct __is_transparent; - - template - struct plus; - - template - struct minus; - - template - struct multiplies; - - template - struct divides; - - template - struct modulus; - - template - struct negate; - - - - template - struct plus : public binary_function<_Tp, _Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x, const _Tp& __y) const - { return __x + __y; } - }; - - - template - struct minus : public binary_function<_Tp, _Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x, const _Tp& __y) const - { return __x - __y; } - }; - - - template - struct multiplies : public binary_function<_Tp, _Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x, const _Tp& __y) const - { return __x * __y; } - }; - - - template - struct divides : public binary_function<_Tp, _Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x, const _Tp& __y) const - { return __x / __y; } - }; - - - template - struct modulus : public binary_function<_Tp, _Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x, const _Tp& __y) const - { return __x % __y; } - }; - - - template - struct negate : public unary_function<_Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x) const - { return -__x; } - }; - - - - - - - template<> - struct plus - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) + std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) + std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) + std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct minus - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) - std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) - std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) - std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct multiplies - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) * std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) * std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) * std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct divides - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) / std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) / std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) / std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct modulus - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) % std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) % std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) % std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct negate - { - template - constexpr - auto - operator()(_Tp&& __t) const - noexcept(noexcept(-std::forward<_Tp>(__t))) - -> decltype(-std::forward<_Tp>(__t)) - { return -std::forward<_Tp>(__t); } - - typedef __is_transparent is_transparent; - }; -# 331 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_function.h" 3 - template - struct equal_to; - - template - struct not_equal_to; - - template - struct greater; - - template - struct less; - - template - struct greater_equal; - - template - struct less_equal; - - - - template - struct equal_to : public binary_function<_Tp, _Tp, bool> - { - constexpr - bool - operator()(const _Tp& __x, const _Tp& __y) const - { return __x == __y; } - }; - - - template - struct not_equal_to : public binary_function<_Tp, _Tp, bool> - { - constexpr - bool - operator()(const _Tp& __x, const _Tp& __y) const - { return __x != __y; } - }; - - - template - struct greater : public binary_function<_Tp, _Tp, bool> - { - constexpr - bool - operator()(const _Tp& __x, const _Tp& __y) const - { return __x > __y; } - }; - - - template - struct less : public binary_function<_Tp, _Tp, bool> - { - constexpr - bool - operator()(const _Tp& __x, const _Tp& __y) const - { return __x < __y; } - }; - - - template - struct greater_equal : public binary_function<_Tp, _Tp, bool> - { - constexpr - bool - operator()(const _Tp& __x, const _Tp& __y) const - { return __x >= __y; } - }; - - - template - struct less_equal : public binary_function<_Tp, _Tp, bool> - { - constexpr - bool - operator()(const _Tp& __x, const _Tp& __y) const - { return __x <= __y; } - }; - - - - template<> - struct equal_to - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) == std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) == std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) == std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct not_equal_to - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) != std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) != std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) != std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct greater - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) > std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct less - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) < std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct greater_equal - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) >= std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct less_equal - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) <= std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; -# 513 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_function.h" 3 - template - struct logical_and; - - template - struct logical_or; - - template - struct logical_not; - - - - template - struct logical_and : public binary_function<_Tp, _Tp, bool> - { - constexpr - bool - operator()(const _Tp& __x, const _Tp& __y) const - { return __x && __y; } - }; - - - template - struct logical_or : public binary_function<_Tp, _Tp, bool> - { - constexpr - bool - operator()(const _Tp& __x, const _Tp& __y) const - { return __x || __y; } - }; - - - template - struct logical_not : public unary_function<_Tp, bool> - { - constexpr - bool - operator()(const _Tp& __x) const - { return !__x; } - }; - - - - template<> - struct logical_and - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) && std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) && std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) && std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct logical_or - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) || std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) || std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) || std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - - template<> - struct logical_not - { - template - constexpr - auto - operator()(_Tp&& __t) const - noexcept(noexcept(!std::forward<_Tp>(__t))) - -> decltype(!std::forward<_Tp>(__t)) - { return !std::forward<_Tp>(__t); } - - typedef __is_transparent is_transparent; - }; - - - - - template - struct bit_and; - - template - struct bit_or; - - template - struct bit_xor; - - template - struct bit_not; - - - - - template - struct bit_and : public binary_function<_Tp, _Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x, const _Tp& __y) const - { return __x & __y; } - }; - - template - struct bit_or : public binary_function<_Tp, _Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x, const _Tp& __y) const - { return __x | __y; } - }; - - template - struct bit_xor : public binary_function<_Tp, _Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x, const _Tp& __y) const - { return __x ^ __y; } - }; - - template - struct bit_not : public unary_function<_Tp, _Tp> - { - constexpr - _Tp - operator()(const _Tp& __x) const - { return ~__x; } - }; - - - template <> - struct bit_and - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) & std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) & std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) & std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - template <> - struct bit_or - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) | std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) | std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) | std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - template <> - struct bit_xor - { - template - constexpr - auto - operator()(_Tp&& __t, _Up&& __u) const - noexcept(noexcept(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u))) - -> decltype(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u)) - { return std::forward<_Tp>(__t) ^ std::forward<_Up>(__u); } - - typedef __is_transparent is_transparent; - }; - - template <> - struct bit_not - { - template - constexpr - auto - operator()(_Tp&& __t) const - noexcept(noexcept(~std::forward<_Tp>(__t))) - -> decltype(~std::forward<_Tp>(__t)) - { return ~std::forward<_Tp>(__t); } - - typedef __is_transparent is_transparent; - }; -# 741 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_function.h" 3 - template - class unary_negate - : public unary_function - { - protected: - _Predicate _M_pred; - - public: - constexpr - explicit - unary_negate(const _Predicate& __x) : _M_pred(__x) { } - - constexpr - bool - operator()(const typename _Predicate::argument_type& __x) const - { return !_M_pred(__x); } - }; - - - template - constexpr - 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: - constexpr - explicit - binary_negate(const _Predicate& __x) : _M_pred(__x) { } - - constexpr - bool - operator()(const typename _Predicate::first_argument_type& __x, - const typename _Predicate::second_argument_type& __y) const - { return !_M_pred(__x, __y); } - }; - - - template - constexpr - inline binary_negate<_Predicate> - not2(const _Predicate& __pred) - { return binary_negate<_Predicate>(__pred); } -# 818 "/aux/hubicka/trunk-install/include/c++/6.0.0/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 - typename _Pair2::first_type& - operator()(_Pair2& __x) const - { return __x.first; } - - template - const typename _Pair2::first_type& - operator()(const _Pair2& __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; } - }; -# 938 "/aux/hubicka/trunk-install/include/c++/6.0.0/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 "/aux/hubicka/trunk-install/include/c++/6.0.0/backward/binders.h" 1 3 -# 60 "/aux/hubicka/trunk-install/include/c++/6.0.0/backward/binders.h" 3 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 107 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); } - } __attribute__ ((__deprecated__)); - - - 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); } - } __attribute__ ((__deprecated__)); - - - 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)); - } - - - -} - -#pragma GCC diagnostic pop -# 1129 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/stl_function.h" 2 3 -# 49 "/aux/hubicka/trunk-install/include/c++/6.0.0/string" 2 3 - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/range_access.h" 1 3 -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/range_access.h" 3 - -# 34 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/range_access.h" 3 - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/initializer_list" 1 3 -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/initializer_list" 3 - -# 34 "/aux/hubicka/trunk-install/include/c++/6.0.0/initializer_list" 3 - - - - - -#pragma GCC visibility push(default) - - - -namespace std -{ - - template - class initializer_list - { - public: - typedef _E value_type; - typedef const _E& reference; - typedef const _E& const_reference; - typedef size_t size_type; - typedef const _E* iterator; - typedef const _E* const_iterator; - - private: - iterator _M_array; - size_type _M_len; - - - constexpr initializer_list(const_iterator __a, size_type __l) - : _M_array(__a), _M_len(__l) { } - - public: - constexpr initializer_list() noexcept - : _M_array(0), _M_len(0) { } - - - constexpr size_type - size() const noexcept { return _M_len; } - - - constexpr const_iterator - begin() const noexcept { return _M_array; } - - - constexpr const_iterator - end() const noexcept { return begin() + size(); } - }; - - - - - - - template - constexpr const _Tp* - begin(initializer_list<_Tp> __ils) noexcept - { return __ils.begin(); } - - - - - - - template - constexpr const _Tp* - end(initializer_list<_Tp> __ils) noexcept - { return __ils.end(); } -} - -#pragma GCC visibility pop -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/range_access.h" 2 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - - template - inline auto - begin(_Container& __cont) -> decltype(__cont.begin()) - { return __cont.begin(); } - - - - - - - template - inline auto - begin(const _Container& __cont) -> decltype(__cont.begin()) - { return __cont.begin(); } - - - - - - - template - inline auto - end(_Container& __cont) -> decltype(__cont.end()) - { return __cont.end(); } - - - - - - - template - inline auto - end(const _Container& __cont) -> decltype(__cont.end()) - { return __cont.end(); } - - - - - - template - inline constexpr _Tp* - begin(_Tp (&__arr)[_Nm]) - { return __arr; } - - - - - - - template - inline constexpr _Tp* - end(_Tp (&__arr)[_Nm]) - { return __arr + _Nm; } - - - - template class valarray; - - template _Tp* begin(valarray<_Tp>&); - template const _Tp* begin(const valarray<_Tp>&); - template _Tp* end(valarray<_Tp>&); - template const _Tp* end(const valarray<_Tp>&); - - - - - - - template - inline constexpr auto - cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont))) - -> decltype(std::begin(__cont)) - { return std::begin(__cont); } - - - - - - - template - inline constexpr auto - cend(const _Container& __cont) noexcept(noexcept(std::end(__cont))) - -> decltype(std::end(__cont)) - { return std::end(__cont); } - - - - - - - template - inline auto - rbegin(_Container& __cont) -> decltype(__cont.rbegin()) - { return __cont.rbegin(); } - - - - - - - template - inline auto - rbegin(const _Container& __cont) -> decltype(__cont.rbegin()) - { return __cont.rbegin(); } - - - - - - - template - inline auto - rend(_Container& __cont) -> decltype(__cont.rend()) - { return __cont.rend(); } - - - - - - - template - inline auto - rend(const _Container& __cont) -> decltype(__cont.rend()) - { return __cont.rend(); } - - - - - - - template - inline reverse_iterator<_Tp*> - rbegin(_Tp (&__arr)[_Nm]) - { return reverse_iterator<_Tp*>(__arr + _Nm); } - - - - - - - template - inline reverse_iterator<_Tp*> - rend(_Tp (&__arr)[_Nm]) - { return reverse_iterator<_Tp*>(__arr); } - - - - - - - template - inline reverse_iterator - rbegin(initializer_list<_Tp> __il) - { return reverse_iterator(__il.end()); } - - - - - - - template - inline reverse_iterator - rend(initializer_list<_Tp> __il) - { return reverse_iterator(__il.begin()); } - - - - - - - template - inline auto - crbegin(const _Container& __cont) -> decltype(std::rbegin(__cont)) - { return std::rbegin(__cont); } - - - - - - - template - inline auto - crend(const _Container& __cont) -> decltype(std::rend(__cont)) - { return std::rend(__cont); } -# 319 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/range_access.h" 3 - -} -# 52 "/aux/hubicka/trunk-install/include/c++/6.0.0/string" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 1 3 -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - -# 38 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/alloc_traits.h" 1 3 -# 32 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/alloc_traits.h" 3 - -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/alloc_traits.h" 3 - - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/alloc_traits.h" 1 3 -# 41 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/alloc_traits.h" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - struct __allocator_traits_base - { - template - using __rebind = typename _Alloc::template rebind<_Up>::other; - - protected: - template - using __pointer = typename _Tp::pointer; - template - using __c_pointer = typename _Tp::const_pointer; - template - using __v_pointer = typename _Tp::void_pointer; - template - using __cv_pointer = typename _Tp::const_void_pointer; - template - using __diff_type = typename _Tp::difference_type; - template - using __size_type = typename _Tp::size_type; - template - using __pocca = typename _Tp::propagate_on_container_copy_assignment; - template - using __pocma = typename _Tp::propagate_on_container_move_assignment; - template - using __pocs = typename _Tp::propagate_on_container_swap; - template - using __equal = typename _Tp::is_always_equal; - }; - - template - using __alloc_rebind = __detected_or_t_<__replace_first_arg_t, - __allocator_traits_base::__rebind, - _Alloc, _Up>; - - - - - - template - struct allocator_traits : __allocator_traits_base - { - - typedef _Alloc allocator_type; - - typedef typename _Alloc::value_type value_type; - - - - - - - using pointer = __detected_or_t; - - - - - - - - using const_pointer - = __detected_or_t<__ptr_rebind, - __c_pointer, _Alloc>; - - - - - - - - using void_pointer - = __detected_or_t<__ptr_rebind, __v_pointer, _Alloc>; - - - - - - - - using const_void_pointer - = __detected_or_t<__ptr_rebind, __cv_pointer, - _Alloc>; - - - - - - - - using difference_type - = __detected_or_t::difference_type, - __diff_type, _Alloc>; - - - - - - - - using size_type - = __detected_or_t::type, - __size_type, _Alloc>; - - - - - - - - using propagate_on_container_copy_assignment - = __detected_or_t; - - - - - - - - using propagate_on_container_move_assignment - = __detected_or_t; - - - - - - - - using propagate_on_container_swap - = __detected_or_t; - - - - - - - - using is_always_equal - = __detected_or_t::type, __equal, _Alloc>; - - template - using rebind_alloc = __alloc_rebind<_Alloc, _Tp>; - template - using rebind_traits = allocator_traits>; - - static_assert(!is_same, __undefined>::value, - "allocator defines rebind or is like Alloc"); - - private: - template - static auto - _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer __hint, int) - -> decltype(__a.allocate(__n, __hint)) - { return __a.allocate(__n, __hint); } - - template - static pointer - _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer, ...) - { return __a.allocate(__n); } - - template - struct __construct_helper - { - template()->construct( - std::declval<_Tp*>(), std::declval<_Args>()...))> - static true_type __test(int); - - template - static false_type __test(...); - - using type = decltype(__test<_Alloc>(0)); - }; - - template - using __has_construct - = typename __construct_helper<_Tp, _Args...>::type; - - template - static _Require<__has_construct<_Tp, _Args...>> - _S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args) - { __a.construct(__p, std::forward<_Args>(__args)...); } - - template - static - _Require<__and_<__not_<__has_construct<_Tp, _Args...>>, - is_constructible<_Tp, _Args...>>> - _S_construct(_Alloc&, _Tp* __p, _Args&&... __args) - { ::new((void*)__p) _Tp(std::forward<_Args>(__args)...); } - - template - static auto - _S_destroy(_Alloc2& __a, _Tp* __p, int) - -> decltype(__a.destroy(__p)) - { __a.destroy(__p); } - - template - static void - _S_destroy(_Alloc2&, _Tp* __p, ...) - { __p->~_Tp(); } - - template - static auto - _S_max_size(_Alloc2& __a, int) - -> decltype(__a.max_size()) - { return __a.max_size(); } - - template - static size_type - _S_max_size(_Alloc2&, ...) - { - - - return __gnu_cxx::__numeric_traits::__max - / sizeof(value_type); - } - - template - static auto - _S_select(_Alloc2& __a, int) - -> decltype(__a.select_on_container_copy_construction()) - { return __a.select_on_container_copy_construction(); } - - template - static _Alloc2 - _S_select(_Alloc2& __a, ...) - { return __a; } - - public: -# 279 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/alloc_traits.h" 3 - static pointer - allocate(_Alloc& __a, size_type __n) - { return __a.allocate(__n); } -# 294 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/alloc_traits.h" 3 - static pointer - allocate(_Alloc& __a, size_type __n, const_void_pointer __hint) - { return _S_allocate(__a, __n, __hint, 0); } -# 306 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/alloc_traits.h" 3 - static void - deallocate(_Alloc& __a, pointer __p, size_type __n) - { __a.deallocate(__p, __n); } -# 321 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/alloc_traits.h" 3 - template - static auto construct(_Alloc& __a, _Tp* __p, _Args&&... __args) - -> decltype(_S_construct(__a, __p, std::forward<_Args>(__args)...)) - { _S_construct(__a, __p, std::forward<_Args>(__args)...); } -# 334 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/alloc_traits.h" 3 - template - static void destroy(_Alloc& __a, _Tp* __p) - { _S_destroy(__a, __p, 0); } -# 346 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/alloc_traits.h" 3 - static size_type max_size(const _Alloc& __a) noexcept - { return _S_max_size(__a, 0); } -# 357 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/alloc_traits.h" 3 - static _Alloc - select_on_container_copy_construction(const _Alloc& __rhs) - { return _S_select(__rhs, 0); } - }; - - template - inline void - __do_alloc_on_copy(_Alloc& __one, const _Alloc& __two, true_type) - { __one = __two; } - - template - inline void - __do_alloc_on_copy(_Alloc&, const _Alloc&, false_type) - { } - - template - inline void __alloc_on_copy(_Alloc& __one, const _Alloc& __two) - { - typedef allocator_traits<_Alloc> __traits; - typedef typename __traits::propagate_on_container_copy_assignment __pocca; - __do_alloc_on_copy(__one, __two, __pocca()); - } - - template - inline _Alloc __alloc_on_copy(const _Alloc& __a) - { - typedef allocator_traits<_Alloc> __traits; - return __traits::select_on_container_copy_construction(__a); - } - - template - inline void __do_alloc_on_move(_Alloc& __one, _Alloc& __two, true_type) - { __one = std::move(__two); } - - template - inline void __do_alloc_on_move(_Alloc&, _Alloc&, false_type) - { } - - template - inline void __alloc_on_move(_Alloc& __one, _Alloc& __two) - { - typedef allocator_traits<_Alloc> __traits; - typedef typename __traits::propagate_on_container_move_assignment __pocma; - __do_alloc_on_move(__one, __two, __pocma()); - } - - template - inline void __do_alloc_on_swap(_Alloc& __one, _Alloc& __two, true_type) - { - using std::swap; - swap(__one, __two); - } - - template - inline void __do_alloc_on_swap(_Alloc&, _Alloc&, false_type) - { } - - template - inline void __alloc_on_swap(_Alloc& __one, _Alloc& __two) - { - typedef allocator_traits<_Alloc> __traits; - typedef typename __traits::propagate_on_container_swap __pocs; - __do_alloc_on_swap(__one, __two, __pocs()); - } - - template - class __is_copy_insertable_impl - { - typedef allocator_traits<_Alloc> _Traits; - - template(), - std::declval<_Up*>(), - std::declval()))> - static true_type - _M_select(int); - - template - static false_type - _M_select(...); - - public: - typedef decltype(_M_select(0)) type; - }; - - - template - struct __is_copy_insertable - : __is_copy_insertable_impl<_Alloc>::type - { }; - - - template - struct __is_copy_insertable> - : is_copy_constructible<_Tp> - { }; - - -} -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/alloc_traits.h" 2 3 - - - - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - - - - -template - struct __alloc_traits - - : std::allocator_traits<_Alloc> - - { - typedef _Alloc allocator_type; - - typedef std::allocator_traits<_Alloc> _Base_type; - typedef typename _Base_type::value_type value_type; - typedef typename _Base_type::pointer pointer; - typedef typename _Base_type::const_pointer const_pointer; - typedef typename _Base_type::size_type size_type; - typedef typename _Base_type::difference_type difference_type; - - typedef value_type& reference; - typedef const value_type& const_reference; - using _Base_type::allocate; - using _Base_type::deallocate; - using _Base_type::construct; - using _Base_type::destroy; - using _Base_type::max_size; - - private: - template - using __is_custom_pointer - = std::__and_, - std::__not_>>; - - public: - - template - static typename std::enable_if<__is_custom_pointer<_Ptr>::value>::type - construct(_Alloc& __a, _Ptr __p, _Args&&... __args) - { - _Base_type::construct(__a, std::addressof(*__p), - std::forward<_Args>(__args)...); - } - - - template - static typename std::enable_if<__is_custom_pointer<_Ptr>::value>::type - destroy(_Alloc& __a, _Ptr __p) - { _Base_type::destroy(__a, std::addressof(*__p)); } - - static _Alloc _S_select_on_copy(const _Alloc& __a) - { return _Base_type::select_on_container_copy_construction(__a); } - - static void _S_on_swap(_Alloc& __a, _Alloc& __b) - { std::__alloc_on_swap(__a, __b); } - - static constexpr bool _S_propagate_on_copy_assign() - { return _Base_type::propagate_on_container_copy_assignment::value; } - - static constexpr bool _S_propagate_on_move_assign() - { return _Base_type::propagate_on_container_move_assignment::value; } - - static constexpr bool _S_propagate_on_swap() - { return _Base_type::propagate_on_container_swap::value; } - - static constexpr bool _S_always_equal() - { return _Base_type::is_always_equal::value; } - - static constexpr bool _S_nothrow_move() - { return _S_propagate_on_move_assign() || _S_always_equal(); } - - template - struct rebind - { typedef typename _Base_type::template rebind_alloc<_Tp> other; }; -# 158 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/alloc_traits.h" 3 - }; - - -} -# 41 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 2 3 - - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - -namespace __cxx11 { -# 71 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - template - class basic_string - { - typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template - rebind<_CharT>::other _Char_alloc_type; - typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits; - - - public: - typedef _Traits traits_type; - typedef typename _Traits::char_type value_type; - typedef _Char_alloc_type allocator_type; - typedef typename _Alloc_traits::size_type size_type; - typedef typename _Alloc_traits::difference_type difference_type; - typedef typename _Alloc_traits::reference reference; - typedef typename _Alloc_traits::const_reference const_reference; - typedef typename _Alloc_traits::pointer pointer; - typedef typename _Alloc_traits::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; - - - static const size_type npos = static_cast(-1); - - private: - - - - - typedef const_iterator __const_iterator; - - - - struct _Alloc_hider : allocator_type - { - _Alloc_hider(pointer __dat, const _Alloc& __a = _Alloc()) - : allocator_type(__a), _M_p(__dat) { } - - pointer _M_p; - }; - - _Alloc_hider _M_dataplus; - size_type _M_string_length; - - enum { _S_local_capacity = 15 / sizeof(_CharT) }; - - union - { - _CharT _M_local_buf[_S_local_capacity + 1]; - size_type _M_allocated_capacity; - }; - - void - _M_data(pointer __p) - { _M_dataplus._M_p = __p; } - - void - _M_length(size_type __length) - { _M_string_length = __length; } - - pointer - _M_data() const - { return _M_dataplus._M_p; } - - pointer - _M_local_data() - { - - return std::pointer_traits::pointer_to(*_M_local_buf); - - - - } - - const_pointer - _M_local_data() const - { - - return std::pointer_traits::pointer_to(*_M_local_buf); - - - - } - - void - _M_capacity(size_type __capacity) - { _M_allocated_capacity = __capacity; } - - void - _M_set_length(size_type __n) - { - _M_length(__n); - traits_type::assign(_M_data()[__n], _CharT()); - } - - bool - _M_is_local() const - { return _M_data() == _M_local_data(); } - - - pointer - _M_create(size_type&, size_type); - - void - _M_dispose() - { - if (!_M_is_local()) - _M_destroy(_M_allocated_capacity); - } - - void - _M_destroy(size_type __size) throw() - { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); } - - - - template - void - _M_construct_aux(_InIterator __beg, _InIterator __end, - std::__false_type) - { - typedef typename iterator_traits<_InIterator>::iterator_category _Tag; - _M_construct(__beg, __end, _Tag()); - } - - - - template - void - _M_construct_aux(_Integer __beg, _Integer __end, std::__true_type) - { _M_construct_aux_2(static_cast(__beg), __end); } - - void - _M_construct_aux_2(size_type __req, _CharT __c) - { _M_construct(__req, __c); } - - template - void - _M_construct(_InIterator __beg, _InIterator __end) - { - typedef typename std::__is_integer<_InIterator>::__type _Integral; - _M_construct_aux(__beg, __end, _Integral()); - } - - - template - void - _M_construct(_InIterator __beg, _InIterator __end, - std::input_iterator_tag); - - - - template - void - _M_construct(_FwdIterator __beg, _FwdIterator __end, - std::forward_iterator_tag); - - void - _M_construct(size_type __req, _CharT __c); - - allocator_type& - _M_get_allocator() - { return _M_dataplus; } - - const allocator_type& - _M_get_allocator() const - { return _M_dataplus; } - - private: -# 258 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - _M_check(size_type __pos, const char* __s) const - { - if (__pos > this->size()) - __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)") - , - __s, __pos, this->size()); - 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 noexcept - { - const bool __testoff = __off < this->size() - __pos; - return __testoff ? __off : this->size() - __pos; - } - - - bool - _M_disjunct(const _CharT* __s) const noexcept - { - return (less()(__s, _M_data()) - || less()(_M_data() + this->size(), __s)); - } - - - - static void - _S_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 - _S_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 - _S_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) - noexcept - { - for (; __k1 != __k2; ++__k1, (void)++__p) - traits_type::assign(*__p, *__k1); - } - - static void - _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept - { _S_copy_chars(__p, __k1.base(), __k2.base()); } - - static void - _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) - noexcept - { _S_copy_chars(__p, __k1.base(), __k2.base()); } - - static void - _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept - { _S_copy(__p, __k1, __k2 - __k1); } - - static void - _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) - noexcept - { _S_copy(__p, __k1, __k2 - __k1); } - - static int - _S_compare(size_type __n1, size_type __n2) noexcept - { - 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_assign(const basic_string& __rcs); - - void - _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, - size_type __len2); - - void - _M_erase(size_type __pos, size_type __n); - - public: - - - - - - - - basic_string() - noexcept(is_nothrow_default_constructible<_Alloc>::value) - : _M_dataplus(_M_local_data()) - { _M_set_length(0); } - - - - - explicit - basic_string(const _Alloc& __a) noexcept - : _M_dataplus(_M_local_data(), __a) - { _M_set_length(0); } - - - - - - basic_string(const basic_string& __str) - : _M_dataplus(_M_local_data(), - _Alloc_traits::_S_select_on_copy(__str._M_get_allocator())) - { _M_construct(__str._M_data(), __str._M_data() + __str.length()); } -# 411 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string(const basic_string& __str, size_type __pos, - size_type __n = npos) - : _M_dataplus(_M_local_data()) - { - const _CharT* __start = __str._M_data() - + __str._M_check(__pos, "basic_string::basic_string"); - _M_construct(__start, __start + __str._M_limit(__pos, __n)); - } -# 427 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string(const basic_string& __str, size_type __pos, - size_type __n, const _Alloc& __a) - : _M_dataplus(_M_local_data(), __a) - { - const _CharT* __start - = __str._M_data() + __str._M_check(__pos, "string::string"); - _M_construct(__start, __start + __str._M_limit(__pos, __n)); - } -# 445 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string(const _CharT* __s, size_type __n, - const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { _M_construct(__s, __s + __n); } - - - - - - - basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { _M_construct(__s, __s ? __s + traits_type::length(__s) : __s+npos); } - - - - - - - - basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { _M_construct(__n, __c); } -# 477 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string(basic_string&& __str) noexcept - : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator())) - { - if (__str._M_is_local()) - { - traits_type::copy(_M_local_buf, __str._M_local_buf, - _S_local_capacity + 1); - } - else - { - _M_data(__str._M_data()); - _M_capacity(__str._M_allocated_capacity); - } - - - - - _M_length(__str.length()); - __str._M_data(__str._M_local_data()); - __str._M_set_length(0); - } - - - - - - - basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { _M_construct(__l.begin(), __l.end()); } - - basic_string(const basic_string& __str, const _Alloc& __a) - : _M_dataplus(_M_local_data(), __a) - { _M_construct(__str.begin(), __str.end()); } - - basic_string(basic_string&& __str, const _Alloc& __a) - noexcept(_Alloc_traits::_S_always_equal()) - : _M_dataplus(_M_local_data(), __a) - { - if (__str._M_is_local()) - { - traits_type::copy(_M_local_buf, __str._M_local_buf, - _S_local_capacity + 1); - _M_length(__str.length()); - __str._M_set_length(0); - } - else if (_Alloc_traits::_S_always_equal() - || __str.get_allocator() == __a) - { - _M_data(__str._M_data()); - _M_length(__str.length()); - _M_capacity(__str._M_allocated_capacity); - __str._M_data(__str._M_local_buf); - __str._M_set_length(0); - } - else - _M_construct(__str.begin(), __str.end()); - } -# 545 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - template> - - - - basic_string(_InputIterator __beg, _InputIterator __end, - const _Alloc& __a = _Alloc()) - : _M_dataplus(_M_local_data(), __a) - { _M_construct(__beg, __end); } - - - - - ~basic_string() - { _M_dispose(); } - - - - - - basic_string& - operator=(const basic_string& __str) - { - - if (_Alloc_traits::_S_propagate_on_copy_assign()) - { - if (!_Alloc_traits::_S_always_equal() && !_M_is_local() - && _M_get_allocator() != __str._M_get_allocator()) - { - - _M_destroy(_M_allocated_capacity); - _M_data(_M_local_data()); - _M_set_length(0); - } - std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator()); - } - - return this->assign(__str); - } - - - - - - basic_string& - operator=(const _CharT* __s) - { return this->assign(__s); } -# 600 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - operator=(_CharT __c) - { - this->assign(1, __c); - return *this; - } -# 618 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - operator=(basic_string&& __str) - noexcept(_Alloc_traits::_S_nothrow_move()) - { - if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign() - && !_Alloc_traits::_S_always_equal() - && _M_get_allocator() != __str._M_get_allocator()) - { - - _M_destroy(_M_allocated_capacity); - _M_data(_M_local_data()); - _M_set_length(0); - } - - std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator()); - - if (!__str._M_is_local() - && (_Alloc_traits::_S_propagate_on_move_assign() - || _Alloc_traits::_S_always_equal())) - { - pointer __data = nullptr; - size_type __capacity; - if (!_M_is_local()) - { - if (_Alloc_traits::_S_always_equal()) - { - __data = _M_data(); - __capacity = _M_allocated_capacity; - } - else - _M_destroy(_M_allocated_capacity); - } - - _M_data(__str._M_data()); - _M_length(__str.length()); - _M_capacity(__str._M_allocated_capacity); - if (__data) - { - __str._M_data(__data); - __str._M_capacity(__capacity); - } - else - __str._M_data(__str._M_local_buf); - } - else - assign(__str); - __str.clear(); - return *this; - } - - - - - - basic_string& - operator=(initializer_list<_CharT> __l) - { - this->assign(__l.begin(), __l.size()); - return *this; - } - - - - - - - - iterator - begin() noexcept - { return iterator(_M_data()); } - - - - - - const_iterator - begin() const noexcept - { return const_iterator(_M_data()); } - - - - - - iterator - end() noexcept - { return iterator(_M_data() + this->size()); } - - - - - - const_iterator - end() const noexcept - { return const_iterator(_M_data() + this->size()); } - - - - - - - reverse_iterator - rbegin() noexcept - { return reverse_iterator(this->end()); } - - - - - - - const_reverse_iterator - rbegin() const noexcept - { return const_reverse_iterator(this->end()); } - - - - - - - reverse_iterator - rend() noexcept - { return reverse_iterator(this->begin()); } - - - - - - - const_reverse_iterator - rend() const noexcept - { return const_reverse_iterator(this->begin()); } - - - - - - - const_iterator - cbegin() const noexcept - { return const_iterator(this->_M_data()); } - - - - - - const_iterator - cend() const noexcept - { return const_iterator(this->_M_data() + this->size()); } - - - - - - - const_reverse_iterator - crbegin() const noexcept - { return const_reverse_iterator(this->end()); } - - - - - - - const_reverse_iterator - crend() const noexcept - { return const_reverse_iterator(this->begin()); } - - - public: - - - - size_type - size() const noexcept - { return _M_string_length; } - - - - size_type - length() const noexcept - { return _M_string_length; } - - - size_type - max_size() const noexcept - { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; } -# 814 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - void - resize(size_type __n, _CharT __c); -# 827 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - void - resize(size_type __n) - { this->resize(__n, _CharT()); } - - - - void - shrink_to_fit() noexcept - { - - if (capacity() > size()) - { - try - { reserve(0); } - catch(...) - { } - } - - } - - - - - - - size_type - capacity() const noexcept - { - return _M_is_local() ? size_type(_S_local_capacity) - : _M_allocated_capacity; - } -# 876 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - void - reserve(size_type __res_arg = 0); - - - - - void - clear() noexcept - { _M_set_length(0); } - - - - - - bool - empty() const noexcept - { return this->size() == 0; } -# 905 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - const_reference - operator[] (size_type __pos) const noexcept - { - ; - return _M_data()[__pos]; - } -# 922 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - reference - operator[](size_type __pos) - { - - - ; - - ; - return _M_data()[__pos]; - } -# 943 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - const_reference - at(size_type __n) const - { - if (__n >= this->size()) - __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)") - - , - __n, this->size()); - return _M_data()[__n]; - } -# 964 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - reference - at(size_type __n) - { - if (__n >= size()) - __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)") - - , - __n, this->size()); - return _M_data()[__n]; - } - - - - - - - reference - front() noexcept - { - ; - return operator[](0); - } - - - - - - const_reference - front() const noexcept - { - ; - return operator[](0); - } - - - - - - reference - back() noexcept - { - ; - return operator[](this->size() - 1); - } - - - - - - const_reference - back() const noexcept - { - ; - return operator[](this->size() - 1); - } -# 1027 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - 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& - operator+=(initializer_list<_CharT> __l) - { return this->append(__l.begin(), __l.size()); } - - - - - - - - basic_string& - append(const basic_string& __str) - { return _M_append(__str._M_data(), __str.size()); } -# 1085 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - append(const basic_string& __str, size_type __pos, size_type __n) - { return _M_append(__str._M_data() - + __str._M_check(__pos, "basic_string::append"), - __str._M_limit(__pos, __n)); } - - - - - - - - basic_string& - append(const _CharT* __s, size_type __n) - { - ; - _M_check_length(size_type(0), __n, "basic_string::append"); - return _M_append(__s, __n); - } - - - - - - - basic_string& - append(const _CharT* __s) - { - ; - const size_type __n = traits_type::length(__s); - _M_check_length(size_type(0), __n, "basic_string::append"); - return _M_append(__s, __n); - } -# 1127 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - append(size_type __n, _CharT __c) - { return _M_replace_aux(this->size(), size_type(0), __n, __c); } - - - - - - - - basic_string& - append(initializer_list<_CharT> __l) - { return this->append(__l.begin(), __l.size()); } -# 1151 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - template> - - - - basic_string& - append(_InputIterator __first, _InputIterator __last) - { return this->replace(end(), end(), __first, __last); } - - - - - - void - push_back(_CharT __c) - { - const size_type __size = this->size(); - if (__size + 1 > this->capacity()) - this->_M_mutate(__size, size_type(0), 0, size_type(1)); - traits_type::assign(this->_M_data()[__size], __c); - this->_M_set_length(__size + 1); - } - - - - - - - basic_string& - assign(const basic_string& __str) - { - this->_M_assign(__str); - return *this; - } -# 1195 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - assign(basic_string&& __str) - noexcept(_Alloc_traits::_S_nothrow_move()) - { - - - return *this = std::move(__str); - } -# 1218 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - assign(const basic_string& __str, size_type __pos, size_type __n) - { return _M_replace(size_type(0), this->size(), __str._M_data() - + __str._M_check(__pos, "basic_string::assign"), - __str._M_limit(__pos, __n)); } -# 1234 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - assign(const _CharT* __s, size_type __n) - { - ; - return _M_replace(size_type(0), this->size(), __s, __n); - } -# 1250 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - assign(const _CharT* __s) - { - ; - return _M_replace(size_type(0), this->size(), __s, - traits_type::length(__s)); - } -# 1267 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - assign(size_type __n, _CharT __c) - { return _M_replace_aux(size_type(0), this->size(), __n, __c); } -# 1280 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - template> - - - - basic_string& - assign(_InputIterator __first, _InputIterator __last) - { return this->replace(begin(), end(), __first, __last); } - - - - - - - - basic_string& - assign(initializer_list<_CharT> __l) - { return this->assign(__l.begin(), __l.size()); } -# 1316 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - iterator - insert(const_iterator __p, size_type __n, _CharT __c) - { - ; - const size_type __pos = __p - begin(); - this->replace(__p, __p, __n, __c); - return iterator(this->_M_data() + __pos); - } -# 1358 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - template> - iterator - insert(const_iterator __p, _InputIterator __beg, _InputIterator __end) - { - ; - const size_type __pos = __p - begin(); - this->replace(__p, __p, __beg, __end); - return iterator(this->_M_data() + __pos); - } -# 1394 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - void - insert(iterator __p, initializer_list<_CharT> __l) - { - ; - this->insert(__p - begin(), __l.begin(), __l.size()); - } -# 1414 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - insert(size_type __pos1, const basic_string& __str) - { return this->replace(__pos1, size_type(0), - __str._M_data(), __str.size()); } -# 1437 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - insert(size_type __pos1, const basic_string& __str, - size_type __pos2, size_type __n) - { return this->replace(__pos1, size_type(0), __str._M_data() - + __str._M_check(__pos2, "basic_string::insert"), - __str._M_limit(__pos2, __n)); } -# 1460 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - insert(size_type __pos, const _CharT* __s, size_type __n) - { return this->replace(__pos, size_type(0), __s, __n); } -# 1479 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - insert(size_type __pos, const _CharT* __s) - { - ; - return this->replace(__pos, size_type(0), __s, - traits_type::length(__s)); - } -# 1503 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); } -# 1521 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - iterator - insert(__const_iterator __p, _CharT __c) - { - ; - const size_type __pos = __p - begin(); - _M_replace_aux(__pos, size_type(0), size_type(1), __c); - return iterator(_M_data() + __pos); - } -# 1545 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - erase(size_type __pos = 0, size_type __n = npos) - { - this->_M_erase(_M_check(__pos, "basic_string::erase"), - _M_limit(__pos, __n)); - return *this; - } -# 1561 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - iterator - erase(__const_iterator __position) - { - - ; - const size_type __pos = __position - begin(); - this->_M_erase(__pos, size_type(1)); - return iterator(_M_data() + __pos); - } -# 1580 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - iterator - erase(__const_iterator __first, __const_iterator __last) - { - - ; - const size_type __pos = __first - begin(); - this->_M_erase(__pos, __last - __first); - return iterator(this->_M_data() + __pos); - } - - - - - - - - void - pop_back() noexcept - { - ; - _M_erase(size() - 1, 1); - } -# 1621 "/aux/hubicka/trunk-install/include/c++/6.0.0/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()); } -# 1643 "/aux/hubicka/trunk-install/include/c++/6.0.0/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)); } -# 1668 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - replace(size_type __pos, size_type __n1, const _CharT* __s, - size_type __n2) - { - ; - return _M_replace(_M_check(__pos, "basic_string::replace"), - _M_limit(__pos, __n1), __s, __n2); - } -# 1693 "/aux/hubicka/trunk-install/include/c++/6.0.0/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)); - } -# 1717 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); } -# 1735 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - const basic_string& __str) - { return this->replace(__i1, __i2, __str._M_data(), __str.size()); } -# 1755 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - const _CharT* __s, size_type __n) - { - - ; - return this->replace(__i1 - begin(), __i2 - __i1, __s, __n); - } -# 1777 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s) - { - ; - return this->replace(__i1, __i2, __s, traits_type::length(__s)); - } -# 1798 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, size_type __n, - _CharT __c) - { - - ; - return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c); - } -# 1823 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - template> - basic_string& - replace(const_iterator __i1, const_iterator __i2, - _InputIterator __k1, _InputIterator __k2) - { - - ; - ; - return this->_M_replace_dispatch(__i1, __i2, __k1, __k2, - std::__false_type()); - } -# 1855 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - _CharT* __k1, _CharT* __k2) - { - - ; - ; - return this->replace(__i1 - begin(), __i2 - __i1, - __k1, __k2 - __k1); - } - - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - const _CharT* __k1, const _CharT* __k2) - { - - ; - ; - return this->replace(__i1 - begin(), __i2 - __i1, - __k1, __k2 - __k1); - } - - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - iterator __k1, iterator __k2) - { - - ; - ; - return this->replace(__i1 - begin(), __i2 - __i1, - __k1.base(), __k2 - __k1); - } - - basic_string& - replace(__const_iterator __i1, __const_iterator __i2, - const_iterator __k1, const_iterator __k2) - { - - ; - ; - return this->replace(__i1 - begin(), __i2 - __i1, - __k1.base(), __k2 - __k1); - } -# 1914 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - basic_string& replace(const_iterator __i1, const_iterator __i2, - initializer_list<_CharT> __l) - { return this->replace(__i1, __i2, __l.begin(), __l.end()); } - - - private: - template - basic_string& - _M_replace_dispatch(const_iterator __i1, const_iterator __i2, - _Integer __n, _Integer __val, __true_type) - { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); } - - template - basic_string& - _M_replace_dispatch(const_iterator __i1, const_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(size_type __pos, size_type __len1, const _CharT* __s, - const size_type __len2); - - basic_string& - _M_append(const _CharT* __s, size_type __n); - - public: -# 1957 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - copy(_CharT* __s, size_type __n, size_type __pos = 0) const; -# 1967 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - void - swap(basic_string& __s) noexcept; -# 1977 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - const _CharT* - c_str() const noexcept - { return _M_data(); } - - - - - - - - const _CharT* - data() const noexcept - { return _M_data(); } - - - - - allocator_type - get_allocator() const noexcept - { return _M_get_allocator(); } -# 2010 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - find(const _CharT* __s, size_type __pos, size_type __n) const; -# 2023 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - find(const basic_string& __str, size_type __pos = 0) const - noexcept - { return this->find(__str.data(), __pos, __str.size()); } -# 2038 "/aux/hubicka/trunk-install/include/c++/6.0.0/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)); - } -# 2055 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - find(_CharT __c, size_type __pos = 0) const noexcept; -# 2068 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - rfind(const basic_string& __str, size_type __pos = npos) const - noexcept - { return this->rfind(__str.data(), __pos, __str.size()); } -# 2085 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - rfind(const _CharT* __s, size_type __pos, size_type __n) const; -# 2098 "/aux/hubicka/trunk-install/include/c++/6.0.0/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)); - } -# 2115 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - rfind(_CharT __c, size_type __pos = npos) const noexcept; -# 2129 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - find_first_of(const basic_string& __str, size_type __pos = 0) const - noexcept - { return this->find_first_of(__str.data(), __pos, __str.size()); } -# 2146 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - find_first_of(const _CharT* __s, size_type __pos, size_type __n) const; -# 2159 "/aux/hubicka/trunk-install/include/c++/6.0.0/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)); - } -# 2178 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - find_first_of(_CharT __c, size_type __pos = 0) const noexcept - { return this->find(__c, __pos); } -# 2193 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - find_last_of(const basic_string& __str, size_type __pos = npos) const - noexcept - { return this->find_last_of(__str.data(), __pos, __str.size()); } -# 2210 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - find_last_of(const _CharT* __s, size_type __pos, size_type __n) const; -# 2223 "/aux/hubicka/trunk-install/include/c++/6.0.0/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)); - } -# 2242 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - find_last_of(_CharT __c, size_type __pos = npos) const noexcept - { return this->rfind(__c, __pos); } -# 2256 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - find_first_not_of(const basic_string& __str, size_type __pos = 0) const - noexcept - { return this->find_first_not_of(__str.data(), __pos, __str.size()); } -# 2273 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - find_first_not_of(const _CharT* __s, size_type __pos, - size_type __n) const; -# 2287 "/aux/hubicka/trunk-install/include/c++/6.0.0/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)); - } -# 2304 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - find_first_not_of(_CharT __c, size_type __pos = 0) const - noexcept; -# 2319 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - find_last_not_of(const basic_string& __str, size_type __pos = npos) const - noexcept - { return this->find_last_not_of(__str.data(), __pos, __str.size()); } -# 2336 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - find_last_not_of(const _CharT* __s, size_type __pos, - size_type __n) const; -# 2350 "/aux/hubicka/trunk-install/include/c++/6.0.0/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)); - } -# 2367 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - size_type - find_last_not_of(_CharT __c, size_type __pos = npos) const - noexcept; -# 2383 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); } -# 2402 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 2434 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - int - compare(size_type __pos, size_type __n, const basic_string& __str) const; -# 2460 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - int - compare(size_type __pos1, size_type __n1, const basic_string& __str, - size_type __pos2, size_type __n2) const; -# 2478 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - int - compare(const _CharT* __s) const; -# 2502 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - int - compare(size_type __pos, size_type __n1, const _CharT* __s) const; -# 2529 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - int - compare(size_type __pos, size_type __n1, const _CharT* __s, - size_type __n2) const; - }; -} -# 4917 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } - - - template - inline basic_string<_CharT, _Traits, _Alloc> - operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - { return std::move(__lhs.append(__rhs)); } - - template - inline basic_string<_CharT, _Traits, _Alloc> - operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - basic_string<_CharT, _Traits, _Alloc>&& __rhs) - { return std::move(__rhs.insert(0, __lhs)); } - - template - inline basic_string<_CharT, _Traits, _Alloc> - operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, - basic_string<_CharT, _Traits, _Alloc>&& __rhs) - { - const auto __size = __lhs.size() + __rhs.size(); - const bool __cond = (__size > __lhs.capacity() - && __size <= __rhs.capacity()); - return __cond ? std::move(__rhs.insert(0, __lhs)) - : std::move(__lhs.append(__rhs)); - } - - template - inline basic_string<_CharT, _Traits, _Alloc> - operator+(const _CharT* __lhs, - basic_string<_CharT, _Traits, _Alloc>&& __rhs) - { return std::move(__rhs.insert(0, __lhs)); } - - template - inline basic_string<_CharT, _Traits, _Alloc> - operator+(_CharT __lhs, - basic_string<_CharT, _Traits, _Alloc>&& __rhs) - { return std::move(__rhs.insert(0, 1, __lhs)); } - - template - inline basic_string<_CharT, _Traits, _Alloc> - operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, - const _CharT* __rhs) - { return std::move(__lhs.append(__rhs)); } - - template - inline basic_string<_CharT, _Traits, _Alloc> - operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, - _CharT __rhs) - { return std::move(__lhs.append(1, __rhs)); } -# 5038 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - template - inline bool - operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept - { 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) noexcept - { 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; } -# 5085 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - template - inline bool - operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept - { 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); } -# 5123 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - template - inline bool - operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept - { 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; } -# 5161 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - template - inline bool - operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept - { 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; } -# 5199 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - template - inline bool - operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept - { 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; } -# 5237 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - template - inline bool - operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, - const basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept - { 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; } -# 5275 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - template - inline void - swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, - basic_string<_CharT, _Traits, _Alloc>& __rhs) - noexcept(noexcept(__lhs.swap(__rhs))) - { __lhs.swap(__rhs); } -# 5295 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); -# 5313 "/aux/hubicka/trunk-install/include/c++/6.0.0/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()); - } -# 5336 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - template - basic_istream<_CharT, _Traits>& - getline(basic_istream<_CharT, _Traits>& __is, - basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); -# 5353 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 3 - template - inline basic_istream<_CharT, _Traits>& - getline(basic_istream<_CharT, _Traits>& __is, - basic_string<_CharT, _Traits, _Alloc>& __str) - { return std::getline(__is, __str, __is.widen('\n')); } - - - - template - inline basic_istream<_CharT, _Traits>& - getline(basic_istream<_CharT, _Traits>&& __is, - basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) - { return std::getline(__is, __str, __delim); } - - - template - inline basic_istream<_CharT, _Traits>& - getline(basic_istream<_CharT, _Traits>&& __is, - basic_string<_CharT, _Traits, _Alloc>& __str) - { return std::getline(__is, __str); } - - - 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); - - - -} - - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/string_conversions.h" 1 3 -# 32 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/string_conversions.h" 3 - -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/string_conversions.h" 3 -# 41 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/string_conversions.h" 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdlib" 1 3 -# 39 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdlib" 3 - -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdlib" 3 -# 72 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdlib" 3 -# 1 "/usr/include/stdlib.h" 1 3 4 -# 33 "/usr/include/stdlib.h" 3 4 -# 1 "/aux/hubicka/trunk-install/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include/stddef.h" 1 3 4 -# 34 "/usr/include/stdlib.h" 2 3 4 - -extern "C" { - - - - - - -# 1 "/usr/include/x86_64-linux-gnu/bits/waitflags.h" 1 3 4 -# 43 "/usr/include/stdlib.h" 2 3 4 -# 1 "/usr/include/x86_64-linux-gnu/bits/waitstatus.h" 1 3 4 -# 67 "/usr/include/x86_64-linux-gnu/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))) ; - - - - - -extern __inline __attribute__ ((__gnu_inline__)) double -atof (__const char *__nptr) throw () -{ - return strtod (__nptr, (char **) __null); -} -extern __inline __attribute__ ((__gnu_inline__)) int -atoi (__const char *__nptr) throw () -{ - return (int) strtol (__nptr, (char **) __null, 10); -} -extern __inline __attribute__ ((__gnu_inline__)) long int -atol (__const char *__nptr) throw () -{ - return strtol (__nptr, (char **) __null, 10); -} - - - - -__extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int -atoll (__const char *__nptr) throw () -{ - return strtoll (__nptr, (char **) __null, 10); -} - -# 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/x86_64-linux-gnu/sys/types.h" 1 3 4 -# 28 "/usr/include/x86_64-linux-gnu/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; - - - - -typedef __gid_t gid_t; - - - - -typedef __mode_t mode_t; - - - - -typedef __nlink_t nlink_t; - - - - -typedef __uid_t uid_t; - - - - - -typedef __off_t off_t; - - - - - - -typedef __off64_t off64_t; -# 105 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 -typedef __id_t id_t; - - - - -typedef __ssize_t ssize_t; - - - - - -typedef __daddr_t daddr_t; -typedef __caddr_t caddr_t; - - - - - -typedef __key_t key_t; -# 137 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 -typedef __useconds_t useconds_t; - - - -typedef __suseconds_t suseconds_t; - - - - - -# 1 "/aux/hubicka/trunk-install/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include/stddef.h" 1 3 4 -# 148 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 - - - -typedef unsigned long int ulong; -typedef unsigned short int ushort; -typedef unsigned int uint; -# 201 "/usr/include/x86_64-linux-gnu/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/x86_64-linux-gnu/sys/types.h" 3 4 -# 1 "/usr/include/x86_64-linux-gnu/sys/select.h" 1 3 4 -# 31 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 -# 1 "/usr/include/x86_64-linux-gnu/bits/select.h" 1 3 4 -# 23 "/usr/include/x86_64-linux-gnu/bits/select.h" 3 4 -# 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4 -# 24 "/usr/include/x86_64-linux-gnu/bits/select.h" 2 3 4 -# 32 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 - - -# 1 "/usr/include/x86_64-linux-gnu/bits/sigset.h" 1 3 4 -# 24 "/usr/include/x86_64-linux-gnu/bits/sigset.h" 3 4 -typedef int __sig_atomic_t; - - - - -typedef struct - { - unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; - } __sigset_t; -# 35 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 - - - -typedef __sigset_t sigset_t; - - - - - - - -# 1 "/usr/include/x86_64-linux-gnu/bits/time.h" 1 3 4 -# 75 "/usr/include/x86_64-linux-gnu/bits/time.h" 3 4 -struct timeval - { - __time_t tv_sec; - __suseconds_t tv_usec; - }; -# 47 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4 -# 55 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 -typedef long int __fd_mask; -# 67 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 -typedef struct - { - - - - __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; - - - - - - } fd_set; - - - - - - -typedef __fd_mask fd_mask; -# 99 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4 -extern "C" { -# 109 "/usr/include/x86_64-linux-gnu/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/x86_64-linux-gnu/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/x86_64-linux-gnu/sys/types.h" 2 3 4 - - -# 1 "/usr/include/x86_64-linux-gnu/sys/sysmacros.h" 1 3 4 -# 30 "/usr/include/x86_64-linux-gnu/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 (); - - -__extension__ extern __inline __attribute__ ((__gnu_inline__)) unsigned int -gnu_dev_major (unsigned long long int __dev) throw () -{ - return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); -} - -__extension__ extern __inline __attribute__ ((__gnu_inline__)) unsigned int -gnu_dev_minor (unsigned long long int __dev) throw () -{ - return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); -} - -__extension__ extern __inline __attribute__ ((__gnu_inline__)) unsigned long long int -gnu_dev_makedev (unsigned int __major, unsigned int __minor) throw () -{ - return ((__minor & 0xff) | ((__major & 0xfff) << 8) - | (((unsigned long long int) (__minor & ~0xff)) << 12) - | (((unsigned long long int) (__major & ~0xfff)) << 32)); -} -# 224 "/usr/include/x86_64-linux-gnu/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; -# 263 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 -typedef __blkcnt64_t blkcnt64_t; -typedef __fsblkcnt64_t fsblkcnt64_t; -typedef __fsfilcnt64_t fsfilcnt64_t; -# 274 "/usr/include/x86_64-linux-gnu/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 "/aux/hubicka/trunk-install/lib/gcc/x86_64-pc-linux-gnu/6.0.0/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 "C++" int at_quick_exit (void (*__func) (void)) - throw () __asm ("at_quick_exit") __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 quick_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 () __attribute__ ((__nonnull__ (1))); - - - - - - -extern int clearenv (void) throw (); -# 606 "/usr/include/stdlib.h" 3 4 -extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ; -# 620 "/usr/include/stdlib.h" 3 4 -extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; -# 630 "/usr/include/stdlib.h" 3 4 -extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ; -# 642 "/usr/include/stdlib.h" 3 4 -extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; -# 652 "/usr/include/stdlib.h" 3 4 -extern int mkstemps64 (char *__template, int __suffixlen) - __attribute__ ((__nonnull__ (1))) ; -# 663 "/usr/include/stdlib.h" 3 4 -extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ; -# 674 "/usr/include/stdlib.h" 3 4 -extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; -# 684 "/usr/include/stdlib.h" 3 4 -extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; -# 694 "/usr/include/stdlib.h" 3 4 -extern int mkostemps (char *__template, int __suffixlen, int __flags) - __attribute__ ((__nonnull__ (1))) ; -# 706 "/usr/include/stdlib.h" 3 4 -extern int mkostemps64 (char *__template, int __suffixlen, int __flags) - __attribute__ ((__nonnull__ (1))) ; - - - - - - - - - -extern int system (__const char *__command) ; - - - - - - -extern char *canonicalize_file_name (__const char *__name) - throw () __attribute__ ((__nonnull__ (1))) ; -# 734 "/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__)) ; - -# 808 "/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))) ; -# 896 "/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))); -# 964 "/usr/include/stdlib.h" 3 4 -} -# 73 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdlib" 2 3 -# 114 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdlib" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - using ::div_t; - using ::ldiv_t; - - using ::abort; - using ::abs; - using ::atexit; - - - using ::at_quick_exit; - - - 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 ::quick_exit; - - - using ::rand; - using ::realloc; - using ::srand; - using ::strtod; - using ::strtol; - using ::strtoul; - using ::system; - - using ::wcstombs; - using ::wctomb; - - - - inline long - abs(long __i) { return __builtin_labs(__i); } - - inline ldiv_t - div(long __i, long __j) { return ldiv(__i, __j); } - - - - inline long long - abs(long long __x) { return __builtin_llabs (__x); } - - - - inline __int128 - abs(__int128 __x) { return __x >= 0 ? __x : -__x; } -# 195 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdlib" 3 - -} -# 209 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdlib" 3 -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - - using ::lldiv_t; - - - - - - using ::_Exit; - - - - 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; -# 241 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdlib" 3 - using ::atoll; - using ::strtoll; - using ::strtoull; - - using ::strtof; - using ::strtold; - - -} - -namespace std -{ - - using ::__gnu_cxx::lldiv_t; - - using ::__gnu_cxx::_Exit; - - 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; -} -# 42 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/string_conversions.h" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwchar" 1 3 -# 39 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwchar" 3 - -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwchar" 3 - - - - -# 1 "/usr/include/wchar.h" 1 3 4 -# 45 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwchar" 2 3 -# 43 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/string_conversions.h" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdio" 1 3 -# 39 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdio" 3 - -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdio" 3 - - -# 1 "/usr/include/stdio.h" 1 3 4 -# 30 "/usr/include/stdio.h" 3 4 -extern "C" { - - - -# 1 "/aux/hubicka/trunk-install/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include/stddef.h" 1 3 4 -# 35 "/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 "/aux/hubicka/trunk-install/lib/gcc/x86_64-pc-linux-gnu/6.0.0/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 "/aux/hubicka/trunk-install/lib/gcc/x86_64-pc-linux-gnu/6.0.0/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); -# 460 "/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 (); -# 490 "/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 (); -# 552 "/usr/include/libio.h" 3 4 -} -# 76 "/usr/include/stdio.h" 2 3 4 - - - - -typedef __gnuc_va_list va_list; -# 109 "/usr/include/stdio.h" 3 4 - - -typedef _G_fpos_t fpos_t; - - - - - -typedef _G_fpos64_t fpos64_t; -# 161 "/usr/include/stdio.h" 3 4 -# 1 "/usr/include/x86_64-linux-gnu/bits/stdio_lim.h" 1 3 4 -# 162 "/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) ; -# 202 "/usr/include/stdio.h" 3 4 -extern FILE *tmpfile64 (void) ; - - - -extern char *tmpnam (char *__s) throw () ; - - - - - -extern char *tmpnam_r (char *__s) throw () ; -# 224 "/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); - -# 249 "/usr/include/stdio.h" 3 4 -extern int fflush_unlocked (FILE *__stream); -# 259 "/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) ; -# 292 "/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))) ; -# 414 "/usr/include/stdio.h" 3 4 -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 (); -# 465 "/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))); -# 524 "/usr/include/stdio.h" 3 4 - - - - - - - - - -extern int fgetc (FILE *__stream); -extern int getc (FILE *__stream); - - - - - -extern int getchar (void); - -# 552 "/usr/include/stdio.h" 3 4 -extern int getc_unlocked (FILE *__stream); -extern int getchar_unlocked (void); -# 563 "/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); - -# 596 "/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) ; - -# 642 "/usr/include/stdio.h" 3 4 -extern char *fgets_unlocked (char *__restrict __s, int __n, - FILE *__restrict __stream) ; -# 658 "/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); - -# 719 "/usr/include/stdio.h" 3 4 -extern int fputs_unlocked (__const char *__restrict __s, - FILE *__restrict __stream); -# 730 "/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); - -# 766 "/usr/include/stdio.h" 3 4 -extern int fseeko (FILE *__stream, __off_t __off, int __whence); - - - - -extern __off_t ftello (FILE *__stream) ; -# 785 "/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); -# 808 "/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/x86_64-linux-gnu/bits/sys_errlist.h" 1 3 4 -# 27 "/usr/include/x86_64-linux-gnu/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[]; -# 847 "/usr/include/stdio.h" 2 3 4 - - - - -extern int fileno (FILE *__stream) throw () ; - - - - -extern int fileno_unlocked (FILE *__stream) throw () ; -# 866 "/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 (); -# 927 "/usr/include/stdio.h" 3 4 -# 1 "/usr/include/x86_64-linux-gnu/bits/stdio.h" 1 3 4 -# 36 "/usr/include/x86_64-linux-gnu/bits/stdio.h" 3 4 -extern __inline __attribute__ ((__gnu_inline__)) int -vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) -{ - return vfprintf (stdout, __fmt, __arg); -} - - - -extern __inline __attribute__ ((__gnu_inline__)) int -getchar (void) -{ - return _IO_getc (stdin); -} - - - - -extern __inline __attribute__ ((__gnu_inline__)) int -fgetc_unlocked (FILE *__fp) -{ - return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); -} - - - - - -extern __inline __attribute__ ((__gnu_inline__)) int -getc_unlocked (FILE *__fp) -{ - return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); -} - - -extern __inline __attribute__ ((__gnu_inline__)) int -getchar_unlocked (void) -{ - return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); -} - - - - -extern __inline __attribute__ ((__gnu_inline__)) int -putchar (int __c) -{ - return _IO_putc (__c, stdout); -} - - - - -extern __inline __attribute__ ((__gnu_inline__)) int -fputc_unlocked (int __c, FILE *__stream) -{ - return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); -} - - - - - -extern __inline __attribute__ ((__gnu_inline__)) int -putc_unlocked (int __c, FILE *__stream) -{ - return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); -} - - -extern __inline __attribute__ ((__gnu_inline__)) int -putchar_unlocked (int __c) -{ - return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); -} - - - - - -extern __inline __attribute__ ((__gnu_inline__)) __ssize_t -getline (char **__lineptr, size_t *__n, FILE *__stream) -{ - return __getdelim (__lineptr, __n, '\n', __stream); -} - - - - - -extern __inline __attribute__ ((__gnu_inline__)) int -feof_unlocked (FILE *__stream) throw () -{ - return (((__stream)->_flags & 0x10) != 0); -} - - -extern __inline __attribute__ ((__gnu_inline__)) int -ferror_unlocked (FILE *__stream) throw () -{ - return (((__stream)->_flags & 0x20) != 0); -} -# 928 "/usr/include/stdio.h" 2 3 4 -# 936 "/usr/include/stdio.h" 3 4 -} -# 43 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdio" 2 3 -# 96 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdio" 3 -namespace std -{ - using ::FILE; - using ::fpos_t; - - using ::clearerr; - using ::fclose; - using ::feof; - using ::ferror; - using ::fflush; - using ::fgetc; - using ::fgetpos; - using ::fgets; - using ::fopen; - using ::fprintf; - using ::fputc; - using ::fputs; - using ::fread; - using ::freopen; - using ::fscanf; - using ::fseek; - using ::fsetpos; - using ::ftell; - using ::fwrite; - using ::getc; - using ::getchar; - - - - - using ::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; -} -# 157 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdio" 3 -namespace __gnu_cxx -{ -# 175 "/aux/hubicka/trunk-install/include/c++/6.0.0/cstdio" 3 - using ::snprintf; - using ::vfscanf; - using ::vscanf; - using ::vsnprintf; - using ::vsscanf; - -} - -namespace std -{ - using ::__gnu_cxx::snprintf; - using ::__gnu_cxx::vfscanf; - using ::__gnu_cxx::vscanf; - using ::__gnu_cxx::vsnprintf; - using ::__gnu_cxx::vsscanf; -} -# 44 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/string_conversions.h" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/cerrno" 1 3 -# 39 "/aux/hubicka/trunk-install/include/c++/6.0.0/cerrno" 3 - -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/cerrno" 3 - - -# 1 "/usr/include/errno.h" 1 3 4 -# 32 "/usr/include/errno.h" 3 4 -extern "C" { - - - -# 1 "/usr/include/x86_64-linux-gnu/bits/errno.h" 1 3 4 -# 25 "/usr/include/x86_64-linux-gnu/bits/errno.h" 3 4 -# 1 "/usr/include/linux/errno.h" 1 3 4 -# 1 "/usr/include/asm/errno.h" 1 3 4 -# 1 "/usr/include/asm-generic/errno.h" 1 3 4 - - - -# 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 -# 5 "/usr/include/asm-generic/errno.h" 2 3 4 -# 1 "/usr/include/asm/errno.h" 2 3 4 -# 1 "/usr/include/linux/errno.h" 2 3 4 -# 26 "/usr/include/x86_64-linux-gnu/bits/errno.h" 2 3 4 -# 47 "/usr/include/x86_64-linux-gnu/bits/errno.h" 3 4 -extern int *__errno_location (void) throw () __attribute__ ((__const__)); -# 37 "/usr/include/errno.h" 2 3 4 -# 55 "/usr/include/errno.h" 3 4 -extern char *program_invocation_name, *program_invocation_short_name; - - - -} -# 69 "/usr/include/errno.h" 3 4 -typedef int error_t; -# 43 "/aux/hubicka/trunk-install/include/c++/6.0.0/cerrno" 2 3 -# 45 "/aux/hubicka/trunk-install/include/c++/6.0.0/ext/string_conversions.h" 2 3 - -namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) -{ - - - - template - _Ret - __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), - const char* __name, const _CharT* __str, std::size_t* __idx, - _Base... __base) - { - _Ret __ret; - - _CharT* __endptr; - - struct _Save_errno { - _Save_errno() : _M_errno((*__errno_location ())) { (*__errno_location ()) = 0; } - ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _M_errno; } - int _M_errno; - } const __save_errno; - - const _TRet __tmp = __convf(__str, &__endptr, __base...); - - if (__endptr == __str) - std::__throw_invalid_argument(__name); - else if ((*__errno_location ()) == 34 - || (std::__are_same<_Ret, int>::__value - && (__tmp < __numeric_traits::__min - || __tmp > __numeric_traits::__max))) - std::__throw_out_of_range(__name); - else - __ret = __tmp; - - if (__idx) - *__idx = __endptr - __str; - - return __ret; - } - - - template - _String - __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*, - __builtin_va_list), std::size_t __n, - const _CharT* __fmt, ...) - { - - - _CharT* __s = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __n)); - - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - - const int __len = __convf(__s, __n, __fmt, __args); - - __builtin_va_end(__args); - - return _String(__s, __s + __len); - } - - -} -# 5393 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace __cxx11 { - - - inline int - stoi(const string& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::strtol, "stoi", __str.c_str(), - __idx, __base); } - - inline long - stol(const string& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(), - __idx, __base); } - - inline unsigned long - stoul(const string& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(), - __idx, __base); } - - inline long long - stoll(const string& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(), - __idx, __base); } - - inline unsigned long long - stoull(const string& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::strtoull, "stoull", __str.c_str(), - __idx, __base); } - - - inline float - stof(const string& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); } - - inline double - stod(const string& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); } - - inline long double - stold(const string& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); } - - - - - inline string - to_string(int __val) - { return __gnu_cxx::__to_xstring(&std::vsnprintf, 4 * sizeof(int), - "%d", __val); } - - inline string - to_string(unsigned __val) - { return __gnu_cxx::__to_xstring(&std::vsnprintf, - 4 * sizeof(unsigned), - "%u", __val); } - - inline string - to_string(long __val) - { return __gnu_cxx::__to_xstring(&std::vsnprintf, 4 * sizeof(long), - "%ld", __val); } - - inline string - to_string(unsigned long __val) - { return __gnu_cxx::__to_xstring(&std::vsnprintf, - 4 * sizeof(unsigned long), - "%lu", __val); } - - inline string - to_string(long long __val) - { return __gnu_cxx::__to_xstring(&std::vsnprintf, - 4 * sizeof(long long), - "%lld", __val); } - - inline string - to_string(unsigned long long __val) - { return __gnu_cxx::__to_xstring(&std::vsnprintf, - 4 * sizeof(unsigned long long), - "%llu", __val); } - - inline string - to_string(float __val) - { - const int __n = - __gnu_cxx::__numeric_traits::__max_exponent10 + 20; - return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, - "%f", __val); - } - - inline string - to_string(double __val) - { - const int __n = - __gnu_cxx::__numeric_traits::__max_exponent10 + 20; - return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, - "%f", __val); - } - - inline string - to_string(long double __val) - { - const int __n = - __gnu_cxx::__numeric_traits::__max_exponent10 + 20; - return __gnu_cxx::__to_xstring(&std::vsnprintf, __n, - "%Lf", __val); - } - - - inline int - stoi(const wstring& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::wcstol, "stoi", __str.c_str(), - __idx, __base); } - - inline long - stol(const wstring& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::wcstol, "stol", __str.c_str(), - __idx, __base); } - - inline unsigned long - stoul(const wstring& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::wcstoul, "stoul", __str.c_str(), - __idx, __base); } - - inline long long - stoll(const wstring& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::wcstoll, "stoll", __str.c_str(), - __idx, __base); } - - inline unsigned long long - stoull(const wstring& __str, size_t* __idx = 0, int __base = 10) - { return __gnu_cxx::__stoa(&std::wcstoull, "stoull", __str.c_str(), - __idx, __base); } - - - inline float - stof(const wstring& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); } - - inline double - stod(const wstring& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); } - - inline long double - stold(const wstring& __str, size_t* __idx = 0) - { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); } - - - - inline wstring - to_wstring(int __val) - { return __gnu_cxx::__to_xstring(&std::vswprintf, 4 * sizeof(int), - L"%d", __val); } - - inline wstring - to_wstring(unsigned __val) - { return __gnu_cxx::__to_xstring(&std::vswprintf, - 4 * sizeof(unsigned), - L"%u", __val); } - - inline wstring - to_wstring(long __val) - { return __gnu_cxx::__to_xstring(&std::vswprintf, 4 * sizeof(long), - L"%ld", __val); } - - inline wstring - to_wstring(unsigned long __val) - { return __gnu_cxx::__to_xstring(&std::vswprintf, - 4 * sizeof(unsigned long), - L"%lu", __val); } - - inline wstring - to_wstring(long long __val) - { return __gnu_cxx::__to_xstring(&std::vswprintf, - 4 * sizeof(long long), - L"%lld", __val); } - - inline wstring - to_wstring(unsigned long long __val) - { return __gnu_cxx::__to_xstring(&std::vswprintf, - 4 * sizeof(unsigned long long), - L"%llu", __val); } - - inline wstring - to_wstring(float __val) - { - const int __n = - __gnu_cxx::__numeric_traits::__max_exponent10 + 20; - return __gnu_cxx::__to_xstring(&std::vswprintf, __n, - L"%f", __val); - } - - inline wstring - to_wstring(double __val) - { - const int __n = - __gnu_cxx::__numeric_traits::__max_exponent10 + 20; - return __gnu_cxx::__to_xstring(&std::vswprintf, __n, - L"%f", __val); - } - - inline wstring - to_wstring(long double __val) - { - const int __n = - __gnu_cxx::__numeric_traits::__max_exponent10 + 20; - return __gnu_cxx::__to_xstring(&std::vswprintf, __n, - L"%Lf", __val); - } - - - -} - -} - - - - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/functional_hash.h" 1 3 -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/functional_hash.h" 3 - -# 34 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/functional_hash.h" 3 - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/hash_bytes.h" 1 3 -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/hash_bytes.h" 3 - -# 34 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/hash_bytes.h" 3 - - - -namespace std -{ - - - - - - - - size_t - _Hash_bytes(const void* __ptr, size_t __len, size_t __seed); - - - - - - size_t - _Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed); - - -} -# 36 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/functional_hash.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 49 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/functional_hash.h" 3 - template - struct __hash_base - { - typedef _Result result_type; - typedef _Arg argument_type; - }; - - - template - struct hash; - - - template::value> - struct __hash_enum - { - private: - - __hash_enum(__hash_enum&&); - ~__hash_enum(); - }; - - - template - struct __hash_enum<_Tp, true> : public __hash_base - { - size_t - operator()(_Tp __val) const noexcept - { - using __type = typename underlying_type<_Tp>::type; - return hash<__type>{}(static_cast<__type>(__val)); - } - }; - - - - template - struct hash : __hash_enum<_Tp> - { }; - - - template - struct hash<_Tp*> : public __hash_base - { - size_t - operator()(_Tp* __p) const noexcept - { return reinterpret_cast(__p); } - }; -# 108 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/functional_hash.h" 3 - template<> struct hash : public __hash_base { size_t operator()(bool __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(char __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(signed char __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(unsigned char __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(wchar_t __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(char16_t __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(char32_t __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(short __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(int __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(long __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(long long __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(unsigned short __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(unsigned int __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(unsigned long __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash : public __hash_base { size_t operator()(unsigned long long __val) const noexcept { return static_cast(__val); } }; - - - template<> struct hash<__int128> : public __hash_base { size_t operator()(__int128 __val) const noexcept { return static_cast(__val); } }; - template<> struct hash<__int128 unsigned> : public __hash_base { size_t operator()(__int128 unsigned __val) const noexcept { return static_cast(__val); } }; -# 171 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/functional_hash.h" 3 - struct _Hash_impl - { - static size_t - hash(const void* __ptr, size_t __clength, - size_t __seed = static_cast(0xc70f6907UL)) - { return _Hash_bytes(__ptr, __clength, __seed); } - - template - static size_t - hash(const _Tp& __val) - { return hash(&__val, sizeof(__val)); } - - template - static size_t - __hash_combine(const _Tp& __val, size_t __hash) - { return hash(&__val, sizeof(__val), __hash); } - }; - - struct _Fnv_hash_impl - { - static size_t - hash(const void* __ptr, size_t __clength, - size_t __seed = static_cast(2166136261UL)) - { return _Fnv_hash_bytes(__ptr, __clength, __seed); } - - template - static size_t - hash(const _Tp& __val) - { return hash(&__val, sizeof(__val)); } - - template - static size_t - __hash_combine(const _Tp& __val, size_t __hash) - { return hash(&__val, sizeof(__val), __hash); } - }; - - - template<> - struct hash : public __hash_base - { - size_t - operator()(float __val) const noexcept - { - - return __val != 0.0f ? std::_Hash_impl::hash(__val) : 0; - } - }; - - - template<> - struct hash : public __hash_base - { - size_t - operator()(double __val) const noexcept - { - - return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0; - } - }; - - - template<> - struct hash - : public __hash_base - { - __attribute__ ((__pure__)) size_t - operator()(long double __val) const noexcept; - }; - - - - - - - - template - struct __is_fast_hash : public std::true_type - { }; - - template<> - struct __is_fast_hash> : public std::false_type - { }; - - -} -# 5615 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - - template<> - struct hash - : public __hash_base - { - size_t - operator()(const string& __s) const noexcept - { return std::_Hash_impl::hash(__s.data(), __s.length()); } - }; - - template<> - struct __is_fast_hash> : std::false_type - { }; - - - - template<> - struct hash - : public __hash_base - { - size_t - operator()(const wstring& __s) const noexcept - { return std::_Hash_impl::hash(__s.data(), - __s.length() * sizeof(wchar_t)); } - }; - - template<> - struct __is_fast_hash> : std::false_type - { }; - - - - - - template<> - struct hash - : public __hash_base - { - size_t - operator()(const u16string& __s) const noexcept - { return std::_Hash_impl::hash(__s.data(), - __s.length() * sizeof(char16_t)); } - }; - - template<> - struct __is_fast_hash> : std::false_type - { }; - - - template<> - struct hash - : public __hash_base - { - size_t - operator()(const u32string& __s) const noexcept - { return std::_Hash_impl::hash(__s.data(), - __s.length() * sizeof(char32_t)); } - }; - - template<> - struct __is_fast_hash> : std::false_type - { }; - - - - - - - inline namespace literals - { - inline namespace string_literals - { - - __attribute ((__abi_tag__ ("cxx11"))) - inline basic_string - operator""s(const char* __str, size_t __len) - { return basic_string{__str, __len}; } - - - __attribute ((__abi_tag__ ("cxx11"))) - inline basic_string - operator""s(const wchar_t* __str, size_t __len) - { return basic_string{__str, __len}; } - - - - __attribute ((__abi_tag__ ("cxx11"))) - inline basic_string - operator""s(const char16_t* __str, size_t __len) - { return basic_string{__str, __len}; } - - __attribute ((__abi_tag__ ("cxx11"))) - inline basic_string - operator""s(const char32_t* __str, size_t __len) - { return basic_string{__str, __len}; } - - - } - } - - - - -} -# 53 "/aux/hubicka/trunk-install/include/c++/6.0.0/string" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.tcc" 1 3 -# 42 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.tcc" 3 - -# 43 "/aux/hubicka/trunk-install/include/c++/6.0.0/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>::npos; - - template - void - basic_string<_CharT, _Traits, _Alloc>:: - swap(basic_string& __s) noexcept - { - if (this == &__s) - return; - - _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator()); - - if (_M_is_local()) - if (__s._M_is_local()) - { - if (length() && __s.length()) - { - _CharT __tmp_data[_S_local_capacity + 1]; - traits_type::copy(__tmp_data, __s._M_local_buf, - _S_local_capacity + 1); - traits_type::copy(__s._M_local_buf, _M_local_buf, - _S_local_capacity + 1); - traits_type::copy(_M_local_buf, __tmp_data, - _S_local_capacity + 1); - } - else if (__s.length()) - { - traits_type::copy(_M_local_buf, __s._M_local_buf, - _S_local_capacity + 1); - _M_length(__s.length()); - __s._M_set_length(0); - return; - } - else if (length()) - { - traits_type::copy(__s._M_local_buf, _M_local_buf, - _S_local_capacity + 1); - __s._M_length(length()); - _M_set_length(0); - return; - } - } - else - { - const size_type __tmp_capacity = __s._M_allocated_capacity; - traits_type::copy(__s._M_local_buf, _M_local_buf, - _S_local_capacity + 1); - _M_data(__s._M_data()); - __s._M_data(__s._M_local_buf); - _M_capacity(__tmp_capacity); - } - else - { - const size_type __tmp_capacity = _M_allocated_capacity; - if (__s._M_is_local()) - { - traits_type::copy(_M_local_buf, __s._M_local_buf, - _S_local_capacity + 1); - __s._M_data(_M_data()); - _M_data(_M_local_buf); - } - else - { - pointer __tmp_ptr = _M_data(); - _M_data(__s._M_data()); - __s._M_data(__tmp_ptr); - _M_capacity(__s._M_allocated_capacity); - } - __s._M_capacity(__tmp_capacity); - } - - const size_type __tmp_length = length(); - _M_length(__s.length()); - __s._M_length(__tmp_length); - } - - template - typename basic_string<_CharT, _Traits, _Alloc>::pointer - basic_string<_CharT, _Traits, _Alloc>:: - _M_create(size_type& __capacity, size_type __old_capacity) - { - - - if (__capacity > max_size()) - std::__throw_length_error(("basic_string::_M_create")); - - - - - if (__capacity > __old_capacity && __capacity < 2 * __old_capacity) - { - __capacity = 2 * __old_capacity; - - if (__capacity > max_size()) - __capacity = max_size(); - } - - - - return _Alloc_traits::allocate(_M_get_allocator(), __capacity + 1); - } - - - - - - template - template - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_construct(_InIterator __beg, _InIterator __end, - std::input_iterator_tag) - { - size_type __len = 0; - size_type __capacity = size_type(_S_local_capacity); - - while (__beg != __end && __len < __capacity) - { - _M_data()[__len++] = *__beg; - ++__beg; - } - - try - { - while (__beg != __end) - { - if (__len == __capacity) - { - - __capacity = __len + 1; - pointer __another = _M_create(__capacity, __len); - this->_S_copy(__another, _M_data(), __len); - _M_dispose(); - _M_data(__another); - _M_capacity(__capacity); - } - _M_data()[__len++] = *__beg; - ++__beg; - } - } - catch(...) - { - _M_dispose(); - throw; - } - - _M_set_length(__len); - } - - template - template - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_construct(_InIterator __beg, _InIterator __end, - std::forward_iterator_tag) - { - - if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end) - std::__throw_logic_error(("basic_string::" "_M_construct null not valid") - ); - - size_type __dnew = static_cast(std::distance(__beg, __end)); - - if (__dnew > size_type(_S_local_capacity)) - { - _M_data(_M_create(__dnew, size_type(0))); - _M_capacity(__dnew); - } - - - try - { this->_S_copy_chars(_M_data(), __beg, __end); } - catch(...) - { - _M_dispose(); - throw; - } - - _M_set_length(__dnew); - } - - template - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_construct(size_type __n, _CharT __c) - { - if (__n > size_type(_S_local_capacity)) - { - _M_data(_M_create(__n, size_type(0))); - _M_capacity(__n); - } - - if (__n) - this->_S_assign(_M_data(), __n, __c); - - _M_set_length(__n); - } - - template - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_assign(const basic_string& __str) - { - if (this != &__str) - { - const size_type __rsize = __str.length(); - const size_type __capacity = capacity(); - - if (__rsize > __capacity) - { - size_type __new_capacity = __rsize; - pointer __tmp = _M_create(__new_capacity, __capacity); - _M_dispose(); - _M_data(__tmp); - _M_capacity(__new_capacity); - } - - if (__rsize) - this->_S_copy(_M_data(), __str._M_data(), __rsize); - - _M_set_length(__rsize); - } - } - - template - void - basic_string<_CharT, _Traits, _Alloc>:: - reserve(size_type __res) - { - - if (__res < length()) - __res = length(); - - const size_type __capacity = capacity(); - if (__res != __capacity) - { - if (__res > __capacity - || __res > size_type(_S_local_capacity)) - { - pointer __tmp = _M_create(__res, __capacity); - this->_S_copy(__tmp, _M_data(), length() + 1); - _M_dispose(); - _M_data(__tmp); - _M_capacity(__res); - } - else if (!_M_is_local()) - { - this->_S_copy(_M_local_data(), _M_data(), length() + 1); - _M_destroy(__capacity); - _M_data(_M_local_data()); - } - } - } - - template - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, - size_type __len2) - { - const size_type __how_much = length() - __pos - __len1; - - size_type __new_capacity = length() + __len2 - __len1; - pointer __r = _M_create(__new_capacity, capacity()); - - if (__pos) - this->_S_copy(__r, _M_data(), __pos); - if (__s && __len2) - this->_S_copy(__r + __pos, __s, __len2); - if (__how_much) - this->_S_copy(__r + __pos + __len2, - _M_data() + __pos + __len1, __how_much); - - _M_dispose(); - _M_data(__r); - _M_capacity(__new_capacity); - } - - template - void - basic_string<_CharT, _Traits, _Alloc>:: - _M_erase(size_type __pos, size_type __n) - { - const size_type __how_much = length() - __pos - __n; - - if (__how_much && __n) - this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much); - - _M_set_length(length() - __n); - } - - template - void - basic_string<_CharT, _Traits, _Alloc>:: - resize(size_type __n, _CharT __c) - { - const size_type __size = this->size(); - if (__size < __n) - this->append(__n - __size, __c); - else if (__n < __size) - this->_M_erase(__n, __size - __n); - } - - template - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - _M_append(const _CharT* __s, size_type __n) - { - const size_type __len = __n + this->size(); - - if (__len <= this->capacity()) - { - if (__n) - this->_S_copy(this->_M_data() + this->size(), __s, __n); - } - else - this->_M_mutate(this->size(), size_type(0), __s, __n); - - this->_M_set_length(__len); - return *this; - } - - template - template - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - _M_replace_dispatch(const_iterator __i1, const_iterator __i2, - _InputIterator __k1, _InputIterator __k2, - std::__false_type) - { - const basic_string __s(__k1, __k2); - const size_type __n1 = __i2 - __i1; - return _M_replace(__i1 - begin(), __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"); - - const size_type __old_size = this->size(); - const size_type __new_size = __old_size + __n2 - __n1; - - if (__new_size <= this->capacity()) - { - pointer __p = this->_M_data() + __pos1; - - const size_type __how_much = __old_size - __pos1 - __n1; - if (__how_much && __n1 != __n2) - this->_S_move(__p + __n2, __p + __n1, __how_much); - } - else - this->_M_mutate(__pos1, __n1, 0, __n2); - - if (__n2) - this->_S_assign(this->_M_data() + __pos1, __n2, __c); - - this->_M_set_length(__new_size); - return *this; - } - - template - basic_string<_CharT, _Traits, _Alloc>& - basic_string<_CharT, _Traits, _Alloc>:: - _M_replace(size_type __pos, size_type __len1, const _CharT* __s, - const size_type __len2) - { - _M_check_length(__len1, __len2, "basic_string::_M_replace"); - - const size_type __old_size = this->size(); - const size_type __new_size = __old_size + __len2 - __len1; - - if (__new_size <= this->capacity()) - { - pointer __p = this->_M_data() + __pos; - - const size_type __how_much = __old_size - __pos - __len1; - if (_M_disjunct(__s)) - { - if (__how_much && __len1 != __len2) - this->_S_move(__p + __len2, __p + __len1, __how_much); - if (__len2) - this->_S_copy(__p, __s, __len2); - } - else - { - - if (__len2 && __len2 <= __len1) - this->_S_move(__p, __s, __len2); - if (__how_much && __len1 != __len2) - this->_S_move(__p + __len2, __p + __len1, __how_much); - if (__len2 > __len1) - { - if (__s + __len2 <= __p + __len1) - this->_S_move(__p, __s, __len2); - else if (__s >= __p + __len1) - this->_S_copy(__p, __s + __len2 - __len1, __len2); - else - { - const size_type __nleft = (__p + __len1) - __s; - this->_S_move(__p, __s, __nleft); - this->_S_copy(__p + __nleft, __p + __len2, - __len2 - __nleft); - } - } - } - } - else - this->_M_mutate(__pos, __len1, __s, __len2); - - this->_M_set_length(__new_size); - return *this; - } - - 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) - _S_copy(__s, _M_data() + __pos, __n); - - return __n; - } -# 1145 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_string.tcc" 3 - 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>:: - 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 noexcept - { - 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 noexcept - { - 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 noexcept - { - 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 noexcept - { - 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&); - - - - -} -# 54 "/aux/hubicka/trunk-install/include/c++/6.0.0/string" 2 3 -# 41 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 62 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; -# 98 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); -# 117 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - locale() throw(); -# 126 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - locale(const locale& __other) throw(); -# 136 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - explicit - locale(const char* __s); -# 151 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - locale(const locale& __base, const char* __s, category __cat); -# 162 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - explicit - locale(const std::string& __s) : locale(__s.c_str()) { } -# 177 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - locale(const locale& __base, const std::string& __s, category __cat) - : locale(__base, __s.c_str(), __cat) { } -# 192 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - locale(const locale& __base, const locale& __add, category __cat); -# 205 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - template - locale(const locale& __other, _Facet* __f); - - - ~locale() throw(); -# 219 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - const locale& - operator=(const locale& __other) throw(); -# 234 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - template - locale - combine(const locale& __other) const; - - - - - - - __attribute ((__abi_tag__ ("cxx11"))) - string - name() const; -# 254 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - bool - operator==(const locale& __other) const throw(); - - - - - - - - bool - operator!=(const locale& __other) const throw() - { return !(this->operator==(__other)); } -# 282 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - template - bool - operator()(const basic_string<_Char, _Traits, _Alloc>& __s1, - const basic_string<_Char, _Traits, _Alloc>& __s2) const; -# 298 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - static locale - global(const locale& __loc); - - - - - static const locale& - classic(); - - private: - - _Impl* _M_impl; - - - static _Impl* _S_classic; - - - static _Impl* _S_global; - - - - - - static const char* const* const _S_categories; -# 333 "/aux/hubicka/trunk-install/include/c++/6.0.0/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() throw(); - - static category - _S_normalize_category(category); - - void - _M_coalesce(const locale& __base, const locale& __add, category __cat); - - - static const id* const _S_twinned_facets[]; - - }; -# 371 "/aux/hubicka/trunk-install/include/c++/6.0.0/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: -# 402 "/aux/hubicka/trunk-install/include/c++/6.0.0/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) throw(); - - static void - _S_destroy_c_locale(__c_locale& __cloc); - - static __c_locale - _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s); - - - - static __c_locale - _S_get_c_locale(); - - __attribute__ ((__const__)) static const char* - _S_get_c_name() throw(); -# 438 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - facet(const facet&) = delete; - - facet& - operator=(const facet&) = delete; - - - 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(...) - { } - } - } - - class __shim; - - const facet* _M_sso_shim(const id*) const; - const facet* _M_cow_shim(const id*) const; - }; -# 482 "/aux/hubicka/trunk-install/include/c++/6.0.0/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 throw(); - }; - - - - 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); } - - template - void - _M_init_facet_unchecked(_Facet* __facet) - { - __facet->_M_add_reference(); - _M_facets[_Facet::id._M_id()] = __facet; - } - - void - _M_install_cache(const facet*, size_t); - - void _M_init_extra(facet**); - void _M_init_extra(void*, void*, const char*, const char*); - }; -# 640 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - template - class __cxx11:: 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; -# 667 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - explicit - collate(size_t __refs = 0) - : facet(__refs), _M_c_locale_collate(_S_get_c_locale()) - { } -# 681 "/aux/hubicka/trunk-install/include/c++/6.0.0/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)) - { } -# 698 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); } -# 717 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - string_type - transform(const _CharT* __lo, const _CharT* __hi) const - { return this->do_transform(__lo, __hi); } -# 731 "/aux/hubicka/trunk-install/include/c++/6.0.0/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 throw(); - - size_t - _M_transform(_CharT*, const _CharT*, size_t) const throw(); - - protected: - - virtual - ~collate() - { _S_destroy_c_locale(_M_c_locale_collate); } -# 760 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - virtual int - do_compare(const _CharT* __lo1, const _CharT* __hi1, - const _CharT* __lo2, const _CharT* __hi2) const; -# 774 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 3 - virtual string_type - do_transform(const _CharT* __lo, const _CharT* __hi) const; -# 787 "/aux/hubicka/trunk-install/include/c++/6.0.0/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 throw(); - - template<> - size_t - collate::_M_transform(char*, const char*, size_t) const throw(); - - - template<> - int - collate::_M_compare(const wchar_t*, const wchar_t*) const throw(); - - template<> - size_t - collate::_M_transform(wchar_t*, const wchar_t*, size_t) const throw(); - - - - template - class __cxx11:: 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); - } - } - - - explicit - collate_byname(const string& __s, size_t __refs = 0) - : collate_byname(__s.c_str(), __refs) { } - - - protected: - virtual - ~collate_byname() { } - }; - - -} - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.tcc" 1 3 -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.tcc" 3 - -# 38 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); - } -# 102 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.tcc" 3 - 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])); - - - - } -# 130 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.tcc" 3 - 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 throw () - { return 0; } - - - template - size_t - collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw () - { 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&); - - - - -} -# 851 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_classes.h" 2 3 -# 42 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 2 3 - - - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/system_error" 1 3 -# 32 "/aux/hubicka/trunk-install/include/c++/6.0.0/system_error" 3 - -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/system_error" 3 - - - - - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/error_constants.h" 1 3 -# 34 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/error_constants.h" 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/cerrno" 1 3 -# 39 "/aux/hubicka/trunk-install/include/c++/6.0.0/cerrno" 3 - -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/cerrno" 3 - - -# 1 "/usr/include/errno.h" 1 3 4 -# 43 "/aux/hubicka/trunk-install/include/c++/6.0.0/cerrno" 2 3 -# 35 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/error_constants.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - enum class errc - { - address_family_not_supported = 97, - address_in_use = 98, - address_not_available = 99, - already_connected = 106, - argument_list_too_long = 7, - argument_out_of_domain = 33, - bad_address = 14, - bad_file_descriptor = 9, - - - bad_message = 74, - - - broken_pipe = 32, - connection_aborted = 103, - connection_already_in_progress = 114, - connection_refused = 111, - connection_reset = 104, - cross_device_link = 18, - destination_address_required = 89, - device_or_resource_busy = 16, - directory_not_empty = 39, - executable_format_error = 8, - file_exists = 17, - file_too_large = 27, - filename_too_long = 36, - function_not_supported = 38, - host_unreachable = 113, - - - identifier_removed = 43, - - - illegal_byte_sequence = 84, - inappropriate_io_control_operation = 25, - interrupted = 4, - invalid_argument = 22, - invalid_seek = 29, - io_error = 5, - is_a_directory = 21, - message_size = 90, - network_down = 100, - network_reset = 102, - network_unreachable = 101, - no_buffer_space = 105, - no_child_process = 10, - - - no_link = 67, - - - no_lock_available = 37, - - - no_message_available = 61, - - - no_message = 42, - no_protocol_option = 92, - no_space_on_device = 28, - - - no_stream_resources = 63, - - - no_such_device_or_address = 6, - no_such_device = 19, - no_such_file_or_directory = 2, - no_such_process = 3, - not_a_directory = 20, - not_a_socket = 88, - - - not_a_stream = 60, - - - not_connected = 107, - not_enough_memory = 12, - - - not_supported = 95, - - - - operation_canceled = 125, - - - operation_in_progress = 115, - operation_not_permitted = 1, - operation_not_supported = 95, - operation_would_block = 11, - - - owner_dead = 130, - - - permission_denied = 13, - - - protocol_error = 71, - - - protocol_not_supported = 93, - read_only_file_system = 30, - resource_deadlock_would_occur = 35, - resource_unavailable_try_again = 11, - result_out_of_range = 34, - - - state_not_recoverable = 131, - - - - stream_timeout = 62, - - - - text_file_busy = 26, - - - timed_out = 110, - too_many_files_open_in_system = 23, - too_many_files_open = 24, - too_many_links = 31, - too_many_symbolic_link_levels = 40, - - - value_too_large = 75, - - - wrong_protocol_type = 91 - }; - - -} -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/system_error" 2 3 - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/stdexcept" 1 3 -# 36 "/aux/hubicka/trunk-install/include/c++/6.0.0/stdexcept" 3 - -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/stdexcept" 3 - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - - struct __cow_string - { - union { - const char* _M_p; - char _M_bytes[sizeof(const char*)]; - }; - - __cow_string(); - __cow_string(const std::string&); - __cow_string(const char*, size_t); - __cow_string(const __cow_string&) noexcept; - __cow_string& operator=(const __cow_string&) noexcept; - ~__cow_string(); - - __cow_string(__cow_string&&) noexcept; - __cow_string& operator=(__cow_string&&) noexcept; - - }; - - typedef basic_string __sso_string; -# 113 "/aux/hubicka/trunk-install/include/c++/6.0.0/stdexcept" 3 - class logic_error : public exception - { - __cow_string _M_msg; - - public: - - explicit - logic_error(const string& __arg); - - - explicit - logic_error(const char*); - - - - logic_error(const logic_error&) noexcept; - logic_error& operator=(const logic_error&) noexcept; - - - virtual ~logic_error() noexcept; - - - - virtual const char* - what() const noexcept; - }; - - - - class domain_error : public logic_error - { - public: - explicit domain_error(const string& __arg); - - explicit domain_error(const char*); - - virtual ~domain_error() noexcept; - }; - - - class invalid_argument : public logic_error - { - public: - explicit invalid_argument(const string& __arg); - - explicit invalid_argument(const char*); - - virtual ~invalid_argument() noexcept; - }; - - - - class length_error : public logic_error - { - public: - explicit length_error(const string& __arg); - - explicit length_error(const char*); - - virtual ~length_error() noexcept; - }; - - - - class out_of_range : public logic_error - { - public: - explicit out_of_range(const string& __arg); - - explicit out_of_range(const char*); - - virtual ~out_of_range() noexcept; - }; - - - - - - - class runtime_error : public exception - { - __cow_string _M_msg; - - public: - - explicit - runtime_error(const string& __arg); - - - explicit - runtime_error(const char*); - - - - runtime_error(const runtime_error&) noexcept; - runtime_error& operator=(const runtime_error&) noexcept; - - - virtual ~runtime_error() noexcept; - - - - virtual const char* - what() const noexcept; - }; - - - class range_error : public runtime_error - { - public: - explicit range_error(const string& __arg); - - explicit range_error(const char*); - - virtual ~range_error() noexcept; - }; - - - class overflow_error : public runtime_error - { - public: - explicit overflow_error(const string& __arg); - - explicit overflow_error(const char*); - - virtual ~overflow_error() noexcept; - }; - - - class underflow_error : public runtime_error - { - public: - explicit underflow_error(const string& __arg); - - explicit underflow_error(const char*); - - virtual ~underflow_error() noexcept; - }; - - - - -} -# 42 "/aux/hubicka/trunk-install/include/c++/6.0.0/system_error" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - class error_code; - class error_condition; - class system_error; - - - template - struct is_error_code_enum : public false_type { }; - - - template - struct is_error_condition_enum : public false_type { }; - - template<> - struct is_error_condition_enum - : public true_type { }; - - inline namespace _V2 { - - - class error_category - { - public: - constexpr error_category() noexcept = default; - - virtual ~error_category(); - - error_category(const error_category&) = delete; - error_category& operator=(const error_category&) = delete; - - virtual const char* - name() const noexcept = 0; - - - - - - - private: - __attribute ((__abi_tag__ ("cxx11"))) - virtual __cow_string - _M_message(int) const; - - public: - __attribute ((__abi_tag__ ("cxx11"))) - virtual string - message(int) const = 0; -# 102 "/aux/hubicka/trunk-install/include/c++/6.0.0/system_error" 3 - public: - virtual error_condition - default_error_condition(int __i) const noexcept; - - virtual bool - equivalent(int __i, const error_condition& __cond) const noexcept; - - virtual bool - equivalent(const error_code& __code, int __i) const noexcept; - - bool - operator<(const error_category& __other) const noexcept - { return less()(this, &__other); } - - bool - operator==(const error_category& __other) const noexcept - { return this == &__other; } - - bool - operator!=(const error_category& __other) const noexcept - { return this != &__other; } - }; - - - __attribute__ ((__const__)) const error_category& system_category() noexcept; - __attribute__ ((__const__)) const error_category& generic_category() noexcept; - - } - - error_code make_error_code(errc) noexcept; - - template - struct hash; - - - - struct error_code - { - error_code() noexcept - : _M_value(0), _M_cat(&system_category()) { } - - error_code(int __v, const error_category& __cat) noexcept - : _M_value(__v), _M_cat(&__cat) { } - - template::value>::type> - error_code(_ErrorCodeEnum __e) noexcept - { *this = make_error_code(__e); } - - void - assign(int __v, const error_category& __cat) noexcept - { - _M_value = __v; - _M_cat = &__cat; - } - - void - clear() noexcept - { assign(0, system_category()); } - - - template - typename enable_if::value, - error_code&>::type - operator=(_ErrorCodeEnum __e) noexcept - { return *this = make_error_code(__e); } - - int - value() const noexcept { return _M_value; } - - const error_category& - category() const noexcept { return *_M_cat; } - - error_condition - default_error_condition() const noexcept; - - __attribute ((__abi_tag__ ("cxx11"))) - string - message() const - { return category().message(value()); } - - explicit operator bool() const noexcept - { return _M_value != 0; } - - - private: - friend class hash; - - int _M_value; - const error_category* _M_cat; - }; - - - inline error_code - make_error_code(errc __e) noexcept - { return error_code(static_cast(__e), generic_category()); } - - inline bool - operator<(const error_code& __lhs, const error_code& __rhs) noexcept - { - return (__lhs.category() < __rhs.category() - || (__lhs.category() == __rhs.category() - && __lhs.value() < __rhs.value())); - } - - template - basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e) - { return (__os << __e.category().name() << ':' << __e.value()); } - - error_condition make_error_condition(errc) noexcept; - - - - struct error_condition - { - error_condition() noexcept - : _M_value(0), _M_cat(&generic_category()) { } - - error_condition(int __v, const error_category& __cat) noexcept - : _M_value(__v), _M_cat(&__cat) { } - - template::value>::type> - error_condition(_ErrorConditionEnum __e) noexcept - { *this = make_error_condition(__e); } - - void - assign(int __v, const error_category& __cat) noexcept - { - _M_value = __v; - _M_cat = &__cat; - } - - - template - typename enable_if::value, error_condition&>::type - operator=(_ErrorConditionEnum __e) noexcept - { return *this = make_error_condition(__e); } - - void - clear() noexcept - { assign(0, generic_category()); } - - - int - value() const noexcept { return _M_value; } - - const error_category& - category() const noexcept { return *_M_cat; } - - __attribute ((__abi_tag__ ("cxx11"))) - string - message() const - { return category().message(value()); } - - explicit operator bool() const noexcept - { return _M_value != 0; } - - - private: - int _M_value; - const error_category* _M_cat; - }; - - - inline error_condition - make_error_condition(errc __e) noexcept - { return error_condition(static_cast(__e), generic_category()); } - - inline bool - operator<(const error_condition& __lhs, - const error_condition& __rhs) noexcept - { - return (__lhs.category() < __rhs.category() - || (__lhs.category() == __rhs.category() - && __lhs.value() < __rhs.value())); - } - - - inline bool - operator==(const error_code& __lhs, const error_code& __rhs) noexcept - { return (__lhs.category() == __rhs.category() - && __lhs.value() == __rhs.value()); } - - inline bool - operator==(const error_code& __lhs, const error_condition& __rhs) noexcept - { - return (__lhs.category().equivalent(__lhs.value(), __rhs) - || __rhs.category().equivalent(__lhs, __rhs.value())); - } - - inline bool - operator==(const error_condition& __lhs, const error_code& __rhs) noexcept - { - return (__rhs.category().equivalent(__rhs.value(), __lhs) - || __lhs.category().equivalent(__rhs, __lhs.value())); - } - - inline bool - operator==(const error_condition& __lhs, - const error_condition& __rhs) noexcept - { - return (__lhs.category() == __rhs.category() - && __lhs.value() == __rhs.value()); - } - - inline bool - operator!=(const error_code& __lhs, const error_code& __rhs) noexcept - { return !(__lhs == __rhs); } - - inline bool - operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept - { return !(__lhs == __rhs); } - - inline bool - operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept - { return !(__lhs == __rhs); } - - inline bool - operator!=(const error_condition& __lhs, - const error_condition& __rhs) noexcept - { return !(__lhs == __rhs); } - - - - - - - - class system_error : public std::runtime_error - { - private: - error_code _M_code; - - public: - system_error(error_code __ec = error_code()) - : runtime_error(__ec.message()), _M_code(__ec) { } - - system_error(error_code __ec, const string& __what) - : runtime_error(__what + ": " + __ec.message()), _M_code(__ec) { } - - system_error(error_code __ec, const char* __what) - : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { } - - system_error(int __v, const error_category& __ecat, const char* __what) - : system_error(error_code(__v, __ecat), __what) { } - - system_error(int __v, const error_category& __ecat) - : runtime_error(error_code(__v, __ecat).message()), - _M_code(__v, __ecat) { } - - system_error(int __v, const error_category& __ecat, const string& __what) - : runtime_error(__what + ": " + error_code(__v, __ecat).message()), - _M_code(__v, __ecat) { } - - virtual ~system_error() noexcept; - - const error_code& - code() const noexcept { return _M_code; } - }; - - -} - - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - - - template<> - struct hash - : public __hash_base - { - size_t - operator()(const error_code& __e) const noexcept - { - const size_t __tmp = std::_Hash_impl::hash(__e._M_value); - return std::_Hash_impl::__hash_combine(__e._M_cat, __tmp); - } - }; - - -} -# 47 "/aux/hubicka/trunk-install/include/c++/6.0.0/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 constexpr _Ios_Fmtflags - operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b) - { return _Ios_Fmtflags(static_cast(__a) & static_cast(__b)); } - - inline constexpr _Ios_Fmtflags - operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b) - { return _Ios_Fmtflags(static_cast(__a) | static_cast(__b)); } - - inline constexpr _Ios_Fmtflags - operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b) - { return _Ios_Fmtflags(static_cast(__a) ^ static_cast(__b)); } - - inline constexpr _Ios_Fmtflags - operator~(_Ios_Fmtflags __a) - { return _Ios_Fmtflags(~static_cast(__a)); } - - inline const _Ios_Fmtflags& - operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) - { return __a = __a | __b; } - - inline const _Ios_Fmtflags& - operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) - { return __a = __a & __b; } - - inline const _Ios_Fmtflags& - operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) - { return __a = __a ^ __b; } - - - 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 constexpr _Ios_Openmode - operator&(_Ios_Openmode __a, _Ios_Openmode __b) - { return _Ios_Openmode(static_cast(__a) & static_cast(__b)); } - - inline constexpr _Ios_Openmode - operator|(_Ios_Openmode __a, _Ios_Openmode __b) - { return _Ios_Openmode(static_cast(__a) | static_cast(__b)); } - - inline constexpr _Ios_Openmode - operator^(_Ios_Openmode __a, _Ios_Openmode __b) - { return _Ios_Openmode(static_cast(__a) ^ static_cast(__b)); } - - inline constexpr _Ios_Openmode - operator~(_Ios_Openmode __a) - { return _Ios_Openmode(~static_cast(__a)); } - - inline const _Ios_Openmode& - operator|=(_Ios_Openmode& __a, _Ios_Openmode __b) - { return __a = __a | __b; } - - inline const _Ios_Openmode& - operator&=(_Ios_Openmode& __a, _Ios_Openmode __b) - { return __a = __a & __b; } - - inline const _Ios_Openmode& - operator^=(_Ios_Openmode& __a, _Ios_Openmode __b) - { return __a = __a ^ __b; } - - - 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 constexpr _Ios_Iostate - operator&(_Ios_Iostate __a, _Ios_Iostate __b) - { return _Ios_Iostate(static_cast(__a) & static_cast(__b)); } - - inline constexpr _Ios_Iostate - operator|(_Ios_Iostate __a, _Ios_Iostate __b) - { return _Ios_Iostate(static_cast(__a) | static_cast(__b)); } - - inline constexpr _Ios_Iostate - operator^(_Ios_Iostate __a, _Ios_Iostate __b) - { return _Ios_Iostate(static_cast(__a) ^ static_cast(__b)); } - - inline constexpr _Ios_Iostate - operator~(_Ios_Iostate __a) - { return _Ios_Iostate(~static_cast(__a)); } - - inline const _Ios_Iostate& - operator|=(_Ios_Iostate& __a, _Ios_Iostate __b) - { return __a = __a | __b; } - - inline const _Ios_Iostate& - operator&=(_Ios_Iostate& __a, _Ios_Iostate __b) - { return __a = __a & __b; } - - inline const _Ios_Iostate& - operator^=(_Ios_Iostate& __a, _Ios_Iostate __b) - { return __a = __a ^ __b; } - - - enum _Ios_Seekdir - { - _S_beg = 0, - _S_cur = 1, - _S_end = 2, - _S_ios_seekdir_end = 1L << 16 - }; - - - - enum class io_errc { stream = 1 }; - - template <> struct is_error_code_enum : public true_type { }; - - const error_category& iostream_category() noexcept; - - inline error_code - make_error_code(io_errc e) noexcept - { return error_code(static_cast(e), iostream_category()); } - - inline error_condition - make_error_condition(io_errc e) noexcept - { return error_condition(static_cast(e), iostream_category()); } -# 222 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 3 - class ios_base - { -# 240 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 3 - public: -# 249 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 3 - class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error - { - public: - explicit - failure(const string& __str); - - - explicit - failure(const string&, const error_code&); - - explicit - failure(const char*, const error_code& = io_errc::stream); - - - virtual - ~failure() throw(); - - virtual const char* - what() const throw(); - }; -# 317 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; -# 392 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; -# 423 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; -# 455 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; -# 481 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 3 - enum event - { - erase_event, - imbue_event, - copyfmt_event - }; -# 498 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 3 - typedef void (*event_callback) (event __e, ios_base& __b, int __i); -# 510 "/aux/hubicka/trunk-install/include/c++/6.0.0/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() - { - - ; - int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1); - if (__res == 0) - { - ; - } - return __res; - } - }; - - _Callback_list* _M_callbacks; - - void - _M_call_callbacks(event __ev) throw(); - - void - _M_dispose_callbacks(void) throw(); - - - 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() throw(); - - 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; } -# 623 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 3 - fmtflags - flags(fmtflags __fmtfl) - { - fmtflags __old = _M_flags; - _M_flags = __fmtfl; - return __old; - } -# 639 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 3 - fmtflags - setf(fmtflags __fmtfl) - { - fmtflags __old = _M_flags; - _M_flags |= __fmtfl; - return __old; - } -# 656 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; } -# 682 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 733 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 3 - static bool - sync_with_stdio(bool __sync = true); -# 745 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 3 - locale - imbue(const locale& __loc) throw(); -# 756 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 3 - locale - getloc() const - { return _M_ios_locale; } -# 767 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 3 - const locale& - _M_getloc() const - { return _M_ios_locale; } -# 786 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 3 - static int - xalloc() throw(); -# 802 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 823 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 840 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 3 - virtual ~ios_base(); - - protected: - ios_base() throw (); -# 854 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ios_base.h" 3 - public: - ios_base(const ios_base&) = delete; - - ios_base& - operator=(const ios_base&) = delete; - - protected: - void - _M_move(ios_base&) noexcept; - - void - _M_swap(ios_base& __rhs) noexcept; - - }; - - - - 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; - } - - - - - - - inline ios_base& - hexfloat(ios_base& __base) - { - __base.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield); - return __base; - } - - - inline ios_base& - defaultfloat(ios_base& __base) - { - __base.unsetf(ios_base::floatfield); - return __base; - } - - - -} -# 43 "/aux/hubicka/trunk-install/include/c++/6.0.0/ios" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 1 3 -# 36 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 -# 45 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 -namespace std __attribute__ ((__visibility__ ("default"))) -{ - - - template - streamsize - __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*, - basic_streambuf<_CharT, _Traits>*, bool&); -# 119 "/aux/hubicka/trunk-install/include/c++/6.0.0/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<>(basic_streambuf*, basic_streambuf*, 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: - - - - - - - - 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 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - locale - pubimbue(const locale& __loc) - { - locale __tmp(this->getloc()); - this->imbue(__loc); - _M_buf_locale = __loc; - return __tmp; - } -# 225 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - locale - getloc() const - { return _M_buf_locale; } -# 238 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - basic_streambuf* - pubsetbuf(char_type* __s, streamsize __n) - { return this->setbuf(__s, __n); } -# 250 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - 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); } -# 262 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - 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(); } -# 283 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - streamsize - in_avail() - { - const streamsize __ret = this->egptr() - this->gptr(); - return __ret ? __ret : this->showmanyc(); - } -# 297 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 315 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 337 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 356 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - streamsize - sgetn(char_type* __s, streamsize __n) - { return this->xsgetn(__s, __n); } -# 371 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 396 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 423 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 449 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - streamsize - sputn(const char_type* __s, streamsize __n) - { return this->xsputn(__s, __n); } - - protected: -# 463 "/aux/hubicka/trunk-install/include/c++/6.0.0/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()) - { } -# 481 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; } -# 497 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - void - gbump(int __n) { _M_in_cur += __n; } -# 508 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 528 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; } -# 544 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - void - pbump(int __n) { _M_out_cur += __n; } -# 554 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - void - setp(char_type* __pbeg, char_type* __pend) - { - _M_out_beg = _M_out_cur = __pbeg; - _M_out_end = __pend; - } -# 575 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - virtual void - imbue(const locale& __loc) - { } -# 590 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - virtual basic_streambuf* - setbuf(char_type*, streamsize) - { return this; } -# 601 "/aux/hubicka/trunk-install/include/c++/6.0.0/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)); } -# 613 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - virtual pos_type - seekpos(pos_type, - ios_base::openmode = ios_base::in | ios_base::out) - { return pos_type(off_type(-1)); } -# 626 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - virtual int - sync() { return 0; } -# 648 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - virtual streamsize - showmanyc() { return 0; } -# 664 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - virtual streamsize - xsgetn(char_type* __s, streamsize __n); -# 686 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - virtual int_type - underflow() - { return traits_type::eof(); } -# 699 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 723 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - virtual int_type - pbackfail(int_type __c = traits_type::eof()) - { return traits_type::eof(); } -# 741 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - virtual streamsize - xsputn(const char_type* __s, streamsize __n); -# 767 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - virtual int_type - overflow(int_type __c = traits_type::eof()) - { return traits_type::eof(); } - - - - public: -# 782 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 3 - void - stossc() - { - if (this->gptr() < this->egptr()) - this->gbump(1); - else - this->uflow(); - } - - - - void - __safe_gbump(streamsize __n) { _M_in_cur += __n; } - - void - __safe_pbump(streamsize __n) { _M_out_cur += __n; } - - - - - protected: - - basic_streambuf(const basic_streambuf&); - - basic_streambuf& - operator=(const basic_streambuf&); - - - void - swap(basic_streambuf& __sb) - { - std::swap(_M_in_beg, __sb._M_in_beg); - std::swap(_M_in_cur, __sb._M_in_cur); - std::swap(_M_in_end, __sb._M_in_end); - std::swap(_M_out_beg, __sb._M_out_beg); - std::swap(_M_out_cur, __sb._M_out_cur); - std::swap(_M_out_end, __sb._M_out_end); - std::swap(_M_buf_locale, __sb._M_buf_locale); - } - - }; - - - template - std::basic_streambuf<_CharT, _Traits>:: - basic_streambuf(const basic_streambuf&) = default; - - template - std::basic_streambuf<_CharT, _Traits>& - std::basic_streambuf<_CharT, _Traits>:: - operator=(const basic_streambuf&) = default; - - - - 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 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/streambuf.tcc" 1 3 -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/streambuf.tcc" 3 - -# 38 "/aux/hubicka/trunk-install/include/c++/6.0.0/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->__safe_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->__safe_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&); - - - - -} -# 851 "/aux/hubicka/trunk-install/include/c++/6.0.0/streambuf" 2 3 -# 44 "/aux/hubicka/trunk-install/include/c++/6.0.0/ios" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_ios.h" 1 3 -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_ios.h" 3 - -# 34 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_ios.h" 3 - - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 1 3 -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - -# 38 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwctype" 1 3 -# 39 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwctype" 3 - -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwctype" 3 -# 50 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwctype" 3 -# 1 "/usr/include/wctype.h" 1 3 4 -# 34 "/usr/include/wctype.h" 3 4 -# 1 "/usr/include/wchar.h" 1 3 4 -# 35 "/usr/include/wctype.h" 2 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 (); - - - -} -# 51 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwctype" 2 3 -# 80 "/aux/hubicka/trunk-install/include/c++/6.0.0/cwctype" 3 -namespace std -{ - 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; -} -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/cctype" 1 3 -# 39 "/aux/hubicka/trunk-install/include/c++/6.0.0/cctype" 3 - -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/cctype" 3 -# 41 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/ctype_base.h" 1 3 -# 36 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-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; - - static const mask blank = _ISblank; - - }; - - -} -# 42 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 2 3 - - - - - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/streambuf_iterator.h" 1 3 -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/streambuf_iterator.h" 3 - -# 34 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/streambuf_iterator.h" 3 - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 49 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/streambuf_iterator.h" 3 - 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: - - constexpr istreambuf_iterator() noexcept - : _M_sbuf(0), _M_c(traits_type::eof()) { } - - - istreambuf_iterator(const istreambuf_iterator&) noexcept = default; - - ~istreambuf_iterator() = default; - - - - istreambuf_iterator(istream_type& __s) noexcept - : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { } - - - istreambuf_iterator(streambuf_type* __s) noexcept - : _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) noexcept - : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { } - - - ostreambuf_iterator(streambuf_type* __s) noexcept - : _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 noexcept - { 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->__safe_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->__safe_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; - } - - - - -} -# 49 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 71 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - template - void - __convert_to_v(const char*, _Tp&, ios_base::iostate&, - const __c_locale&) throw(); - - - template<> - void - __convert_to_v(const char*, float&, ios_base::iostate&, - const __c_locale&) throw(); - - template<> - void - __convert_to_v(const char*, double&, ios_base::iostate&, - const __c_locale&) throw(); - - template<> - void - __convert_to_v(const char*, long double&, ios_base::iostate&, - const __c_locale&) throw(); - - - - template - struct __pad - { - static void - _S_pad(ios_base& __io, _CharT __fill, _CharT* __news, - const _CharT* __olds, streamsize __newlen, 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 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - template - class __ctype_abstract_base : public locale::facet, public ctype_base - { - public: - - - typedef _CharT char_type; -# 168 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - bool - is(mask __m, char_type __c) const - { return this->do_is(__m, __c); } -# 185 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); } -# 201 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); } -# 217 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); } -# 231 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - char_type - toupper(char_type __c) const - { return this->do_toupper(__c); } -# 246 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - const char_type* - toupper(char_type *__lo, const char_type* __hi) const - { return this->do_toupper(__lo, __hi); } -# 260 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - char_type - tolower(char_type __c) const - { return this->do_tolower(__c); } -# 275 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - const char_type* - tolower(char_type* __lo, const char_type* __hi) const - { return this->do_tolower(__lo, __hi); } -# 292 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - char_type - widen(char __c) const - { return this->do_widen(__c); } -# 311 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); } -# 330 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - char - narrow(char_type __c, char __dfault) const - { return this->do_narrow(__c, __dfault); } -# 352 "/aux/hubicka/trunk-install/include/c++/6.0.0/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() { } -# 377 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual bool - do_is(mask __m, char_type __c) const = 0; -# 396 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual const char_type* - do_is(const char_type* __lo, const char_type* __hi, - mask* __vec) const = 0; -# 415 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual const char_type* - do_scan_is(mask __m, const char_type* __lo, - const char_type* __hi) const = 0; -# 434 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual const char_type* - do_scan_not(mask __m, const char_type* __lo, - const char_type* __hi) const = 0; -# 452 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual char_type - do_toupper(char_type __c) const = 0; -# 469 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual const char_type* - do_toupper(char_type* __lo, const char_type* __hi) const = 0; -# 485 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual char_type - do_tolower(char_type __c) const = 0; -# 502 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual const char_type* - do_tolower(char_type* __lo, const char_type* __hi) const = 0; -# 521 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual char_type - do_widen(char __c) const = 0; -# 542 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual const char* - do_widen(const char* __lo, const char* __hi, char_type* __to) const = 0; -# 563 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual char - do_narrow(char_type __c, char __dfault) const = 0; -# 588 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual const char_type* - do_narrow(const char_type* __lo, const char_type* __hi, - char __dfault, char* __to) const = 0; - }; -# 611 "/aux/hubicka/trunk-install/include/c++/6.0.0/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* __to) const; - }; - - template - locale::id ctype<_CharT>::id; -# 680 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); -# 717 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - explicit - ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0); -# 730 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - explicit - ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false, - size_t __refs = 0); -# 743 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - inline bool - is(mask __m, char __c) const; -# 758 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - inline const char* - is(const char* __lo, const char* __hi, mask* __vec) const; -# 772 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - inline const char* - scan_is(mask __m, const char* __lo, const char* __hi) const; -# 786 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - inline const char* - scan_not(mask __m, const char* __lo, const char* __hi) const; -# 801 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - char_type - toupper(char_type __c) const - { return this->do_toupper(__c); } -# 818 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - const char_type* - toupper(char_type *__lo, const char_type* __hi) const - { return this->do_toupper(__lo, __hi); } -# 834 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - char_type - tolower(char_type __c) const - { return this->do_tolower(__c); } -# 851 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - const char_type* - tolower(char_type* __lo, const char_type* __hi) const - { return this->do_tolower(__lo, __hi); } -# 871 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); - } -# 898 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); - } -# 929 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 962 "/aux/hubicka/trunk-install/include/c++/6.0.0/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(); -# 1011 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual char_type - do_toupper(char_type __c) const; -# 1028 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual const char_type* - do_toupper(char_type* __lo, const char_type* __hi) const; -# 1044 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual char_type - do_tolower(char_type __c) const; -# 1061 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual const char_type* - do_tolower(char_type* __lo, const char_type* __hi) const; -# 1081 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual char_type - do_widen(char __c) const - { return __c; } -# 1104 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual const char* - do_widen(const char* __lo, const char* __hi, char_type* __to) const - { - __builtin_memcpy(__to, __lo, __hi - __lo); - return __hi; - } -# 1130 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual char - do_narrow(char_type __c, char __dfault) const - { return __c; } -# 1156 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual const char_type* - do_narrow(const char_type* __lo, const char_type* __hi, - char __dfault, char* __to) const - { - __builtin_memcpy(__to, __lo, __hi - __lo); - return __hi; - } - - private: - void _M_narrow_init() const; - void _M_widen_init() const; - }; -# 1181 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; -# 1214 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - explicit - ctype(size_t __refs = 0); -# 1225 "/aux/hubicka/trunk-install/include/c++/6.0.0/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 throw(); - - - virtual - ~ctype(); -# 1249 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual bool - do_is(mask __m, char_type __c) const; -# 1268 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual const char_type* - do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; -# 1286 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual const char_type* - do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; -# 1304 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual const char_type* - do_scan_not(mask __m, const char_type* __lo, - const char_type* __hi) const; -# 1321 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual char_type - do_toupper(char_type __c) const; -# 1338 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual const char_type* - do_toupper(char_type* __lo, const char_type* __hi) const; -# 1354 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual char_type - do_tolower(char_type __c) const; -# 1371 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual const char_type* - do_tolower(char_type* __lo, const char_type* __hi) const; -# 1391 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual char_type - do_widen(char __c) const; -# 1413 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual const char* - do_widen(const char* __lo, const char* __hi, char_type* __to) const; -# 1436 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual char - do_narrow(char_type __c, char __dfault) const; -# 1462 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual const char_type* - do_narrow(const char_type* __lo, const char_type* __hi, - char __dfault, char* __to) const; - - - void - _M_initialize_ctype() throw(); - }; - - - - template - class ctype_byname : public ctype<_CharT> - { - public: - typedef typename ctype<_CharT>::mask mask; - - explicit - ctype_byname(const char* __s, size_t __refs = 0); - - - explicit - ctype_byname(const string& __s, size_t __refs = 0) - : ctype_byname(__s.c_str(), __refs) { } - - - protected: - virtual - ~ctype_byname() { }; - }; - - - template<> - class ctype_byname : public ctype - { - public: - explicit - ctype_byname(const char* __s, size_t __refs = 0); - - - explicit - ctype_byname(const string& __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); - - - explicit - ctype_byname(const string& __s, size_t __refs = 0); - - - protected: - virtual - ~ctype_byname(); - }; - - - -} - - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-linux-gnu/bits/ctype_inline.h" 1 3 -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/x86_64-pc-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; - } - - -} -# 1535 "/aux/hubicka/trunk-install/include/c++/6.0.0/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) throw(); - }; - - 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(0), _M_grouping_size(0), - _M_use_grouping(false), - _M_truename(0), _M_truename_size(0), _M_falsename(0), - _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; - } - } - -namespace __cxx11 { -# 1665 "/aux/hubicka/trunk-install/include/c++/6.0.0/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(0) - { _M_initialize_numpunct(); } -# 1703 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - explicit - numpunct(__cache_type* __cache, size_t __refs = 0) - : facet(__refs), _M_data(__cache) - { _M_initialize_numpunct(); } -# 1717 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - explicit - numpunct(__c_locale __cloc, size_t __refs = 0) - : facet(__refs), _M_data(0) - { _M_initialize_numpunct(__cloc); } -# 1731 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - char_type - decimal_point() const - { return this->do_decimal_point(); } -# 1744 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - char_type - thousands_sep() const - { return this->do_thousands_sep(); } -# 1775 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - string - grouping() const - { return this->do_grouping(); } -# 1788 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - string_type - truename() const - { return this->do_truename(); } -# 1801 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - string_type - falsename() const - { return this->do_falsename(); } - - protected: - - virtual - ~numpunct(); -# 1818 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual char_type - do_decimal_point() const - { return _M_data->_M_decimal_point; } -# 1830 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual char_type - do_thousands_sep() const - { return _M_data->_M_thousands_sep; } -# 1843 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual string - do_grouping() const - { return _M_data->_M_grouping; } -# 1856 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual string_type - do_truename() const - { return _M_data->_M_truename; } -# 1869 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual string_type - do_falsename() const - { return _M_data->_M_falsename; } - - - void - _M_initialize_numpunct(__c_locale __cloc = 0); - }; - - 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); - } - } - - - explicit - numpunct_byname(const string& __s, size_t __refs = 0) - : numpunct_byname(__s.c_str(), __refs) { } - - - protected: - virtual - ~numpunct_byname() { } - }; - -} - - -# 1947 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; -# 1968 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - explicit - num_get(size_t __refs = 0) : facet(__refs) { } -# 1994 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); } -# 2031 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); } -# 2091 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); } -# 2134 "/aux/hubicka/trunk-install/include/c++/6.0.0/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() { } - - __attribute ((__abi_tag__ ("cxx11"))) - iter_type - _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&, - string&) const; - - template - __attribute ((__abi_tag__ ("cxx11"))) - iter_type - _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&, - _ValueT&) 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; - } -# 2207 "/aux/hubicka/trunk-install/include/c++/6.0.0/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 __beg, iter_type __end, ios_base& __io, - ios_base::iostate& __err, long& __v) const - { return _M_extract_int(__beg, __end, __io, __err, __v); } - - virtual iter_type - 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); } - - virtual iter_type - 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); } - - virtual iter_type - 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); } - - - virtual iter_type - 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); } - - virtual iter_type - 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); } - - - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, float&) const; - - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, - double&) const; - - - - - - - - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, - long double&) const; - - - virtual iter_type - do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, void*&) const; -# 2270 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - }; - - template - locale::id num_get<_CharT, _InIter>::id; -# 2288 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; -# 2309 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - explicit - num_put(size_t __refs = 0) : facet(__refs) { } -# 2327 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const - { return this->do_put(__s, __io, __fill, __v); } -# 2369 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, long __v) const - { return this->do_put(__s, __io, __fill, __v); } - - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, - unsigned long __v) const - { return this->do_put(__s, __io, __fill, __v); } - - - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const - { return this->do_put(__s, __io, __fill, __v); } - - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, - unsigned long long __v) const - { return this->do_put(__s, __io, __fill, __v); } -# 2432 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, double __v) const - { return this->do_put(__s, __io, __fill, __v); } - - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, - long double __v) const - { return this->do_put(__s, __io, __fill, __v); } -# 2457 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - iter_type - put(iter_type __s, ios_base& __io, char_type __fill, - const void* __v) const - { return this->do_put(__s, __io, __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() { }; -# 2505 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 3 - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const; - - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const - { return _M_insert_int(__s, __io, __fill, __v); } - - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, - unsigned long __v) const - { return _M_insert_int(__s, __io, __fill, __v); } - - - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, - long long __v) const - { return _M_insert_int(__s, __io, __fill, __v); } - - virtual iter_type - do_put(iter_type __s, ios_base& __io, char_type __fill, - unsigned long long __v) const - { return _M_insert_int(__s, __io, __fill, __v); } - - - virtual iter_type - do_put(iter_type, ios_base&, char_type, double) const; - - - - - - - virtual iter_type - do_put(iter_type, ios_base&, char_type, long double) const; - - - virtual iter_type - do_put(iter_type, ios_base&, char_type, const void*) 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 bool - isblank(_CharT __c, const locale& __loc) - { return use_facet >(__loc).is(ctype_base::blank, __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 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.tcc" 1 3 -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.tcc" 3 - -# 34 "/aux/hubicka/trunk-install/include/c++/6.0.0/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 = 0; - 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) - { - const numpunct<_CharT>& __np = use_facet >(__loc); - - char* __grouping = 0; - _CharT* __truename = 0; - _CharT* __falsename = 0; - try - { - const string& __g = __np.grouping(); - _M_grouping_size = __g.size(); - __grouping = new char[_M_grouping_size]; - __g.copy(__grouping, _M_grouping_size); - _M_use_grouping = (_M_grouping_size - && static_cast(__grouping[0]) > 0 - && (__grouping[0] - != __gnu_cxx::__numeric_traits::__max)); - - const basic_string<_CharT>& __tn = __np.truename(); - _M_truename_size = __tn.size(); - __truename = new _CharT[_M_truename_size]; - __tn.copy(__truename, _M_truename_size); - - const basic_string<_CharT>& __fn = __np.falsename(); - _M_falsename_size = __fn.size(); - __falsename = new _CharT[_M_falsename_size]; - __fn.copy(__falsename, _M_falsename_size); - - _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); - - _M_grouping = __grouping; - _M_truename = __truename; - _M_falsename = __falsename; - _M_allocated = true; - } - catch(...) - { - delete [] __grouping; - delete [] __truename; - delete [] __falsename; - throw; - } - } -# 139 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.tcc" 3 - __attribute__ ((__pure__)) bool - __verify_grouping(const char* __grouping, size_t __grouping_size, - const string& __grouping_tmp) throw (); - - - - template - __attribute ((__abi_tag__ ("cxx11"))) - _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; - } - - return __beg; - } - - template - template - __attribute ((__abi_tag__ ("cxx11"))) - _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; - __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; - bool __testoverflow = false; - const __unsigned_type __max = - (__negative && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) - ? -__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) - __testoverflow = true; - else - { - __result *= __base; - __testoverflow |= __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) - __testoverflow = true; - else - { - __result *= __base; - __testoverflow |= __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 ((!__sep_pos && !__found_zero && !__found_grouping.size()) - || __testfail) - { - __v = 0; - __err = ios_base::failbit; - } - else if (__testoverflow) - { - if (__negative - && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) - __v = __gnu_cxx::__numeric_traits<_ValueT>::__min; - else - __v = __gnu_cxx::__numeric_traits<_ValueT>::__max; - __err = ios_base::failbit; - } - else - __v = __negative ? -__result : __result; - - 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 - { - - - __v = true; - __err = ios_base::failbit; - if (__beg == __end) - __err |= ios_base::eofbit; - } - } - 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; - bool __donef = __lc->_M_falsename_size == 0; - bool __donet = __lc->_M_truename_size == 0; - bool __testeof = false; - size_t __n = 0; - while (!__donef || !__donet) - { - if (__beg == __end) - { - __testeof = true; - break; - } - - const char_type __c = *__beg; - - if (!__donef) - __testf = __c == __lc->_M_falsename[__n]; - - if (!__testf && __donet) - break; - - if (!__donet) - __testt = __c == __lc->_M_truename[__n]; - - if (!__testt && __donef) - break; - - if (!__testt && !__testf) - break; - - ++__n; - ++__beg; - - __donef = !__testf || __n >= __lc->_M_falsename_size; - __donet = !__testt || __n >= __lc->_M_truename_size; - } - if (__testf && __n == __lc->_M_falsename_size && __n) - { - __v = false; - if (__testt && __n == __lc->_M_truename_size) - __err = ios_base::failbit; - else - __err = __testeof ? ios_base::eofbit : ios_base::goodbit; - } - else if (__testt && __n == __lc->_M_truename_size && __n) - { - __v = true; - __err = __testeof ? ios_base::eofbit : ios_base::goodbit; - } - else - { - - - __v = false; - __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, 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()); - if (__beg == __end) - __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, 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()); - if (__beg == __end) - __err |= ios_base::eofbit; - return __beg; - } -# 735 "/aux/hubicka/trunk-install/include/c++/6.0.0/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()); - if (__beg == __end) - __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, 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); - - __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; - } -# 971 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); - - - - const bool __use_prec = - (__io.flags() & ios_base::floatfield) != ios_base::floatfield; - - - - int __cs_size = __max_digits * 3; - char* __cs = static_cast(__builtin_alloca(__cs_size)); - if (__use_prec) - __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, - __fbuf, __prec, __v); - else - __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, - __fbuf, __v); - - - if (__len >= __cs_size) - { - __cs_size = __len + 1; - __cs = static_cast(__builtin_alloca(__cs_size)); - if (__use_prec) - __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, - __fbuf, __prec, __v); - else - __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, - __fbuf, __v); - } -# 1044 "/aux/hubicka/trunk-install/include/c++/6.0.0/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)) - { - const streamsize __plen = __w - __len; - _CharT* __ps - = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __plen)); - - char_traits<_CharT>::assign(__ps, __plen, __fill); - __io.width(0); - - if ((__flags & ios_base::adjustfield) == ios_base::left) - { - __s = std::__write(__s, __name, __len); - __s = std::__write(__s, __ps, __plen); - } - else - { - __s = std::__write(__s, __ps, __plen); - __s = std::__write(__s, __name, __len); - } - return __s; - } - __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, double __v) const - { return _M_insert_float(__s, __io, __fill, char(), __v); } -# 1169 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); - __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; - } - - -# 1206 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.tcc" 3 - template - void - __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill, - _CharT* __news, const _CharT* __olds, - streamsize __newlen, 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 - && __gbeg[__idx] != __gnu_cxx::__numeric_traits::__max) - { - __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 __cxx11:: numpunct; - extern template class __cxx11:: numpunct_byname; - extern template class num_get; - extern template class num_put; - extern template class ctype_byname; - - extern template - const ctype& - use_facet >(const locale&); - - 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 __cxx11:: numpunct; - extern template class __cxx11:: numpunct_byname; - extern template class num_get; - extern template class num_put; - extern template class ctype_byname; - - extern template - const ctype& - use_facet >(const locale&); - - 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&); - - - - -} -# 2652 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/locale_facets.h" 2 3 -# 38 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 66 "/aux/hubicka/trunk-install/include/c++/6.0.0/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: -# 117 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_ios.h" 3 - explicit operator bool() const - { return !this->fail(); } - - - - - - bool - operator!() const - { return this->fail(); } -# 136 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_ios.h" 3 - iostate - rdstate() const - { return _M_streambuf_state; } -# 147 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; } -# 200 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_ios.h" 3 - bool - fail() const - { return (this->rdstate() & (badbit | failbit)) != 0; } - - - - - - - - bool - bad() const - { return (this->rdstate() & badbit) != 0; } -# 221 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_ios.h" 3 - iostate - exceptions() const - { return _M_exception; } -# 256 "/aux/hubicka/trunk-install/include/c++/6.0.0/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() { } -# 294 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_ios.h" 3 - basic_ostream<_CharT, _Traits>* - tie() const - { return _M_tie; } -# 306 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; } -# 346 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_ios.h" 3 - basic_streambuf<_CharT, _Traits>* - rdbuf(basic_streambuf<_CharT, _Traits>* __sb); -# 360 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 389 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_ios.h" 3 - char_type - fill(char_type __ch) - { - char_type __old = this->fill(); - _M_fill = __ch; - return __old; - } -# 409 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_ios.h" 3 - locale - imbue(const locale& __loc); -# 429 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_ios.h" 3 - char - narrow(char_type __c, char __dfault) const - { return __check_facet(_M_ctype).narrow(__c, __dfault); } -# 448 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); - - - basic_ios(const basic_ios&) = delete; - basic_ios& operator=(const basic_ios&) = delete; - - void - move(basic_ios& __rhs) - { - ios_base::_M_move(__rhs); - _M_cache_locale(_M_ios_locale); - this->tie(__rhs.tie(nullptr)); - _M_fill = __rhs._M_fill; - _M_fill_init = __rhs._M_fill_init; - _M_streambuf = nullptr; - } - - void - move(basic_ios&& __rhs) - { this->move(__rhs); } - - void - swap(basic_ios& __rhs) noexcept - { - ios_base::_M_swap(__rhs); - _M_cache_locale(_M_ios_locale); - __rhs._M_cache_locale(__rhs._M_ios_locale); - std::swap(_M_tie, __rhs._M_tie); - std::swap(_M_fill, __rhs._M_fill); - std::swap(_M_fill_init, __rhs._M_fill_init); - } - - void - set_rdbuf(basic_streambuf<_CharT, _Traits>* __sb) - { _M_streambuf = __sb; } - - - void - _M_cache_locale(const locale& __loc); - }; - - -} - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_ios.tcc" 1 3 -# 33 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_ios.tcc" 3 - -# 34 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); -# 146 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - - - - -} -# 517 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/basic_ios.h" 2 3 -# 45 "/aux/hubicka/trunk-install/include/c++/6.0.0/ios" 2 3 -# 39 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 2 3 - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 57 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; -# 83 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 3 - explicit - basic_ostream(__streambuf_type* __sb) - { this->init(__sb); } - - - - - - - virtual - ~basic_ostream() { } - - - class sentry; - friend class sentry; -# 107 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 165 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); } -# 219 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 3 - __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); } -# 244 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 3 - __ostream_type& - operator<<(const void* __p) - { return _M_insert(__p); } -# 269 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 3 - __ostream_type& - operator<<(__streambuf_type* __sb); -# 302 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); - } -# 334 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 3 - __ostream_type& - write(const char_type* __s, streamsize __n); -# 347 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 3 - __ostream_type& - flush(); -# 357 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 3 - pos_type - tellp(); -# 368 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 3 - __ostream_type& - seekp(pos_type); -# 380 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 3 - __ostream_type& - seekp(off_type, ios_base::seekdir); - - protected: - basic_ostream() - { this->init(0); } - - - - basic_ostream(basic_iostream<_CharT, _Traits>&) { } - - basic_ostream(const basic_ostream&) = delete; - - basic_ostream(basic_ostream&& __rhs) - : __ios_type() - { __ios_type::move(__rhs); } - - - - basic_ostream& operator=(const basic_ostream&) = delete; - - basic_ostream& - operator=(basic_ostream&& __rhs) - { - swap(__rhs); - return *this; - } - - void - swap(basic_ostream& __rhs) - { __ios_type::swap(__rhs); } - - - template - __ostream_type& - _M_insert(_ValueT __v); - }; -# 425 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 3 - template - class basic_ostream<_CharT, _Traits>::sentry - { - - bool _M_ok; - basic_ostream<_CharT, _Traits>& _M_os; - - public: -# 444 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 3 - explicit - sentry(basic_ostream<_CharT, _Traits>& __os); -# 454 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); - } - } -# 473 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 3 - explicit - - operator bool() const - { return _M_ok; } - }; -# 495 "/aux/hubicka/trunk-install/include/c++/6.0.0/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)); } -# 537 "/aux/hubicka/trunk-install/include/c++/6.0.0/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)); } -# 588 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 3 - template - inline basic_ostream<_CharT, _Traits>& - endl(basic_ostream<_CharT, _Traits>& __os) - { return flush(__os.put(__os.widen('\n'))); } -# 600 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 3 - 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(); } -# 626 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 3 - template - inline basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT, _Traits>&& __os, const _Tp& __x) - { - __os << __x; - return __os; - } - - - -} - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ostream.tcc" 1 3 -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/ostream.tcc" 3 - -# 38 "/aux/hubicka/trunk-install/include/c++/6.0.0/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::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::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::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::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::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::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*); - - - - -} -# 639 "/aux/hubicka/trunk-install/include/c++/6.0.0/ostream" 2 3 -# 40 "/aux/hubicka/trunk-install/include/c++/6.0.0/iostream" 2 3 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 1 3 -# 36 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 57 "/aux/hubicka/trunk-install/include/c++/6.0.0/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: - - - - - - - - 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; -# 119 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 167 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); } -# 213 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - __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); } -# 234 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - __istream_type& - operator>>(void*& __p) - { return _M_extract(__p); } -# 258 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - __istream_type& - operator>>(__streambuf_type* __sb); -# 268 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - streamsize - gcount() const - { return _M_gcount; } -# 301 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - int_type - get(); -# 315 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - __istream_type& - get(char_type& __c); -# 342 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - __istream_type& - get(char_type* __s, streamsize __n, char_type __delim); -# 353 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - __istream_type& - get(char_type* __s, streamsize __n) - { return this->get(__s, __n, this->widen('\n')); } -# 376 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - __istream_type& - get(__streambuf_type& __sb, char_type __delim); -# 386 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - __istream_type& - get(__streambuf_type& __sb) - { return this->get(__sb, this->widen('\n')); } -# 415 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - __istream_type& - getline(char_type* __s, streamsize __n, char_type __delim); -# 426 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - __istream_type& - getline(char_type* __s, streamsize __n) - { return this->getline(__s, __n, this->widen('\n')); } -# 450 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - __istream_type& - ignore(streamsize __n, int_type __delim); - - __istream_type& - ignore(streamsize __n); - - __istream_type& - ignore(); -# 467 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - int_type - peek(); -# 485 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - __istream_type& - read(char_type* __s, streamsize __n); -# 504 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - streamsize - readsome(char_type* __s, streamsize __n); -# 521 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - __istream_type& - putback(char_type __c); -# 537 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - __istream_type& - unget(); -# 555 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - int - sync(); -# 570 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - pos_type - tellg(); -# 585 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - __istream_type& - seekg(pos_type); -# 601 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - __istream_type& - seekg(off_type, ios_base::seekdir); - - - protected: - basic_istream() - : _M_gcount(streamsize(0)) - { this->init(0); } - - - basic_istream(const basic_istream&) = delete; - - basic_istream(basic_istream&& __rhs) - : __ios_type(), _M_gcount(__rhs._M_gcount) - { - __ios_type::move(__rhs); - __rhs._M_gcount = 0; - } - - - - basic_istream& operator=(const basic_istream&) = delete; - - basic_istream& - operator=(basic_istream&& __rhs) - { - swap(__rhs); - return *this; - } - - void - swap(basic_istream& __rhs) - { - __ios_type::swap(__rhs); - std::swap(_M_gcount, __rhs._M_gcount); - } - - - 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); -# 685 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - template - class basic_istream<_CharT, _Traits>::sentry - { - - bool _M_ok; - - 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; -# 721 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - explicit - sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false); -# 732 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - explicit - - operator bool() const - { return _M_ok; } - }; -# 750 "/aux/hubicka/trunk-install/include/c++/6.0.0/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)); } -# 792 "/aux/hubicka/trunk-install/include/c++/6.0.0/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)); } -# 823 "/aux/hubicka/trunk-install/include/c++/6.0.0/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() { } - - - basic_iostream(const basic_iostream&) = delete; - - basic_iostream(basic_iostream&& __rhs) - : __istream_type(std::move(__rhs)), __ostream_type(*this) - { } - - - - basic_iostream& operator=(const basic_iostream&) = delete; - - basic_iostream& - operator=(basic_iostream&& __rhs) - { - swap(__rhs); - return *this; - } - - void - swap(basic_iostream& __rhs) - { __istream_type::swap(__rhs); } - - }; -# 906 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - template - basic_istream<_CharT, _Traits>& - ws(basic_istream<_CharT, _Traits>& __is); -# 922 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 3 - template - inline basic_istream<_CharT, _Traits>& - operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x) - { - __is >> __x; - return __is; - } - - - -} - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/istream.tcc" 1 3 -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/istream.tcc" 3 - -# 38 "/aux/hubicka/trunk-install/include/c++/6.0.0/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::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::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) - { - - - sentry __cerb(*this, false); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - long __l; - const __num_get_type& __ng = __check_facet(this->_M_num_get); - __ng.get(*this, 0, *this, __err, __l); - - - - if (__l < __gnu_cxx::__numeric_traits::__min) - { - __err |= ios_base::failbit; - __n = __gnu_cxx::__numeric_traits::__min; - } - else if (__l > __gnu_cxx::__numeric_traits::__max) - { - __err |= ios_base::failbit; - __n = __gnu_cxx::__numeric_traits::__max; - } - else - __n = short(__l); - } - 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>>(int& __n) - { - - - sentry __cerb(*this, false); - if (__cerb) - { - ios_base::iostate __err = ios_base::goodbit; - try - { - long __l; - const __num_get_type& __ng = __check_facet(this->_M_num_get); - __ng.get(*this, 0, *this, __err, __l); - - - - if (__l < __gnu_cxx::__numeric_traits::__min) - { - __err |= ios_base::failbit; - __n = __gnu_cxx::__numeric_traits::__min; - } - else if (__l > __gnu_cxx::__numeric_traits::__max) - { - __err |= ios_base::failbit; - __n = __gnu_cxx::__numeric_traits::__max; - } - else - __n = int(__l); - } - 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>>(__streambuf_type* __sbout) - { - ios_base::iostate __err = 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::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::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::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::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::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::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::goodbit; - try - { - const int_type __eof = traits_type::eof(); - __streambuf_type* __sb = this->rdbuf(); - int_type __c = __sb->sgetc(); -# 513 "/aux/hubicka/trunk-install/include/c++/6.0.0/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::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::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::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::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; - - this->clear(this->rdstate() & ~ios_base::eofbit); - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = 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; - - this->clear(this->rdstate() & ~ios_base::eofbit); - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = 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::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); - sentry __cerb(*this, true); - if (__cerb) - { - 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) - { - - - - this->clear(this->rdstate() & ~ios_base::eofbit); - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = 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) - { - - - - this->clear(this->rdstate() & ~ios_base::eofbit); - sentry __cerb(*this, true); - if (__cerb) - { - ios_base::iostate __err = 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::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::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; - - - - -} -# 935 "/aux/hubicka/trunk-install/include/c++/6.0.0/istream" 2 3 -# 41 "/aux/hubicka/trunk-install/include/c++/6.0.0/iostream" 2 3 - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -# 60 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - - -} -# 2 "t.C" 2 -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/sstream" 1 3 -# 36 "/aux/hubicka/trunk-install/include/c++/6.0.0/sstream" 3 - -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/sstream" 3 - - - - -namespace std __attribute__ ((__visibility__ ("default"))) -{ - -namespace __cxx11 { -# 64 "/aux/hubicka/trunk-install/include/c++/6.0.0/sstream" 3 - template - class basic_stringbuf : public basic_streambuf<_CharT, _Traits> - { - struct __xfer_bufptrs; - 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: -# 99 "/aux/hubicka/trunk-install/include/c++/6.0.0/sstream" 3 - explicit - basic_stringbuf(ios_base::openmode __mode = ios_base::in | ios_base::out) - : __streambuf_type(), _M_mode(__mode), _M_string() - { } -# 112 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); } - - - basic_stringbuf(const basic_stringbuf&) = delete; - - basic_stringbuf(basic_stringbuf&& __rhs) - : basic_stringbuf(std::move(__rhs), __xfer_bufptrs(__rhs, this)) - { __rhs._M_sync(const_cast(__rhs._M_string.data()), 0, 0); } - - - - basic_stringbuf& - operator=(const basic_stringbuf&) = delete; - - basic_stringbuf& - operator=(basic_stringbuf&& __rhs) - { - __xfer_bufptrs __st{__rhs, this}; - const __streambuf_type& __base = __rhs; - __streambuf_type::operator=(__base); - this->pubimbue(__rhs.getloc()); - _M_mode = __rhs._M_mode; - _M_string = std::move(__rhs._M_string); - __rhs._M_sync(const_cast(__rhs._M_string.data()), 0, 0); - return *this; - } - - void - swap(basic_stringbuf& __rhs) - { - __xfer_bufptrs __l_st{*this, std::__addressof(__rhs)}; - __xfer_bufptrs __r_st{__rhs, this}; - __streambuf_type& __base = __rhs; - __streambuf_type::swap(__base); - __rhs.pubimbue(this->pubimbue(__rhs.getloc())); - std::swap(_M_mode, __rhs._M_mode); - std::swap(_M_string, __rhs._M_string); - } -# 165 "/aux/hubicka/trunk-install/include/c++/6.0.0/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; - } -# 189 "/aux/hubicka/trunk-install/include/c++/6.0.0/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()); -# 242 "/aux/hubicka/trunk-install/include/c++/6.0.0/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()); - } - } - - - - void - _M_pbump(char_type* __pbeg, char_type* __pend, off_type __off); - - private: - - - - - struct __xfer_bufptrs - { - __xfer_bufptrs(const basic_stringbuf& __from, basic_stringbuf* __to) - : _M_to{__to}, _M_goff{-1, -1, -1}, _M_poff{-1, -1, -1} - { - const _CharT* __str = __from._M_string.data(); - if (__from.eback()) - { - _M_goff[0] = __from.eback() - __str; - _M_goff[1] = __from.gptr() - __str; - _M_goff[2] = __from.egptr() - __str; - } - if (__from.pbase()) - { - _M_poff[0] = __from.pbase() - __str; - _M_poff[1] = __from.pptr() - __from.pbase(); - _M_poff[2] = __from.epptr() - __str; - } - } - - ~__xfer_bufptrs() - { - char_type* __str = const_cast(_M_to->_M_string.data()); - if (_M_goff[0] != -1) - _M_to->setg(__str+_M_goff[0], __str+_M_goff[1], __str+_M_goff[2]); - if (_M_poff[0] != -1) - _M_to->_M_pbump(__str+_M_poff[0], __str+_M_poff[2], _M_poff[1]); - } - - basic_stringbuf* _M_to; - off_type _M_goff[3]; - off_type _M_poff[3]; - }; -# 343 "/aux/hubicka/trunk-install/include/c++/6.0.0/sstream" 3 - basic_stringbuf(basic_stringbuf&& __rhs, __xfer_bufptrs&&) - : __streambuf_type(static_cast(__rhs)), - _M_mode(__rhs._M_mode), _M_string(std::move(__rhs._M_string)) - { } - - }; -# 366 "/aux/hubicka/trunk-install/include/c++/6.0.0/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: -# 402 "/aux/hubicka/trunk-install/include/c++/6.0.0/sstream" 3 - explicit - basic_istringstream(ios_base::openmode __mode = ios_base::in) - : __istream_type(), _M_stringbuf(__mode | ios_base::in) - { this->init(&_M_stringbuf); } -# 420 "/aux/hubicka/trunk-install/include/c++/6.0.0/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() - { } - - - basic_istringstream(const basic_istringstream&) = delete; - - basic_istringstream(basic_istringstream&& __rhs) - : __istream_type(std::move(__rhs)), - _M_stringbuf(std::move(__rhs._M_stringbuf)) - { __istream_type::set_rdbuf(&_M_stringbuf); } - - - - basic_istringstream& - operator=(const basic_istringstream&) = delete; - - basic_istringstream& - operator=(basic_istringstream&& __rhs) - { - __istream_type::operator=(std::move(__rhs)); - _M_stringbuf = std::move(__rhs._M_stringbuf); - return *this; - } - - void - swap(basic_istringstream& __rhs) - { - __istream_type::swap(__rhs); - _M_stringbuf.swap(__rhs._M_stringbuf); - } -# 471 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); } - }; -# 510 "/aux/hubicka/trunk-install/include/c++/6.0.0/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: -# 546 "/aux/hubicka/trunk-install/include/c++/6.0.0/sstream" 3 - explicit - basic_ostringstream(ios_base::openmode __mode = ios_base::out) - : __ostream_type(), _M_stringbuf(__mode | ios_base::out) - { this->init(&_M_stringbuf); } -# 564 "/aux/hubicka/trunk-install/include/c++/6.0.0/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() - { } - - - basic_ostringstream(const basic_ostringstream&) = delete; - - basic_ostringstream(basic_ostringstream&& __rhs) - : __ostream_type(std::move(__rhs)), - _M_stringbuf(std::move(__rhs._M_stringbuf)) - { __ostream_type::set_rdbuf(&_M_stringbuf); } - - - - basic_ostringstream& - operator=(const basic_ostringstream&) = delete; - - basic_ostringstream& - operator=(basic_ostringstream&& __rhs) - { - __ostream_type::operator=(std::move(__rhs)); - _M_stringbuf = std::move(__rhs._M_stringbuf); - return *this; - } - - void - swap(basic_ostringstream& __rhs) - { - __ostream_type::swap(__rhs); - _M_stringbuf.swap(__rhs._M_stringbuf); - } -# 615 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); } - }; -# 654 "/aux/hubicka/trunk-install/include/c++/6.0.0/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: -# 689 "/aux/hubicka/trunk-install/include/c++/6.0.0/sstream" 3 - explicit - basic_stringstream(ios_base::openmode __m = ios_base::out | ios_base::in) - : __iostream_type(), _M_stringbuf(__m) - { this->init(&_M_stringbuf); } -# 705 "/aux/hubicka/trunk-install/include/c++/6.0.0/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() - { } - - - basic_stringstream(const basic_stringstream&) = delete; - - basic_stringstream(basic_stringstream&& __rhs) - : __iostream_type(std::move(__rhs)), - _M_stringbuf(std::move(__rhs._M_stringbuf)) - { __iostream_type::set_rdbuf(&_M_stringbuf); } - - - - basic_stringstream& - operator=(const basic_stringstream&) = delete; - - basic_stringstream& - operator=(basic_stringstream&& __rhs) - { - __iostream_type::operator=(std::move(__rhs)); - _M_stringbuf = std::move(__rhs._M_stringbuf); - return *this; - } - - void - swap(basic_stringstream& __rhs) - { - __iostream_type::swap(__rhs); - _M_stringbuf.swap(__rhs._M_stringbuf); - } -# 756 "/aux/hubicka/trunk-install/include/c++/6.0.0/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); } - }; - - - - template - inline void - swap(basic_stringbuf<_CharT, _Traits, _Allocator>& __x, - basic_stringbuf<_CharT, _Traits, _Allocator>& __y) - { __x.swap(__y); } - - - template - inline void - swap(basic_istringstream<_CharT, _Traits, _Allocator>& __x, - basic_istringstream<_CharT, _Traits, _Allocator>& __y) - { __x.swap(__y); } - - - template - inline void - swap(basic_ostringstream<_CharT, _Traits, _Allocator>& __x, - basic_ostringstream<_CharT, _Traits, _Allocator>& __y) - { __x.swap(__y); } - - - template - inline void - swap(basic_stringstream<_CharT, _Traits, _Allocator>& __x, - basic_stringstream<_CharT, _Traits, _Allocator>& __y) - { __x.swap(__y); } - - -} - -} - -# 1 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/sstream.tcc" 1 3 -# 37 "/aux/hubicka/trunk-install/include/c++/6.0.0/bits/sstream.tcc" 3 - -# 38 "/aux/hubicka/trunk-install/include/c++/6.0.0/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) - { -# 110 "/aux/hubicka/trunk-install/include/c++/6.0.0/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->setg(this->eback(), this->eback() + __newoffi, - this->egptr()); - __ret = pos_type(__newoffi); - } - if ((__testout || __testboth) - && __newoffo >= 0 - && this->egptr() - __beg >= __newoffo) - { - _M_pbump(this->pbase(), this->epptr(), __newoffo); - __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->setg(this->eback(), this->eback() + __pos, - this->egptr()); - if (__testout) - _M_pbump(this->pbase(), this->epptr(), __pos); - __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) - { - _M_pbump(__base, __endp, __o); - - - - if (!__testin) - this->setg(__endg, __endg, __endg); - } - } - - template - void - basic_stringbuf<_CharT, _Traits, _Alloc>:: - _M_pbump(char_type* __pbeg, char_type* __pend, off_type __off) - { - this->setp(__pbeg, __pend); - while (__off > __gnu_cxx::__numeric_traits::__max) - { - this->pbump(__gnu_cxx::__numeric_traits::__max); - __off -= __gnu_cxx::__numeric_traits::__max; - } - this->pbump(__off); - } - - - - - 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; - - - - -} -# 814 "/aux/hubicka/trunk-install/include/c++/6.0.0/sstream" 2 3 -# 3 "t.C" 2 - - -# 4 "t.C" int main() { std::basic_ostringstream ostr;