blob: 204e1a4b08d45ca67b3a4dfbf743f85e4bb6a924 [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>
Howard Hinnantadff4892010-05-24 17:49:41 +000089#include <wchar.h> // for mbstate_t
Howard Hinnantbc8d3f92010-05-11 19:42:16 +000090
91#pragma GCC system_header
92
93_LIBCPP_BEGIN_NAMESPACE_STD
94
Howard Hinnant36cdf022010-09-10 16:42:26 +000095template<class _CharT> struct _LIBCPP_VISIBLE char_traits;
96template<class _Tp> class _LIBCPP_VISIBLE allocator;
Howard Hinnantbc8d3f92010-05-11 19:42:16 +000097
Howard Hinnantc0de2e42010-09-21 16:04:28 +000098template <class _CharT, class _Traits = char_traits<_CharT> >
99 class _LIBCPP_VISIBLE basic_ios;
Howard Hinnantbc8d3f92010-05-11 19:42:16 +0000100
Howard Hinnantc0de2e42010-09-21 16:04:28 +0000101template <class _CharT, class _Traits = char_traits<_CharT> >
102 class _LIBCPP_VISIBLE basic_streambuf;
103template <class _CharT, class _Traits = char_traits<_CharT> >
104 class _LIBCPP_VISIBLE basic_istream;
105template <class _CharT, class _Traits = char_traits<_CharT> >
106 class _LIBCPP_VISIBLE basic_ostream;
107template <class _CharT, class _Traits = char_traits<_CharT> >
108 class _LIBCPP_VISIBLE basic_iostream;
Howard Hinnantbc8d3f92010-05-11 19:42:16 +0000109
Howard Hinnantc0de2e42010-09-21 16:04:28 +0000110template <class _CharT, class _Traits = char_traits<_CharT>,
111 class _Allocator = allocator<_CharT> >
112 class _LIBCPP_VISIBLE basic_stringbuf;
113template <class _CharT, class _Traits = char_traits<_CharT>,
114 class _Allocator = allocator<_CharT> >
115 class _LIBCPP_VISIBLE basic_istringstream;
116template <class _CharT, class _Traits = char_traits<_CharT>,
117 class _Allocator = allocator<_CharT> >
118 class _LIBCPP_VISIBLE basic_ostringstream;
119template <class _CharT, class _Traits = char_traits<_CharT>,
120 class _Allocator = allocator<_CharT> >
121 class _LIBCPP_VISIBLE basic_stringstream;
Howard Hinnantbc8d3f92010-05-11 19:42:16 +0000122
Howard Hinnantc0de2e42010-09-21 16:04:28 +0000123template <class _CharT, class _Traits = char_traits<_CharT> >
124 class _LIBCPP_VISIBLE basic_filebuf;
125template <class _CharT, class _Traits = char_traits<_CharT> >
126 class _LIBCPP_VISIBLE basic_ifstream;
127template <class _CharT, class _Traits = char_traits<_CharT> >
128 class _LIBCPP_VISIBLE basic_ofstream;
129template <class _CharT, class _Traits = char_traits<_CharT> >
130 class _LIBCPP_VISIBLE basic_fstream;
Howard Hinnantbc8d3f92010-05-11 19:42:16 +0000131
Howard Hinnantc0de2e42010-09-21 16:04:28 +0000132template <class _CharT, class _Traits = char_traits<_CharT> >
133 class _LIBCPP_VISIBLE istreambuf_iterator;
134template <class _CharT, class _Traits = char_traits<_CharT> >
135 class _LIBCPP_VISIBLE ostreambuf_iterator;
Howard Hinnantbc8d3f92010-05-11 19:42:16 +0000136
137typedef basic_ios<char> ios;
138typedef basic_ios<wchar_t> wios;
139
140typedef basic_streambuf<char> streambuf;
141typedef basic_istream<char> istream;
142typedef basic_ostream<char> ostream;
143typedef basic_iostream<char> iostream;
144
145typedef basic_stringbuf<char> stringbuf;
146typedef basic_istringstream<char> istringstream;
147typedef basic_ostringstream<char> ostringstream;
148typedef basic_stringstream<char> stringstream;
149
150typedef basic_filebuf<char> filebuf;
151typedef basic_ifstream<char> ifstream;
152typedef basic_ofstream<char> ofstream;
153typedef basic_fstream<char> fstream;
154
155typedef basic_streambuf<wchar_t> wstreambuf;
156typedef basic_istream<wchar_t> wistream;
157typedef basic_ostream<wchar_t> wostream;
158typedef basic_iostream<wchar_t> wiostream;
159
160typedef basic_stringbuf<wchar_t> wstringbuf;
161typedef basic_istringstream<wchar_t> wistringstream;
162typedef basic_ostringstream<wchar_t> wostringstream;
163typedef basic_stringstream<wchar_t> wstringstream;
164
165typedef basic_filebuf<wchar_t> wfilebuf;
166typedef basic_ifstream<wchar_t> wifstream;
167typedef basic_ofstream<wchar_t> wofstream;
168typedef basic_fstream<wchar_t> wfstream;
169
Howard Hinnantc0de2e42010-09-21 16:04:28 +0000170template <class _State> class _LIBCPP_VISIBLE fpos;
Howard Hinnantadff4892010-05-24 17:49:41 +0000171typedef fpos<mbstate_t> streampos;
172typedef fpos<mbstate_t> wstreampos;
Howard Hinnantbc8d3f92010-05-11 19:42:16 +0000173#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
Howard Hinnantadff4892010-05-24 17:49:41 +0000174typedef fpos<mbstate_t> u16streampos;
175typedef fpos<mbstate_t> u32streampos;
Howard Hinnant324bb032010-08-22 00:02:43 +0000176#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
Howard Hinnantbc8d3f92010-05-11 19:42:16 +0000177
178typedef long long streamoff; // for char_traits in <string>
179
180template <class _CharT, // for <stdexcept>
181 class _Traits = char_traits<_CharT>,
Howard Hinnantc0de2e42010-09-21 16:04:28 +0000182 class _Allocator = allocator<_CharT> >
183 class _LIBCPP_VISIBLE basic_string;
Howard Hinnantbc8d3f92010-05-11 19:42:16 +0000184typedef basic_string<char, char_traits<char>, allocator<char> > string;
185typedef basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > wstring;
186
187_LIBCPP_END_NAMESPACE_STD
188
189#endif // _LIBCPP_IOSFWD