OLD | NEW |
(Empty) | |
| 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_sstream.i> |
| 7 |
| 8 or equivalently, just include |
| 9 |
| 10 %include <std_wsstream.i> |
| 11 */ |
| 12 |
| 13 %include <std_alloc.i> |
| 14 %include <std_basic_string.i> |
| 15 %include <std_string.i> |
| 16 %include <std_ios.i> |
| 17 #if defined(SWIG_WCHAR) |
| 18 %include <std_wstring.i> |
| 19 #endif |
| 20 %include <std_streambuf.i> |
| 21 %include <std_iostream.i> |
| 22 |
| 23 %{ |
| 24 #include <sstream> |
| 25 %} |
| 26 |
| 27 |
| 28 namespace std |
| 29 { |
| 30 template<typename _CharT, typename _Traits = char_traits<_CharT>, |
| 31 typename _Alloc = allocator<_CharT> > |
| 32 class basic_stringbuf : public basic_streambuf<_CharT, _Traits> |
| 33 { |
| 34 public: |
| 35 // Types: |
| 36 typedef _CharT char_type; |
| 37 typedef _Traits traits_type; |
| 38 // 251. basic_stringbuf missing allocator_type |
| 39 typedef _Alloc allocator_type; |
| 40 typedef typename traits_type::int_type int_type; |
| 41 typedef typename traits_type::pos_type pos_type; |
| 42 typedef typename traits_type::off_type off_type; |
| 43 |
| 44 public: |
| 45 // Constructors: |
| 46 explicit |
| 47 basic_stringbuf(ios_base::openmode __mode = ios_base::in | ios_base::out); |
| 48 |
| 49 explicit |
| 50 basic_stringbuf(const basic_string<_CharT, _Traits, _Alloc>& __str, |
| 51 ios_base::openmode __mode = ios_base::in | ios_base::out); |
| 52 |
| 53 // Get and set: |
| 54 basic_string<_CharT, _Traits, _Alloc> |
| 55 str() const; |
| 56 |
| 57 void |
| 58 str(const basic_string<_CharT, _Traits, _Alloc>& __s); |
| 59 |
| 60 }; |
| 61 |
| 62 |
| 63 // 27.7.2 Template class basic_istringstream |
| 64 template<typename _CharT, typename _Traits = char_traits<_CharT>, |
| 65 typename _Alloc = allocator<_CharT> > |
| 66 class basic_istringstream : public basic_istream<_CharT, _Traits> |
| 67 { |
| 68 public: |
| 69 // Types: |
| 70 typedef _CharT char_type; |
| 71 typedef _Traits traits_type; |
| 72 // 251. basic_stringbuf missing allocator_type |
| 73 typedef _Alloc allocator_type; |
| 74 typedef typename traits_type::int_type int_type; |
| 75 typedef typename traits_type::pos_type pos_type; |
| 76 typedef typename traits_type::off_type off_type; |
| 77 |
| 78 |
| 79 public: |
| 80 // Constructors: |
| 81 explicit |
| 82 basic_istringstream(ios_base::openmode __mode = ios_base::in); |
| 83 |
| 84 explicit |
| 85 basic_istringstream(const basic_string<_CharT, _Traits, _Alloc>& __str, |
| 86 ios_base::openmode __mode = ios_base::in); |
| 87 |
| 88 ~basic_istringstream(); |
| 89 |
| 90 // Members: |
| 91 basic_stringbuf<_CharT, _Traits, _Alloc>* |
| 92 rdbuf() const; |
| 93 |
| 94 basic_string<_CharT, _Traits, _Alloc> |
| 95 str() const; |
| 96 |
| 97 void |
| 98 str(const basic_string<_CharT, _Traits, _Alloc>& __s); |
| 99 }; |
| 100 |
| 101 |
| 102 // 27.7.3 Template class basic_ostringstream |
| 103 template<typename _CharT, typename _Traits = char_traits<_CharT>, |
| 104 typename _Alloc = allocator<_CharT> > |
| 105 class basic_ostringstream : public basic_ostream<_CharT, _Traits> |
| 106 { |
| 107 public: |
| 108 // Types: |
| 109 typedef _CharT char_type; |
| 110 typedef _Traits traits_type; |
| 111 // 251. basic_stringbuf missing allocator_type |
| 112 typedef _Alloc allocator_type; |
| 113 typedef typename traits_type::int_type int_type; |
| 114 typedef typename traits_type::pos_type pos_type; |
| 115 typedef typename traits_type::off_type off_type; |
| 116 |
| 117 |
| 118 public: |
| 119 // Constructors/destructor: |
| 120 explicit |
| 121 basic_ostringstream(ios_base::openmode __mode = ios_base::out); |
| 122 |
| 123 explicit |
| 124 basic_ostringstream(const basic_string<_CharT, _Traits, _Alloc>& __str, |
| 125 ios_base::openmode __mode = ios_base::out); |
| 126 |
| 127 ~basic_ostringstream(); |
| 128 |
| 129 // Members: |
| 130 basic_stringbuf<_CharT, _Traits, _Alloc>* |
| 131 rdbuf() const; |
| 132 |
| 133 basic_string<_CharT, _Traits, _Alloc> |
| 134 str() const; |
| 135 |
| 136 #if 0 |
| 137 void |
| 138 str(const basic_string<_CharT, _Traits, _Alloc>& __s); |
| 139 #endif |
| 140 }; |
| 141 |
| 142 |
| 143 // 27.7.4 Template class basic_stringstream |
| 144 template<typename _CharT, typename _Traits = char_traits<_CharT>, |
| 145 typename _Alloc = allocator<_CharT> > |
| 146 class basic_stringstream : public basic_iostream<_CharT, _Traits> |
| 147 { |
| 148 public: |
| 149 // Types: |
| 150 typedef _CharT char_type; |
| 151 typedef _Traits traits_type; |
| 152 // 251. basic_stringbuf missing allocator_type |
| 153 typedef _Alloc allocator_type; |
| 154 typedef typename traits_type::int_type int_type; |
| 155 typedef typename traits_type::pos_type pos_type; |
| 156 typedef typename traits_type::off_type off_type; |
| 157 |
| 158 public: |
| 159 // Constructors/destructors |
| 160 explicit |
| 161 basic_stringstream(ios_base::openmode __m = ios_base::out | ios_base::in); |
| 162 |
| 163 explicit |
| 164 basic_stringstream(const basic_string<_CharT, _Traits, _Alloc>& __str, |
| 165 ios_base::openmode __m = ios_base::out | ios_base::in); |
| 166 |
| 167 ~basic_stringstream(); |
| 168 |
| 169 // Members: |
| 170 basic_stringbuf<_CharT, _Traits, _Alloc>* |
| 171 rdbuf() const; |
| 172 |
| 173 basic_string<_CharT, _Traits, _Alloc> |
| 174 str() const; |
| 175 |
| 176 void |
| 177 str(const basic_string<_CharT, _Traits, _Alloc>& __s); |
| 178 }; |
| 179 |
| 180 |
| 181 } // namespace std |
| 182 |
| 183 |
| 184 namespace std { |
| 185 %template(istringstream) basic_istringstream<char>; |
| 186 %template(ostringstream) basic_ostringstream<char>; |
| 187 %template(stringstream) basic_stringstream<char>; |
| 188 |
| 189 |
| 190 #if defined(SWIG_WCHAR) |
| 191 %template(wistringstream) basic_istringstream<wchar_t>; |
| 192 %template(wostringstream) basic_ostringstream<wchar_t>; |
| 193 %template(wstringstream) basic_stringstream<wchar_t>; |
| 194 #endif |
| 195 } |
OLD | NEW |