Mercurial > hg > CbC > CbC_llvm
comparison libcxx/include/iosfwd @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children | 2e18cbf3894f |
comparison
equal
deleted
inserted
replaced
147:c2174574ed3a | 150:1d019706d866 |
---|---|
1 // -*- C++ -*- | |
2 //===--------------------------- iosfwd -----------------------------------===// | |
3 // | |
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
5 // See https://llvm.org/LICENSE.txt for license information. | |
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
7 // | |
8 //===----------------------------------------------------------------------===// | |
9 | |
10 #ifndef _LIBCPP_IOSFWD | |
11 #define _LIBCPP_IOSFWD | |
12 | |
13 /* | |
14 iosfwd synopsis | |
15 | |
16 namespace std | |
17 { | |
18 | |
19 template<class charT> struct char_traits; | |
20 template<> struct char_traits<char>; | |
21 template<> struct char_traits<char8_t>; // C++20 | |
22 template<> struct char_traits<char16_t>; | |
23 template<> struct char_traits<char32_t>; | |
24 template<> struct char_traits<wchar_t>; | |
25 | |
26 template<class T> class allocator; | |
27 | |
28 class ios_base; | |
29 template <class charT, class traits = char_traits<charT> > class basic_ios; | |
30 | |
31 template <class charT, class traits = char_traits<charT> > class basic_streambuf; | |
32 template <class charT, class traits = char_traits<charT> > class basic_istream; | |
33 template <class charT, class traits = char_traits<charT> > class basic_ostream; | |
34 template <class charT, class traits = char_traits<charT> > class basic_iostream; | |
35 | |
36 template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > | |
37 class basic_stringbuf; | |
38 template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > | |
39 class basic_istringstream; | |
40 template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > | |
41 class basic_ostringstream; | |
42 template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > | |
43 class basic_stringstream; | |
44 | |
45 template <class charT, class traits = char_traits<charT> > class basic_filebuf; | |
46 template <class charT, class traits = char_traits<charT> > class basic_ifstream; | |
47 template <class charT, class traits = char_traits<charT> > class basic_ofstream; | |
48 template <class charT, class traits = char_traits<charT> > class basic_fstream; | |
49 | |
50 template <class charT, class traits = char_traits<charT> > class istreambuf_iterator; | |
51 template <class charT, class traits = char_traits<charT> > class ostreambuf_iterator; | |
52 | |
53 typedef basic_ios<char> ios; | |
54 typedef basic_ios<wchar_t> wios; | |
55 | |
56 typedef basic_streambuf<char> streambuf; | |
57 typedef basic_istream<char> istream; | |
58 typedef basic_ostream<char> ostream; | |
59 typedef basic_iostream<char> iostream; | |
60 | |
61 typedef basic_stringbuf<char> stringbuf; | |
62 typedef basic_istringstream<char> istringstream; | |
63 typedef basic_ostringstream<char> ostringstream; | |
64 typedef basic_stringstream<char> stringstream; | |
65 | |
66 typedef basic_filebuf<char> filebuf; | |
67 typedef basic_ifstream<char> ifstream; | |
68 typedef basic_ofstream<char> ofstream; | |
69 typedef basic_fstream<char> fstream; | |
70 | |
71 typedef basic_streambuf<wchar_t> wstreambuf; | |
72 typedef basic_istream<wchar_t> wistream; | |
73 typedef basic_ostream<wchar_t> wostream; | |
74 typedef basic_iostream<wchar_t> wiostream; | |
75 | |
76 typedef basic_stringbuf<wchar_t> wstringbuf; | |
77 typedef basic_istringstream<wchar_t> wistringstream; | |
78 typedef basic_ostringstream<wchar_t> wostringstream; | |
79 typedef basic_stringstream<wchar_t> wstringstream; | |
80 | |
81 typedef basic_filebuf<wchar_t> wfilebuf; | |
82 typedef basic_ifstream<wchar_t> wifstream; | |
83 typedef basic_ofstream<wchar_t> wofstream; | |
84 typedef basic_fstream<wchar_t> wfstream; | |
85 | |
86 template <class state> class fpos; | |
87 typedef fpos<char_traits<char>::state_type> streampos; | |
88 typedef fpos<char_traits<wchar_t>::state_type> wstreampos; | |
89 | |
90 } // std | |
91 | |
92 */ | |
93 | |
94 #include <__config> | |
95 #include <wchar.h> // for mbstate_t | |
96 | |
97 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) | |
98 #pragma GCC system_header | |
99 #endif | |
100 | |
101 _LIBCPP_BEGIN_NAMESPACE_STD | |
102 | |
103 class _LIBCPP_TYPE_VIS ios_base; | |
104 | |
105 template<class _CharT> struct _LIBCPP_TEMPLATE_VIS char_traits; | |
106 template<> struct char_traits<char>; | |
107 #ifndef _LIBCPP_NO_HAS_CHAR8_T | |
108 template<> struct char_traits<char8_t>; | |
109 #endif | |
110 template<> struct char_traits<char16_t>; | |
111 template<> struct char_traits<char32_t>; | |
112 template<> struct char_traits<wchar_t>; | |
113 | |
114 template<class _Tp> class _LIBCPP_TEMPLATE_VIS allocator; | |
115 | |
116 template <class _CharT, class _Traits = char_traits<_CharT> > | |
117 class _LIBCPP_TEMPLATE_VIS basic_ios; | |
118 | |
119 template <class _CharT, class _Traits = char_traits<_CharT> > | |
120 class _LIBCPP_TEMPLATE_VIS basic_streambuf; | |
121 template <class _CharT, class _Traits = char_traits<_CharT> > | |
122 class _LIBCPP_TEMPLATE_VIS basic_istream; | |
123 template <class _CharT, class _Traits = char_traits<_CharT> > | |
124 class _LIBCPP_TEMPLATE_VIS basic_ostream; | |
125 template <class _CharT, class _Traits = char_traits<_CharT> > | |
126 class _LIBCPP_TEMPLATE_VIS basic_iostream; | |
127 | |
128 template <class _CharT, class _Traits = char_traits<_CharT>, | |
129 class _Allocator = allocator<_CharT> > | |
130 class _LIBCPP_TEMPLATE_VIS basic_stringbuf; | |
131 template <class _CharT, class _Traits = char_traits<_CharT>, | |
132 class _Allocator = allocator<_CharT> > | |
133 class _LIBCPP_TEMPLATE_VIS basic_istringstream; | |
134 template <class _CharT, class _Traits = char_traits<_CharT>, | |
135 class _Allocator = allocator<_CharT> > | |
136 class _LIBCPP_TEMPLATE_VIS basic_ostringstream; | |
137 template <class _CharT, class _Traits = char_traits<_CharT>, | |
138 class _Allocator = allocator<_CharT> > | |
139 class _LIBCPP_TEMPLATE_VIS basic_stringstream; | |
140 | |
141 template <class _CharT, class _Traits = char_traits<_CharT> > | |
142 class _LIBCPP_TEMPLATE_VIS basic_filebuf; | |
143 template <class _CharT, class _Traits = char_traits<_CharT> > | |
144 class _LIBCPP_TEMPLATE_VIS basic_ifstream; | |
145 template <class _CharT, class _Traits = char_traits<_CharT> > | |
146 class _LIBCPP_TEMPLATE_VIS basic_ofstream; | |
147 template <class _CharT, class _Traits = char_traits<_CharT> > | |
148 class _LIBCPP_TEMPLATE_VIS basic_fstream; | |
149 | |
150 template <class _CharT, class _Traits = char_traits<_CharT> > | |
151 class _LIBCPP_TEMPLATE_VIS istreambuf_iterator; | |
152 template <class _CharT, class _Traits = char_traits<_CharT> > | |
153 class _LIBCPP_TEMPLATE_VIS ostreambuf_iterator; | |
154 | |
155 typedef basic_ios<char> ios; | |
156 typedef basic_ios<wchar_t> wios; | |
157 | |
158 typedef basic_streambuf<char> streambuf; | |
159 typedef basic_istream<char> istream; | |
160 typedef basic_ostream<char> ostream; | |
161 typedef basic_iostream<char> iostream; | |
162 | |
163 typedef basic_stringbuf<char> stringbuf; | |
164 typedef basic_istringstream<char> istringstream; | |
165 typedef basic_ostringstream<char> ostringstream; | |
166 typedef basic_stringstream<char> stringstream; | |
167 | |
168 typedef basic_filebuf<char> filebuf; | |
169 typedef basic_ifstream<char> ifstream; | |
170 typedef basic_ofstream<char> ofstream; | |
171 typedef basic_fstream<char> fstream; | |
172 | |
173 typedef basic_streambuf<wchar_t> wstreambuf; | |
174 typedef basic_istream<wchar_t> wistream; | |
175 typedef basic_ostream<wchar_t> wostream; | |
176 typedef basic_iostream<wchar_t> wiostream; | |
177 | |
178 typedef basic_stringbuf<wchar_t> wstringbuf; | |
179 typedef basic_istringstream<wchar_t> wistringstream; | |
180 typedef basic_ostringstream<wchar_t> wostringstream; | |
181 typedef basic_stringstream<wchar_t> wstringstream; | |
182 | |
183 typedef basic_filebuf<wchar_t> wfilebuf; | |
184 typedef basic_ifstream<wchar_t> wifstream; | |
185 typedef basic_ofstream<wchar_t> wofstream; | |
186 typedef basic_fstream<wchar_t> wfstream; | |
187 | |
188 template <class _State> class _LIBCPP_TEMPLATE_VIS fpos; | |
189 typedef fpos<mbstate_t> streampos; | |
190 typedef fpos<mbstate_t> wstreampos; | |
191 #ifndef _LIBCPP_NO_HAS_CHAR8_T | |
192 typedef fpos<mbstate_t> u8streampos; | |
193 #endif | |
194 #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS | |
195 typedef fpos<mbstate_t> u16streampos; | |
196 typedef fpos<mbstate_t> u32streampos; | |
197 #endif // _LIBCPP_HAS_NO_UNICODE_CHARS | |
198 | |
199 #if defined(_NEWLIB_VERSION) | |
200 // On newlib, off_t is 'long int' | |
201 typedef long int streamoff; // for char_traits in <string> | |
202 #else | |
203 typedef long long streamoff; // for char_traits in <string> | |
204 #endif | |
205 | |
206 template <class _CharT, // for <stdexcept> | |
207 class _Traits = char_traits<_CharT>, | |
208 class _Allocator = allocator<_CharT> > | |
209 class _LIBCPP_TEMPLATE_VIS basic_string; | |
210 typedef basic_string<char, char_traits<char>, allocator<char> > string; | |
211 typedef basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > wstring; | |
212 | |
213 | |
214 // Include other forward declarations here | |
215 template <class _Tp, class _Alloc = allocator<_Tp> > | |
216 class _LIBCPP_TEMPLATE_VIS vector; | |
217 | |
218 _LIBCPP_END_NAMESPACE_STD | |
219 | |
220 #endif // _LIBCPP_IOSFWD |