197403Sobrien// Standard iostream objects -*- C++ -*- 297403Sobrien 3169691Skan// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2005 4169691Skan// Free Software Foundation, Inc. 597403Sobrien// 697403Sobrien// This file is part of the GNU ISO C++ Library. This library is free 797403Sobrien// software; you can redistribute it and/or modify it under the 897403Sobrien// terms of the GNU General Public License as published by the 997403Sobrien// Free Software Foundation; either version 2, or (at your option) 1097403Sobrien// any later version. 1197403Sobrien 1297403Sobrien// This library is distributed in the hope that it will be useful, 1397403Sobrien// but WITHOUT ANY WARRANTY; without even the implied warranty of 1497403Sobrien// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1597403Sobrien// GNU General Public License for more details. 1697403Sobrien 1797403Sobrien// You should have received a copy of the GNU General Public License along 1897403Sobrien// with this library; see the file COPYING. If not, write to the Free 19169691Skan// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 2097403Sobrien// USA. 2197403Sobrien 2297403Sobrien// As a special exception, you may use this file as part of a free software 2397403Sobrien// library without restriction. Specifically, if other files instantiate 2497403Sobrien// templates or use macros or inline functions from this file, or you compile 2597403Sobrien// this file and link it with other files to produce an executable, this 2697403Sobrien// file does not by itself cause the resulting executable to be covered by 2797403Sobrien// the GNU General Public License. This exception does not however 2897403Sobrien// invalidate any other reasons why the executable file might be covered by 2997403Sobrien// the GNU General Public License. 3097403Sobrien 31169691Skan/** @file iostream 32169691Skan * This is a Standard C++ Library header. 33169691Skan */ 34169691Skan 3597403Sobrien// 3697403Sobrien// ISO C++ 14882: 27.3 Standard iostream objects 3797403Sobrien// 3897403Sobrien 39132720Skan#ifndef _GLIBCXX_IOSTREAM 40132720Skan#define _GLIBCXX_IOSTREAM 1 4197403Sobrien 4297403Sobrien#pragma GCC system_header 4397403Sobrien 4497403Sobrien#include <bits/c++config.h> 4597403Sobrien#include <ostream> 4697403Sobrien#include <istream> 4797403Sobrien 48169691Skan_GLIBCXX_BEGIN_NAMESPACE(std) 49169691Skan 50117397Skan /** 51117397Skan * @name Standard Stream Objects 52117397Skan * 53117397Skan * The <iostream> header declares the eight <em>standard stream 54117397Skan * objects</em>. For other declarations, see 55117397Skan * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#10 and the 56117397Skan * @link s27_2_iosfwd I/O forward declarations @endlink 57117397Skan * 58117397Skan * They are required by default to cooperate with the global C library's 59117397Skan * @c FILE streams, and to be available during program startup and 60117397Skan * termination. For more information, see the HOWTO linked to above. 61117397Skan */ 62117397Skan //@{ 63117397Skan extern istream cin; ///< Linked to standard input 64117397Skan extern ostream cout; ///< Linked to standard output 65117397Skan extern ostream cerr; ///< Linked to standard error (unbuffered) 66117397Skan extern ostream clog; ///< Linked to standard error (buffered) 67107606Sobrien 68132720Skan#ifdef _GLIBCXX_USE_WCHAR_T 69117397Skan extern wistream wcin; ///< Linked to standard input 70117397Skan extern wostream wcout; ///< Linked to standard output 71117397Skan extern wostream wcerr; ///< Linked to standard error (unbuffered) 72117397Skan extern wostream wclog; ///< Linked to standard error (buffered) 7397403Sobrien#endif 74117397Skan //@} 7597403Sobrien 7697403Sobrien // For construction of filebuffers for cout, cin, cerr, clog et. al. 7797403Sobrien static ios_base::Init __ioinit; 7897403Sobrien 79169691Skan_GLIBCXX_END_NAMESPACE 80169691Skan 81132720Skan#endif /* _GLIBCXX_IOSTREAM */ 82