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);
75 const std::list<octave_value_list>& idx)
82 const std::list<octave_value_list>& idx,
86 const std::list<octave_value_list>& idx,
90 const std::list<octave_value_list>& idx,
106 std::size_t byte_size ()
const;
131 bool iscellstr ()
const;
142 {
return octave_value (string_vector_value (pad), type); }
150 bool print_as_scalar ()
const;
152 void print (std::ostream& os,
bool pr_as_read_syntax =
false);
154 void print_raw (std::ostream& os,
bool pr_as_read_syntax =
false)
const;
156 bool print_name_tag (std::ostream& os,
const std::string& name)
const;
158 void short_disp (std::ostream& os)
const;
160 bool save_ascii (std::ostream& os);
162 bool load_ascii (std::istream& is);
164 bool save_binary (std::ostream& os,
bool save_as_floats);
166 bool load_binary (std::istream& is,
bool swap,
169 bool save_hdf5 (
octave_hdf5_id loc_id,
const char *name,
bool save_as_floats);
175 mxArray * as_mxArray (
bool interleaved)
const;
179 const void * mex_get_data ()
const;
186 void clear_cellstr_cache ()
const
187 { m_cellstr_cache.reset (); }
191 mutable std::unique_ptr<Array<std::string>> m_cellstr_cache;
virtual void assign(const std::string &, const octave_value &)
octave_cell(const octave_cell &c)
Array< std::string > cellstr_value(const char *fmt,...) const
builtin_type_t builtin_type() const
bool is_matrix_type() const
octave_value convert_to_str_internal(bool pad, bool, char type) const
octave_base_value * clone() const
bool is_full_num_matrix() const
octave_value subsref(const std::string &type, const std::list< octave_value_list > &idx)
octave_cell(const Cell &c)
octave_base_value * empty_clone() const
octave_cell(const Array< std::string > &str)
octave_idx_type length() 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