1899
|
1 %include <std_char_traits.i>
|
|
2 %include <std_basic_string.i>
|
|
3 %include <std_except.i>
|
|
4 %{
|
|
5 #ifndef SWIG_STD_NOMODERN_STL
|
|
6 # include <ios>
|
|
7 #else
|
|
8 # include <streambuf.h>
|
|
9 #endif
|
|
10 %}
|
|
11
|
|
12 namespace std {
|
|
13
|
|
14 template<typename _CharT, typename _Traits = char_traits<_CharT> >
|
|
15 class basic_streambuf;
|
|
16
|
|
17 template<typename _CharT, typename _Traits = char_traits<_CharT> >
|
|
18 class basic_istream;
|
|
19
|
|
20 template<typename _CharT, typename _Traits = char_traits<_CharT> >
|
|
21 class basic_ostream;
|
|
22
|
|
23 // 27.4.2 Class ios_base
|
|
24 typedef size_t streamsize;
|
|
25
|
|
26 class locale;
|
|
27
|
|
28
|
|
29 class ios_base
|
|
30 {
|
|
31 public:
|
|
32
|
|
33 #ifdef SWIG_NESTED_CLASSES
|
|
34 // 27.4.2.1.1 Class ios_base::failure
|
|
35 class failure : public exception
|
|
36 {
|
|
37 public:
|
|
38 explicit failure(const string& __str) throw();
|
|
39 };
|
|
40 #endif
|
|
41
|
|
42 // 27.4.2.1.2 Type ios_base::fmtflags
|
|
43 typedef int fmtflags;
|
|
44 // 27.4.2.1.2 Type fmtflags
|
|
45 static const fmtflags boolalpha ;
|
|
46 static const fmtflags dec ;
|
|
47 static const fmtflags fixed ;
|
|
48 static const fmtflags hex ;
|
|
49 static const fmtflags internal ;
|
|
50 static const fmtflags left ;
|
|
51 static const fmtflags oct ;
|
|
52 static const fmtflags right ;
|
|
53 static const fmtflags scientific ;
|
|
54 static const fmtflags showbase ;
|
|
55 static const fmtflags showpoint ;
|
|
56 static const fmtflags showpos ;
|
|
57 static const fmtflags skipws ;
|
|
58 static const fmtflags unitbuf ;
|
|
59 static const fmtflags uppercase ;
|
|
60 static const fmtflags adjustfield ;
|
|
61 static const fmtflags basefield ;
|
|
62 static const fmtflags floatfield ;
|
|
63
|
|
64 // 27.4.2.1.3 Type ios_base::iostate
|
|
65 typedef int iostate;
|
|
66 static const iostate badbit ;
|
|
67 static const iostate eofbit ;
|
|
68 static const iostate failbit ;
|
|
69 static const iostate goodbit ;
|
|
70
|
|
71 // 27.4.2.1.4 Type openmode
|
|
72 typedef int openmode;
|
|
73 static const openmode app ;
|
|
74 static const openmode ate ;
|
|
75 static const openmode binary ;
|
|
76 static const openmode in ;
|
|
77 static const openmode out ;
|
|
78 static const openmode trunc ;
|
|
79
|
|
80 // 27.4.2.1.5 Type seekdir
|
|
81 typedef int seekdir;
|
|
82 static const seekdir beg ;
|
|
83 static const seekdir cur ;
|
|
84 static const seekdir end ;
|
|
85
|
|
86
|
|
87 // Callbacks;
|
|
88 enum event
|
|
89 {
|
|
90 erase_event,
|
|
91 imbue_event,
|
|
92 copyfmt_event
|
|
93 };
|
|
94
|
|
95 typedef void (*event_callback) (event, ios_base&, int);
|
|
96
|
|
97 void
|
|
98 register_callback(event_callback __fn, int __index);
|
|
99
|
|
100 // Fmtflags state:
|
|
101 inline fmtflags
|
|
102 flags() const ;
|
|
103
|
|
104 inline fmtflags
|
|
105 flags(fmtflags __fmtfl);
|
|
106
|
|
107 inline fmtflags
|
|
108 setf(fmtflags __fmtfl);
|
|
109
|
|
110 inline fmtflags
|
|
111 setf(fmtflags __fmtfl, fmtflags __mask);
|
|
112
|
|
113 inline void
|
|
114 unsetf(fmtflags __mask) ;
|
|
115
|
|
116 inline streamsize
|
|
117 precision() const ;
|
|
118
|
|
119 inline streamsize
|
|
120 precision(streamsize __prec);
|
|
121
|
|
122 inline streamsize
|
|
123 width() const ;
|
|
124
|
|
125 inline streamsize
|
|
126 width(streamsize __wide);
|
|
127
|
|
128 static bool
|
|
129 sync_with_stdio(bool __sync = true);
|
|
130
|
|
131 // Locales:
|
|
132 locale
|
|
133 imbue(const locale& __loc);
|
|
134
|
|
135 inline locale
|
|
136 getloc() const { return _M_ios_locale; }
|
|
137
|
|
138 // Storage:
|
|
139 static int
|
|
140 xalloc() throw();
|
|
141
|
|
142 inline long&
|
|
143 iword(int __ix);
|
|
144
|
|
145 inline void*&
|
|
146 pword(int __ix);
|
|
147
|
|
148 // Destructor
|
|
149 ~ios_base();
|
|
150
|
|
151 protected:
|
|
152 ios_base();
|
|
153
|
|
154 //50. Copy constructor and assignment operator of ios_base
|
|
155 private:
|
|
156 ios_base(const ios_base&);
|
|
157
|
|
158 ios_base&
|
|
159 operator=(const ios_base&);
|
|
160 };
|
|
161
|
|
162 template<typename _CharT, typename _Traits = char_traits<_CharT> >
|
|
163 class basic_ios : public ios_base
|
|
164 {
|
|
165 public:
|
|
166 // Types:
|
|
167 typedef _CharT char_type;
|
|
168 typedef typename _Traits::int_type int_type;
|
|
169 typedef typename _Traits::pos_type pos_type;
|
|
170 typedef typename _Traits::off_type off_type;
|
|
171 typedef _Traits traits_type;
|
|
172
|
|
173 public:
|
|
174
|
|
175 iostate
|
|
176 rdstate() const;
|
|
177
|
|
178 void
|
|
179 clear(iostate __state = goodbit);
|
|
180
|
|
181 void
|
|
182 setstate(iostate __state);
|
|
183
|
|
184 bool
|
|
185 good() const;
|
|
186
|
|
187 bool
|
|
188 eof() const;
|
|
189
|
|
190 bool
|
|
191 fail() const;
|
|
192
|
|
193 bool
|
|
194 bad() const;
|
|
195
|
|
196 iostate
|
|
197 exceptions() const;
|
|
198
|
|
199 void
|
|
200 exceptions(iostate __except);
|
|
201
|
|
202 // Constructor/destructor:
|
|
203 explicit
|
|
204 basic_ios(basic_streambuf<_CharT, _Traits>* __sb) : ios_base();
|
|
205
|
|
206 virtual
|
|
207 ~basic_ios() ;
|
|
208
|
|
209 // Members:
|
|
210 basic_ostream<_CharT, _Traits>*
|
|
211 tie() const;
|
|
212
|
|
213 basic_ostream<_CharT, _Traits>*
|
|
214 tie(basic_ostream<_CharT, _Traits>* __tiestr);
|
|
215
|
|
216 basic_streambuf<_CharT, _Traits>*
|
|
217 rdbuf() const;
|
|
218
|
|
219 basic_streambuf<_CharT, _Traits>*
|
|
220 rdbuf(basic_streambuf<_CharT, _Traits>* __sb);
|
|
221
|
|
222 basic_ios&
|
|
223 copyfmt(const basic_ios& __rhs);
|
|
224
|
|
225 char_type
|
|
226 fill() const;
|
|
227
|
|
228 char_type
|
|
229 fill(char_type __ch);
|
|
230
|
|
231 // Locales:
|
|
232 locale
|
|
233 imbue(const locale& __loc);
|
|
234
|
|
235 char
|
|
236 narrow(char_type __c, char __dfault) const;
|
|
237
|
|
238 char_type
|
|
239 widen(char __c) const;
|
|
240
|
|
241 protected:
|
|
242 // 27.4.5.1 basic_ios constructors
|
|
243 basic_ios();
|
|
244 private:
|
|
245 ios_base(const ios_base&);
|
|
246
|
|
247 ios_base&
|
|
248 operator=(const ios_base&);
|
|
249 };
|
|
250
|
|
251 }
|
|
252
|
|
253 namespace std {
|
|
254 %template(ios) basic_ios<char>;
|
|
255 #if defined(SWIG_WCHAR)
|
|
256 %template(wios) basic_ios<wchar_t>;
|
|
257 #endif
|
|
258 }
|
|
259
|
|
260
|