26#if ! defined (octave_ov_cell_h)
27#define octave_ov_cell_h 1
29#include "octave-config.h"
63 m_cellstr_cache (new
Array<std::string> (str)) { }
73 void break_closure_cycles (
const std::shared_ptr<octave::stack_frame>& frame);
76 const std::list<octave_value_list>& idx)
83 const std::list<octave_value_list>& idx,
87 const std::list<octave_value_list>& idx,
91 const std::list<octave_value_list>& idx,
107 std::size_t byte_size ()
const;
132 bool iscellstr ()
const;
143 {
return octave_value (string_vector_value (pad), type); }
151 bool print_as_scalar ()
const;
153 void print (std::ostream& os,
bool pr_as_read_syntax =
false);
155 void print_raw (std::ostream& os,
bool pr_as_read_syntax =
false)
const;
157 bool print_name_tag (std::ostream& os,
const std::string& name)
const;
159 void short_disp (std::ostream& os)
const;
161 bool save_ascii (std::ostream& os);
163 bool load_ascii (std::istream& is);
165 bool save_binary (std::ostream& os,
bool save_as_floats);
167 bool load_binary (std::istream& is,
bool swap,
168 octave::mach_info::float_format fmt);
170 bool save_hdf5 (
octave_hdf5_id loc_id,
const char *name,
bool save_as_floats);
176 mxArray * as_mxArray (
bool interleaved)
const;
180 const void * mex_get_data ()
const;
187 void clear_cellstr_cache ()
const
188 { m_cellstr_cache.reset (); }
192 mutable std::unique_ptr<Array<std::string>> m_cellstr_cache;
N Dimensional Array with copy-on-write semantics.
virtual void assign(const std::string &, const octave_value &)
octave_cell(const octave_cell &c)
builtin_type_t builtin_type() const
bool is_matrix_type() const
octave_value convert_to_str_internal(bool pad, bool, char type) const
bool is_full_num_matrix() const
octave_base_value * clone() 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)
Array< std::string > cellstr_value(const char *fmt,...) const
octave_idx_type length() const
bool is_true(const std::string &s)
#define DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA_API(API)