1 : // Standard iostream objects -*- C++ -*-
2 :
3 : // Copyright (C) 1997, 1998, 1999, 2001, 2002, 2005
4 : // Free Software Foundation, Inc.
5 : //
6 : // This file is part of the GNU ISO C++ Library. This library is free
7 : // software; you can redistribute it and/or modify it under the
8 : // terms of the GNU General Public License as published by the
9 : // Free Software Foundation; either version 2, or (at your option)
10 : // any later version.
11 :
12 : // This library is distributed in the hope that it will be useful,
13 : // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 : // GNU General Public License for more details.
16 :
17 : // You should have received a copy of the GNU General Public License along
18 : // with this library; see the file COPYING. If not, write to the Free
19 : // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
20 : // USA.
21 :
22 : // As a special exception, you may use this file as part of a free software
23 : // library without restriction. Specifically, if other files instantiate
24 : // templates or use macros or inline functions from this file, or you compile
25 : // this file and link it with other files to produce an executable, this
26 : // file does not by itself cause the resulting executable to be covered by
27 : // the GNU General Public License. This exception does not however
28 : // invalidate any other reasons why the executable file might be covered by
29 : // the GNU General Public License.
30 :
31 : /** @file iostream
32 : * This is a Standard C++ Library header.
33 : */
34 :
35 : //
36 : // ISO C++ 14882: 27.3 Standard iostream objects
37 : //
38 :
39 : #ifndef _GLIBCXX_IOSTREAM
40 : #define _GLIBCXX_IOSTREAM 1
41 :
42 : #pragma GCC system_header
43 :
44 : #include <bits/c++config.h>
45 : #include <ostream>
46 : #include <istream>
47 :
48 : _GLIBCXX_BEGIN_NAMESPACE(std)
49 :
50 : /**
51 : * @name Standard Stream Objects
52 : *
53 : * The <iostream> header declares the eight <em>standard stream
54 : * objects</em>. For other declarations, see
55 : * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#10 and the
56 : * @link s27_2_iosfwd I/O forward declarations @endlink
57 : *
58 : * They are required by default to cooperate with the global C library's
59 : * @c FILE streams, and to be available during program startup and
60 : * termination. For more information, see the HOWTO linked to above.
61 : */
62 : //@{
63 : extern istream cin; ///< Linked to standard input
64 : extern ostream cout; ///< Linked to standard output
65 : extern ostream cerr; ///< Linked to standard error (unbuffered)
66 : extern ostream clog; ///< Linked to standard error (buffered)
67 :
68 : #ifdef _GLIBCXX_USE_WCHAR_T
69 : extern wistream wcin; ///< Linked to standard input
70 : extern wostream wcout; ///< Linked to standard output
71 : extern wostream wcerr; ///< Linked to standard error (unbuffered)
72 : extern wostream wclog; ///< Linked to standard error (buffered)
73 : #endif
74 : //@}
75 :
76 : // For construction of filebuffers for cout, cin, cerr, clog et. al.
77 19 : static ios_base::Init __ioinit;
78 :
79 : _GLIBCXX_END_NAMESPACE
80 :
81 : #endif /* _GLIBCXX_IOSTREAM */
|