/trunk/Lib/std/std_sstream.i
Swig | 195 lines | 143 code | 41 blank | 11 comment | 0 complexity | 15cccbf1bd8f1867afa9db6d37520644 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- /*
- For wchar support, you need to include the wchar.i file
- before this file, ie:
-
- %include <wchar.i>
- %include <std_sstream.i>
- or equivalently, just include
- %include <std_wsstream.i>
- */
- %include <std_alloc.i>
- %include <std_basic_string.i>
- %include <std_string.i>
- %include <std_ios.i>
- #if defined(SWIG_WCHAR)
- %include <std_wstring.i>
- #endif
- %include <std_streambuf.i>
- %include <std_iostream.i>
- %{
- #include <sstream>
- %}
- namespace std
- {
- template<typename _CharT, typename _Traits = char_traits<_CharT>,
- typename _Alloc = allocator<_CharT> >
- class basic_stringbuf : public basic_streambuf<_CharT, _Traits>
- {
- public:
- // Types:
- typedef _CharT char_type;
- typedef _Traits traits_type;
- // 251. basic_stringbuf missing allocator_type
- typedef _Alloc allocator_type;
- typedef typename traits_type::int_type int_type;
- typedef typename traits_type::pos_type pos_type;
- typedef typename traits_type::off_type off_type;
- public:
- // Constructors:
- explicit
- basic_stringbuf(ios_base::openmode __mode = ios_base::in | ios_base::out);
- explicit
- basic_stringbuf(const basic_string<_CharT, _Traits, _Alloc>& __str,
- ios_base::openmode __mode = ios_base::in | ios_base::out);
- // Get and set:
- basic_string<_CharT, _Traits, _Alloc>
- str() const;
- void
- str(const basic_string<_CharT, _Traits, _Alloc>& __s);
- };
- // 27.7.2 Template class basic_istringstream
- template<typename _CharT, typename _Traits = char_traits<_CharT>,
- typename _Alloc = allocator<_CharT> >
- class basic_istringstream : public basic_istream<_CharT, _Traits>
- {
- public:
- // Types:
- typedef _CharT char_type;
- typedef _Traits traits_type;
- // 251. basic_stringbuf missing allocator_type
- typedef _Alloc allocator_type;
- typedef typename traits_type::int_type int_type;
- typedef typename traits_type::pos_type pos_type;
- typedef typename traits_type::off_type off_type;
- public:
- // Constructors:
- explicit
- basic_istringstream(ios_base::openmode __mode = ios_base::in);
- explicit
- basic_istringstream(const basic_string<_CharT, _Traits, _Alloc>& __str,
- ios_base::openmode __mode = ios_base::in);
- ~basic_istringstream();
- // Members:
- basic_stringbuf<_CharT, _Traits, _Alloc>*
- rdbuf() const;
- basic_string<_CharT, _Traits, _Alloc>
- str() const;
- void
- str(const basic_string<_CharT, _Traits, _Alloc>& __s);
- };
- // 27.7.3 Template class basic_ostringstream
- template<typename _CharT, typename _Traits = char_traits<_CharT>,
- typename _Alloc = allocator<_CharT> >
- class basic_ostringstream : public basic_ostream<_CharT, _Traits>
- {
- public:
- // Types:
- typedef _CharT char_type;
- typedef _Traits traits_type;
- // 251. basic_stringbuf missing allocator_type
- typedef _Alloc allocator_type;
- typedef typename traits_type::int_type int_type;
- typedef typename traits_type::pos_type pos_type;
- typedef typename traits_type::off_type off_type;
- public:
- // Constructors/destructor:
- explicit
- basic_ostringstream(ios_base::openmode __mode = ios_base::out);
- explicit
- basic_ostringstream(const basic_string<_CharT, _Traits, _Alloc>& __str,
- ios_base::openmode __mode = ios_base::out);
- ~basic_ostringstream();
- // Members:
- basic_stringbuf<_CharT, _Traits, _Alloc>*
- rdbuf() const;
- basic_string<_CharT, _Traits, _Alloc>
- str() const;
- #if 0
- void
- str(const basic_string<_CharT, _Traits, _Alloc>& __s);
- #endif
- };
- // 27.7.4 Template class basic_stringstream
- template<typename _CharT, typename _Traits = char_traits<_CharT>,
- typename _Alloc = allocator<_CharT> >
- class basic_stringstream : public basic_iostream<_CharT, _Traits>
- {
- public:
- // Types:
- typedef _CharT char_type;
- typedef _Traits traits_type;
- // 251. basic_stringbuf missing allocator_type
- typedef _Alloc allocator_type;
- typedef typename traits_type::int_type int_type;
- typedef typename traits_type::pos_type pos_type;
- typedef typename traits_type::off_type off_type;
- public:
- // Constructors/destructors
- explicit
- basic_stringstream(ios_base::openmode __m = ios_base::out | ios_base::in);
- explicit
- basic_stringstream(const basic_string<_CharT, _Traits, _Alloc>& __str,
- ios_base::openmode __m = ios_base::out | ios_base::in);
- ~basic_stringstream();
- // Members:
- basic_stringbuf<_CharT, _Traits, _Alloc>*
- rdbuf() const;
- basic_string<_CharT, _Traits, _Alloc>
- str() const;
- void
- str(const basic_string<_CharT, _Traits, _Alloc>& __s);
- };
- } // namespace std
- namespace std {
- %template(istringstream) basic_istringstream<char>;
- %template(ostringstream) basic_ostringstream<char>;
- %template(stringstream) basic_stringstream<char>;
- #if defined(SWIG_WCHAR)
- %template(wistringstream) basic_istringstream<wchar_t>;
- %template(wostringstream) basic_ostringstream<wchar_t>;
- %template(wstringstream) basic_stringstream<wchar_t>;
- #endif
- }