100db7afdSDavid E. O'Brien // Standard iostream objects -*- C++ -*- 200db7afdSDavid E. O'Brien 3*f8a1b7d9SAlexander Kabaev // Copyright (C) 1997, 1998, 1999, 2001, 2002, 2005 4*f8a1b7d9SAlexander Kabaev // Free Software Foundation, Inc. 500db7afdSDavid E. O'Brien // 600db7afdSDavid E. O'Brien // This file is part of the GNU ISO C++ Library. This library is free 700db7afdSDavid E. O'Brien // software; you can redistribute it and/or modify it under the 800db7afdSDavid E. O'Brien // terms of the GNU General Public License as published by the 900db7afdSDavid E. O'Brien // Free Software Foundation; either version 2, or (at your option) 1000db7afdSDavid E. O'Brien // any later version. 1100db7afdSDavid E. O'Brien 1200db7afdSDavid E. O'Brien // This library is distributed in the hope that it will be useful, 1300db7afdSDavid E. O'Brien // but WITHOUT ANY WARRANTY; without even the implied warranty of 1400db7afdSDavid E. O'Brien // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1500db7afdSDavid E. O'Brien // GNU General Public License for more details. 1600db7afdSDavid E. O'Brien 1700db7afdSDavid E. O'Brien // You should have received a copy of the GNU General Public License along 1800db7afdSDavid E. O'Brien // with this library; see the file COPYING. If not, write to the Free 19*f8a1b7d9SAlexander Kabaev // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 2000db7afdSDavid E. O'Brien // USA. 2100db7afdSDavid E. O'Brien 2200db7afdSDavid E. O'Brien // As a special exception, you may use this file as part of a free software 2300db7afdSDavid E. O'Brien // library without restriction. Specifically, if other files instantiate 2400db7afdSDavid E. O'Brien // templates or use macros or inline functions from this file, or you compile 2500db7afdSDavid E. O'Brien // this file and link it with other files to produce an executable, this 2600db7afdSDavid E. O'Brien // file does not by itself cause the resulting executable to be covered by 2700db7afdSDavid E. O'Brien // the GNU General Public License. This exception does not however 2800db7afdSDavid E. O'Brien // invalidate any other reasons why the executable file might be covered by 2900db7afdSDavid E. O'Brien // the GNU General Public License. 3000db7afdSDavid E. O'Brien 31*f8a1b7d9SAlexander Kabaev /** @file iostream 32*f8a1b7d9SAlexander Kabaev * This is a Standard C++ Library header. 33*f8a1b7d9SAlexander Kabaev */ 34*f8a1b7d9SAlexander Kabaev 3500db7afdSDavid E. O'Brien // 3600db7afdSDavid E. O'Brien // ISO C++ 14882: 27.3 Standard iostream objects 3700db7afdSDavid E. O'Brien // 3800db7afdSDavid E. O'Brien 39ffeaf689SAlexander Kabaev #ifndef _GLIBCXX_IOSTREAM 40ffeaf689SAlexander Kabaev #define _GLIBCXX_IOSTREAM 1 4100db7afdSDavid E. O'Brien 4200db7afdSDavid E. O'Brien #pragma GCC system_header 4300db7afdSDavid E. O'Brien 4400db7afdSDavid E. O'Brien #include <bits/c++config.h> 4500db7afdSDavid E. O'Brien #include <ostream> 4600db7afdSDavid E. O'Brien #include <istream> 4700db7afdSDavid E. O'Brien 48*f8a1b7d9SAlexander Kabaev _GLIBCXX_BEGIN_NAMESPACE(std) 49*f8a1b7d9SAlexander Kabaev 501b86b14eSAlexander Kabaev /** 511b86b14eSAlexander Kabaev * @name Standard Stream Objects 521b86b14eSAlexander Kabaev * 531b86b14eSAlexander Kabaev * The <iostream> header declares the eight <em>standard stream 541b86b14eSAlexander Kabaev * objects</em>. For other declarations, see 551b86b14eSAlexander Kabaev * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#10 and the 561b86b14eSAlexander Kabaev * @link s27_2_iosfwd I/O forward declarations @endlink 571b86b14eSAlexander Kabaev * 581b86b14eSAlexander Kabaev * They are required by default to cooperate with the global C library's 591b86b14eSAlexander Kabaev * @c FILE streams, and to be available during program startup and 601b86b14eSAlexander Kabaev * termination. For more information, see the HOWTO linked to above. 611b86b14eSAlexander Kabaev */ 621b86b14eSAlexander Kabaev //@{ 631b86b14eSAlexander Kabaev extern istream cin; ///< Linked to standard input 641b86b14eSAlexander Kabaev extern ostream cout; ///< Linked to standard output 651b86b14eSAlexander Kabaev extern ostream cerr; ///< Linked to standard error (unbuffered) 661b86b14eSAlexander Kabaev extern ostream clog; ///< Linked to standard error (buffered) 678f1134fbSDavid E. O'Brien 68ffeaf689SAlexander Kabaev #ifdef _GLIBCXX_USE_WCHAR_T 691b86b14eSAlexander Kabaev extern wistream wcin; ///< Linked to standard input 701b86b14eSAlexander Kabaev extern wostream wcout; ///< Linked to standard output 711b86b14eSAlexander Kabaev extern wostream wcerr; ///< Linked to standard error (unbuffered) 721b86b14eSAlexander Kabaev extern wostream wclog; ///< Linked to standard error (buffered) 7300db7afdSDavid E. O'Brien #endif 741b86b14eSAlexander Kabaev //@} 7500db7afdSDavid E. O'Brien 7600db7afdSDavid E. O'Brien // For construction of filebuffers for cout, cin, cerr, clog et. al. 7700db7afdSDavid E. O'Brien static ios_base::Init __ioinit; 78*f8a1b7d9SAlexander Kabaev 79*f8a1b7d9SAlexander Kabaev _GLIBCXX_END_NAMESPACE 8000db7afdSDavid E. O'Brien 81ffeaf689SAlexander Kabaev #endif /* _GLIBCXX_IOSTREAM */ 82