136ac495dSmrg// -*- C++ -*- forwarding header. 236ac495dSmrg 3*8feb0f0bSmrg// Copyright (C) 1997-2020 Free Software Foundation, Inc. 436ac495dSmrg// 536ac495dSmrg// This file is part of the GNU ISO C++ Library. This library is free 636ac495dSmrg// software; you can redistribute it and/or modify it under the 736ac495dSmrg// terms of the GNU General Public License as published by the 836ac495dSmrg// Free Software Foundation; either version 3, or (at your option) 936ac495dSmrg// any later version. 1036ac495dSmrg 1136ac495dSmrg// This library is distributed in the hope that it will be useful, 1236ac495dSmrg// but WITHOUT ANY WARRANTY; without even the implied warranty of 1336ac495dSmrg// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1436ac495dSmrg// GNU General Public License for more details. 1536ac495dSmrg 1636ac495dSmrg// Under Section 7 of GPL version 3, you are granted additional 1736ac495dSmrg// permissions described in the GCC Runtime Library Exception, version 1836ac495dSmrg// 3.1, as published by the Free Software Foundation. 1936ac495dSmrg 2036ac495dSmrg// You should have received a copy of the GNU General Public License and 2136ac495dSmrg// a copy of the GCC Runtime Library Exception along with this program; 2236ac495dSmrg// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 2336ac495dSmrg// <http://www.gnu.org/licenses/>. 2436ac495dSmrg 2536ac495dSmrg/** @file include/cstdio 2636ac495dSmrg * This is a Standard C++ Library file. You should @c #include this file 2736ac495dSmrg * in your programs, rather than any of the @a *.h implementation files. 2836ac495dSmrg * 2936ac495dSmrg * This is the C++ version of the Standard C Library header @c stdio.h, 3036ac495dSmrg * and its contents are (mostly) the same as that header, but are all 3136ac495dSmrg * contained in the namespace @c std (except for names which are defined 3236ac495dSmrg * as macros in C). 3336ac495dSmrg */ 3436ac495dSmrg 3536ac495dSmrg// 3636ac495dSmrg// ISO C++ 14882: 27.8.2 C Library files 3736ac495dSmrg// 3836ac495dSmrg 3936ac495dSmrg#ifndef _GLIBCXX_CSTDIO 4036ac495dSmrg#define _GLIBCXX_CSTDIO 1 4136ac495dSmrg 4236ac495dSmrg#pragma GCC system_header 4336ac495dSmrg 4436ac495dSmrg#include <bits/c++config.h> 4536ac495dSmrg#include <stdio.h> 4636ac495dSmrg 4736ac495dSmrg#if __cplusplus <= 201103L && !defined(_GLIBCXX_HAVE_GETS) 4836ac495dSmrgextern "C" char* gets (char* __s) __attribute__((__deprecated__)); 4936ac495dSmrg#endif 5036ac495dSmrg 5136ac495dSmrg// Get rid of those macros defined in <stdio.h> in lieu of real functions. 5236ac495dSmrg#undef clearerr 5336ac495dSmrg#undef fclose 5436ac495dSmrg#undef feof 5536ac495dSmrg#undef ferror 5636ac495dSmrg#undef fflush 5736ac495dSmrg#undef fgetc 5836ac495dSmrg#undef fgetpos 5936ac495dSmrg#undef fgets 6036ac495dSmrg#undef fopen 6136ac495dSmrg#undef fprintf 6236ac495dSmrg#undef fputc 6336ac495dSmrg#undef fputs 6436ac495dSmrg#undef fread 6536ac495dSmrg#undef freopen 6636ac495dSmrg#undef fscanf 6736ac495dSmrg#undef fseek 6836ac495dSmrg#undef fsetpos 6936ac495dSmrg#undef ftell 7036ac495dSmrg#undef fwrite 7136ac495dSmrg#undef getc 7236ac495dSmrg#undef getchar 7336ac495dSmrg#if __cplusplus <= 201103L 7436ac495dSmrg# undef gets 7536ac495dSmrg#endif 7636ac495dSmrg#undef perror 7736ac495dSmrg#undef printf 7836ac495dSmrg#undef putc 7936ac495dSmrg#undef putchar 8036ac495dSmrg#undef puts 8136ac495dSmrg#undef remove 8236ac495dSmrg#undef rename 8336ac495dSmrg#undef rewind 8436ac495dSmrg#undef scanf 8536ac495dSmrg#undef setbuf 8636ac495dSmrg#undef setvbuf 8736ac495dSmrg#undef sprintf 8836ac495dSmrg#undef sscanf 8936ac495dSmrg#undef tmpfile 9036ac495dSmrg#undef tmpnam 9136ac495dSmrg#undef ungetc 9236ac495dSmrg#undef vfprintf 9336ac495dSmrg#undef vprintf 9436ac495dSmrg#undef vsprintf 9536ac495dSmrg 9636ac495dSmrgnamespace std 9736ac495dSmrg{ 9836ac495dSmrg using ::FILE; 9936ac495dSmrg using ::fpos_t; 10036ac495dSmrg 10136ac495dSmrg using ::clearerr; 10236ac495dSmrg using ::fclose; 10336ac495dSmrg using ::feof; 10436ac495dSmrg using ::ferror; 10536ac495dSmrg using ::fflush; 10636ac495dSmrg using ::fgetc; 10736ac495dSmrg using ::fgetpos; 10836ac495dSmrg using ::fgets; 10936ac495dSmrg using ::fopen; 11036ac495dSmrg using ::fprintf; 11136ac495dSmrg using ::fputc; 11236ac495dSmrg using ::fputs; 11336ac495dSmrg using ::fread; 11436ac495dSmrg using ::freopen; 11536ac495dSmrg using ::fscanf; 11636ac495dSmrg using ::fseek; 11736ac495dSmrg using ::fsetpos; 11836ac495dSmrg using ::ftell; 11936ac495dSmrg using ::fwrite; 12036ac495dSmrg using ::getc; 12136ac495dSmrg using ::getchar; 12236ac495dSmrg#if __cplusplus <= 201103L 12336ac495dSmrg // LWG 2249 12436ac495dSmrg using ::gets; 12536ac495dSmrg#endif 12636ac495dSmrg using ::perror; 12736ac495dSmrg using ::printf; 12836ac495dSmrg using ::putc; 12936ac495dSmrg using ::putchar; 13036ac495dSmrg using ::puts; 13136ac495dSmrg using ::remove; 13236ac495dSmrg using ::rename; 13336ac495dSmrg using ::rewind; 13436ac495dSmrg using ::scanf; 13536ac495dSmrg using ::setbuf; 13636ac495dSmrg using ::setvbuf; 13736ac495dSmrg using ::sprintf; 13836ac495dSmrg using ::sscanf; 13936ac495dSmrg using ::tmpfile; 14036ac495dSmrg using ::tmpnam; 14136ac495dSmrg using ::ungetc; 14236ac495dSmrg using ::vfprintf; 14336ac495dSmrg using ::vprintf; 14436ac495dSmrg using ::vsprintf; 14536ac495dSmrg} // namespace std 14636ac495dSmrg 14736ac495dSmrg#if _GLIBCXX_USE_C99_STDIO 14836ac495dSmrg 14936ac495dSmrg#undef snprintf 15036ac495dSmrg#undef vfscanf 15136ac495dSmrg#undef vscanf 15236ac495dSmrg#undef vsnprintf 15336ac495dSmrg#undef vsscanf 15436ac495dSmrg 15536ac495dSmrgnamespace __gnu_cxx 15636ac495dSmrg{ 15736ac495dSmrg#if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC 15836ac495dSmrg extern "C" int 15936ac495dSmrg (snprintf)(char * __restrict, std::size_t, const char * __restrict, ...) 16036ac495dSmrg throw (); 16136ac495dSmrg extern "C" int 16236ac495dSmrg (vfscanf)(FILE * __restrict, const char * __restrict, __gnuc_va_list); 16336ac495dSmrg extern "C" int (vscanf)(const char * __restrict, __gnuc_va_list); 16436ac495dSmrg extern "C" int 16536ac495dSmrg (vsnprintf)(char * __restrict, std::size_t, const char * __restrict, 16636ac495dSmrg __gnuc_va_list) throw (); 16736ac495dSmrg extern "C" int 16836ac495dSmrg (vsscanf)(const char * __restrict, const char * __restrict, __gnuc_va_list) 16936ac495dSmrg throw (); 17036ac495dSmrg#endif 17136ac495dSmrg 17236ac495dSmrg#if !_GLIBCXX_USE_C99_DYNAMIC 17336ac495dSmrg using ::snprintf; 17436ac495dSmrg using ::vfscanf; 17536ac495dSmrg using ::vscanf; 17636ac495dSmrg using ::vsnprintf; 17736ac495dSmrg using ::vsscanf; 17836ac495dSmrg#endif 17936ac495dSmrg} // namespace __gnu_cxx 18036ac495dSmrg 18136ac495dSmrgnamespace std 18236ac495dSmrg{ 18336ac495dSmrg using ::__gnu_cxx::snprintf; 18436ac495dSmrg using ::__gnu_cxx::vfscanf; 18536ac495dSmrg using ::__gnu_cxx::vscanf; 18636ac495dSmrg using ::__gnu_cxx::vsnprintf; 18736ac495dSmrg using ::__gnu_cxx::vsscanf; 18836ac495dSmrg} // namespace std 18936ac495dSmrg 19036ac495dSmrg#endif 19136ac495dSmrg 19236ac495dSmrg#endif 193