#include "oct-stream.h"
Public Member Functions | |
base_stream (const base_stream &)=delete | |
base_stream (std::ios::openmode arg_md=std::ios::in|std::ios::out, mach_info::float_format ff=mach_info::native_float_format(), const std::string &encoding="utf-8") | |
virtual | ~base_stream (void)=default |
void | close (void) |
virtual void | do_close (void) |
virtual bool | eof (void) const =0 |
std::string | error (bool clear, int &err_num) |
virtual int | file_number (void) const |
virtual std::istream * | input_stream (void) |
bool | is_open (void) const |
virtual std::string | name (void) const =0 |
bool | ok (void) const |
base_stream & | operator= (const base_stream &)=delete |
virtual std::ostream * | output_stream (void) |
virtual int | seek (off_t offset, int origin)=0 |
virtual off_t | tell (void)=0 |
Protected Member Functions | |
void | clear (void) |
void | clearerr (void) |
std::string | encoding (void) const |
void | error (const std::string &msg) |
void | error (const std::string &who, const std::string &msg) |
mach_info::float_format | float_format (void) const |
int | mode (void) const |
Private Member Functions | |
std::string | do_gets (octave_idx_type max_len, bool &err, bool strip_newline, const std::string &who) |
int | do_numeric_printf_conv (std::ostream &os, const printf_format_elt *elt, int nsa, int sa_1, int sa_2, const octave_value &val, const std::string &who) |
bool | do_oscanf (const scanf_format_elt *elt, octave_value &, const std::string &who) |
int | do_printf (printf_format_list &fmt_list, const octave_value_list &args, const std::string &who) |
octave_value | do_scanf (scanf_format_list &fmt_list, octave_idx_type nr, octave_idx_type nc, bool one_elt_size_spec, octave_idx_type &count, const std::string &who) |
octave_value | do_textscan (const std::string &fmt, octave_idx_type ntimes, const octave_value_list &options, const std::string &who, octave_idx_type &count) |
void | field_width_error (const std::string &who) const |
int | flush (void) |
std::string | getl (octave_idx_type max_len, bool &err, const std::string &who) |
std::string | gets (octave_idx_type max_len, bool &err, const std::string &who) |
void | invalid_operation (const std::string &who, const char *rw) |
octave_value_list | oscanf (const std::string &fmt, const std::string &who) |
int | printf (const std::string &fmt, const octave_value_list &args, const std::string &who) |
int | puts (const std::string &s, const std::string &who) |
octave_value | scanf (const std::string &fmt, const Array< double > &size, octave_idx_type &count, const std::string &who) |
off_t | skipl (off_t count, bool &err, const std::string &who) |
Private Attributes | |
std::string | m_encoding |
std::string | m_errmsg |
bool | m_fail |
mach_info::float_format | m_flt_fmt |
int | m_mode |
bool | m_open_state |
Friends | |
class | stream |
Definition at line 64 of file oct-stream.h.
|
inline |
Definition at line 72 of file oct-stream.h.
|
delete |
|
virtualdefault |
|
protected |
Definition at line 4002 of file oct-stream.cc.
References m_errmsg, and m_fail.
Referenced by error().
|
protected |
Definition at line 4009 of file oct-stream.cc.
References input_stream(), and output_stream().
|
inline |
Definition at line 124 of file oct-stream.h.
|
inlinevirtual |
Reimplemented in octave_tstdiostream< BUF_T, STREAM_T, FILE_T >, octave_tstdiostream< c_file_ptr_buf, io_c_file_ptr_stream, FILE * >, octave_tstdiostream< c_zfile_ptr_buf, io_c_zfile_ptr_stream, gzFile >, and octave_fstream.
Definition at line 122 of file oct-stream.h.
|
private |
Definition at line 4025 of file oct-stream.cc.
References octave::__get_interpreter__(), encoding(), error(), file_number(), input_stream(), octave::interpreter::interactive(), invalid_operation(), retval, and octave::string::u8_from_encoding().
Referenced by do_oscanf(), do_scanf(), getl(), and gets().
|
private |
Definition at line 5746 of file oct-stream.cc.
References octave::do_printf_conv(), octave_value::double_value(), encoding(), error(), octave::printf_format_elt::flags, octave_value::int64_scalar_value(), octave::is_nan_or_inf(), lo_ieee_is_NA, lo_ieee_isinf, octave::ok_for_signed_int_conv(), octave::ok_for_unsigned_int_conv(), octave::printf_format_elt::prec, retval, octave::switch_to_g_format(), octave::printf_format_elt::text, octave::printf_format_elt::type, octave_value::uint64_scalar_value(), and octave_int< T >::value().
Referenced by do_printf().
|
private |
Definition at line 5076 of file oct-stream.cc.
References octave::__get_interpreter__(), BEGIN_C_CONVERSION, BEGIN_CHAR_CLASS_CONVERSION, BEGIN_S_CONVERSION, octave::scanf_format_elt::discard, do_gets(), DO_LITERAL_CONVERSION, DO_PCT_CONVERSION, DO_WHITESPACE_CONVERSION, error(), octave::application::forced_interactive(), input_stream(), octave::interpreter::interactive(), octave::scanf_format_elt::literal_conversion, octave::scanf_format_elt::modifier, name(), octave::octave_scan(), ok(), retval, octave::scanf_format_elt::text, octave::scanf_format_elt::type, and octave::scanf_format_elt::whitespace_conversion.
Referenced by oscanf().
|
private |
Definition at line 5873 of file oct-stream.cc.
References octave::printf_format_elt::args, do_numeric_printf_conv(), octave::do_printf_string(), encoding(), error(), octave::printf_value_cache::exhausted(), field_width_error(), octave::printf_format_list::first(), octave::printf_format_elt::fw, octave::printf_value_cache::get_next_value(), octave::printf_value_cache::int_value(), invalid_operation(), octave_value::is_string(), octave_value::isempty(), octave::printf_format_list::next(), octave::printf_format_list::num_conversions(), output_stream(), octave::printf_format_elt::prec, retval, octave_value::string_value(), octave::printf_format_elt::text, octave::printf_format_elt::type, and octave::string::u8_to_encoding().
Referenced by printf().
|
private |
Definition at line 4644 of file oct-stream.cc.
References octave::__get_interpreter__(), octave::scanf_format_list::all_character_conversions(), BEGIN_C_CONVERSION, BEGIN_CHAR_CLASS_CONVERSION, BEGIN_S_CONVERSION, octave::scanf_format_elt::discard, do_gets(), DO_LITERAL_CONVERSION, DO_PCT_CONVERSION, octave::do_scanf_conv(), DO_WHITESPACE_CONVERSION, error(), file_number(), FINISH_CHARACTER_CONVERSION, octave::scanf_format_list::first(), octave::application::forced_interactive(), Array< T >::fortran_vec(), input_stream(), octave::interpreter::interactive(), octave::scanf_format_list::length(), octave::scanf_format_elt::literal_conversion, octave::scanf_format_elt::modifier, name(), octave::scanf_format_list::next(), octave::scanf_format_elt::null, octave::scanf_format_list::num_conversions(), ok(), panic_impossible, Matrix::resize(), retval, octave::scanf_format_elt::text, octave::scanf_format_elt::type, and octave::scanf_format_elt::whitespace_conversion.
Referenced by scanf().
|
private |
Definition at line 5366 of file oct-stream.cc.
References octave::__get_interpreter__(), encoding(), error(), file_number(), input_stream(), octave::interpreter::interactive(), invalid_operation(), retval, and scanner.
|
inlineprotected |
Definition at line 159 of file oct-stream.h.
Referenced by octave_istrstream::create(), octave_iprocstream::create(), octave_oprocstream::create(), octave_ostrstream::create(), do_gets(), do_numeric_printf_conv(), do_printf(), and do_textscan().
|
pure virtual |
Implemented in octave_ostrstream, octave_istrstream, octave_tstdiostream< BUF_T, STREAM_T, FILE_T >, octave_tstdiostream< c_file_ptr_buf, io_c_file_ptr_stream, FILE * >, octave_tstdiostream< c_zfile_ptr_buf, io_c_zfile_ptr_stream, gzFile >, octave_ostream, octave_istream, octave_base_iostream, and octave_fstream.
std::string octave::base_stream::error | ( | bool | clear, |
int & | err_num | ||
) |
Definition at line 6050 of file oct-stream.cc.
References clear(), m_errmsg, and m_fail.
Referenced by octave_fstream::octave_fstream(), do_gets(), do_numeric_printf_conv(), do_oscanf(), do_printf(), do_scanf(), do_textscan(), field_width_error(), invalid_operation(), octave_base_iostream::invalid_operation(), oscanf(), printf(), puts(), scanf(), octave_fstream::seek(), octave_base_strstream::seek(), skipl(), octave_fstream::tell(), and octave_base_strstream::tell().
|
protected |
Definition at line 3988 of file oct-stream.cc.
|
protected |
Definition at line 3995 of file oct-stream.cc.
|
private |
|
inlinevirtual |
Reimplemented in octave_tstdiostream< BUF_T, STREAM_T, FILE_T >, octave_tstdiostream< c_file_ptr_buf, io_c_file_ptr_stream, FILE * >, and octave_tstdiostream< c_zfile_ptr_buf, io_c_zfile_ptr_stream, gzFile >.
Definition at line 133 of file oct-stream.h.
References name.
Referenced by do_gets(), do_scanf(), do_textscan(), and skipl().
|
inlineprotected |
Definition at line 157 of file oct-stream.h.
|
private |
Definition at line 5398 of file oct-stream.cc.
References invalid_operation(), output_stream(), and retval.
|
private |
Definition at line 4129 of file oct-stream.cc.
References do_gets().
|
private |
Definition at line 4136 of file oct-stream.cc.
References do_gets().
|
inlinevirtual |
Reimplemented in octave_ostrstream, octave_istrstream, octave_tstdiostream< BUF_T, STREAM_T, FILE_T >, octave_tstdiostream< c_file_ptr_buf, io_c_file_ptr_stream, FILE * >, octave_tstdiostream< c_zfile_ptr_buf, io_c_zfile_ptr_stream, gzFile >, octave_ostream, octave_istream, and octave_fstream.
Definition at line 110 of file oct-stream.h.
Referenced by clearerr(), do_gets(), do_oscanf(), do_scanf(), do_textscan(), oscanf(), scanf(), and skipl().
|
private |
Definition at line 6063 of file oct-stream.cc.
References error().
Referenced by do_gets(), do_printf(), do_textscan(), flush(), oscanf(), puts(), scanf(), and skipl().
|
inline |
Definition at line 120 of file oct-stream.h.
|
inlineprotected |
Definition at line 155 of file oct-stream.h.
Referenced by octave_fstream::input_stream(), and octave_fstream::output_stream().
|
pure virtual |
Implemented in octave_base_strstream, octave_tstdiostream< BUF_T, STREAM_T, FILE_T >, octave_tstdiostream< c_file_ptr_buf, io_c_file_ptr_stream, FILE * >, octave_tstdiostream< c_zfile_ptr_buf, io_c_zfile_ptr_stream, gzFile >, octave_base_iostream, and octave_fstream.
Referenced by do_oscanf(), and do_scanf().
|
inline |
Definition at line 147 of file oct-stream.h.
Referenced by do_oscanf(), do_scanf(), and oscanf().
|
delete |
|
private |
Definition at line 5292 of file oct-stream.cc.
References do_oscanf(), error(), octave::scanf_format_list::first(), input_stream(), invalid_operation(), octave_value::is_defined(), len, octave::scanf_format_list::length(), octave::scanf_format_list::next(), octave::scanf_format_list::num_conversions(), ok(), Array< T >::resize(), and retval.
|
inlinevirtual |
Reimplemented in octave_ostrstream, octave_istrstream, octave_tstdiostream< BUF_T, STREAM_T, FILE_T >, octave_tstdiostream< c_file_ptr_buf, io_c_file_ptr_stream, FILE * >, octave_tstdiostream< c_zfile_ptr_buf, io_c_zfile_ptr_stream, gzFile >, octave_ostream, octave_istream, and octave_fstream.
Definition at line 116 of file oct-stream.h.
Referenced by clearerr(), do_printf(), flush(), and puts().
|
private |
Definition at line 5998 of file oct-stream.cc.
References do_printf(), error(), and octave::printf_format_list::num_conversions().
|
private |
Definition at line 6011 of file oct-stream.cc.
References error(), invalid_operation(), output_stream(), and retval.
|
private |
Definition at line 5042 of file oct-stream.cc.
References do_scanf(), error(), octave::get_size(), input_stream(), invalid_operation(), octave::scanf_format_list::num_conversions(), and retval.
|
pure virtual |
|
private |
Definition at line 4143 of file oct-stream.cc.
References octave::__get_interpreter__(), error(), file_number(), input_stream(), octave::interpreter::interactive(), and invalid_operation().
|
pure virtual |
|
friend |
Definition at line 68 of file oct-stream.h.
|
private |
Definition at line 184 of file oct-stream.h.
|
private |
Definition at line 193 of file oct-stream.h.
|
private |
Definition at line 187 of file oct-stream.h.
|
private |
Definition at line 181 of file oct-stream.h.
|
private |
Definition at line 178 of file oct-stream.h.
|
private |
Definition at line 190 of file oct-stream.h.