added more elements from std
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6282 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
8cd612c7c1
commit
27377fb937
4 changed files with 804 additions and 0 deletions
132
Lib/python/std_char_traits.i
Normal file
132
Lib/python/std_char_traits.i
Normal file
|
|
@ -0,0 +1,132 @@
|
||||||
|
%include <std_common.i>
|
||||||
|
%include <wchar.i>
|
||||||
|
|
||||||
|
namespace std
|
||||||
|
{
|
||||||
|
|
||||||
|
/// 21.1.2 Basis for explicit _Traits specialization
|
||||||
|
/// NB: That for any given actual character type this definition is
|
||||||
|
/// probably wrong.
|
||||||
|
template<class _CharT>
|
||||||
|
struct char_traits
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/// 21.1.4 char_traits specializations
|
||||||
|
template<>
|
||||||
|
struct char_traits<char> {
|
||||||
|
typedef char char_type;
|
||||||
|
typedef int int_type;
|
||||||
|
typedef streampos pos_type;
|
||||||
|
typedef streamoff off_type;
|
||||||
|
typedef mbstate_t state_type;
|
||||||
|
|
||||||
|
static void
|
||||||
|
assign(char_type& __c1, const char_type& __c2);
|
||||||
|
|
||||||
|
static bool
|
||||||
|
eq(const char_type& __c1, const char_type& __c2);
|
||||||
|
|
||||||
|
static bool
|
||||||
|
lt(const char_type& __c1, const char_type& __c2);
|
||||||
|
|
||||||
|
static int
|
||||||
|
compare(const char_type* __s1, const char_type* __s2, size_t __n);
|
||||||
|
|
||||||
|
static size_t
|
||||||
|
length(const char_type* __s);
|
||||||
|
|
||||||
|
static const char_type*
|
||||||
|
find(const char_type* __s, size_t __n, const char_type& __a);
|
||||||
|
|
||||||
|
static char_type*
|
||||||
|
move(char_type* __s1, const char_type* __s2, size_t __n);
|
||||||
|
|
||||||
|
static char_type*
|
||||||
|
copy(char_type* __s1, const char_type* __s2, size_t __n);
|
||||||
|
|
||||||
|
static char_type*
|
||||||
|
assign(char_type* __s, size_t __n, char_type __a);
|
||||||
|
|
||||||
|
static char_type
|
||||||
|
to_char_type(const int_type& __c);
|
||||||
|
|
||||||
|
// To keep both the byte 0xff and the eof symbol 0xffffffff
|
||||||
|
// from ending up as 0xffffffff.
|
||||||
|
static int_type
|
||||||
|
to_int_type(const char_type& __c);
|
||||||
|
|
||||||
|
static bool
|
||||||
|
eq_int_type(const int_type& __c1, const int_type& __c2);
|
||||||
|
|
||||||
|
static int_type
|
||||||
|
eof() ;
|
||||||
|
|
||||||
|
static int_type
|
||||||
|
not_eof(const int_type& __c);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct char_traits<wchar_t>
|
||||||
|
{
|
||||||
|
typedef wchar_t char_type;
|
||||||
|
typedef wint_t int_type;
|
||||||
|
typedef streamoff off_type;
|
||||||
|
typedef wstreampos pos_type;
|
||||||
|
typedef mbstate_t state_type;
|
||||||
|
|
||||||
|
static void
|
||||||
|
assign(char_type& __c1, const char_type& __c2);
|
||||||
|
|
||||||
|
static bool
|
||||||
|
eq(const char_type& __c1, const char_type& __c2);
|
||||||
|
|
||||||
|
static bool
|
||||||
|
lt(const char_type& __c1, const char_type& __c2);
|
||||||
|
|
||||||
|
static int
|
||||||
|
compare(const char_type* __s1, const char_type* __s2, size_t __n);
|
||||||
|
|
||||||
|
static size_t
|
||||||
|
length(const char_type* __s);
|
||||||
|
|
||||||
|
static const char_type*
|
||||||
|
find(const char_type* __s, size_t __n, const char_type& __a);
|
||||||
|
|
||||||
|
static char_type*
|
||||||
|
move(char_type* __s1, const char_type* __s2, int_type __n);
|
||||||
|
|
||||||
|
static char_type*
|
||||||
|
copy(char_type* __s1, const char_type* __s2, size_t __n);
|
||||||
|
|
||||||
|
static char_type*
|
||||||
|
assign(char_type* __s, size_t __n, char_type __a);
|
||||||
|
|
||||||
|
static char_type
|
||||||
|
to_char_type(const int_type& __c) ;
|
||||||
|
|
||||||
|
static int_type
|
||||||
|
to_int_type(const char_type& __c) ;
|
||||||
|
|
||||||
|
static bool
|
||||||
|
eq_int_type(const int_type& __c1, const int_type& __c2);
|
||||||
|
|
||||||
|
static int_type
|
||||||
|
eof() ;
|
||||||
|
|
||||||
|
static int_type
|
||||||
|
not_eof(const int_type& __c);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace std {
|
||||||
|
#ifndef SWIG_STL_WRAP_TRAITS
|
||||||
|
%template() char_traits<char>;
|
||||||
|
%template() char_traits<wchar_t>;
|
||||||
|
#else
|
||||||
|
%template(char_traits_c) char_traits<char>;
|
||||||
|
%template(char_traits_w) char_traits<wchar_t>;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
251
Lib/python/std_ios.i
Normal file
251
Lib/python/std_ios.i
Normal file
|
|
@ -0,0 +1,251 @@
|
||||||
|
%include <std_except.i>
|
||||||
|
%include <std_char_traits.i>
|
||||||
|
%{
|
||||||
|
#include <ios>
|
||||||
|
%}
|
||||||
|
|
||||||
|
#ifdef SWIGPYTHON
|
||||||
|
%rename(ios_base_in) std::ios_base::in;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
namespace std {
|
||||||
|
|
||||||
|
template<typename _CharT, typename _Traits = char_traits<_CharT> >
|
||||||
|
class basic_streambuf;
|
||||||
|
|
||||||
|
template<typename _CharT, typename _Traits = char_traits<_CharT> >
|
||||||
|
class basic_istream;
|
||||||
|
|
||||||
|
template<typename _CharT, typename _Traits = char_traits<_CharT> >
|
||||||
|
class basic_ostream;
|
||||||
|
|
||||||
|
// 27.4.2 Class ios_base
|
||||||
|
typedef size_t streamsize;
|
||||||
|
|
||||||
|
class locale;
|
||||||
|
|
||||||
|
|
||||||
|
class ios_base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
#ifdef SWIG_NESTED_CLASSES
|
||||||
|
// 27.4.2.1.1 Class ios_base::failure
|
||||||
|
class failure : public exception
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
explicit failure(const string& __str) throw();
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// 27.4.2.1.2 Type ios_base::fmtflags
|
||||||
|
typedef int fmtflags;
|
||||||
|
// 27.4.2.1.2 Type fmtflags
|
||||||
|
static const fmtflags boolalpha ;
|
||||||
|
static const fmtflags dec ;
|
||||||
|
static const fmtflags fixed ;
|
||||||
|
static const fmtflags hex ;
|
||||||
|
static const fmtflags internal ;
|
||||||
|
static const fmtflags left ;
|
||||||
|
static const fmtflags oct ;
|
||||||
|
static const fmtflags right ;
|
||||||
|
static const fmtflags scientific ;
|
||||||
|
static const fmtflags showbase ;
|
||||||
|
static const fmtflags showpoint ;
|
||||||
|
static const fmtflags showpos ;
|
||||||
|
static const fmtflags skipws ;
|
||||||
|
static const fmtflags unitbuf ;
|
||||||
|
static const fmtflags uppercase ;
|
||||||
|
static const fmtflags adjustfield ;
|
||||||
|
static const fmtflags basefield ;
|
||||||
|
static const fmtflags floatfield ;
|
||||||
|
|
||||||
|
// 27.4.2.1.3 Type ios_base::iostate
|
||||||
|
typedef int iostate;
|
||||||
|
static const iostate badbit ;
|
||||||
|
static const iostate eofbit ;
|
||||||
|
static const iostate failbit ;
|
||||||
|
static const iostate goodbit ;
|
||||||
|
|
||||||
|
// 27.4.2.1.4 Type openmode
|
||||||
|
typedef int openmode;
|
||||||
|
static const openmode app ;
|
||||||
|
static const openmode ate ;
|
||||||
|
static const openmode binary ;
|
||||||
|
static const openmode in ;
|
||||||
|
static const openmode out ;
|
||||||
|
static const openmode trunc ;
|
||||||
|
|
||||||
|
// 27.4.2.1.5 Type seekdir
|
||||||
|
typedef int seekdir;
|
||||||
|
static const seekdir beg ;
|
||||||
|
static const seekdir cur ;
|
||||||
|
static const seekdir end ;
|
||||||
|
|
||||||
|
|
||||||
|
// Callbacks;
|
||||||
|
enum event
|
||||||
|
{
|
||||||
|
erase_event,
|
||||||
|
imbue_event,
|
||||||
|
copyfmt_event
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef void (*event_callback) (event, ios_base&, int);
|
||||||
|
|
||||||
|
void
|
||||||
|
register_callback(event_callback __fn, int __index);
|
||||||
|
|
||||||
|
// Fmtflags state:
|
||||||
|
inline fmtflags
|
||||||
|
flags() const ;
|
||||||
|
|
||||||
|
inline fmtflags
|
||||||
|
flags(fmtflags __fmtfl);
|
||||||
|
|
||||||
|
inline fmtflags
|
||||||
|
setf(fmtflags __fmtfl);
|
||||||
|
|
||||||
|
inline fmtflags
|
||||||
|
setf(fmtflags __fmtfl, fmtflags __mask);
|
||||||
|
|
||||||
|
inline void
|
||||||
|
unsetf(fmtflags __mask) ;
|
||||||
|
|
||||||
|
inline streamsize
|
||||||
|
precision() const ;
|
||||||
|
|
||||||
|
inline streamsize
|
||||||
|
precision(streamsize __prec);
|
||||||
|
|
||||||
|
inline streamsize
|
||||||
|
width() const ;
|
||||||
|
|
||||||
|
inline streamsize
|
||||||
|
width(streamsize __wide);
|
||||||
|
|
||||||
|
static bool
|
||||||
|
sync_with_stdio(bool __sync = true);
|
||||||
|
|
||||||
|
// Locales:
|
||||||
|
locale
|
||||||
|
imbue(const locale& __loc);
|
||||||
|
|
||||||
|
inline locale
|
||||||
|
getloc() const { return _M_ios_locale; }
|
||||||
|
|
||||||
|
// Storage:
|
||||||
|
static int
|
||||||
|
xalloc() throw();
|
||||||
|
|
||||||
|
inline long&
|
||||||
|
iword(int __ix);
|
||||||
|
|
||||||
|
inline void*&
|
||||||
|
pword(int __ix);
|
||||||
|
|
||||||
|
// Destructor
|
||||||
|
~ios_base();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
ios_base();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
template<typename _CharT, typename _Traits >
|
||||||
|
class basic_ios : public ios_base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// Types:
|
||||||
|
typedef _CharT char_type;
|
||||||
|
typedef typename _Traits::int_type int_type;
|
||||||
|
typedef typename _Traits::pos_type pos_type;
|
||||||
|
typedef typename _Traits::off_type off_type;
|
||||||
|
typedef _Traits traits_type;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
iostate
|
||||||
|
rdstate() const;
|
||||||
|
|
||||||
|
void
|
||||||
|
clear(iostate __state = goodbit);
|
||||||
|
|
||||||
|
void
|
||||||
|
setstate(iostate __state);
|
||||||
|
|
||||||
|
bool
|
||||||
|
good() const;
|
||||||
|
|
||||||
|
bool
|
||||||
|
eof() const;
|
||||||
|
|
||||||
|
bool
|
||||||
|
fail() const;
|
||||||
|
|
||||||
|
bool
|
||||||
|
bad() const;
|
||||||
|
|
||||||
|
iostate
|
||||||
|
exceptions() const;
|
||||||
|
|
||||||
|
void
|
||||||
|
exceptions(iostate __except);
|
||||||
|
|
||||||
|
// Constructor/destructor:
|
||||||
|
explicit
|
||||||
|
basic_ios(basic_streambuf<_CharT, _Traits>* __sb) : ios_base();
|
||||||
|
|
||||||
|
virtual
|
||||||
|
~basic_ios() ;
|
||||||
|
|
||||||
|
// Members:
|
||||||
|
basic_ostream<_CharT, _Traits>*
|
||||||
|
tie() const;
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>*
|
||||||
|
tie(basic_ostream<_CharT, _Traits>* __tiestr);
|
||||||
|
|
||||||
|
basic_streambuf<_CharT, _Traits>*
|
||||||
|
rdbuf() const;
|
||||||
|
|
||||||
|
basic_streambuf<_CharT, _Traits>*
|
||||||
|
rdbuf(basic_streambuf<_CharT, _Traits>* __sb);
|
||||||
|
|
||||||
|
basic_ios&
|
||||||
|
copyfmt(const basic_ios& __rhs);
|
||||||
|
|
||||||
|
char_type
|
||||||
|
fill() const;
|
||||||
|
|
||||||
|
char_type
|
||||||
|
fill(char_type __ch);
|
||||||
|
|
||||||
|
// Locales:
|
||||||
|
locale
|
||||||
|
imbue(const locale& __loc);
|
||||||
|
|
||||||
|
char
|
||||||
|
narrow(char_type __c, char __dfault) const;
|
||||||
|
|
||||||
|
char_type
|
||||||
|
widen(char __c) const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// 27.4.5.1 basic_ios constructors
|
||||||
|
basic_ios();
|
||||||
|
private:
|
||||||
|
ios_base(const ios_base&);
|
||||||
|
|
||||||
|
ios_base&
|
||||||
|
operator=(const ios_base&);
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace std {
|
||||||
|
%template(ios) basic_ios<char, std::char_traits<char> >;
|
||||||
|
%template(wios) basic_ios<wchar_t, std::char_traits<wchar_t> >;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
334
Lib/python/std_iostream.i
Normal file
334
Lib/python/std_iostream.i
Normal file
|
|
@ -0,0 +1,334 @@
|
||||||
|
%include <std_ios.i>
|
||||||
|
%include <std_string.i>
|
||||||
|
%include <std_wstring.i>
|
||||||
|
|
||||||
|
%{
|
||||||
|
#include <iostream>
|
||||||
|
%}
|
||||||
|
|
||||||
|
namespace std
|
||||||
|
{
|
||||||
|
// 27.6.2.1 Template class basic_ostream
|
||||||
|
template<typename _CharT, typename _Traits>
|
||||||
|
class basic_ostream : virtual public basic_ios<_CharT, _Traits>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// Types (inherited from basic_ios (27.4.4)):
|
||||||
|
typedef _CharT char_type;
|
||||||
|
typedef typename _Traits::int_type int_type;
|
||||||
|
typedef typename _Traits::pos_type pos_type;
|
||||||
|
typedef typename _Traits::off_type off_type;
|
||||||
|
typedef _Traits traits_type;
|
||||||
|
|
||||||
|
// 27.6.2.2 Constructor/destructor:
|
||||||
|
explicit
|
||||||
|
basic_ostream(basic_streambuf<_CharT, _Traits>* __sb);
|
||||||
|
|
||||||
|
virtual
|
||||||
|
~basic_ostream();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 27.6.2.5 Formatted output:
|
||||||
|
// 27.6.2.5.3 basic_ostream::operator<<
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
operator<<(basic_ostream<_CharT, _Traits>& (*__pf)(basic_ostream<_CharT, _Traits>&));
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
operator<<(basic_ios<_CharT, _Traits>& (*__pf)(basic_ios<_CharT, _Traits>&));
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
operator<<(ios_base& (*__pf) (ios_base&));
|
||||||
|
|
||||||
|
// 27.6.2.5.2 Arithmetic Inserters
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
operator<<(long __n);
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
operator<<(unsigned long __n);
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
operator<<(bool __n);
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
operator<<(short __n);
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
operator<<(unsigned short __n);
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
operator<<(int __n);
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
operator<<(unsigned int __n);
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
operator<<(long long __n);
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
operator<<(unsigned long long __n);
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
operator<<(double __f);
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
operator<<(float __f);
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
operator<<(long double __f);
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
operator<<(const void* __p);
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
operator<<(basic_streambuf<_CharT, _Traits>* __sb);
|
||||||
|
|
||||||
|
// Unformatted output:
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
put(char_type __c);
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
write(const char_type* __s, streamsize __n);
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
flush();
|
||||||
|
|
||||||
|
// Seeks:
|
||||||
|
pos_type
|
||||||
|
tellp();
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
seekp(pos_type);
|
||||||
|
|
||||||
|
basic_ostream<_CharT, _Traits>&
|
||||||
|
seekp(off_type, ios_base::seekdir);
|
||||||
|
|
||||||
|
%extend {
|
||||||
|
std::basic_ostream<_CharT, _Traits>&
|
||||||
|
operator<<(const std::basic_string<_CharT>& s)
|
||||||
|
{
|
||||||
|
*self << s;
|
||||||
|
return *self;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// 27.6.1.1 Template class basic_istream
|
||||||
|
template<typename _CharT, typename _Traits>
|
||||||
|
class basic_istream : virtual public basic_ios<_CharT, _Traits>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// Types (inherited from basic_ios (27.4.4)):
|
||||||
|
typedef _CharT char_type;
|
||||||
|
typedef typename _Traits::int_type int_type;
|
||||||
|
typedef typename _Traits::pos_type pos_type;
|
||||||
|
typedef typename _Traits::off_type off_type;
|
||||||
|
typedef _Traits traits_type;
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
// 27.6.1.1.1 Constructor/destructor:
|
||||||
|
explicit
|
||||||
|
basic_istream(basic_streambuf<_CharT, _Traits>* __sb);
|
||||||
|
|
||||||
|
virtual
|
||||||
|
~basic_istream();
|
||||||
|
|
||||||
|
// 27.6.1.2.2 Arithmetic Extractors
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
operator>>(bool& __n);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
operator>>(short& __n);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
operator>>(unsigned short& __n);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
operator>>(int& __n);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
operator>>(unsigned int& __n);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
operator>>(long& __n);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
operator>>(unsigned long& __n);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
operator>>(long long& __n);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
operator>>(unsigned long long& __n);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
operator>>(float& __f);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
operator>>(double& __f);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
operator>>(long double& __f);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
operator>>(void*& __p);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
operator>>(basic_streambuf<_CharT, _Traits>* __sb);
|
||||||
|
|
||||||
|
// 27.6.1.3 Unformatted input:
|
||||||
|
inline streamsize
|
||||||
|
gcount(void) const;
|
||||||
|
|
||||||
|
int_type
|
||||||
|
get(void);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
get(char_type& __c);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
get(char_type* __s, streamsize __n, char_type __delim);
|
||||||
|
|
||||||
|
inline basic_istream<_CharT, _Traits>&
|
||||||
|
get(char_type* __s, streamsize __n);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
get(basic_streambuf<_CharT, _Traits>& __sb, char_type __delim);
|
||||||
|
|
||||||
|
inline basic_istream<_CharT, _Traits>&
|
||||||
|
get(basic_streambuf<_CharT, _Traits>& __sb);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
getline(char_type* __s, streamsize __n, char_type __delim);
|
||||||
|
|
||||||
|
inline basic_istream<_CharT, _Traits>&
|
||||||
|
getline(char_type* __s, streamsize __n);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
ignore(streamsize __n = 1, int_type __delim = _Traits::eof());
|
||||||
|
|
||||||
|
int_type
|
||||||
|
peek(void);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
read(char_type* __s, streamsize __n);
|
||||||
|
|
||||||
|
streamsize
|
||||||
|
readsome(char_type* __s, streamsize __n);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
putback(char_type __c);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
unget(void);
|
||||||
|
|
||||||
|
int
|
||||||
|
sync(void);
|
||||||
|
|
||||||
|
pos_type
|
||||||
|
tellg(void);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
seekg(pos_type);
|
||||||
|
|
||||||
|
basic_istream<_CharT, _Traits>&
|
||||||
|
seekg(off_type, ios_base::seekdir);
|
||||||
|
};
|
||||||
|
|
||||||
|
// 27.6.1.5 Template class basic_iostream
|
||||||
|
template<typename _CharT, typename _Traits>
|
||||||
|
class basic_iostream
|
||||||
|
: public basic_istream<_CharT, _Traits>,
|
||||||
|
public basic_ostream<_CharT, _Traits>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
typedef _CharT char_type;
|
||||||
|
typedef typename _Traits::int_type int_type;
|
||||||
|
typedef typename _Traits::pos_type pos_type;
|
||||||
|
typedef typename _Traits::off_type off_type;
|
||||||
|
typedef _Traits traits_type;
|
||||||
|
|
||||||
|
explicit
|
||||||
|
basic_iostream(basic_streambuf<_CharT, _Traits>* __sb);
|
||||||
|
|
||||||
|
virtual
|
||||||
|
~basic_iostream();
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace std {
|
||||||
|
|
||||||
|
typedef basic_ostream<char, std::char_traits<char> > ostream ;
|
||||||
|
typedef basic_istream<char, std::char_traits<char> > istream;
|
||||||
|
typedef basic_iostream<char, std::char_traits<char> > iostream;
|
||||||
|
|
||||||
|
typedef basic_ostream<wchar_t, std::char_traits<wchar_t> > wostream;
|
||||||
|
typedef basic_istream<wchar_t, std::char_traits<wchar_t> > wistream;
|
||||||
|
typedef basic_iostream<wchar_t, std::char_traits<wchar_t> > wiostream;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace std {
|
||||||
|
%template(ostream) basic_ostream<char, std::char_traits<char> >;
|
||||||
|
%template(istream) basic_istream<char, std::char_traits<char> >;
|
||||||
|
%template(iostream) basic_iostream<char, std::char_traits<char> >;
|
||||||
|
|
||||||
|
%template(wostream) basic_ostream<wchar_t, std::char_traits<wchar_t> >;
|
||||||
|
%template(wistream) basic_istream<wchar_t, std::char_traits<wchar_t> >;
|
||||||
|
%template(wiostream) basic_iostream<wchar_t, std::char_traits<wchar_t> >;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace std
|
||||||
|
{
|
||||||
|
%feature("immutable") cin;
|
||||||
|
%feature("immutable") cout;
|
||||||
|
%feature("immutable") cerr;
|
||||||
|
%feature("immutable") clog;
|
||||||
|
|
||||||
|
%feature("immutable") wcin;
|
||||||
|
%feature("immutable") wcout;
|
||||||
|
%feature("immutable") wcerr;
|
||||||
|
%feature("immutable") wclog;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace std
|
||||||
|
{
|
||||||
|
extern std::istream cin;
|
||||||
|
extern std::ostream cout;
|
||||||
|
extern std::ostream cerr;
|
||||||
|
extern std::ostream clog;
|
||||||
|
|
||||||
|
extern std::wistream wcin;
|
||||||
|
extern std::wostream wcout;
|
||||||
|
extern std::wostream wcerr;
|
||||||
|
extern std::wostream wclog;
|
||||||
|
|
||||||
|
template<typename _CharT, typename _Traits>
|
||||||
|
std::basic_ostream<_CharT, _Traits>&
|
||||||
|
endl(std::basic_ostream<_CharT, _Traits>&);
|
||||||
|
|
||||||
|
template<typename _CharT, typename _Traits>
|
||||||
|
std::basic_ostream<_CharT, _Traits>&
|
||||||
|
ends(std::basic_ostream<_CharT, _Traits>&);
|
||||||
|
|
||||||
|
template<typename _CharT, typename _Traits>
|
||||||
|
std::basic_ostream<_CharT, _Traits>&
|
||||||
|
flush(std::basic_ostream<_CharT, _Traits>&);
|
||||||
|
|
||||||
|
%pythoncallback(1);
|
||||||
|
|
||||||
|
|
||||||
|
%template(endl) endl<char, std::char_traits<char> >;
|
||||||
|
%template(ends) ends<char, std::char_traits<char> >;
|
||||||
|
%template(flush) flush<char, std::char_traits<char> >;
|
||||||
|
|
||||||
|
%template(wendl) endl<wchar_t, std::char_traits<wchar_t> >;
|
||||||
|
%template(wends) ends<wchar_t, std::char_traits<wchar_t> >;
|
||||||
|
%template(wflush) flush<wchar_t, std::char_traits<wchar_t> >;
|
||||||
|
|
||||||
|
%pythoncallback(0);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
87
Lib/python/std_streambuf.i
Normal file
87
Lib/python/std_streambuf.i
Normal file
|
|
@ -0,0 +1,87 @@
|
||||||
|
%include <std_ios.i>
|
||||||
|
%{
|
||||||
|
#include <streambuf>
|
||||||
|
%}
|
||||||
|
|
||||||
|
namespace std {
|
||||||
|
|
||||||
|
template<typename _CharT, typename _Traits>
|
||||||
|
class basic_streambuf
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// Types:
|
||||||
|
typedef _CharT char_type;
|
||||||
|
typedef _Traits traits_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;
|
||||||
|
|
||||||
|
typedef basic_streambuf<char_type, traits_type> __streambuf_type;
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual
|
||||||
|
~basic_streambuf();
|
||||||
|
|
||||||
|
// Locales:
|
||||||
|
locale
|
||||||
|
pubimbue(const locale &__loc);
|
||||||
|
|
||||||
|
locale
|
||||||
|
getloc() const;
|
||||||
|
|
||||||
|
// Buffer and positioning:
|
||||||
|
__streambuf_type*
|
||||||
|
pubsetbuf(char_type* __s, streamsize __n);
|
||||||
|
|
||||||
|
pos_type
|
||||||
|
pubseekoff(off_type __off, ios_base::seekdir __way,
|
||||||
|
ios_base::openmode __mode = std::ios_base::in | std::ios_base::out);
|
||||||
|
|
||||||
|
pos_type
|
||||||
|
pubseekpos(pos_type __sp,
|
||||||
|
ios_base::openmode __mode = std::ios_base::in | std::ios_base::out);
|
||||||
|
|
||||||
|
int
|
||||||
|
pubsync() ;
|
||||||
|
|
||||||
|
// Get and put areas:
|
||||||
|
// Get area:
|
||||||
|
streamsize
|
||||||
|
in_avail();
|
||||||
|
|
||||||
|
int_type
|
||||||
|
snextc();
|
||||||
|
|
||||||
|
int_type
|
||||||
|
sbumpc();
|
||||||
|
|
||||||
|
int_type
|
||||||
|
sgetc();
|
||||||
|
|
||||||
|
streamsize
|
||||||
|
sgetn(char_type* __s, streamsize __n);
|
||||||
|
|
||||||
|
// Putback:
|
||||||
|
int_type
|
||||||
|
sputbackc(char_type __c);
|
||||||
|
|
||||||
|
int_type
|
||||||
|
sungetc();
|
||||||
|
|
||||||
|
// Put area:
|
||||||
|
int_type
|
||||||
|
sputc(char_type __c);
|
||||||
|
|
||||||
|
streamsize
|
||||||
|
sputn(const char_type* __s, streamsize __n);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
basic_streambuf();
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace std {
|
||||||
|
%template(streambuf) basic_streambuf<char, char_traits<char> >;
|
||||||
|
%template(wstreambuf) basic_streambuf<wchar_t, char_traits<wchar_t> >;
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue