// C standard library exports for -*- C++ -*- std and std.compat modules // This file is appended to std.cc.in or std-compat.cc.in. #ifdef STD_COMPAT #define C_LIB_NAMESPACE #else #define C_LIB_NAMESPACE namespace std #endif // C standard library headers [tab:headers.cpp.c] // 19.3 <cassert> // No exports // 23.5.1 <cctype> export C_LIB_NAMESPACE { using std::isalnum; using std::isalpha; #ifdef _GLIBCXX_USE_C99_CTYPE using std::isblank; #endif using std::iscntrl; using std::isdigit; using std::isgraph; using std::islower; using std::isprint; using std::ispunct; using std::isspace; using std::isupper; using std::isxdigit; using std::tolower; using std::toupper; } // 19.4 <cerrno> // No exports // 28.3 <cfenv> export C_LIB_NAMESPACE { #ifdef _GLIBCXX_USE_C99_FENV using std::feclearexcept; using std::fegetenv; using std::fegetexceptflag; using std::fegetround; using std::feholdexcept; using std::fenv_t; using std::feraiseexcept; using std::fesetenv; using std::fesetexceptflag; using std::fesetround; using std::fetestexcept; using std::feupdateenv; using std::fexcept_t; #endif } // 17.3.7 <cfloat> [cfloat.syn] // No exports, only provides macros // 31.13.2 <cinttypes> export C_LIB_NAMESPACE { #ifdef _GLIBCXX_USE_C99_INTTYPES using std::imaxabs; using std::imaxdiv; using std::imaxdiv_t; using std::strtoimax; using std::strtoumax; #if defined(_GLIBCXX_USE_WCHAR_T) && _GLIBCXX_USE_C99_INTTYPES_WCHAR_T using std::wcstoimax; using std::wcstoumax; #endif #endif } // 17.3.6 <climits> [climits.syn] // No exports, only provides macros // 30.5 <clocale> export C_LIB_NAMESPACE { using std::lconv; using std::localeconv; using std::setlocale; // LC_* macros not exported } // 28.7.1 <cmath> export C_LIB_NAMESPACE { using std::abs; using std::acos; using std::acosf; using std::acosh; using std::acoshf; using std::acoshl; using std::acosl; using std::asin; using std::asinf; using std::asinh; using std::asinhf; using std::asinhl; using std::asinl; using std::atan; using std::atan2; using std::atan2f; using std::atan2l; using std::atanf; using std::atanh; using std::atanhf; using std::atanhl; using std::atanl; using std::cbrt; using std::cbrtf; using std::cbrtl; using std::ceil; using std::ceilf; using std::ceill; using std::copysign; using std::copysignf; using std::copysignl; using std::cos; using std::cosf; using std::cosh; using std::coshf; using std::coshl; using std::cosl; using std::double_t; using std::erf; using std::erfc; using std::erfcf; using std::erfcl; using std::erff; using std::erfl; using std::exp; using std::exp2; using std::exp2f; using std::exp2l; using std::expf; using std::expl; using std::expm1; using std::expm1f; using std::expm1l; using std::fabs; using std::fabsf; using std::fabsl; using std::fdim; using std::fdimf; using std::fdiml; using std::float_t; using std::floor; using std::floorf; using std::floorl; using std::fma; using std::fmaf; using std::fmal; using std::fmax; using std::fmaxf; using std::fmaxl; using std::fmin; using std::fminf; using std::fminl; using std::fmod; using std::fmodf; using std::fmodl; using std::fpclassify; using std::frexp; using std::frexpf; using std::frexpl; using std::hypot; using std::hypotf; using std::hypotl; using std::ilogb; using std::ilogbf; using std::ilogbl; using std::isfinite; using std::isgreater; using std::isgreaterequal; using std::isinf; using std::isless; using std::islessequal; using std::islessgreater; using std::isnan; using std::isnormal; using std::isunordered; using std::ldexp; using std::ldexpf; using std::ldexpl; #ifndef STD_COMPAT using std::lerp; #endif using std::lgamma; using std::lgammaf; using std::lgammal; using std::llrint; using std::llrintf; using std::llrintl; using std::llround; using std::llroundf; using std::llroundl; using std::log; using std::log10; using std::log10f; using std::log10l; using std::log1p; using std::log1pf; using std::log1pl; using std::log2; using std::log2f; using std::log2l; using std::logb; using std::logbf; using std::logbl; using std::logf; using std::logl; using std::lrint; using std::lrintf; using std::lrintl; using std::lround; using std::lroundf; using std::lroundl; using std::modf; using std::modff; using std::modfl; using std::nan; using std::nanf; using std::nanl; using std::nearbyint; using std::nearbyintf; using std::nearbyintl; using std::nextafter; using std::nextafterf; using std::nextafterl; using std::nexttoward; using std::nexttowardf; using std::nexttowardl; using std::pow; using std::powf; using std::powl; using std::remainder; using std::remainderf; using std::remainderl; using std::remquo; using std::remquof; using std::remquol; using std::rint; using std::rintf; using std::rintl; using std::round; using std::roundf; using std::roundl; using std::scalbln; using std::scalblnf; using std::scalblnl; using std::scalbn; using std::scalbnf; using std::scalbnl; using std::signbit; using std::sin; using std::sinf; using std::sinh; using std::sinhf; using std::sinhl; using std::sinl; using std::sqrt; using std::sqrtf; using std::sqrtl; using std::tan; using std::tanf; using std::tanh; using std::tanhf; using std::tanhl; using std::tanl; using std::tgamma; using std::tgammaf; using std::tgammal; using std::trunc; using std::truncf; using std::truncl; #if __cpp_lib_math_special_functions && !defined(STD_COMPAT) using std::assoc_laguerre; using std::assoc_laguerref; using std::assoc_laguerrel; using std::assoc_legendre; using std::assoc_legendref; using std::assoc_legendrel; using std::beta; using std::betaf; using std::betal; using std::comp_ellint_1; using std::comp_ellint_1f; using std::comp_ellint_1l; using std::comp_ellint_2; using std::comp_ellint_2f; using std::comp_ellint_2l; using std::comp_ellint_3; using std::comp_ellint_3f; using std::comp_ellint_3l; using std::cyl_bessel_i; using std::cyl_bessel_if; using std::cyl_bessel_il; using std::cyl_bessel_j; using std::cyl_bessel_jf; using std::cyl_bessel_jl; using std::cyl_bessel_k; using std::cyl_bessel_kf; using std::cyl_bessel_kl; using std::cyl_neumann; using std::cyl_neumannf; using std::cyl_neumannl; using std::ellint_1; using std::ellint_1f; using std::ellint_1l; using std::ellint_2; using std::ellint_2f; using std::ellint_2l; using std::ellint_3; using std::ellint_3f; using std::ellint_3l; using std::expint; using std::expintf; using std::expintl; using std::hermite; using std::hermitef; using std::hermitel; using std::legendre; using std::legendref; using std::legendrel; using std::laguerre; using std::laguerref; using std::laguerrel; using std::riemann_zeta; using std::riemann_zetaf; using std::riemann_zetal; using std::sph_bessel; using std::sph_besself; using std::sph_bessell; using std::sph_legendre; using std::sph_legendref; using std::sph_legendrel; using std::sph_neumann; using std::sph_neumannf; using std::sph_neumannl; #endif } // 17.13.3 <csetjmp> export C_LIB_NAMESPACE { using std::jmp_buf; using std::longjmp; // setjmp macro not exported } // 17.13.4 <csignal> export C_LIB_NAMESPACE { using std::raise; using std::sig_atomic_t; using std::signal; // SIG_* macros not exported } // 17.13.2 <cstdarg> export C_LIB_NAMESPACE { using std::va_list; // va_arg and friend macros not exported } // 17.2.1 <cstddef> [cstddef.syn] export C_LIB_NAMESPACE { using std::max_align_t; using std::nullptr_t; using std::ptrdiff_t; using std::size_t; #ifndef STD_COMPAT using std::byte; using std::operator<<=; using std::operator<<; using std::operator>>=; using std::operator>>; using std::operator|=; using std::operator|; using std::operator&=; using std::operator&; using std::operator^=; using std::operator^; using std::operator~; using std::to_integer; #endif // NULL and offsetof macros not exported } // 17.4 <cstdint> export C_LIB_NAMESPACE { using std::int8_t; using std::int16_t; using std::int32_t; using std::int64_t; using std::int_fast16_t; using std::int_fast32_t; using std::int_fast64_t; using std::int_fast8_t; using std::int_least16_t; using std::int_least32_t; using std::int_least64_t; using std::int_least8_t; using std::intmax_t; using std::intptr_t; using std::uint8_t; using std::uint16_t; using std::uint32_t; using std::uint64_t; using std::uint_fast16_t; using std::uint_fast32_t; using std::uint_fast64_t; using std::uint_fast8_t; using std::uint_least16_t; using std::uint_least32_t; using std::uint_least64_t; using std::uint_least8_t; using std::uintmax_t; using std::uintptr_t; } // 31.13.1 <cstdio> export C_LIB_NAMESPACE { using std::clearerr; using std::fclose; using std::feof; using std::ferror; using std::fflush; using std::fgetc; using std::fgetpos; using std::fgets; using std::FILE; using std::fopen; using std::fpos_t; using std::fprintf; using std::fputc; using std::fputs; using std::fread; using std::freopen; using std::fscanf; using std::fseek; using std::fsetpos; using std::ftell; using std::fwrite; using std::getc; using std::getchar; using std::perror; using std::printf; using std::putc; using std::putchar; using std::puts; using std::remove; using std::rename; using std::rewind; using std::scanf; using std::setbuf; using std::setvbuf; using std::size_t; using std::snprintf; using std::sprintf; using std::sscanf; using std::tmpfile; #if _GLIBCXX_USE_TMPNAM using std::tmpnam; #endif using std::ungetc; using std::vfprintf; using std::vfscanf; using std::vprintf; using std::vscanf; using std::vsnprintf; using std::vsprintf; using std::vsscanf; } // 17.2.2 <cstdlib> [cstdlib.syn] export C_LIB_NAMESPACE { using std::_Exit; using std::abort; using std::abs; #ifdef _GLIBCXX_HAVE_ALIGNED_ALLOC using std::aligned_alloc; #endif #ifdef _GLIBCXX_HAVE_AT_QUICK_EXIT using std::at_quick_exit; #endif using std::atexit; using std::atof; using std::atoi; using std::atol; using std::atoll; using std::bsearch; using std::calloc; using std::div; using std::div_t; using std::exit; using std::free; using std::getenv; using std::labs; using std::ldiv; using std::ldiv_t; using std::llabs; using std::lldiv; using std::lldiv_t; using std::malloc; #ifdef _GLIBCXX_HAVE_MBSTATE_T using std::mblen; using std::mbstowcs; using std::mbtowc; #endif using std::qsort; #ifdef _GLIBCXX_HAVE_QUICK_EXIT using std::quick_exit; #endif using std::rand; using std::realloc; using std::size_t; using std::srand; using std::strtod; using std::strtof; using std::strtol; using std::strtold; using std::strtoll; using std::strtoul; using std::strtoull; using std::system; #ifdef _GLIBCXX_USE_WCHAR_T using std::wcstombs; using std::wctomb; #endif } // 23.5.3 <cstring> export C_LIB_NAMESPACE { using std::memchr; using std::memcmp; using std::memcpy; using std::memmove; using std::memset; using std::size_t; using std::strcat; using std::strchr; using std::strcmp; using std::strcoll; using std::strcpy; using std::strcspn; using std::strerror; using std::strlen; using std::strncat; using std::strncmp; using std::strncpy; using std::strpbrk; using std::strrchr; using std::strspn; using std::strstr; using std::strtok; using std::strxfrm; } // 29.15 <ctime> export C_LIB_NAMESPACE { using std::asctime; using std::clock; using std::clock_t; using std::ctime; using std::difftime; using std::gmtime; using std::localtime; using std::mktime; using std::size_t; using std::strftime; using std::time; using std::time_t; using std::tm; #ifdef _GLIBCXX_HAVE_TIMESPEC_GET using std::timespec; using std::timespec_get; #endif } // 23.5.5 <cuchar> export C_LIB_NAMESPACE { #if _GLIBCXX_USE_UCHAR_C8RTOMB_MBRTOC8_CXX20 using std::mbrtoc8; using std::c8rtomb; #endif #if _GLIBCXX_USE_C11_UCHAR_CXX11 using std::mbrtoc16; using std::c16rtomb; using std::mbrtoc32; using std::c32rtomb; #endif } #if _GLIBCXX_USE_WCHAR_T // 23.5.4 <cwchar> export C_LIB_NAMESPACE { using std::btowc; using std::fgetwc; using std::fgetws; using std::fputwc; using std::fputws; using std::fwide; using std::fwprintf; using std::fwscanf; using std::getwc; using std::getwchar; using std::mbrlen; using std::mbrtowc; using std::mbsinit; using std::mbsrtowcs; using std::mbstate_t; using std::putwc; using std::putwchar; using std::size_t; using std::swprintf; using std::swscanf; using std::tm; using std::ungetwc; using std::vfwprintf; # if _GLIBCXX_HAVE_VFWSCANF using std::vfwscanf; #endif #ifndef _GLIBCXX_HAVE_BROKEN_VSWPRINTF using std::vswprintf; #endif # if _GLIBCXX_HAVE_VSWSCANF using std::vswscanf; #endif using std::vwprintf; # if _GLIBCXX_HAVE_VWSCANF using std::vwscanf; #endif using std::wcrtomb; using std::wcscat; using std::wcschr; using std::wcscmp; using std::wcscoll; using std::wcscpy; using std::wcscspn; using std::wcsftime; using std::wcslen; using std::wcsncat; using std::wcsncmp; using std::wcsncpy; using std::wcspbrk; using std::wcsrchr; using std::wcsrtombs; using std::wcsspn; using std::wcsstr; using std::wcstod; #if _GLIBCXX_HAVE_WCSTOF using std::wcstof; #endif using std::wcstok; using std::wcstol; #if _GLIBCXX_USE_C99_WCHAR using std::wcstold; using std::wcstoll; #endif using std::wcstoul; #if _GLIBCXX_USE_C99_WCHAR using std::wcstoull; #endif using std::wcsxfrm; using std::wctob; using std::wint_t; using std::wmemchr; using std::wmemcmp; using std::wmemcpy; using std::wmemmove; using std::wmemset; using std::wprintf; using std::wscanf; } #endif #if _GLIBCXX_USE_WCHAR_T // 23.5.2 <cwctype> export C_LIB_NAMESPACE { using std::iswalnum; using std::iswalpha; #if _GLIBCXX_HAVE_ISWBLANK using std::iswblank; #endif using std::iswcntrl; using std::iswctype; using std::iswdigit; using std::iswgraph; using std::iswlower; using std::iswprint; using std::iswpunct; using std::iswspace; using std::iswupper; using std::iswxdigit; using std::towctrans; using std::towlower; using std::towupper; using std::wctrans; using std::wctrans_t; using std::wctype; using std::wctype_t; using std::wint_t; } #endif