26#if ! defined (octave_oct_strstrm_h)
27#define octave_oct_strstrm_h 1
29#include "octave-config.h"
43 mach_info::float_format ff
44 = mach_info::native_float_format (),
45 const std::string& encoding =
"utf-8")
58 int seek (off_t,
int);
62 virtual off_t tell ();
66 std::string
name ()
const {
return ""; }
68 virtual std::streambuf *
rdbuf () = 0;
70 virtual bool bad ()
const = 0;
80 std::ios::openmode arg_md = std::ios::out,
81 mach_info::float_format ff = mach_info::native_float_format (),
82 const std::string&
encoding =
"utf-8")
86 std::ios::openmode arg_md = std::ios::out,
87 mach_info::float_format ff = mach_info::native_float_format (),
88 const std::string&
encoding =
"utf-8")
91 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (
istrstream)
101 create (
const char *data, std::ios::openmode arg_md = std::ios::out,
102 mach_info::float_format ff = mach_info::native_float_format (),
103 const std::string&
encoding =
"utf-8");
106 create (
const std::string& data, std::ios::openmode arg_md = std::ios::out,
107 mach_info::float_format ff = mach_info::native_float_format (),
108 const std::string&
encoding =
"utf-8");
112 bool eof ()
const {
return m_istream.eof (); }
118 off_t
tell () {
return m_istream.tellg (); }
122 return m_istream ? m_istream.rdbuf () :
nullptr;
125 bool bad ()
const {
return m_istream.bad (); }
127 void clear () { m_istream.clear (); }
131 std::istringstream m_istream;
139 mach_info::float_format ff = mach_info::native_float_format (),
140 const std::string&
encoding =
"utf-8")
152 create (std::ios::openmode arg_md = std::ios::out,
153 mach_info::float_format ff = mach_info::native_float_format (),
154 const std::string&
encoding =
"utf-8");
158 bool eof ()
const {
return m_ostream.eof (); }
164 std::string
str () {
return m_ostream.str (); }
168 return m_ostream ? m_ostream.rdbuf () :
nullptr;
171 bool bad ()
const {
return m_ostream.bad (); }
173 void clear () { m_ostream.clear (); }
177 std::ostringstream m_ostream;
180OCTAVE_END_NAMESPACE(octave)
std::string encoding() const
base_strstream(std::ios::openmode m=std::ios::out, mach_info::float_format ff=mach_info::native_float_format(), const std::string &encoding="utf-8")
virtual bool bad() const =0
virtual std::streambuf * rdbuf()=0
~base_strstream()=default
istrstream(const char *data, std::ios::openmode arg_md=std::ios::out, mach_info::float_format ff=mach_info::native_float_format(), const std::string &encoding="utf-8")
static stream create(const char *data, std::ios::openmode arg_md=std::ios::out, mach_info::float_format ff=mach_info::native_float_format(), const std::string &encoding="utf-8")
std::ostream * output_stream()
std::istream * input_stream()
istrstream(const std::string &data, std::ios::openmode arg_md=std::ios::out, mach_info::float_format ff=mach_info::native_float_format(), const std::string &encoding="utf-8")
ostrstream(std::ios::openmode arg_md=std::ios::out, mach_info::float_format ff=mach_info::native_float_format(), const std::string &encoding="utf-8")
static stream create(std::ios::openmode arg_md=std::ios::out, mach_info::float_format ff=mach_info::native_float_format(), const std::string &encoding="utf-8")
std::istream * input_stream()
std::ostream * output_stream()
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn