Mercurial > mm7
comparison lib/swig/swigwin-2.0.11/Lib/std/std_iostream.i @ 1899:b3009adc0e2f
Adding swig, gitignore, hgignore
author | Nomad |
---|---|
date | Mon, 21 Oct 2013 10:42:27 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
1867:eb580660bbbb | 1899:b3009adc0e2f |
---|---|
1 /* | |
2 For wchar support, you need to include the wchar.i file | |
3 before this file, ie: | |
4 | |
5 %include <wchar.i> | |
6 %include <std_iostream.i> | |
7 | |
8 or equivalently, just include | |
9 | |
10 %include <std_wiostream.i> | |
11 */ | |
12 | |
13 %include <std_ios.i> | |
14 %include <std_basic_string.i> | |
15 %include <std_string.i> | |
16 #if defined(SWIG_WCHAR) | |
17 %include <std_wstring.i> | |
18 #endif | |
19 | |
20 %{ | |
21 #include <iostream> | |
22 %} | |
23 | |
24 | |
25 namespace std | |
26 { | |
27 // 27.6.2.1 Template class basic_ostream | |
28 template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
29 class basic_ostream : virtual public basic_ios<_CharT, _Traits> | |
30 { | |
31 public: | |
32 // Types (inherited from basic_ios (27.4.4)): | |
33 typedef _CharT char_type; | |
34 typedef typename _Traits::int_type int_type; | |
35 typedef typename _Traits::pos_type pos_type; | |
36 typedef typename _Traits::off_type off_type; | |
37 typedef _Traits traits_type; | |
38 | |
39 // 27.6.2.2 Constructor/destructor: | |
40 explicit | |
41 basic_ostream(basic_streambuf<_CharT, _Traits>* __sb); | |
42 | |
43 virtual | |
44 ~basic_ostream(); | |
45 | |
46 // 27.6.2.5 Formatted output: | |
47 // 27.6.2.5.3 basic_ostream::operator<< | |
48 basic_ostream<_CharT, _Traits>& | |
49 operator<<(basic_ostream<_CharT, _Traits>& (*__pf)(basic_ostream<_CharT, _Traits>&)); | |
50 | |
51 | |
52 basic_ostream<_CharT, _Traits>& | |
53 operator<<(basic_ios<_CharT, _Traits>& (*__pf)(basic_ios<_CharT, _Traits>&)); | |
54 | |
55 | |
56 basic_ostream<_CharT, _Traits>& | |
57 operator<<(ios_base& (*__pf) (ios_base&)); | |
58 | |
59 // 27.6.2.5.2 Arithmetic Inserters | |
60 | |
61 basic_ostream<_CharT, _Traits>& | |
62 operator<<(long __n); | |
63 | |
64 basic_ostream<_CharT, _Traits>& | |
65 operator<<(unsigned long __n); | |
66 | |
67 basic_ostream<_CharT, _Traits>& | |
68 operator<<(bool __n); | |
69 | |
70 basic_ostream<_CharT, _Traits>& | |
71 operator<<(short __n); | |
72 | |
73 basic_ostream<_CharT, _Traits>& | |
74 operator<<(unsigned short __n); | |
75 | |
76 basic_ostream<_CharT, _Traits>& | |
77 operator<<(int __n); | |
78 | |
79 basic_ostream<_CharT, _Traits>& | |
80 operator<<(unsigned int __n); | |
81 | |
82 basic_ostream<_CharT, _Traits>& | |
83 operator<<(long long __n); | |
84 | |
85 basic_ostream<_CharT, _Traits>& | |
86 operator<<(unsigned long long __n); | |
87 | |
88 basic_ostream<_CharT, _Traits>& | |
89 operator<<(double __f); | |
90 | |
91 basic_ostream<_CharT, _Traits>& | |
92 operator<<(float __f); | |
93 | |
94 basic_ostream<_CharT, _Traits>& | |
95 operator<<(long double __f); | |
96 | |
97 basic_ostream<_CharT, _Traits>& | |
98 operator<<(const void* __p); | |
99 | |
100 basic_ostream<_CharT, _Traits>& | |
101 operator<<(basic_streambuf<_CharT, _Traits>* __sb); | |
102 | |
103 %extend { | |
104 std::basic_ostream<_CharT, _Traits >& | |
105 operator<<(const std::basic_string<_CharT,_Traits, std::allocator<_CharT> >& s) | |
106 { | |
107 *self << s; | |
108 return *self; | |
109 } | |
110 } | |
111 | |
112 // Unformatted output: | |
113 basic_ostream<_CharT, _Traits>& | |
114 put(char_type __c); | |
115 | |
116 basic_ostream<_CharT, _Traits>& | |
117 write(const char_type* __s, streamsize __n); | |
118 | |
119 basic_ostream<_CharT, _Traits>& | |
120 flush(); | |
121 | |
122 // Seeks: | |
123 pos_type | |
124 tellp(); | |
125 | |
126 basic_ostream<_CharT, _Traits>& | |
127 seekp(pos_type); | |
128 | |
129 basic_ostream<_CharT, _Traits>& | |
130 seekp(off_type, ios_base::seekdir); | |
131 | |
132 }; | |
133 | |
134 // 27.6.1.1 Template class basic_istream | |
135 template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
136 class basic_istream : virtual public basic_ios<_CharT, _Traits> | |
137 { | |
138 public: | |
139 // Types (inherited from basic_ios (27.4.4)): | |
140 typedef _CharT char_type; | |
141 typedef typename _Traits::int_type int_type; | |
142 typedef typename _Traits::pos_type pos_type; | |
143 typedef typename _Traits::off_type off_type; | |
144 typedef _Traits traits_type; | |
145 | |
146 | |
147 public: | |
148 // 27.6.1.1.1 Constructor/destructor: | |
149 explicit | |
150 basic_istream(basic_streambuf<_CharT, _Traits>* __sb); | |
151 | |
152 virtual | |
153 ~basic_istream(); | |
154 | |
155 // 27.6.1.2.3 basic_istream::operator>> | |
156 basic_istream<_CharT, _Traits>& | |
157 operator>>(basic_istream<_CharT, _Traits>& (*__pf)(basic_istream<_CharT, _Traits>&)); | |
158 | |
159 basic_istream<_CharT, _Traits>& | |
160 operator>>(basic_ios<_CharT, _Traits>& (*__pf)(basic_ios<_CharT, _Traits>&)); | |
161 | |
162 basic_istream<_CharT, _Traits>& | |
163 operator>>(ios_base& (*__pf)(ios_base&)); | |
164 | |
165 // 27.6.1.2.2 Arithmetic Extractors | |
166 basic_istream<_CharT, _Traits>& | |
167 operator>>(bool& __n); | |
168 | |
169 basic_istream<_CharT, _Traits>& | |
170 operator>>(short& __n); | |
171 | |
172 basic_istream<_CharT, _Traits>& | |
173 operator>>(unsigned short& __n); | |
174 | |
175 basic_istream<_CharT, _Traits>& | |
176 operator>>(int& __n); | |
177 | |
178 basic_istream<_CharT, _Traits>& | |
179 operator>>(unsigned int& __n); | |
180 | |
181 basic_istream<_CharT, _Traits>& | |
182 operator>>(long& __n); | |
183 | |
184 basic_istream<_CharT, _Traits>& | |
185 operator>>(unsigned long& __n); | |
186 | |
187 basic_istream<_CharT, _Traits>& | |
188 operator>>(long long& __n); | |
189 | |
190 basic_istream<_CharT, _Traits>& | |
191 operator>>(unsigned long long& __n); | |
192 | |
193 basic_istream<_CharT, _Traits>& | |
194 operator>>(float& __f); | |
195 | |
196 basic_istream<_CharT, _Traits>& | |
197 operator>>(double& __f); | |
198 | |
199 basic_istream<_CharT, _Traits>& | |
200 operator>>(long double& __f); | |
201 | |
202 basic_istream<_CharT, _Traits>& | |
203 operator>>(void*& __p); | |
204 | |
205 basic_istream<_CharT, _Traits>& | |
206 operator>>(basic_streambuf<_CharT, _Traits>* __sb); | |
207 | |
208 // 27.6.1.3 Unformatted input: | |
209 inline streamsize | |
210 gcount(void) const; | |
211 | |
212 int_type | |
213 get(void); | |
214 | |
215 basic_istream<_CharT, _Traits>& | |
216 get(char_type& __c); | |
217 | |
218 basic_istream<_CharT, _Traits>& | |
219 get(char_type* __s, streamsize __n, char_type __delim); | |
220 | |
221 inline basic_istream<_CharT, _Traits>& | |
222 get(char_type* __s, streamsize __n); | |
223 | |
224 basic_istream<_CharT, _Traits>& | |
225 get(basic_streambuf<_CharT, _Traits>& __sb, char_type __delim); | |
226 | |
227 inline basic_istream<_CharT, _Traits>& | |
228 get(basic_streambuf<_CharT, _Traits>& __sb); | |
229 | |
230 basic_istream<_CharT, _Traits>& | |
231 getline(char_type* __s, streamsize __n, char_type __delim); | |
232 | |
233 inline basic_istream<_CharT, _Traits>& | |
234 getline(char_type* __s, streamsize __n); | |
235 | |
236 basic_istream<_CharT, _Traits>& | |
237 ignore(streamsize __n = 1, int_type __delim = _Traits::eof()); | |
238 | |
239 int_type | |
240 peek(void); | |
241 | |
242 basic_istream<_CharT, _Traits>& | |
243 read(char_type* __s, streamsize __n); | |
244 | |
245 streamsize | |
246 readsome(char_type* __s, streamsize __n); | |
247 | |
248 basic_istream<_CharT, _Traits>& | |
249 putback(char_type __c); | |
250 | |
251 basic_istream<_CharT, _Traits>& | |
252 unget(void); | |
253 | |
254 int | |
255 sync(void); | |
256 | |
257 pos_type | |
258 tellg(void); | |
259 | |
260 basic_istream<_CharT, _Traits>& | |
261 seekg(pos_type); | |
262 | |
263 basic_istream<_CharT, _Traits>& | |
264 seekg(off_type, ios_base::seekdir); | |
265 }; | |
266 | |
267 // 27.6.1.5 Template class basic_iostream | |
268 template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
269 class basic_iostream | |
270 : public basic_istream<_CharT, _Traits>, | |
271 public basic_ostream<_CharT, _Traits> | |
272 { | |
273 public: | |
274 typedef _CharT char_type; | |
275 typedef typename _Traits::int_type int_type; | |
276 typedef typename _Traits::pos_type pos_type; | |
277 typedef typename _Traits::off_type off_type; | |
278 typedef _Traits traits_type; | |
279 | |
280 explicit | |
281 basic_iostream(basic_streambuf<_CharT, _Traits>* __sb); | |
282 | |
283 virtual | |
284 ~basic_iostream(); | |
285 }; | |
286 | |
287 typedef basic_ostream<char> ostream ; | |
288 typedef basic_istream<char> istream; | |
289 typedef basic_iostream<char> iostream; | |
290 | |
291 extern istream cin; | |
292 extern ostream cout; | |
293 extern ostream cerr; | |
294 extern ostream clog; | |
295 | |
296 #if defined(SWIG_WCHAR) | |
297 typedef basic_ostream<wchar_t> wostream; | |
298 typedef basic_istream<wchar_t> wistream; | |
299 typedef basic_iostream<wchar_t> wiostream; | |
300 | |
301 extern wistream wcin; | |
302 extern wostream wcout; | |
303 extern wostream wcerr; | |
304 extern wostream wclog; | |
305 #endif | |
306 | |
307 template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
308 std::basic_ostream<_CharT, _Traits>& | |
309 endl(std::basic_ostream<_CharT, _Traits>&); | |
310 | |
311 template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
312 std::basic_ostream<_CharT, _Traits>& | |
313 ends(std::basic_ostream<_CharT, _Traits>&); | |
314 | |
315 template<typename _CharT, typename _Traits = char_traits<_CharT> > | |
316 std::basic_ostream<_CharT, _Traits>& | |
317 flush(std::basic_ostream<_CharT, _Traits>&); | |
318 } | |
319 | |
320 namespace std { | |
321 %template(ostream) basic_ostream<char>; | |
322 %template(istream) basic_istream<char>; | |
323 %template(iostream) basic_iostream<char>; | |
324 | |
325 %template(endl) endl<char, std::char_traits<char> >; | |
326 %template(ends) ends<char, std::char_traits<char> >; | |
327 %template(flush) flush<char, std::char_traits<char> >; | |
328 | |
329 #if defined(SWIG_WCHAR) | |
330 %template(wostream) basic_ostream<wchar_t>; | |
331 %template(wistream) basic_istream<wchar_t>; | |
332 %template(wiostream) basic_iostream<wchar_t>; | |
333 | |
334 %template(wendl) endl<wchar_t, std::char_traits<wchar_t> >; | |
335 %template(wends) ends<wchar_t, std::char_traits<wchar_t> >; | |
336 %template(wflush) flush<wchar_t, std::char_traits<wchar_t> >; | |
337 #endif | |
338 } | |
339 |