blob: 7efb19c6c348d510ca4ca6529984c32ca0282333 [file] [log] [blame]
%include <std_ios.i>
%{
#ifndef SWIG_STD_NOMODERN_STL
#include <streambuf>
#else
#include <streambuf.h>
#endif
%}
namespace std {
template<typename _CharT, typename _Traits = char_traits<_CharT> >
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;
public:
virtual
~basic_streambuf();
// Locales:
locale
pubimbue(const locale &__loc);
locale
getloc() const;
// Buffer and positioning:
basic_streambuf<_CharT, _Traits>*
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();
private:
basic_streambuf(const basic_streambuf&);
};
}
namespace std {
%template(streambuf) basic_streambuf<char>;
#if defined(SWIG_WCHAR)
%template(wstreambuf) basic_streambuf<wchar_t>;
#endif
}