blob: e9a6a0f60fb13e6dc4721826e2524564b30a0853 [file] [log] [blame]
Howard Hinnantbc8d3f92010-05-11 19:42:16 +00001// -*- C++ -*-
2//===--------------------------- iosfwd -----------------------------------===//
3//
Howard Hinnantf5256e12010-05-11 21:36:01 +00004// The LLVM Compiler Infrastructure
Howard Hinnantbc8d3f92010-05-11 19:42:16 +00005//
6// This file is distributed under the University of Illinois Open Source
7// License. See LICENSE.TXT for details.
8//
9//===----------------------------------------------------------------------===//
10
11#ifndef _LIBCPP_IOSFWD
12#define _LIBCPP_IOSFWD
13
14/*
15 iosfwd synopsis
16
17namespace std
18{
19
20template<class charT> struct char_traits;
21template<class T> class allocator;
22
23template <class charT, class traits = char_traits<charT> > class basic_ios;
24
25template <class charT, class traits = char_traits<charT> > class basic_streambuf;
26template <class charT, class traits = char_traits<charT> > class basic_istream;
27template <class charT, class traits = char_traits<charT> > class basic_ostream;
28template <class charT, class traits = char_traits<charT> > class basic_iostream;
29
30template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
31 class basic_stringbuf;
32template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
33 class basic_istringstream;
34template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
35 class basic_ostringstream;
36template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
37 class basic_stringstream;
38
39template <class charT, class traits = char_traits<charT> > class basic_filebuf;
40template <class charT, class traits = char_traits<charT> > class basic_ifstream;
41template <class charT, class traits = char_traits<charT> > class basic_ofstream;
42template <class charT, class traits = char_traits<charT> > class basic_fstream;
43
44template <class charT, class traits = char_traits<charT> > class istreambuf_iterator;
45template <class charT, class traits = char_traits<charT> > class ostreambuf_iterator;
46
47typedef basic_ios<char> ios;
48typedef basic_ios<wchar_t> wios;
49
50typedef basic_streambuf<char> streambuf;
51typedef basic_istream<char> istream;
52typedef basic_ostream<char> ostream;
53typedef basic_iostream<char> iostream;
54
55typedef basic_stringbuf<char> stringbuf;
56typedef basic_istringstream<char> istringstream;
57typedef basic_ostringstream<char> ostringstream;
58typedef basic_stringstream<char> stringstream;
59
60typedef basic_filebuf<char> filebuf;
61typedef basic_ifstream<char> ifstream;
62typedef basic_ofstream<char> ofstream;
63typedef basic_fstream<char> fstream;
64
65typedef basic_streambuf<wchar_t> wstreambuf;
66typedef basic_istream<wchar_t> wistream;
67typedef basic_ostream<wchar_t> wostream;
68typedef basic_iostream<wchar_t> wiostream;
69
70typedef basic_stringbuf<wchar_t> wstringbuf;
71typedef basic_istringstream<wchar_t> wistringstream;
72typedef basic_ostringstream<wchar_t> wostringstream;
73typedef basic_stringstream<wchar_t> wstringstream;
74
75typedef basic_filebuf<wchar_t> wfilebuf;
76typedef basic_ifstream<wchar_t> wifstream;
77typedef basic_ofstream<wchar_t> wofstream;
78typedef basic_fstream<wchar_t> wfstream;
79
80template <class state> class fpos;
81typedef fpos<char_traits<char>::state_type> streampos;
82typedef fpos<char_traits<wchar_t>::state_type> wstreampos;
83
84} // std
85
86*/
87
88#include <__config>
89#include <_types.h> // for __darwin_mbstate_t
90
91#pragma GCC system_header
92
93_LIBCPP_BEGIN_NAMESPACE_STD
94
95template<class _CharT> struct char_traits;
96template<class _Tp> class allocator;
97
98template <class _CharT, class _Traits = char_traits<_CharT> > class basic_ios;
99
100template <class _CharT, class _Traits = char_traits<_CharT> > class basic_streambuf;
101template <class _CharT, class _Traits = char_traits<_CharT> > class basic_istream;
102template <class _CharT, class _Traits = char_traits<_CharT> > class basic_ostream;
103template <class _CharT, class _Traits = char_traits<_CharT> > class basic_iostream;
104
105template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> >
106 class basic_stringbuf;
107template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> >
108 class basic_istringstream;
109template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> >
110 class basic_ostringstream;
111template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> >
112 class basic_stringstream;
113
114template <class _CharT, class _Traits = char_traits<_CharT> > class basic_filebuf;
115template <class _CharT, class _Traits = char_traits<_CharT> > class basic_ifstream;
116template <class _CharT, class _Traits = char_traits<_CharT> > class basic_ofstream;
117template <class _CharT, class _Traits = char_traits<_CharT> > class basic_fstream;
118
119template <class _CharT, class _Traits = char_traits<_CharT> > class istreambuf_iterator;
120template <class _CharT, class _Traits = char_traits<_CharT> > class ostreambuf_iterator;
121
122typedef basic_ios<char> ios;
123typedef basic_ios<wchar_t> wios;
124
125typedef basic_streambuf<char> streambuf;
126typedef basic_istream<char> istream;
127typedef basic_ostream<char> ostream;
128typedef basic_iostream<char> iostream;
129
130typedef basic_stringbuf<char> stringbuf;
131typedef basic_istringstream<char> istringstream;
132typedef basic_ostringstream<char> ostringstream;
133typedef basic_stringstream<char> stringstream;
134
135typedef basic_filebuf<char> filebuf;
136typedef basic_ifstream<char> ifstream;
137typedef basic_ofstream<char> ofstream;
138typedef basic_fstream<char> fstream;
139
140typedef basic_streambuf<wchar_t> wstreambuf;
141typedef basic_istream<wchar_t> wistream;
142typedef basic_ostream<wchar_t> wostream;
143typedef basic_iostream<wchar_t> wiostream;
144
145typedef basic_stringbuf<wchar_t> wstringbuf;
146typedef basic_istringstream<wchar_t> wistringstream;
147typedef basic_ostringstream<wchar_t> wostringstream;
148typedef basic_stringstream<wchar_t> wstringstream;
149
150typedef basic_filebuf<wchar_t> wfilebuf;
151typedef basic_ifstream<wchar_t> wifstream;
152typedef basic_ofstream<wchar_t> wofstream;
153typedef basic_fstream<wchar_t> wfstream;
154
155template <class _State> class fpos;
156typedef fpos<__darwin_mbstate_t> streampos;
157typedef fpos<__darwin_mbstate_t> wstreampos;
158#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
159typedef fpos<__darwin_mbstate_t> u16streampos;
160typedef fpos<__darwin_mbstate_t> u32streampos;
161#endif
162
163typedef long long streamoff; // for char_traits in <string>
164
165template <class _CharT, // for <stdexcept>
166 class _Traits = char_traits<_CharT>,
167 class _Allocator = allocator<_CharT> > class basic_string;
168typedef basic_string<char, char_traits<char>, allocator<char> > string;
169typedef basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > wstring;
170
171_LIBCPP_END_NAMESPACE_STD
172
173#endif // _LIBCPP_IOSFWD