23 #if !defined (octave_ov_lazy_idx_h)
24 #define octave_ov_lazy_idx_h 1
52 type_conv_info numeric_conversion_function (
void)
const;
77 const std::list<octave_value_list>& idx)
78 {
return make_value ().
subsref (type, idx); }
81 const std::list<octave_value_list>& idx,
int)
82 {
return subsref (type, idx); }
85 bool resize_ok =
false)
86 {
return make_value ().
do_index_op (idx, resize_ok); }
99 {
return make_value ().
resize (dv, fill); }
128 {
return make_value ().is_true (); }
131 {
return make_value ().print_as_scalar (); }
133 void print (std::ostream& os,
bool pr_as_read_syntax =
false)
134 { make_value ().print (os, pr_as_read_syntax); }
136 void print_info (std::ostream& os,
const std::string& prefix)
const
137 { make_value ().print_info (os, prefix); }
139 #define FORWARD_VALUE_QUERY(TYPE,NAME) \
141 NAME (void) const { return make_value ().NAME (); }
152 #define FORWARD_VALUE_QUERY1(TYPE,NAME) \
154 NAME (bool flag = false) const { return make_value ().NAME (flag); }
191 {
return make_value ().
diag (k); }
196 void print_raw (std::ostream& os,
bool pr_as_read_syntax =
false)
const
197 {
return make_value ().print_raw (os, pr_as_read_syntax); }
199 bool save_ascii (std::ostream& os);
201 bool load_ascii (std::istream& is);
203 bool save_binary (std::ostream& os,
bool& save_as_floats);
205 bool load_binary (std::istream& is,
bool swap,
212 {
return make_value ().write (os, block_size, output_type, skip, flt_fmt); }
217 {
return make_value ().mex_get_data (); }
220 {
return make_value ().as_mxArray (); }
223 {
return make_value ().
map (umap); }
228 if (value.is_undefined ())
236 if (value.is_undefined ())
bool is_numeric_type(void) const
bool is_matrix_type(void) const
octave_lazy_index(const idx_vector &idx)
octave_value subsref(const std::string &type, const std::list< octave_value_list > &idx)
void print(std::ostream &os, bool pr_as_read_syntax=false)
octave_value_list subsref(const std::string &type, const std::list< octave_value_list > &idx, int)
void print_raw(std::ostream &os, bool pr_as_read_syntax=false) const
octave_value & make_value(void)
octave_value do_index_op(const octave_value_list &idx, bool resize_ok=false)
octave_value convert_to_str_internal(bool pad, bool force, char type) const
octave_base_value * clone(void) const
octave_value diag(octave_idx_type k=0) const
mxArray * as_mxArray(void) const
octave_value map(octave_base_value::unary_mapper_t umap) const
octave_value resize(const dim_vector &dv, bool fill=false) const
bool is_real_type(void) const
octave_value any(int dim=0) const
octave_value convert_to_str_internal(bool pad, bool force, char type) const
bool is_constant(void) const
bool is_float_type(void) const
#define FORWARD_VALUE_QUERY1(TYPE, NAME)
octave_value resize(const dim_vector &dv, bool fill=false) const
MatrixType matrix_type(void) const
void * mex_get_data(void) const
#define DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
octave_value any(int dim=0) const
octave_lazy_index(const octave_lazy_index &i)
idx_vector index_vector(bool=false) const
int write(octave_stream &os, int block_size, oct_data_conv::data_type output_type, int skip, oct_mach_info::float_format flt_fmt) const
const octave_value & make_value(void) const
#define FORWARD_VALUE_QUERY(TYPE, NAME)
bool is_defined(void) const
bool is_double_type(void) const
octave_value all(int dim=0) const
octave_value full_value(void) const
bool print_as_scalar(void) const
octave_idx_type numel(void) const
bool is_real_matrix(void) const
Handles the reference counting for all the derived classes.
octave_value map(unary_mapper_t umap) const
octave_value all(int dim=0) const
octave_idx_type nnz(void) const
octave_base_value * empty_clone(void) const
std::complex< float > FloatComplex
MatrixType matrix_type(const MatrixType &_typ) const
std::complex< double > Complex
size_t byte_size(void) const
dim_vector dims(void) const
void print_info(std::ostream &os, const std::string &prefix) const
builtin_type_t builtin_type(void) const
octave_value subsref(const std::string &type, const std::list< octave_value_list > &idx)
octave_value do_index_op(const octave_value_list &idx, bool resize_ok=false)