GNU Octave  8.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
istrstream Class Reference

#include "oct-strstrm.h"

Inheritance diagram for istrstream:
Collaboration diagram for istrstream:

Public Member Functions

 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")
 
 istrstream (const istrstream &)=delete
 
 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")
 
bool bad (void) const
 
void clear (void)
 
void close (void)
 
virtual void do_close (void)
 
bool eof (void) const
 
std::string error (bool clear, int &err_num)
 
virtual int file_number (void) const
 
std::istream * input_stream (void)
 
bool is_open (void) const
 
std::string name (void) const
 
bool ok (void) const
 
istrstreamoperator= (const istrstream &)=delete
 
std::ostream * output_stream (void)
 
std::ostream * preferred_output_stream (void)
 
std::streambuf * rdbuf (void)
 
int seek (off_t, int)
 
off_t tell (void)
 

Static Public Member Functions

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")
 
static stream create (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")
 

Protected Member Functions

 ~istrstream (void)=default
 
OCTINTERP_API void clearerr (void)
 
std::string encoding (void) const
 
OCTINTERP_API void error (const std::string &msg)
 
OCTINTERP_API void error (const std::string &who, const std::string &msg)
 
mach_info::float_format float_format (void) const
 
int mode (void) const
 

Private Types

typedef string::deletable_facet< string::codecvt_u8 > convfacet_u8
 

Private Member Functions

OCTINTERP_API std::string do_gets (octave_idx_type max_len, bool &err, bool strip_newline, const std::string &who)
 
OCTINTERP_API 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)
 
OCTINTERP_API bool do_oscanf (const scanf_format_elt *elt, octave_value &, const std::string &who)
 
OCTINTERP_API int do_printf (printf_format_list &fmt_list, const octave_value_list &args, const std::string &who)
 
OCTINTERP_API 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)
 
OCTINTERP_API 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)
 
OCTINTERP_API void field_width_error (const std::string &who) const
 
OCTINTERP_API int flush (void)
 
OCTINTERP_API std::string getl (octave_idx_type max_len, bool &err, const std::string &who)
 
OCTINTERP_API std::string gets (octave_idx_type max_len, bool &err, const std::string &who)
 
OCTINTERP_API void invalid_operation (const std::string &who, const char *rw)
 
OCTINTERP_API octave_value_list oscanf (const std::string &fmt, const std::string &who)
 
OCTINTERP_API int printf (const std::string &fmt, const octave_value_list &args, const std::string &who)
 
OCTINTERP_API int puts (const std::string &s, const std::string &who)
 
OCTINTERP_API octave_value scanf (const std::string &fmt, const Array< double > &size, octave_idx_type &count, const std::string &who)
 
OCTINTERP_API off_t skipl (off_t count, bool &err, const std::string &who)
 

Private Attributes

std::ostream * m_conv_ostream
 
std::string m_encoding
 
std::string m_errmsg
 
bool m_fail
 
mach_info::float_format m_flt_fmt
 
std::istringstream m_istream
 
int m_mode
 
bool m_open_state
 

Detailed Description

Definition at line 80 of file oct-strstrm.h.

Member Typedef Documentation

◆ convfacet_u8

typedef string::deletable_facet<string::codecvt_u8> base_stream::convfacet_u8
privateinherited

Definition at line 215 of file oct-stream.h.

Constructor & Destructor Documentation

◆ istrstream() [1/3]

istrstream::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" 
)
inline

Definition at line 85 of file oct-strstrm.h.

◆ istrstream() [2/3]

istrstream::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" 
)
inline

Definition at line 91 of file oct-strstrm.h.

◆ istrstream() [3/3]

istrstream::istrstream ( const istrstream )
delete

◆ ~istrstream()

istrstream::~istrstream ( void  )
protecteddefault

Member Function Documentation

◆ bad()

bool istrstream::bad ( void  ) const
inlinevirtual

Implements base_strstream.

Definition at line 135 of file oct-strstrm.h.

◆ clear()

void istrstream::clear ( void  )
inlinevirtual

Implements base_strstream.

Definition at line 137 of file oct-strstrm.h.

◆ clearerr()

void base_stream::clearerr ( void  )
protectedinherited

◆ close()

void base_stream::close ( void  )
inlineinherited

Definition at line 152 of file oct-stream.h.

References stream::is_open().

◆ create() [1/2]

stream istrstream::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" 
)
static

Definition at line 57 of file oct-strstrm.cc.

References base_stream::encoding(), and base_stream::stream.

Referenced by Fsscanf(), and textscan_internal().

◆ create() [2/2]

stream istrstream::create ( 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" 
)
static

Definition at line 65 of file oct-strstrm.cc.

References base_stream::encoding(), and base_stream::stream.

◆ do_close()

virtual void base_stream::do_close ( void  )
inlinevirtualinherited

◆ do_gets()

◆ do_numeric_printf_conv()

◆ do_oscanf()

◆ do_printf()

◆ do_scanf()

◆ do_textscan()

octave_value base_stream::do_textscan ( const std::string &  fmt,
octave_idx_type  ntimes,
const octave_value_list options,
const std::string &  who,
octave_idx_type count 
)
privateinherited

