26 #if ! defined (octave_ov_cell_h)
27 #define octave_ov_cell_h 1
29 #include "octave-config.h"
62 m_cellstr_cache (new
Array<std::string> (str)) { }
72 void break_closure_cycles (
const std::shared_ptr<octave::stack_frame>& frame);
79 const std::list<octave_value_list>& idx)
86 const std::list<octave_value_list>& idx,
90 const std::list<octave_value_list>& idx,
94 const std::list<octave_value_list>& idx,
110 std::size_t byte_size (
void)
const;
131 bool iscell (
void)
const {
return true; }
135 bool iscellstr (
void)
const;
144 {
return octave_value (string_vector_value (pad), type); }
152 bool print_as_scalar (
void)
const;
154 void print (std::ostream& os,
bool pr_as_read_syntax =
false);
156 void print_raw (std::ostream& os,
bool pr_as_read_syntax =
false)
const;
158 bool print_name_tag (std::ostream& os,
const std::string& name)
const;
160 void short_disp (std::ostream& os)
const;
162 bool save_ascii (std::ostream& os);
164 bool load_ascii (std::istream& is);
166 bool save_binary (std::ostream& os,
bool save_as_floats);
168 bool load_binary (std::istream& is,
bool swap,
171 bool save_hdf5 (
octave_hdf5_id loc_id,
const char *name,
bool save_as_floats);
177 mxArray * as_mxArray (
bool interleaved)
const;
181 const void * mex_get_data (
void)
const;
186 { m_cellstr_cache.reset (); }
virtual void assign(const std::string &, const octave_value &)
Cell cell_value(void) const
builtin_type_t builtin_type(void) const
octave_cell(const octave_cell &c)
octave_base_value * clone(void) const
Array< std::string > cellstr_value(const char *fmt,...) const
bool isnumeric(void) const
octave_value convert_to_str_internal(bool pad, bool, char type) const
bool is_matrix_type(void) const
octave_base_value * empty_clone(void) const
void clear_cellstr_cache(void) const
std::unique_ptr< Array< std::string > > m_cellstr_cache
bool is_constant(void) const
octave_value subsref(const std::string &type, const std::list< octave_value_list > &idx)
octave_cell(const Cell &c)
octave_cell(const Array< std::string > &str)
bool is_defined(void) const
~octave_cell(void)=default
octave_idx_type length(void) const
bool is_true(const std::string &s)
return octave_value(v1.char_array_value() . concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string()) ? '\'' :'"'))
#define DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA