Branch data Line data Source code
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
18 : : // along with this library; see the file COPYING. If not, write to
19 : : // the Free Software Foundation, 51 Franklin Street, Fifth Floor,
20 : : // Boston, MA 02110-1301, 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 _GLIBCXX_IMPORT istream cin; ///< Linked to standard input
64 : : extern _GLIBCXX_IMPORT ostream cout; ///< Linked to standard output
65 : : extern _GLIBCXX_IMPORT ostream cerr; ///< Linked to standard error (unbuffered)
66 : : extern _GLIBCXX_IMPORT ostream clog; ///< Linked to standard error (buffered)
67 : :
68 : : #ifdef _GLIBCXX_USE_WCHAR_T
69 : : extern _GLIBCXX_IMPORT wistream wcin; ///< Linked to standard input
70 : : extern _GLIBCXX_IMPORT wostream wcout; ///< Linked to standard output
71 : : extern _GLIBCXX_IMPORT wostream wcerr; ///< Linked to standard error (unbuffered)
72 : : extern _GLIBCXX_IMPORT wostream wclog; ///< Linked to standard error (buffered)
73 : : #endif
74 : : //@}
75 : :
76 : : // For construction of filebuffers for cout, cin, cerr, clog et. al.
77 [ + + ][ + - ]: 276 : static ios_base::Init __ioinit;
78 : :
79 : : _GLIBCXX_END_NAMESPACE
80 : :
81 : : #endif /* _GLIBCXX_IOSTREAM */
|