GNU Octave
3.8.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 502 of file oct-stream.h.
octave_stream::octave_stream | ( | octave_base_stream * | bs = 0 | ) |
Definition at line 2630 of file oct-stream.cc.
References octave_base_stream::count, and rep.
octave_stream::~octave_stream | ( | void | ) |
Definition at line 2637 of file oct-stream.cc.
References octave_base_stream::count, and rep.
octave_stream::octave_stream | ( | const octave_stream & | s | ) |
Definition at line 2643 of file oct-stream.cc.
References octave_base_stream::count, and rep.
Definition at line 631 of file oct-stream.h.
References octave_base_stream::clearerr(), and rep.
Definition at line 2963 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().
Definition at line 3756 of file oct-stream.cc.
References octave_base_stream::eof(), rep, and stream_ok().
Definition at line 3767 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 589 of file oct-stream.h.
References error().
|
inline |
Definition at line 597 of file oct-stream.h.
References octave_base_stream::error(), and rep.
Definition at line 605 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 3071 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, initialized, and oct_mach_info::words_big_endian().
Referenced by read().
oct_mach_info::float_format octave_stream::float_format | ( | void | ) | const |
Definition at line 3800 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().
Definition at line 2668 of file oct-stream.cc.
References octave_base_stream::flush(), rep, and stream_ok().
Referenced by Ffflush().
std::string octave_stream::getl | ( | octave_idx_type | max_len, |
bool & | err, | ||
const std::string & | who | ||
) |
Definition at line 2679 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 2690 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 2719 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 2730 of file oct-stream.cc.
References convert_to_valid_int(), error(), error_state, gets(), and octave_value::is_defined().
|
inline |
Definition at line 621 of file oct-stream.h.
References octave_base_stream::input_stream(), and rep.
Referenced by Fdlmread(), and read().
Definition at line 653 of file oct-stream.h.
References octave_base_stream::invalid_operation().
Definition at line 2952 of file oct-stream.cc.
References octave_base_stream::is_open(), rep, and stream_ok().
Referenced by octave_base_stream::close().
Definition at line 607 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().
Definition at line 3789 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 3811 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 3778 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().
Definition at line 609 of file oct-stream.h.
References octave_base_stream::ok(), and rep.
Referenced by operator bool().
|
inline |
Definition at line 611 of file oct-stream.h.
References ok().
octave_stream & octave_stream::operator= | ( | const octave_stream & | s | ) |
Definition at line 2651 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 3651 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 3662 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 626 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 3686 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 3698 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 3723 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 3736 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 3163 of file oct-stream.cc.
References oct_data_conv::data_type_size(), error(), error_state, finalize_read(), get_size(), input_stream(), invalid_operation(), max(), seek(), SEEK_CUR, and stream_ok().
Referenced by do_fread().
Definition at line 2946 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 3614 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 3626 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 2804 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 Ffseek(), read(), rewind(), seek(), and skip_bytes().
int octave_stream::seek | ( | const octave_value & | offset, |
const octave_value & | origin | ||
) |
Definition at line 2873 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 3470 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 2759 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 2770 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 2935 of file oct-stream.cc.
References rep, stream_ok(), and octave_base_stream::tell().
Referenced by Fftell(), Fsscanf(), 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 3305 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 3517 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 636 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().