Line data Source code
1 : // Standard iostream objects -*- C++ -*-
2 :
3 : // Copyright (C) 1997-2016 Free Software Foundation, Inc.
4 : //
5 : // This file is part of the GNU ISO C++ Library. This library is free
6 : // software; you can redistribute it and/or modify it under the
7 : // terms of the GNU General Public License as published by the
8 : // Free Software Foundation; either version 3, or (at your option)
9 : // any later version.
10 :
11 : // This library is distributed in the hope that it will be useful,
12 : // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 : // GNU General Public License for more details.
15 :
16 : // Under Section 7 of GPL version 3, you are granted additional
17 : // permissions described in the GCC Runtime Library Exception, version
18 : // 3.1, as published by the Free Software Foundation.
19 :
20 : // You should have received a copy of the GNU General Public License and
21 : // a copy of the GCC Runtime Library Exception along with this program;
22 : // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
23 : // <http://www.gnu.org/licenses/>.
24 :
25 : /** @file include/iostream
26 : * This is a Standard C++ Library header.
27 : */
28 :
29 : //
30 : // ISO C++ 14882: 27.3 Standard iostream objects
31 : //
32 :
33 : #ifndef _GLIBCXX_IOSTREAM
34 : #define _GLIBCXX_IOSTREAM 1
35 :
36 : #pragma GCC system_header
37 :
38 : #include <bits/c++config.h>
39 : #include <ostream>
40 : #include <istream>
41 :
42 : namespace std _GLIBCXX_VISIBILITY(default)
43 : {
44 : _GLIBCXX_BEGIN_NAMESPACE_VERSION
45 :
46 : /**
47 : * @name Standard Stream Objects
48 : *
49 : * The <iostream> header declares the eight <em>standard stream
50 : * objects</em>. For other declarations, see
51 : * http://gcc.gnu.org/onlinedocs/libstdc++/manual/io.html
52 : * and the @link iosfwd I/O forward declarations @endlink
53 : *
54 : * They are required by default to cooperate with the global C
55 : * library's @c FILE streams, and to be available during program
56 : * startup and termination. For more information, see the section of the
57 : * manual linked to above.
58 : */
59 : //@{
60 : extern istream cin; /// Linked to standard input
61 : extern ostream cout; /// Linked to standard output
62 : extern ostream cerr; /// Linked to standard error (unbuffered)
63 : extern ostream clog; /// Linked to standard error (buffered)
64 :
65 : #ifdef _GLIBCXX_USE_WCHAR_T
66 : extern wistream wcin; /// Linked to standard input
67 : extern wostream wcout; /// Linked to standard output
68 : extern wostream wcerr; /// Linked to standard error (unbuffered)
69 : extern wostream wclog; /// Linked to standard error (buffered)
70 : #endif
71 : //@}
72 :
73 : // For construction of filebuffers for cout, cin, cerr, clog et. al.
74 140 : static ios_base::Init __ioinit;
75 :
76 : _GLIBCXX_END_NAMESPACE_VERSION
77 : } // namespace
78 :
79 : #endif /* _GLIBCXX_IOSTREAM */
|