23 #if ! defined (octave_oct_stdstrm_h)
24 #define octave_oct_stdstrm_h 1
26 #include "octave-config.h"
31 template <
typename BUF_T,
typename STREAM_T,
typename FILE_T>
38 std::ios::openmode
m = std::ios::in | std::ios::out,
48 int seek (off_t offset,
int origin)
49 {
return s ?
s->seek (offset, origin) : -1; }
53 off_t
tell (
void) {
return s ?
s->tell () : -1; }
57 bool eof (
void)
const {
return s ?
s->eof () :
true; }
63 std::istream *
input_stream (
void) {
return (md & std::ios::in) ?
s : 0; }
69 {
return s ? (
const_cast<STREAM_T *
> (
s))->rdbuf () : 0; }
73 bool bad (
void)
const {
return s ?
s->bad () :
true; }
83 std::ios::openmode
md;
108 std::ios::openmode
m = std::ios::in | std::ios::out,
113 (n,
f,
f ? fileno (
f) : -1,
m, ff, cf) { }
117 std::ios::openmode
m = std::ios::in | std::ios::out,
138 #if defined (HAVE_ZLIB)
147 std::ios::openmode
m = std::ios::in | std::ios::out,
153 (n,
f, fid,
m, ff, cf) { }
157 std::ios::openmode
m = std::ios::in | std::ios::out,
static int file_close(gzFile f)
octave_zstdiostream(const std::string &n, gzFile f=0, int fid=0, std::ios::openmode m=std::ios::in|std::ios::out, octave::mach_info::float_format ff=octave::mach_info::native_float_format(), c_zfile_ptr_buf::close_fcn cf=c_zfile_ptr_buf::file_close)
std::string name(void) const
F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T F77_REAL F77_REAL &F77_RET_T F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE const F77_DBLE * f
int seek(off_t offset, int origin)
int file_number(void) const
std::istream * input_stream(void)
~octave_stdiostream(void)
~octave_tstdiostream(void)
octave_stdiostream(const std::string &n, FILE *f=0, std::ios::openmode m=std::ios::in|std::ios::out, octave::mach_info::float_format ff=octave::mach_info::native_float_format(), c_file_ptr_buf::close_fcn cf=c_file_ptr_buf::file_close)
static void close_fcn(FILE *f)
OCTAVE_EXPORT octave_value_list isdir nd deftypefn *std::string nm
nd deftypefn *octave_map m
std::ostream * output_stream(void)
~octave_zstdiostream(void)
static octave_stream create(const std::string &n, gzFile f=0, int fid=0, std::ios::openmode m=std::ios::in|std::ios::out, octave::mach_info::float_format ff=octave::mach_info::native_float_format(), c_zfile_ptr_buf::close_fcn cf=c_zfile_ptr_buf::file_close)
static int file_close(FILE *f)
octave_tstdiostream(const std::string &n, FILE_T f=0, int fid=0, std::ios::openmode m=std::ios::in|std::ios::out, octave::mach_info::float_format ff=octave::mach_info::native_float_format(), typename BUF_T::close_fcn cf=BUF_T::file_close)
static float_format native_float_format(void)
static octave_stream create(const std::string &n, FILE *f=0, std::ios::openmode m=std::ios::in|std::ios::out, octave::mach_info::float_format ff=octave::mach_info::native_float_format(), c_file_ptr_buf::close_fcn cf=c_file_ptr_buf::file_close)
BUF_T * rdbuf(void) const
If this string is the system will ring the terminal sometimes it is useful to be able to print the original representation of the string