+2001-06-08 Benjamin Kosnik <bkoz@redhat.com>
+
+ libstdc++/2767
+ libstdc++/2989
+ libstdc++/2992
+ * include/std/*: Add copyright notice.
+ * include/c_std/bits/*: Use using statements instead of extern "C".
+ * include/c_std/bits/std_cmath.h: Don't overload double versions
+ of math functions with __buitin versions, use global version to
+ prevent ambiguities. Remove define hacks.
+ * include/c_std/bits/std_cwchar.h: Using declarations for "C"
+ functions that have changed signatures and std::
+ declarations. Remove define hacks.
+ * include/c_std/bits/std_cwchar.h: Same, plus remove ambiguous
+ __builtins in std::. Remove define hacks.
+ * testsuite/17_intro/headers_c.cc: Add tests.
+ * testsuite/17_intro/headers_c++.cc: Add test.
+
2001-06-07 Loren J. Rittle <ljrittle@acm.org>
John David Anglin <dave@hiauly1.hia.nrc.ca>
// No include guards on this header...
#pragma GCC system_header
-#include <assert.h>
+#include_next <assert.h>
// ISO C++ 14882: <ccytpe>
//
-// Note: This is not a conforming implementation.
-
#ifndef _CPP_CCTYPE
#define _CPP_CCTYPE 1
#include <bits/c++config.h>
#pragma GCC system_header
-#include <ctype.h>
+#include_next <ctype.h>
// Get rid of those macros defined in <ctype.h> in lieu of real functions.
#undef isalnum
namespace std
{
- extern "C" int isalnum(int __c);
- extern "C" int isalpha(int __c);
- extern "C" int isblank(int __c);
- extern "C" int iscntrl(int __c);
- extern "C" int isdigit(int __c);
- extern "C" int isgraph(int __c);
- extern "C" int islower(int __c);
- extern "C" int isprint(int __c);
- extern "C" int ispunct(int __c);
- extern "C" int isspace(int __c);
- extern "C" int isupper(int __c);
- extern "C" int isxdigit(int __c);
- extern "C" int tolower(int __c);
- extern "C" int toupper(int __c);
+ using ::isalnum;
+ using ::isalpha;
+ using ::isblank;
+ using ::iscntrl;
+ using ::isdigit;
+ using ::isgraph;
+ using ::islower;
+ using ::isprint;
+ using ::ispunct;
+ using ::isspace;
+ using ::isupper;
+ using ::isxdigit;
+ using ::tolower;
+ using ::toupper;
}
#endif
-
-
-
-
-
-
-
-
-
-
-
-
// ISO C++ 14882: 19.3 Error numbers
//
-// Note: This is not a conforming implementation.
-
#ifndef _CPP_CERRNO
#define _CPP_CERRNO 1
#pragma GCC system_header
-#include <errno.h>
+#include_next <errno.h>
// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
#ifndef errno
// ISO C++ 14882: 18.2.2 Implementation properties: C library
//
-// Note: This is not a conforming implementation.
-
#ifndef _CPP_CFLOAT
#define _CPP_CFLOAT 1
#pragma GCC system_header
-#include <float.h>
+#include_next <float.h>
#endif
-
// ISO C++ 14882: 18.2.2 Implementation properties: C library
//
-// Note: This is not a conforming implementation.
-
#ifndef _CPP_CLIMITS
#define _CPP_CLIMITS 1
#pragma GCC system_header
-#include <limits.h>
+#include_next <limits.h>
#endif
-
-
-
-
-
// ISO C++ 14882: 18.2.2 Implementation properties: C library
//
-// Note: This is not a conforming implementation.
-
#ifndef _CPP_CLOCALE
#define _CPP_CLOCALE 1
#include <bits/c++config.h>
#pragma GCC system_header
-#include <locale.h>
+#include_next <locale.h>
// Get rid of those macros defined in <locale.h> in lieu of real functions.
#undef setlocale
namespace std
{
using ::lconv;
- extern "C" char* setlocale(int, const char*);
- extern "C" struct lconv* localeconv(void);
+ using ::setlocale;
+ using ::localeconv;
}
#endif
-
-
-
// ISO C++ 14882: 26.5 C library
//
-// Note: This is not a conforming implementation.
-
#ifndef _CPP_CMATH
#define _CPP_CMATH 1
#include <bits/c++config.h>
-#include <bits/std_cstdlib.h>
-
-#pragma GCC system_header
-
-// Need to mangle these "C" functions. Ideally, we could like to do the
-// same for the remaining of the "C" functions but they do not have
-// builtin implementations. So, they are still of nuisance.
-#define abs __glibcpp_abs
-#define cos __glibcpp_cos
-#define fabs __glibcpp_fabs
-#define sin __glibcpp_sin
-#define sqrt __glibcpp_sqrt
-#include <math.h>
+#pragma GCC system_header
+#include_next <math.h>
// Get rid of those macros defined in <math.h> in lieu of real functions.
#undef abs
return __x < _Tp() ? -__x : __x;
}
- // abs.
inline float
abs(float __x)
{ return __builtin_fabsf(__x); }
abs(long double __x)
{ return __builtin_fabsl(__x); }
-
- // acos.
#if _GLIBCPP_HAVE_ACOSF
inline float
acos(float __x) { return ::acosf(__x); }
acos(float __x) { return ::acos(static_cast<double>(__x)); }
#endif
- extern "C" double acos(double __x);
+ using ::acos;
#if _GLIBCPP_HAVE_ACOSL
inline long double
acos(long double __x) { return ::acos(static_cast<double>(__x)); }
#endif
-
- // asin.
#if _GLIBCPP_HAVE_ASINF
inline float
asin(float __x) { return ::asinf(__x); }
asin(float __x) { return ::asin(static_cast<double>(__x)); }
#endif
- extern "C" double asin(double __x);
+ using ::asin;
#if _GLIBCPP_HAVE_ASINL
inline long double
asin(long double __x) { return ::asin(static_cast<double>(__x)); }
#endif
-
- // atan.
#if _GLIBCPP_HAVE_ATANF
inline float
atan(float __x) { return ::atanf(__x); }
atan(float __x) { return ::atan(static_cast<double>(__x)); }
#endif
- extern "C" double atan(double __x);
+ using ::atan;
#if _GLIBCPP_HAVE_ATANL
inline long double
atan(long double __x) { return ::atan(static_cast<double>(__x)); }
#endif
-
- // atan2.
#if _GLIBCPP_HAVE_ATAN2F
inline float
atan2(float __y, float __x) { return ::atan2f(__y, __x); }
{ return ::atan2(static_cast<double>(__y), static_cast<double>(__x)); }
#endif
- extern "C" double atan2(double __y, double __x);
+ using ::atan2;
#if _GLIBCPP_HAVE_ATAN2L
inline long double
{ return ::atan2(static_cast<double>(__y), static_cast<double>(__x)); }
#endif
-
- // ceil.
#if _GLIBCPP_HAVE_CEILF
inline float
ceil(float __x) { return ::ceilf(__x); }
ceil(float __x) { return ::ceil(static_cast<double>(__x)); }
#endif
- extern "C" double ceil(double __x);
+ using ::ceil;
#if _GLIBCPP_HAVE_CEILL
inline long double
ceil(long double __x) { return ::ceil(static_cast<double>(__x)); }
#endif
-
- // cos.
inline float
cos(float __x)
{ return __builtin_cosf(__x); }
- inline double
- cos(double __x)
- { return __builtin_cos(__x); }
+ using ::cos;
inline long double
cos(long double __x)
{ return __builtin_cosl(__x); }
-
- // cosh.
#if _GLIBCPP_HAVE_COSHF
inline float
cosh(float __x) { return ::coshf(__x); }
cosh(float __x) { return ::cosh(static_cast<double>(__x)); }
#endif
- extern "C" double cosh(double __x);
+ using ::cosh;
#if _GLIBCPP_HAVE_COSHL
inline long double
cosh(long double __x) { return ::cosh(static_cast<double>(__x)); }
#endif
-
- // exp.
#if _GLIBCPP_HAVE_EXPF
inline float
exp(float __x) { return ::expf(__x); }
exp(float __x) { return ::exp(static_cast<double>(__x)); }
#endif
- extern "C" double exp(double __x);
+ using ::exp;
#if _GLIBCPP_HAVE_EXPL
inline long double
exp(long double __x) { return ::exp(static_cast<double>(__x)); }
#endif
-
- // fabs.
inline float
fabs(float __x)
{ return __builtin_fabsf(__x); }
- inline double
- fabs(double __x)
- { return __builtin_fabs(__x); }
+ using ::fabs;
inline long double
fabs(long double __x)
{ return __builtin_fabsl(__x); }
-
- // floor.
#if _GLIBCPP_HAVE_FLOORF
inline float
floor(float __x) { return ::floorf(__x); }
floor(float __x) { return ::floor(static_cast<double>(__x)); }
#endif
- extern "C" double floor(double __x);
+ using ::floor;
#if _GLIBCPP_HAVE_FLOORL
inline long double
floor(long double __x) { return ::floor(static_cast<double>(__x)); }
#endif
-
- // fmod.
#if _GLIBCPP_HAVE_FMODF
inline float
fmod(float __x, float __y) { return ::fmodf(__x, __y); }
{ return ::fmod(static_cast<double>(__x), static_cast<double>(__y)); }
#endif
- extern "C" double fmod(double __x, double __y);
+ using ::fmod;
#if _GLIBCPP_HAVE_FMODL
inline long double
{ return ::fmod(static_cast<double>(__x), static_cast<double>(__y)); }
#endif
-
- // frexp.
#if _GLIBCPP_HAVE_FREXPF
inline float
frexp(float __x, int* __exp) { return ::frexpf(__x, __exp); }
frexp(float __x, int* __exp) { return ::frexp(__x, __exp); }
#endif
- extern "C" double frexp(double __x, int* __exp);
+ using ::frexp;
#if _GLIBCPP_HAVE_FREXPL
inline long double
{ return ::frexp(static_cast<double>(__x), __exp); }
#endif
-
- // ldexp.
#if _GLIBCPP_HAVE_LDEXPF
inline float
ldexp(float __x, int __exp) { return ::ldexpf(__x, __exp); }
{ return ::ldexp(static_cast<double>(__x), __exp); }
#endif
- extern "C" double ldexp(double __x, int __exp);
+ using ::ldexp;
#if _GLIBCPP_HAVE_LDEXPL
inline long double
{ return ::ldexp(static_cast<double>(__x), __exp); }
#endif
-
- // log.
#if _GLIBCPP_HAVE_LOGF
inline float
log(float __x) { return ::logf(__x); }
{ return ::log(static_cast<double>(__x)); }
#endif
- extern "C" double log(double __x);
+ using ::log;
#if _GLIBCPP_HAVE_LOGL
inline long double
log(long double __x) { return ::log(static_cast<double>(__x)); }
#endif
-
- // log10.
#if _GLIBCPP_HAVE_LOG10F
inline float
log10(float __x) { return ::log10f(__x); }
log10(float __x) { return ::log10(static_cast<double>(__x)); }
#endif
- extern "C" double log10(double __x);
+ using ::log10;
#if _GLIBCPP_HAVE_LOG10L
inline long double
log10(long double __x) { return ::log10(static_cast<double>(__x)); }
#endif
-
- // modf.
#if _GLIBCPP_HAVE_MODFF
inline float
modf(float __x, float* __iptr) { return ::modff(__x, __iptr); }
}
#endif
- extern "C" double modf(double __x, double* __iptr);
+ using ::modf;
#if _GLIBCPP_HAVE_MODFL
inline long double
}
#endif
-
- // pow.
template<typename _Tp>
inline _Tp
__pow_helper(_Tp __x, int __n)
{ return ::pow(static_cast<double>(__x), static_cast<double>(__y)); }
#endif
- extern "C" double pow(double __x, double __y);
+ using ::pow;
#if _GLIBCPP_HAVE_POWL
inline long double
inline float
pow(float __x, int __n)
- {
- return __pow_helper(__x, __n);
- }
+ { return __pow_helper(__x, __n); }
inline double
pow(double __x, int __i)
- {
- return __pow_helper(__x, __i);
- }
+ { return __pow_helper(__x, __i); }
inline long double
pow(long double __x, int __n)
- {
- return __pow_helper(__x, __n);
- }
-
+ { return __pow_helper(__x, __n); }
- // sin.
inline float
sin(float __x)
{ return __builtin_sinf(__x); }
- inline double
- sin(double __x)
- { return __builtin_sin(__x); }
+ using ::sin;
inline long double
sin(long double __x)
{ return __builtin_sinl(__x); }
-
- // sinh.
#if _GLIBCPP_HAVE_SINHF
inline float
sinh(float __x) { return ::sinhf(__x); }
sinh(float __x) { return ::sinh(static_cast<double>(__x)); }
#endif
- extern "C" double sinh(double __x);
+ using ::sinh;
#if _GLIBCPP_HAVE_SINHL
inline long double
sinh(long double __x) { return ::sinh(static_cast<double>(__x)); }
#endif
-
- // sqrt.
inline float
sqrt(float __x)
{ return __builtin_sqrtf(__x); }
- inline double
- sqrt(double __x)
- { return __builtin_fsqrt(__x); }
+ using ::sqrt;
inline long double
sqrt(long double __x)
{ return __builtin_sqrtl(__x); }
-
- // tan.
#if _GLIBCPP_HAVE_TANF
inline float
tan(float __x) { return ::tanf(__x); }
tan(float __x) { return ::tan(static_cast<double>(__x)); }
#endif
- extern "C" double tan(double __x);
+ using ::tan;
#if _GLIBCPP_HAVE_TANL
inline long double
tan(long double __x) { return ::tan(static_cast<double>(__x)); }
#endif
-
- // tanh.
#if _GLIBCPP_HAVE_TANHF
inline float
tanh(float __x) { return ::tanhf(__x); }
tanh(float __x) { return ::tanh(static_cast<double>(__x)); }
#endif
- extern "C" double tanh(double __x);
+ using ::tanh;
#if _GLIBCPP_HAVE_TANHL
inline long double
// ISO C++ 14882: 20.4.6 C library
//
-// Note: This is not a conforming implementation.
-
#ifndef _CPP_CSETJMP
#define _CPP_CSETJMP 1
#pragma GCC system_header
-#include <setjmp.h>
+#include_next <setjmp.h>
// Get rid of those macros defined in <setjmp.h> in lieu of real functions.
#undef longjmp
namespace std
{
using ::jmp_buf;
- extern "C" void longjmp(jmp_buf, int);
+ using ::longjmp;
}
#endif
// ISO C++ 14882: 20.4.6 C library
//
-// Note: This is not a conforming implementation.
-
#ifndef _CPP_CSIGNAL
#define _CPP_CSIGNAL 1
#pragma GCC system_header
-#include <signal.h>
+#include_next <signal.h>
// Get rid of those macros defined in <signal.h> in lieu of real functions.
#undef raise
namespace std
{
using ::sig_atomic_t;
- extern "C" void (*signal(int, void (*__func)(int)))(int);
- extern "C" int raise(int);
+ using ::signal;
+ using ::raise;
}
#endif
// ISO C++ 14882: 20.4.6 C library
//
-// Note: This is not a conforming implementation.
-
#ifndef _CPP_CSTDARG
#define _CPP_CSTDARG 1
#pragma GCC system_header
-#include <stdarg.h>
+#include_next <stdarg.h>
// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
#ifndef va_end
// ISO C++ 14882: 18.1 Types
//
-// Note: This is not a conforming implementation.
-
#ifndef _CPP_CSTDDEF
#define _CPP_CSTDDEF 1
#pragma GCC system_header
-#include <stddef.h>
+#include_next <stddef.h>
namespace std
{
// ISO C++ 14882: 27.8.2 C Library files
//
-// Note: This is not a conforming implementation.
-
#ifndef _CPP_CSTDIO
#define _CPP_CSTDIO 1
#include <bits/std_cstddef.h>
#pragma GCC system_header
-#include <stdio.h>
+#include_next <stdio.h>
// Get rid of those macros defined in <stdio.h> in lieu of real functions.
#undef remove
using ::FILE;
using ::fpos_t;
- extern "C" int remove(const char*);
- extern "C" int rename(const char*, const char*);
- extern "C" FILE* tmpfile(void);
- extern "C" char* tmpnam(char*);
- extern "C" int fclose(FILE*);
- extern "C" int fflush(FILE*);
- extern "C" FILE* fopen(const char*, const char*);
- extern "C" FILE* freopen(const char*, const char*, FILE*);
- extern "C" void setbuf(FILE*, char*);
- extern "C" int setvbuf(FILE*, char*, int, size_t);
- extern "C" int fprintf(FILE*, const char*, ...);
- extern "C" int fscanf(FILE*, const char*, ...);
- extern "C" int printf(const char*, ...);
- extern "C" int scanf(const char*, ...);
- extern "C" int snprintf(char *, size_t, const char*, ...);
- extern "C" int sprintf(char *, const char*, ...);
- extern "C" int sscanf(const char*, const char*, ...);
- extern "C" int vfprintf(FILE*, const char*, va_list);
- extern "C" int vfscanf(FILE*, const char*, va_list);
- extern "C" int vprintf(const char*, va_list);
- extern "C" int vscanf(const char*, va_list);
- extern "C" int vsnprintf(char*, size_t, const char*, va_list);
- extern "C" int vsprintf(char*, const char*, va_list);
- extern "C" int vsscanf(const char*, const char*, va_list);
- extern "C" int fgetc(FILE *);
- extern "C" char *fgets(char*, int, FILE*);
- extern "C" int fputc(int, FILE*);
- extern "C" int fputs(const char*, FILE*);
- extern "C" int getc(FILE*);
- extern "C" int getchar(void);
- extern "C" char *gets(char*);
- extern "C" int putc(int, FILE*);
- extern "C" int putchar(int);
- extern "C" int puts(const char*);
- extern "C" int ungetc(int, FILE*);
- extern "C" size_t fread(void*, size_t, size_t, FILE*);
- extern "C" size_t fwrite(const void*, size_t, size_t, FILE*);
- extern "C" int fgetpos(FILE*, fpos_t*);
- extern "C" int fseek(FILE*, long int, int);
- extern "C" int fsetpos(FILE*, const fpos_t*);
- extern "C" long int ftell(FILE*);
- extern "C" void rewind(FILE*);
- extern "C" void clearerr(FILE*);
- extern "C" int feof(FILE*);
- extern "C" int ferror(FILE*);
- extern "C" void perror(const char*);
+ using ::remove;
+ using ::rename;
+ using ::tmpfile;
+ using ::tmpnam;
+ using ::fclose;
+ using ::fflush;
+ using ::fopen;
+ using ::freopen;
+ using ::setbuf;
+ using ::setvbuf;
+ using ::fprintf;
+ using ::fscanf;
+ using ::printf;
+ using ::scanf;
+ using ::snprintf;
+ using ::sprintf;
+ using ::sscanf;
+ using ::vfprintf;
+ using ::vfscanf;
+ using ::vprintf;
+ using ::vscanf;
+ using ::vsnprintf;
+ using ::vsprintf;
+ using ::vsscanf;
+ using ::fgetc;
+ using ::fgets;
+ using ::fputc;
+ using ::fputs;
+ using ::getc;
+ using ::getchar;
+ using ::gets;
+ using ::putc;
+ using ::putchar;
+ using ::puts;
+ using ::ungetc;
+ using ::fread;
+ using ::fwrite;
+ using ::fgetpos;
+ using ::fseek;
+ using ::fsetpos;
+ using ::ftell;
+ using ::rewind;
+ using ::clearerr;
+ using ::feof;
+ using ::ferror;
+ using ::perror;
}
#endif
-
-
-
-
-
-
-
-
// ISO C++ 14882: 20.4.6 C library
//
-// Note: This is not a conforming implementation.
-
#ifndef _CPP_CSTDLIB
#define _CPP_CSTDLIB 1
#include <bits/c++config.h>
-#include <bits/std_cstddef.h>
#pragma GCC system_header
-#include <stdlib.h>
+#include_next <stdlib.h>
// Get rid of those macros defined in <stdlib.h> in lieu of real functions.
#undef atof
namespace std
{
+ using ::size_t; // cstddef
+
using ::div_t;
using ::ldiv_t;
- extern "C" double atof(const char*);
- extern "C" int atoi(const char*);
- extern "C" long int atol(const char*);
- extern "C" double strtod(const char*, char**);
- extern "C" float strtof(const char*, char**);
- extern "C" long int strtol(const char*, char**, int);
- extern "C" unsigned long int strtoul(const char*, char**, int);
- extern "C" int rand(void);
- extern "C" void srand(unsigned int);
- extern "C" void* calloc(size_t, size_t);
- extern "C" void free(void*);
- extern "C" void* malloc(size_t);
- extern "C" void* realloc(void*, size_t);
- extern "C" void abort(void);
- extern "C" int atexit(void (*func)(void));
- extern "C" void exit(int);
- extern "C" void _Exit(int);
- extern "C" char*getenv(const char*);
- extern "C" int system(const char*);
- extern "C" void* bsearch(const void*, const void*, size_t, size_t,
- int (*comp)(const void *, const void *));
- extern "C" void qsort(void*, size_t, size_t,
- int (*comp)(const void *, const void *));
- extern "C" int abs(int);
- extern "C" long int labs(long int);
- extern "C" div_t div(int, int);
- extern "C" ldiv_t ldiv(long int, long int);
- extern "C" int mblen(const char*, size_t);
- extern "C" int mbtowc(wchar_t*, const char*, size_t);
- extern "C" int wctomb(char*, wchar_t);
- extern "C" size_t mbstowcs(wchar_t*, const char*, size_t);
- extern "C" size_t wcstombs(char*, const wchar_t*, size_t);
+ using ::atof;
+ using ::atoi;
+ using ::atol;
+ using ::strtod;
+ using ::strtof;
+ using ::strtol;
+ using ::strtoul;
+ using ::rand;
+ using ::srand;
+ using ::calloc;
+ using ::free;
+ using ::malloc;
+ using ::realloc;
+ using ::abort;
+ using ::atexit;
+ using ::exit;
+ using ::_Exit;
+ using ::getenv;
+ using ::system;
+ using ::bsearch;
+ using ::qsort;
+ using ::abs;
+ using ::labs;
+ using ::div;
+ using ::ldiv;
+ using ::mblen;
+ using ::mbtowc;
+ using ::wctomb;
+ using ::mbstowcs;
+ using ::wcstombs;
inline long
- abs(long __i) { return ::labs(__i); }
+ abs(long __i) { return labs(__i); }
inline ldiv_t
- div(long __i, long __j) { return ::ldiv(__i, __j); }
+ div(long __i, long __j) { return ldiv(__i, __j); }
} // namespace std
#if _GLIBCPP_USE_C99
lldiv(long long __n, long long __d)
{ lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
- extern "C" long long int atoll(const char*);
- extern "C" long long int strtoll(const char*, char**, int);
- extern "C" unsigned long long int strtoull(const char*, char**, int);
+ using ::atoll;
+ using ::strtoll;
+ using ::strtoull;
#ifdef _GLIBCPP_HAVE_STRTOLD
- extern "C" long double strtold(const char*, char**);
+ using ::strtold;
#endif
} // namespace __gnu_cxx
{
using __gnu_cxx::lldiv_t;
using __gnu_cxx::abs;
- //using __gnu_cxx::llabs; // XXX ???
+ using __gnu_cxx::llabs;
using __gnu_cxx::div;
using __gnu_cxx::lldiv;
using __gnu_cxx::atoll;
// ISO C++ 14882: 20.4.6 C library
//
-// Note: This is not a conforming implementation.
-
#ifndef _CPP_CSTRING
#define _CPP_CSTRING 1
-#include <bits/c++config.h>
-#include <bits/std_cstddef.h>
-
-
-// Need to mangle these "C" functions because C++ modifies their signature.
-#define memcpy __glibcpp_memcpy
-#define memmove __glibcpp_memmove
-#define strcpy __glibcpp_strcpy
-#define strncpy __glibcpp_strncpy
-#define strcat __glibcpp_strcat
-#define strncat __glibcpp_strncat
-#define memcmp __glibcpp_memcmp
-#define strcmp __glibcpp_strcmp
-#define strcoll __glibcpp_strcoll
-#define strncmp __glibcpp_strncmp
-#define strxfrm __glibcpp_strxfrm
-#define memchr __glibcpp_memchr
-#define strchr __glibcpp_strchr
-#define strcspn __glibcpp_strcspn
-#define strpbrk __glibcpp_strpbrk
-#define strrchr __glibcpp_strrchr
-#define strspn __glibcpp_strspn
-#define strstr __glibcpp_strstr
-#define strtok __glibcpp_strtok
-#define memset __glibcpp_memset
-#define strerror __glibcpp_strerror
-#define strlen __glibcpp_strlen
-
#pragma GCC system_header
-#include <string.h>
+#include_next <string.h>
// Get rid of those macros defined in <string.h> in lieu of real functions.
#undef memcpy
namespace std
{
- inline void*
- memcpy(void* __p1, const void* __p2, size_t __n)
- { return __builtin_memcpy(__p1, __p2, __n); }
-
- extern "C" void* memmove(void*, const void*, size_t);
-
- inline char*
- strcpy(char* __s1, const char* __s2)
- { return __builtin_strcpy(__s1, __s2); }
-
- inline char*
- strncpy(char* __s1, const char* __s2, size_t __n)
- { return __builtin_strncpy(__s1, __s2, __n); }
-
- inline char*
- strcat(char* __s1, const char* __s2)
- { return __builtin_strcat(__s1, __s2); }
-
- inline char*
- strncat(char* __s1, const char* __s2, size_t __n)
- { return __builtin_strncat(__s1, __s2, __n); }
-
- inline int
- memcmp(const void* __p1, const void* __p2, size_t __n)
- { return __builtin_memcmp(__p1, __p2, __n); }
-
- inline int
- strcmp(const char* __s1, const char* __s2)
- { return __builtin_strcmp(__s1, __s2); }
-
- extern "C" int strcoll(const char*, const char*);
-
- inline int
- strncmp(const char* __s1, const char* __s2, size_t __n)
- { return __builtin_strncmp(__s1, __s2, __n); }
-
- extern "C" size_t strxfrm(char*, const char*, size_t);
- extern "C" const void* memchr(const void*, int, size_t);
+ using ::size_t; // cstddef
+
+ using ::memcpy;
+ using ::memmove;
+ using ::strcpy;
+ using ::strncpy;
+ using ::strcat;
+ using ::strncat;
+ using ::memcmp;
+ using ::strcmp;
+ using ::strcoll;
+ using ::strncmp;
+ using ::strxfrm;
+ using ::strcspn;
+ using ::strspn;
+ using ::strtok;
+ using ::memset;
+ using ::strerror;
+ using ::strlen;
+
+ using ::memchr;
inline void*
memchr(void* __p, int __c, size_t __n)
- {
- return const_cast<void*>(memchr(const_cast<const void*>(__p), __c, __n));
- }
+ { return memchr(const_cast<const void*>(__p), __c, __n); }
- inline const char*
- strchr(const char* __s1, int __n)
- { return const_cast<const char*>(__builtin_strchr(__s1, __n)); }
+ using ::strchr;
inline char*
strchr(char* __s1, int __n)
- {
- return
- const_cast<char*>(__builtin_strchr(const_cast<const char*>(__s1), __n));
- }
-
- inline size_t
- strcspn(const char* __s1, const char* __s2)
- { return __builtin_strcspn(__s1, __s2); }
+ { return __builtin_strchr(const_cast<const char*>(__s1), __n); }
- inline const char*
- strpbrk(const char* __s1, const char* __s2)
- { return const_cast<char*>(__builtin_strpbrk(__s1, __s2)); }
+ using ::strpbrk;
inline char*
strpbrk(char* __s1, const char* __s2)
- {
- return const_cast<char*>
- (__builtin_strpbrk(const_cast<const char*>(__s1), __s2));
- }
+ { return __builtin_strpbrk(const_cast<const char*>(__s1), __s2); }
- inline const char*
- strrchr(const char* __s1, int __n)
- { return const_cast<char*>(__builtin_strrchr(__s1, __n)); }
+ using ::strrchr;
inline char*
strrchr(char* __s1, int __n)
{ return __builtin_strrchr(const_cast<const char*>(__s1), __n); }
- inline size_t
- strspn(const char* __s1, const char* __s2)
- { return __builtin_strspn(__s1, __s2); }
-
- inline const char*
- strstr(const char* __s1, const char* __s2)
- { return const_cast<char*>(__builtin_strstr (__s1, __s2)); }
+ using ::strstr;
inline char*
strstr(char* __s1, const char* __s2)
- {
- return (const_cast<char*>
- (__builtin_strstr(const_cast<const char*>(__s1), __s2)));
- }
-
- extern "C" char* strtok(char*, const char*);
-
- inline void*
- memset(void* __p, int __c, size_t __n)
- { return __builtin_memset(__p, __c, __n); }
-
- extern "C" char* strerror(int);
-
- inline size_t
- strlen(const char* __s)
- { return __builtin_strlen(__s); }
+ { return __builtin_strstr(const_cast<const char*>(__s1), __s2); }
}
#endif
-
-
-
// ISO C++ 14882: 20.5 Date and time
//
-// Note: This is not a conforming implementation.
-
#ifndef _CPP_CTIME
#define _CPP_CTIME 1
-#include <bits/c++config.h>
-#include <bits/std_cstddef.h>
-
#pragma GCC system_header
-#include <time.h>
+#include_next <time.h>
// Get rid of those macros defined in <time.h> in lieu of real functions.
#undef clock
namespace std
{
+ using ::size_t; // cstddef
+
using ::clock_t;
using ::time_t;
using ::tm;
- extern "C" clock_t clock(void);
- extern "C" double difftime(time_t, time_t);
- extern "C" time_t mktime(struct tm*);
- extern "C" time_t time(time_t*);
- extern "C" char* asctime(const struct tm*);
- extern "C" char* ctime(const time_t*);
- extern "C" struct tm* gmtime(const time_t*);
- extern "C" struct tm* localtime(const time_t*);
- extern "C" size_t strftime(char*, size_t, const char*, const struct tm*);
+ using ::clock;
+ using ::difftime;
+ using ::mktime;
+ using ::time;
+ using ::asctime;
+ using ::ctime;
+ using ::gmtime;
+ using ::localtime;
+ using ::strftime;
}
#endif
// ISO C++ 14882: ???
//
-// Note: This is not a conforming implementation.
-
#ifndef _CPP_CWCHAR
#define _CPP_CWCHAR 1
#include <bits/c++config.h>
-#include <bits/std_cstddef.h>
-#include <bits/std_cstdio.h>
-#include <bits/std_cstdarg.h>
#if _GLIBCPP_HAVE_WCHAR_H
-// Need to mangle these "C" functions because C++ modifies their signature.
-#define wcschr __glibcpp_wcschr
-#define wcsbrk __glibcpp_wcspbrk
-#define wcsrchr __glibcpp_wcsrchr
-#define wcsstr __glibcpp_wcsstr
-#define wmemchr __glibcpp_wmemchr
-
#pragma GCC system_header
-#include <wchar.h>
+#include_next <wchar.h>
#endif
// Need to do a bit of trickery here with mbstate_t as char_traits
}
// Get rid of those macros defined in <wchar.h> in lieu of real functions.
+#undef btowc
+#undef wctob
+#undef fgetwc
+#undef fgetwc
+#undef fgetws
+#undef fputwc
+#undef fputws
+#undef fwide
+#undef fwprintf
+#undef fwscanf
+#undef swprintf
+#undef swscanf
+#undef vfwprintf
+#undef vfwscanf
+#undef vswprintf
+#undef vswscanf
#undef vwprintf
#undef vwscanf
#undef wprintf
#undef wcscoll
#undef wcsncmp
#undef wcsxfrm
-#undef wcschr
#undef wcscspn
#undef wcslen
-#undef wcspbrk
-#undef wcsrchr
#undef wcsspn
-#undef wcsstr
#undef wcstok
-#undef wmemchr
#undef wmemcmp
#undef wmemcpy
#undef wmemmove
#undef wmemset
#undef wcsftime
-#undef wcstold
-#undef wcstoll
-#undef wcstoull
+
+#undef wcschr
+#undef wcspbrk
+#undef wcsrchr
+#undef wcsstr
+#undef wmemchr
#if _GLIBCPP_USE_WCHAR_T
namespace std
{
+ using ::size_t; // cstddef
+
using ::wint_t;
- extern "C" wint_t btowc(int);
- extern "C" int wctob(wint_t);
- extern "C" wint_t fgetwc(FILE*);
- extern "C" wchar_t* fgetws(wchar_t*, int, FILE*);
- extern "C" wint_t fputwc(wchar_t, FILE*);
- extern "C" int fputws(const wchar_t*, FILE*);
- extern "C" int fwide(FILE*, int);
- extern "C" int fwprintf(FILE*, const wchar_t*, ...);
- extern "C" int fwscanf(FILE*, const wchar_t*, ...);
- extern "C" int swprintf(wchar_t*, size_t, const wchar_t*, ...);
- extern "C" int swscanf(const wchar_t*, const wchar_t*, ...);
- extern "C" int vfwprintf(FILE*, const wchar_t*, va_list);
- extern "C" int vfwscanf(FILE*, const wchar_t*, va_list);
- extern "C" int vswprintf(wchar_t*, size_t, const wchar_t*, va_list);
- extern "C" int vswscanf(const wchar_t*, const wchar_t*, va_list);
- extern "C" int vwprintf(const wchar_t*, va_list);
- extern "C" int vwscanf(const wchar_t*, va_list);
- extern "C" int wprintf(const wchar_t*, ...);
- extern "C" int wscanf(const wchar_t*, ...);
- extern "C" wint_t getwc(FILE* stream);
- extern "C" wint_t getwchar(void);
- extern "C" int mbsinit(const mbstate_t*);
- extern "C" size_t mbrlen(const char*, size_t, mbstate_t*);
- extern "C" size_t mbrtowc(wchar_t*, const char*, size_t, mbstate_t*);
- extern "C" size_t mbsrtowcs(wchar_t*, const char**, size_t, mbstate_t*);
- extern "C" size_t wcsrtombs(char*, const wchar_t **, size_t, mbstate_t*);
- extern "C" wint_t putwc(wchar_t, FILE*);
- extern "C" wint_t putwchar(wchar_t);
- extern "C" wint_t ungetwc(wint_t, FILE*);
- extern "C" size_t wcrtomb(char*, wchar_t, mbstate_t*);
- extern "C" double wcstod(const wchar_t*, wchar_t**);
- extern "C" float wcstof(const wchar_t*, wchar_t**);
- extern "C" long int wcstol(const wchar_t*, wchar_t**, int);
- extern "C" unsigned long int wcstoul(const wchar_t*, wchar_t**, int);
- extern "C" wchar_t* wcscpy(wchar_t* s1, const wchar_t*);
- extern "C" wchar_t* wcsncpy(wchar_t*, const wchar_t*, size_t);
- extern "C" wchar_t* wcscat(wchar_t*, const wchar_t*);
- extern "C" wchar_t* wcsncat(wchar_t*, const wchar_t*, size_t);
- extern "C" int wcscmp(const wchar_t*, const wchar_t*);
- extern "C" int wcscoll(const wchar_t*, const wchar_t*);
- extern "C" int wcsncmp(const wchar_t*, const wchar_t*, size_t);
- extern "C" size_t wcsxfrm(wchar_t*, const wchar_t*, size_t);
- extern "C" const wchar_t* wcschr(const wchar_t*, wchar_t);
+ using ::btowc;
+ using ::wctob;
+ using ::fgetwc;
+ using ::fgetwc;
+ using ::fgetws;
+ using ::fputwc;
+ using ::fputws;
+ using ::fwide;
+ using ::fwprintf;
+ using ::fwscanf;
+ using ::swprintf;
+ using ::swscanf;
+ using ::vfwprintf;
+ using ::vfwscanf;
+ using ::vswprintf;
+ using ::vswscanf;
+ using ::vwprintf;
+ using ::vwscanf;
+ using ::wprintf;
+ using ::wscanf;
+ using ::getwc;
+ using ::getwchar;
+ using ::mbsinit;
+ using ::mbrlen;
+ using ::mbrtowc;
+ using ::mbsrtowcs;
+ using ::wcsrtombs;
+ using ::putwc;
+ using ::putwchar;
+ using ::ungetwc;
+ using ::wcrtomb;
+ using ::wcstod;
+ using ::wcstof;
+ using ::wcstol;
+ using ::wcstoul;
+ using ::wcscpy;
+ using ::wcsncpy;
+ using ::wcscat;
+ using ::wcsncat;
+ using ::wcscmp;
+ using ::wcscoll;
+ using ::wcsncmp;
+ using ::wcsxfrm;
+ using ::wcscspn;
+ using ::wcslen;
+ using ::wcsspn;
+ using ::wcstok;
+ using ::wmemcmp;
+ using ::wmemcpy;
+ using ::wmemmove;
+ using ::wmemset;
+ using ::wcsftime;
+
+ using ::wcschr;
+
inline wchar_t*
wcschr(wchar_t* __p, wchar_t __c)
- {
- return const_cast<wchar_t*>(wcschr(const_cast<const wchar_t*>(__p), __c));
- }
- extern "C" size_t wcscspn(const wchar_t*, const wchar_t*);
- extern "C" size_t wcslen(const wchar_t*);
- extern "C" const wchar_t* wcspbrk(const wchar_t*, const wchar_t*);
+ { return wcschr(const_cast<const wchar_t*>(__p), __c); }
+
+ using ::wcspbrk;
+
inline wchar_t*
wcspbrk(wchar_t* __s1, wchar_t* __s2)
- {
- return const_cast<wchar_t*>(wcspbrk(const_cast<const wchar_t*>(__s1), __s2));
- }
- extern "C" const wchar_t* wcsrchr(const wchar_t*, wchar_t);
+ { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
+
+ using ::wcsrchr;
+
inline wchar_t*
wcsrchr(wchar_t* __p, wchar_t __c)
- {
- return const_cast<wchar_t*>(wcsrchr(const_cast<const wchar_t*>(__p), __c));
- }
- extern "C" size_t wcsspn(const wchar_t*, const wchar_t*);
- extern "C" const wchar_t* wcsstr(const wchar_t*, const wchar_t*);
+ { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
+
+ using ::wcsstr;
+
inline wchar_t*
wcsstr(wchar_t* __s1, wchar_t* __s2)
- {
- return const_cast<wchar_t*>(wcsstr(const_cast<const wchar_t*>(__s1), __s2));
- }
- extern "C" wchar_t* wcstok(wchar_t*, const wchar_t*, wchar_t**);
- extern "C" const wchar_t* wmemchr(const wchar_t*, wchar_t, size_t);
+ { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
+
+ using ::wmemchr;
+
inline wchar_t*
wmemchr(wchar_t* __p, wchar_t __c, size_t __n)
- {
- return const_cast<wchar_t*>(wmemchr(const_cast<const wchar_t*>(__p), __c, __n));
- }
- extern "C" int wmemcmp(const wchar_t*, const wchar_t*, size_t);
- extern "C" wchar_t* wmemcpy(wchar_t*, const wchar_t*, size_t);
- extern "C" wchar_t* wmemmove(wchar_t*, const wchar_t*, size_t);
- extern "C" wchar_t* wmemset(wchar_t*, wchar_t, size_t);
- extern "C" size_t wcsftime(wchar_t*, size_t, const wchar_t*, const struct tm*);
+ { return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
}
#if _GLIBCPP_USE_C99
namespace __gnu_cxx
{
- extern "C" long double wcstold(const wchar_t*, wchar_t**);
- extern "C" long long int wcstoll(const wchar_t*, wchar_t**, int);
- extern "C" unsigned long long int wcstoull(const wchar_t*, wchar_t**, int);
+ using ::wcstold;
+ using ::wcstoll;
+ using ::wcstoull;
}
namespace std
// ISO C++ 14882: <cwctype>
//
-// Note: This is not a conforming implementation.
-
#ifndef _CPP_CWCTYPE
#define _CPP_CWCTYPE 1
-#include <bits/std_cwchar.h>
-
#pragma GCC system_header
-#include <wctype.h>
+#include_next <wctype.h>
// Get rid of those macros defined in <wctype.h> in lieu of real functions.
#undef iswalnum
namespace std
{
+ using ::wint_t; // cwchar
+
using ::wctype_t;
using ::wctrans_t;
- extern "C" int iswalnum(wint_t);
- extern "C" int iswalpha(wint_t);
- extern "C" int iswblank(wint_t);
- extern "C" int iswcntrl(wint_t);
- extern "C" int iswdigit(wint_t);
- extern "C" int iswgraph(wint_t);
- extern "C" int iswlower(wint_t);
- extern "C" int iswprint(wint_t);
- extern "C" int iswpunct(wint_t);
- extern "C" int iswspace(wint_t);
- extern "C" int iswupper(wint_t);
- extern "C" int iswxdigit(wint_t);
- extern "C" int iswctype(wint_t, wctype_t);
- extern "C" wctype_t wctype(const char *);
- extern "C" wint_t towlower(wint_t);
- extern "C" wint_t towupper(wint_t);
- extern "C" wint_t towctrans(wint_t, wctrans_t);
- extern "C" wctrans_t wctrans(const char*);
+ using ::iswalnum;
+ using ::iswalpha;
+ using ::iswblank;
+ using ::iswcntrl;
+ using ::iswdigit;
+ using ::iswgraph;
+ using ::iswlower;
+ using ::iswprint;
+ using ::iswprint;
+ using ::iswpunct;
+ using ::iswspace;
+ using ::iswupper;
+ using ::iswxdigit;
+ using ::iswctype;
+ using ::towlower;
+ using ::towupper;
+ using ::towctrans;
+ using ::wctrans;
}
#endif
-
-
-
-
-
-
-
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_ALGORITHM
#include <bits/std_algorithm.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_BITSET
#include <bits/std_bitset.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
// This one should not have include guards.
#include <bits/std_cassert.h>
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_CCTYPE
#include <bits/std_cctype.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_CERRNO
#include <bits/std_cerrno.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_CFLOAT
#include <bits/std_cfloat.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_CLIMITS
#include <bits/std_climits.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_CLOCALE
#include <bits/std_clocale.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_CMATH
#include <bits/std_cmath.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_COMPLEX
#include <bits/std_complex.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
#ifndef _CPP_CSETJMP
#include <bits/std_csetjmp.h>
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
#ifndef _CPP_CSIGNAL
#include <bits/std_csignal.h>
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
#ifndef _CPP_CSTDARG
#include <bits/std_cstdarg.h>
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_CSTDDEF
#include <bits/std_cstddef.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_CSTDIO
#include <bits/std_cstdio.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_CSTDLIB
#include <bits/std_cstdlib.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_CSTRING
#include <bits/std_cstring.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_CTIME
#include <bits/std_ctime.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_CWCHAR
#include <bits/std_cwchar.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_CWCTYPE
#include <bits/std_cwctype.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_DEQUE
#include <bits/std_deque.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_FSTREAM
#include <bits/std_fstream.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_FUNCTIONAL
#include <bits/std_functional.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_IOMANIP
#include <bits/std_iomanip.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_IOS
#include <bits/std_ios.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_IOSFWD
#include <bits/std_iosfwd.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_IOSTREAM
#include <bits/std_iostream.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_ISTREAM
#include <bits/std_istream.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_ITERATOR
#include <bits/std_iterator.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_LIMITS
#include <bits/std_limits.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_LIST
#include <bits/std_list.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_LOCALE
#include <bits/std_locale.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_MAP
#include <bits/std_map.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_MEMORY
#include <bits/std_memory.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_NUMERIC
#include <bits/std_numeric.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_OSTREAM
#include <bits/std_ostream.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_QUEUE
#include <bits/std_queue.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_SET
#include <bits/std_set.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_SSTREAM
#include <bits/std_sstream.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_STACK
#include <bits/std_stack.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_STDEXCEPT
#include <bits/std_stdexcept.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_STREAMBUF
#include <bits/std_streambuf.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_STRING
#include <bits/std_string.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_UTILITY
#include <bits/std_utility.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_VALARRAY
#include <bits/std_valarray.h>
#endif
+// -*- C++ -*- std header.
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
#ifndef _CPP_VECTOR
#include <bits/std_vector.h>
#endif
#include <wctype.h>
#endif
+// libstdc++/2992
+namespace bar
+{
+ int foo(const char *x)
+ { return strlen(x); }
+};
+
+
int main() { return 0; }
+
+
+
+
+
+
#include <cwctype>
#endif
+// libstdc++/2992
+namespace bar
+{
+ int foo(const char *x)
+ { return strlen(x); }
+};
+
+
int main() { return 0; }