◆ encoding()

std::string base_stream::encoding ( void  ) const
inlineprotectedinherited

◆ eof()

bool istrstream::eof ( void  ) const
inlinevirtual

Implements base_stream.

Definition at line 122 of file oct-strstrm.h.

◆ error() [1/3]

◆ error() [2/3]

void base_stream::error ( const std::string &  msg)
protectedinherited

Definition at line 4073 of file oct-stream.cc.

References base_stream::m_errmsg, and base_stream::m_fail.

◆ error() [3/3]

void base_stream::error ( const std::string &  who,
const std::string &  msg 
)
protectedinherited

◆ field_width_error()

void base_stream::field_width_error ( const std::string &  who) const
privateinherited

Definition at line 5936 of file oct-stream.cc.

References base_stream::error(), and textscan_format_list::who.

Referenced by base_stream::do_printf().

◆ file_number()

◆ float_format()

mach_info::float_format base_stream::float_format ( void  ) const
inlineprotectedinherited

Definition at line 185 of file oct-stream.h.

◆ flush()

int base_stream::flush ( void  )
privateinherited

◆ getl()

std::string base_stream::getl ( octave_idx_type  max_len,
bool &  err,
const std::string &  who 
)
privateinherited

Definition at line 4214 of file oct-stream.cc.

References base_stream::do_gets(), and textscan_format_list::who.

◆ gets()

std::string base_stream::gets ( octave_idx_type  max_len,
bool &  err,
const std::string &  who 
)
privateinherited

Definition at line 4221 of file oct-stream.cc.

References base_stream::do_gets(), and textscan_format_list::who.

◆ input_stream()

std::istream* istrstream::input_stream ( void  )
inlinevirtual

Reimplemented from base_stream.

Definition at line 124 of file oct-strstrm.h.

◆ invalid_operation()

void base_stream::invalid_operation ( const std::string &  who,
const char *  rw 
)
privateinherited

◆ is_open()

bool base_stream::is_open ( void  ) const
inlineinherited

Definition at line 148 of file oct-stream.h.

◆ mode()

int base_stream::mode ( void  ) const
inlineprotectedinherited

Definition at line 183 of file oct-stream.h.

Referenced by fstream::input_stream(), and fstream::output_stream().

◆ name()

std::string base_strstream::name ( void  ) const
inlinevirtualinherited

Implements base_stream.

Definition at line 71 of file oct-strstrm.h.

◆ ok()

bool base_stream::ok ( void  ) const
inlineinherited

◆ operator=()

istrstream& istrstream::operator= ( const istrstream )
delete

◆ oscanf()

◆ output_stream()

std::ostream* istrstream::output_stream ( void  )
inlinevirtual

Reimplemented from base_stream.

Definition at line 126 of file oct-strstrm.h.

◆ preferred_output_stream()

std::ostream* base_stream::preferred_output_stream ( void  )
inlineinherited

◆ printf()

int base_stream::printf ( const std::string &  fmt,
const octave_value_list args,
const std::string &  who 
)
privateinherited

◆ puts()

int base_stream::puts ( const std::string &  s,
const std::string &  who 
)
privateinherited

◆ rdbuf()

std::streambuf* istrstream::rdbuf ( void  )
inlinevirtual

Implements base_strstream.

Definition at line 130 of file oct-strstrm.h.

◆ scanf()

octave_value base_stream::scanf ( const std::string &  fmt,
const Array< double > &  size,
octave_idx_type count,
const std::string &  who 
)
privateinherited

◆ seek()

int base_strstream::seek ( off_t  ,
int   
)
virtualinherited

Implements base_stream.

Definition at line 37 of file oct-strstrm.cc.

References base_stream::error().

◆ skipl()

off_t base_stream::skipl ( off_t  count,
bool &  err,
const std::string &  who 
)
privateinherited

◆ tell()

off_t istrstream::tell ( void  )
inlinevirtual

Reimplemented from base_strstream.

Definition at line 128 of file oct-strstrm.h.

Member Data Documentation

◆ m_conv_ostream

std::ostream* base_stream::m_conv_ostream
privateinherited

Definition at line 225 of file oct-stream.h.

◆ m_encoding

std::string base_stream::m_encoding
privateinherited

Definition at line 212 of file oct-stream.h.

◆ m_errmsg

std::string base_stream::m_errmsg
privateinherited

Definition at line 234 of file oct-stream.h.

Referenced by base_stream::clear(), and base_stream::error().

◆ m_fail

bool base_stream::m_fail
privateinherited

Definition at line 228 of file oct-stream.h.

Referenced by base_stream::clear(), and base_stream::error().

◆ m_flt_fmt

mach_info::float_format base_stream::m_flt_fmt
privateinherited

Definition at line 209 of file oct-stream.h.

◆ m_istream

std::istringstream istrstream::m_istream
private

Definition at line 141 of file oct-strstrm.h.

◆ m_mode

int base_stream::m_mode
privateinherited

Definition at line 206 of file oct-stream.h.

◆ m_open_state

bool base_stream::m_open_state
privateinherited

Definition at line 231 of file oct-stream.h.


The documentation for this class was generated from the following files: