GNU Octave
4.0.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
|
#include "oct-stream.h"
Public Member Functions | |
octave_stream (octave_base_stream *bs=0) | |
octave_stream (const octave_stream &) | |
~octave_stream (void) | |
void | clearerr (void) |
void | close (void) |
bool | eof (void) const |
std::string | error (bool clear, int &err_num) |
std::string | error (bool clear=false) |
void | error (const std::string &msg) |
void | error (const char *msg) |
int | file_number (void) |
oct_mach_info::float_format | float_format (void) const |
int | flush (void) |
std::string | getl (octave_idx_type max_len, bool &err, const std::string &who) |
std::string | getl (const octave_value &max_len, bool &err, const std::string &who) |
std::string | gets (octave_idx_type max_len, bool &err, const std::string &who) |
std::string | gets (const octave_value &max_len, bool &err, const std::string &who) |
std::istream * | input_stream (void) |
bool | is_open (void) const |
bool | is_valid (void) const |
int | mode (void) const |
std::string | name (void) const |
bool | ok (void) const |
operator bool () const | |
octave_stream & | operator= (const octave_stream &) |
octave_value_list | oscanf (const std::string &fmt, const std::string &who) |
octave_value_list | oscanf (const octave_value &fmt, const std::string &who) |
std::ostream * | output_stream (void) |
int | printf (const std::string &fmt, const octave_value_list &args, const std::string &who) |
int | printf (const octave_value &fmt, const octave_value_list &args, const std::string &who) |
int | puts (const std::string &s, const std::string &who) |
int | puts (const octave_value &s, const std::string &who) |
octave_value | read (const Array< double > &size, octave_idx_type block_size, oct_data_conv::data_type input_type, oct_data_conv::data_type output_type, octave_idx_type skip, oct_mach_info::float_format flt_fmt, octave_idx_type &count) |
int | rewind (void) |
octave_value | scanf (const std::string &fmt, const Array< double > &size, octave_idx_type &count, const std::string &who) |
octave_value | scanf (const octave_value &fmt, const Array< double > &size, octave_idx_type &count, const std::string &who) |
int | seek (off_t offset, int origin) |
int | seek (const octave_value &offset, const octave_value &origin) |
bool | skip_bytes (size_t n_elts) |
off_t | skipl (off_t count, bool &err, const std::string &who) |
off_t | skipl (const octave_value &count, bool &err, const std::string &who) |
off_t | tell (void) |
octave_idx_type | write (const octave_value &data, octave_idx_type block_size, oct_data_conv::data_type output_type, octave_idx_type skip, oct_mach_info::float_format flt_fmt) |
template<class T > | |
octave_idx_type | write (const Array< T > &data, octave_idx_type block_size, oct_data_conv::data_type output_type, octave_idx_type skip, oct_mach_info::float_format flt_fmt) |
bool | write_bytes (const void *data, size_t n_elts) |
Static Public Member Functions | |
static std::string | mode_as_string (int mode) |
Private Member Functions | |
octave_value | finalize_read (std::list< void * > &input_buf_list, octave_idx_type input_buf_elts, octave_idx_type elts_read, octave_idx_type nr, octave_idx_type nc, oct_data_conv::data_type input_type, oct_data_conv::data_type output_type, oct_mach_info::float_format ffmt) |
void | invalid_operation (const std::string &who, const char *rw) |
bool | stream_ok (bool clear=true) const |
Private Attributes | |
octave_base_stream * | rep |
Definition at line 506 of file oct-stream.h.
octave_stream::octave_stream | ( | octave_base_stream * | bs = 0 | ) |
Definition at line 2821 of file oct-stream.cc.
References octave_base_stream::count, and rep.
octave_stream::~octave_stream | ( | void | ) |
Definition at line 2828 of file oct-stream.cc.
References octave_base_stream::count, and rep.
octave_stream::octave_stream | ( | const octave_stream & | s | ) |
Definition at line 2834 of file oct-stream.cc.
References octave_base_stream::count, and rep.
|
inline |
Definition at line 635 of file oct-stream.h.
References octave_base_stream::clearerr(), and rep.
void octave_stream::close | ( | void | ) |
Definition at line 3154 of file oct-stream.cc.
References octave_base_stream::close(), rep, and stream_ok().
Referenced by octave_stream_list::do_clear(), and octave_stream_list::do_remove().
bool octave_stream::eof | ( | void | ) | const |
Definition at line 4034 of file oct-stream.cc.
References octave_base_stream::eof(), rep, and stream_ok().
Definition at line 4045 of file oct-stream.cc.
References octave_base_stream::error(), rep, and stream_ok().
Referenced by do_stream_open(), Fferror(), Ffopen(), Ffscanf(), Fsprintf(), Fsscanf(), getl(), gets(), oscanf(), printf(), puts(), read(), scanf(), seek(), skipl(), and write().
|
inline |
Definition at line 593 of file oct-stream.h.
References error().
|
inline |
Definition at line 601 of file oct-stream.h.
References octave_base_stream::error(), and rep.
|
inline |
|
inline |
Definition at line 609 of file oct-stream.h.
References octave_base_stream::file_number(), and rep.
Referenced by octave_stream_list::do_insert(), Fdup2(), and Ffcntl().
|
private |
Definition at line 3262 of file oct-stream.cc.
References oct_data_conv::dt_char, oct_data_conv::dt_double, oct_data_conv::dt_int16, oct_data_conv::dt_int32, oct_data_conv::dt_int64, oct_data_conv::dt_int8, oct_data_conv::dt_logical, oct_data_conv::dt_schar, oct_data_conv::dt_single, oct_data_conv::dt_uchar, oct_data_conv::dt_uint16, oct_data_conv::dt_uint32, oct_data_conv::dt_uint64, oct_data_conv::dt_uint8, oct_data_conv::dt_unknown, FILL_TABLE_ROW, float_format(), oct_mach_info::flt_fmt_ieee_big_endian, oct_mach_info::flt_fmt_ieee_little_endian, oct_mach_info::flt_fmt_unknown, and oct_mach_info::words_big_endian().
Referenced by read().
oct_mach_info::float_format octave_stream::float_format | ( | void | ) | const |
Definition at line 4078 of file oct-stream.cc.
References octave_base_stream::float_format(), oct_mach_info::flt_fmt_unknown, rep, and stream_ok().
Referenced by octave_stream_list::do_get_info(), octave_stream_list::do_list_open_files(), finalize_read(), and write().
int octave_stream::flush | ( | void | ) |
Definition at line 2859 of file oct-stream.cc.
References octave_base_stream::flush(), rep, and stream_ok().
Referenced by Frpl_fflush().
std::string octave_stream::getl | ( | octave_idx_type | max_len, |
bool & | err, | ||
const std::string & | who | ||
) |
Definition at line 2870 of file oct-stream.cc.
References octave_base_stream::getl(), rep, and stream_ok().
std::string octave_stream::getl | ( | const octave_value & | max_len, |
bool & | err, | ||
const std::string & | who | ||
) |
Definition at line 2881 of file oct-stream.cc.
References convert_to_valid_int(), error(), error_state, getl(), and octave_value::is_defined().
std::string octave_stream::gets | ( | octave_idx_type | max_len, |
bool & | err, | ||
const std::string & | who | ||
) |
Definition at line 2910 of file oct-stream.cc.
References octave_base_stream::gets(), rep, and stream_ok().
std::string octave_stream::gets | ( | const octave_value & | max_len, |
bool & | err, | ||
const std::string & | who | ||
) |
Definition at line 2921 of file oct-stream.cc.
References convert_to_valid_int(), error(), error_state, gets(), and octave_value::is_defined().
|
inline |
Definition at line 625 of file oct-stream.h.
References octave_base_stream::input_stream(), and rep.
Referenced by Fdlmread(), and read().
|
inlineprivate |
Definition at line 657 of file oct-stream.h.
References octave_base_stream::invalid_operation().
bool octave_stream::is_open | ( | void | ) | const |
Definition at line 3143 of file oct-stream.cc.
References octave_base_stream::is_open(), rep, and stream_ok().
Referenced by octave_base_stream::close().
|
inline |
Definition at line 611 of file oct-stream.h.
References rep.
Referenced by octave_stream_list::do_clear(), octave_stream_list::do_get_info(), octave_stream_list::do_remove(), Fsprintf(), and Fsscanf().
int octave_stream::mode | ( | void | ) | const |
Definition at line 4067 of file oct-stream.cc.
References octave_base_stream::mode(), rep, and stream_ok().
Referenced by octave_stream_list::do_get_info(), octave_stream_list::do_list_open_files(), and mode_as_string().
|
static |
Definition at line 4089 of file oct-stream.cc.
References mode().
Referenced by octave_stream_list::do_get_info(), and octave_stream_list::do_list_open_files().
std::string octave_stream::name | ( | void | ) | const |
Definition at line 4056 of file oct-stream.cc.
References octave_base_stream::name(), rep, and stream_ok().
Referenced by octave_stream_list::do_get_file_number(), octave_stream_list::do_get_info(), octave_stream_list::do_list_open_files(), and octave_base_stream::file_number().
|
inline |
Definition at line 613 of file oct-stream.h.
References octave_base_stream::ok(), and rep.
Referenced by operator bool().
|
inline |
Definition at line 615 of file oct-stream.h.
References ok().
octave_stream & octave_stream::operator= | ( | const octave_stream & | s | ) |
Definition at line 2842 of file oct-stream.cc.
References octave_base_stream::count, and rep.
octave_value_list octave_stream::oscanf | ( | const std::string & | fmt, |
const std::string & | who | ||
) |
Definition at line 3929 of file oct-stream.cc.
References octave_base_stream::oscanf(), rep, and stream_ok().
octave_value_list octave_stream::oscanf | ( | const octave_value & | fmt, |
const std::string & | who | ||
) |
Definition at line 3940 of file oct-stream.cc.
References do_string_escapes(), error(), octave_value::is_sq_string(), octave_value::is_string(), oscanf(), and octave_value::string_value().
|
inline |
Definition at line 630 of file oct-stream.h.
References octave_base_stream::output_stream(), and rep.
Referenced by Ffdisp(), skip_bytes(), and write_bytes().
int octave_stream::printf | ( | const std::string & | fmt, |
const octave_value_list & | args, | ||
const std::string & | who | ||
) |
Definition at line 3964 of file oct-stream.cc.
References octave_base_stream::printf(), rep, and stream_ok().
Referenced by Ffprintf(), Fprintf(), Fsprintf(), and printf().
int octave_stream::printf | ( | const octave_value & | fmt, |
const octave_value_list & | args, | ||
const std::string & | who | ||
) |
Definition at line 3976 of file oct-stream.cc.
References do_string_escapes(), error(), octave_value::is_sq_string(), octave_value::is_string(), printf(), and octave_value::string_value().
int octave_stream::puts | ( | const std::string & | s, |
const std::string & | who | ||
) |
Definition at line 4001 of file oct-stream.cc.
References octave_base_stream::puts(), rep, and stream_ok().
int octave_stream::puts | ( | const octave_value & | s, |
const std::string & | who | ||
) |
Definition at line 4014 of file oct-stream.cc.
References error(), octave_value::is_string(), puts(), and octave_value::string_value().
octave_value octave_stream::read | ( | const Array< double > & | size, |
octave_idx_type | block_size, | ||
oct_data_conv::data_type | input_type, | ||
oct_data_conv::data_type | output_type, | ||
octave_idx_type | skip, | ||
oct_mach_info::float_format | flt_fmt, | ||
octave_idx_type & | count | ||
) |
Definition at line 3354 of file oct-stream.cc.
References oct_data_conv::data_type_size(), error(), error_state, finalize_read(), get_size(), input_stream(), invalid_operation(), seek(), SEEK_CUR, SEEK_END, SEEK_SET, stream_ok(), and tell().
Referenced by do_fread().
int octave_stream::rewind | ( | void | ) |
Definition at line 3137 of file oct-stream.cc.
References seek(), and SEEK_SET.
Referenced by Ffrewind().
octave_value octave_stream::scanf | ( | const std::string & | fmt, |
const Array< double > & | size, | ||
octave_idx_type & | count, | ||
const std::string & | who | ||
) |
Definition at line 3892 of file oct-stream.cc.
References rep, octave_base_stream::scanf(), and stream_ok().
octave_value octave_stream::scanf | ( | const octave_value & | fmt, |
const Array< double > & | size, | ||
octave_idx_type & | count, | ||
const std::string & | who | ||
) |
Definition at line 3904 of file oct-stream.cc.
References do_string_escapes(), error(), octave_value::is_sq_string(), octave_value::is_string(), scanf(), and octave_value::string_value().
Definition at line 2995 of file oct-stream.cc.
References clearerr(), rep, octave_base_stream::seek(), SEEK_CUR, SEEK_END, SEEK_SET, stream_ok(), and octave_base_stream::tell().
Referenced by Frpl_fseek(), read(), rewind(), seek(), and skip_bytes().
int octave_stream::seek | ( | const octave_value & | offset, |
const octave_value & | origin | ||
) |
Definition at line 3064 of file oct-stream.cc.
References convert_to_valid_int(), error(), error_state, octave_value::int64_scalar_value(), octave_value::is_string(), seek(), SEEK_CUR, SEEK_END, SEEK_SET, octave_value::string_value(), and octave_int< T >::value().
Definition at line 3748 of file oct-stream.cc.
References output_stream(), seek(), SEEK_CUR, SEEK_END, SEEK_SET, and tell().
Referenced by write().
off_t octave_stream::skipl | ( | off_t | count, |
bool & | err, | ||
const std::string & | who | ||
) |
Definition at line 2950 of file oct-stream.cc.
References rep, octave_base_stream::skipl(), and stream_ok().
off_t octave_stream::skipl | ( | const octave_value & | count, |
bool & | err, | ||
const std::string & | who | ||
) |
Definition at line 2961 of file oct-stream.cc.
References convert_to_valid_int(), error(), error_state, octave_value::is_defined(), octave_value::is_scalar_type(), octave_value::scalar_value(), skipl(), and xisinf().
off_t octave_stream::tell | ( | void | ) |
Definition at line 3126 of file oct-stream.cc.
References rep, stream_ok(), and octave_base_stream::tell().
Referenced by Fftell(), Fsscanf(), read(), and skip_bytes().
octave_idx_type octave_stream::write | ( | const octave_value & | data, |
octave_idx_type | block_size, | ||
oct_data_conv::data_type | output_type, | ||
octave_idx_type | skip, | ||
oct_mach_info::float_format | flt_fmt | ||
) |
Definition at line 3546 of file oct-stream.cc.
References error(), error_state, float_format(), oct_mach_info::flt_fmt_unknown, invalid_operation(), stream_ok(), and octave_value::write().
Referenced by do_fwrite(), octave_float_complex_matrix::write(), octave_char_matrix_str::write(), octave_complex_matrix::write(), octave_float_complex::write(), octave_complex::write(), octave_float_matrix::write(), octave_bool_matrix::write(), octave_matrix::write(), octave_bool::write(), octave_scalar::write(), octave_float_scalar::write(), octave_range::write(), OCTAVE_VALUE_INT_MATRIX_T::write(), and OCTAVE_VALUE_INT_SCALAR_T::write().
octave_idx_type octave_stream::write | ( | const Array< T > & | data, |
octave_idx_type | block_size, | ||
oct_data_conv::data_type | output_type, | ||
octave_idx_type | skip, | ||
oct_mach_info::float_format | flt_fmt | ||
) |
Definition at line 3795 of file oct-stream.cc.
References convert_data(), Array< T >::data(), oct_data_conv::data_type_size(), oct_mach_info::flt_fmt_ieee_big_endian, oct_mach_info::flt_fmt_ieee_little_endian, Array< T >::numel(), OCTAVE_LOCAL_BUFFER, skip_bytes(), oct_mach_info::words_big_endian(), and write_bytes().
|
private |
Definition at line 640 of file oct-stream.h.
Referenced by clearerr(), close(), eof(), error(), file_number(), float_format(), flush(), getl(), gets(), input_stream(), is_open(), is_valid(), mode(), name(), octave_stream(), ok(), operator=(), oscanf(), output_stream(), printf(), puts(), scanf(), seek(), skipl(), tell(), and ~octave_stream().