51 #if ! defined (octave_mxarray_h)
52 #define octave_mxarray_h 1
54 #include "octave-config.h"
101 #if ! defined (MXARRAY_TYPEDEFS_ONLY)
109 #define DO_MUTABLE_METHOD(RET_T, METHOD_CALL) \
110 RET_T retval = rep->METHOD_CALL; \
112 if (rep->mutation_needed ()) \
115 retval = rep->METHOD_CALL; \
120 #define DO_VOID_MUTABLE_METHOD(METHOD_CALL) \
123 if (rep->mutation_needed ()) \
160 if (cname && name_arg)
312 error (
"invalid type for operation");
451 void set_name (
const char *name_arg);
528 static void *
malloc (
size_t n);
530 static void *
calloc (
size_t n,
size_t t);
566 #undef DO_MUTABLE_METHOD
567 #undef DO_VOID_MUTABLE_METHOD
Vector representing the dimensions (size) of an Array.
virtual int is_logical(void) const =0
virtual void set_n(mwSize n)=0
virtual void set_cell(mwIndex idx, mxArray *val)=0
virtual int is_int32(void) const =0
virtual int add_field(const char *key)=0
virtual void set_nzmax(mwSize nzmax)=0
virtual int is_logical_scalar_true(void) const =0
virtual int is_uint16(void) const =0
virtual int get_string(char *buf, mwSize buflen) const =0
virtual int is_double(void) const =0
virtual mwIndex calc_single_subscript(mwSize nsubs, mwIndex *subs) const =0
mxArray_base(const mxArray_base &)
virtual mxArray * get_cell(mwIndex) const
virtual mxArray * as_mxArray(void) const
virtual mxArray * mutate(void) const
virtual int is_numeric(void) const =0
virtual int is_function_handle(void) const =0
virtual mwSize * get_dimensions(void) const =0
virtual void * get_imag_data(void) const =0
virtual void set_imag_data(void *pi)=0
virtual mxArray * get_field_by_number(mwIndex index, int key_num) const =0
virtual void set_m(mwSize m)=0
virtual void set_data(void *pr)=0
virtual mwSize get_number_of_elements(void) const =0
virtual int is_logical_scalar(void) const
virtual int is_struct(void) const =0
virtual bool is_scalar(void) const =0
virtual int is_class(const char *name_arg) const
virtual int is_single(void) const =0
virtual const char * get_class_name(void) const =0
virtual int get_number_of_fields(void) const =0
virtual int is_sparse(void) const =0
virtual mwSize get_nzmax(void) const =0
virtual int is_int16(void) const =0
virtual void set_property(mwIndex, const char *, const mxArray *)
virtual int is_char(void) const =0
virtual char * array_to_string(void) const =0
virtual ~mxArray_base(void)=default
virtual bool mutation_needed(void) const
virtual void * get_data(void) const =0
virtual mwSize get_m(void) const =0
virtual int is_uint32(void) const =0
virtual void set_jc(mwIndex *jc)=0
virtual mwIndex * get_ir(void) const =0
virtual bool is_octave_value(void) const
virtual int is_uint64(void) const =0
virtual int is_int64(void) const =0
virtual mwSize get_number_of_dimensions(void) const =0
virtual int is_int8(void) const =0
virtual int is_complex(void) const =0
virtual int set_dimensions(mwSize *dims_arg, mwSize ndims_arg)=0
OCTAVE_NORETURN void err_invalid_type(void) const
virtual void set_class_name(const char *name_arg)=0
virtual mwIndex * get_jc(void) const =0
virtual size_t get_element_size(void) const =0
virtual double get_scalar(void) const =0
virtual mwSize get_n(void) const =0
virtual int is_uint8(void) const =0
virtual int isempty(void) const =0
virtual mxArray_base * dup(void) const =0
virtual void set_ir(mwIndex *ir)=0
virtual void remove_field(int key_num)=0
virtual mxArray * get_property(mwIndex, const char *) const
virtual const char * get_field_name_by_number(int key_num) const =0
virtual void set_field_by_number(mwIndex index, int key_num, mxArray *val)=0
virtual octave_value as_octave_value(void) const =0
virtual int get_field_number(const char *key) const =0
virtual int iscell(void) const =0
virtual mxClassID get_class_id(void) const =0
mxArray & operator=(const mxArray &)=delete
mxClassID get_class_id(void) const
int is_single(void) const
mxArray(const octave_value &ov)
void maybe_mutate(void) const
void * get_imag_data(void) const
size_t get_element_size(void) const
static void * malloc(size_t n)
const char * get_class_name(void) const
static void * calloc(size_t n, size_t t)
bool mutation_needed(void) const
int is_logical_scalar_true(void) const
int is_uint32(void) const
bool is_octave_value(void) const
void set_property(mwIndex idx, const char *pname, const mxArray *pval)
mxArray * get_property(mwIndex idx, const char *pname) const
mxArray * dup(void) const
void * get_data(void) const
mwIndex * get_jc(void) const
mwIndex calc_single_subscript(mwSize nsubs, mwIndex *subs) const
int is_function_handle(void) const
int set_dimensions(mwSize *dims_arg, mwSize ndims_arg)
static char * strsave(const char *str)
int is_uint64(void) const
int is_struct(void) const
int get_field_number(const char *key) const
mxArray(mxArray_base *r, const char *n)
mxArray * mutate(void) const
mxArray * get_field_by_number(mwIndex index, int key_num) const
int add_field(const char *key)
int get_number_of_fields(void) const
int is_sparse(void) const
int is_double(void) const
mwSize get_nzmax(void) const
mwIndex * get_ir(void) const
bool is_scalar(void) const
void set_nzmax(mwSize nzmax)
int is_logical(void) const
double get_scalar(void) const
mwSize get_number_of_dimensions(void) const
mxArray(const mxArray &)=delete
const char * get_name(void) const
int is_numeric(void) const
mwSize get_number_of_elements(void) const
const char * get_field_name_by_number(int key_num) const
int get_string(char *buf, mwSize buflen) const
int is_class(const char *name_arg) const
void set_class_name(const char *name_arg)
int is_complex(void) const
void set_name(const char *name_arg)
int is_uint16(void) const
void set_field_by_number(mwIndex index, int key_num, mxArray *val)
void set_cell(mwIndex idx, mxArray *val)
mxArray * get_cell(mwIndex idx) const
char * array_to_string(void) const
int is_logical_scalar(void) const
octave_value as_octave_value(void) const
mwSize * get_dimensions(void) const
void set_imag_data(void *pi)
void remove_field(int key_num)
void error(const char *fmt,...)
OCTAVE_IDX_TYPE mwSignedIndex
#define DO_VOID_MUTABLE_METHOD(METHOD_CALL)
#define DO_MUTABLE_METHOD(RET_T, METHOD_CALL)
bool strcmp(const T &str_a, const T &str_b)
True if strings are the same.
T::size_type strlen(const typename T::value_type *str)
octave_value::octave_value(const Array< char > &chm, char type) return retval