43 const std::list<octave_value_list>& idx,
51 const std::list<octave_value_list>& idx,
53 const std::list<octave_lvalue>* lvalue_list)
61 int tmp_nargout = (type.length () > 1 && nargout == 0) ? 1 : nargout;
64 idx.size () == 1 ? lvalue_list : 0);
72 error (
"%s cannot be indexed with %c", nm.c_str (), type[0]);
91 retval = retval(0).next_subsref (nargout, type, idx);
104 const std::list<octave_lvalue> *lvalue_list)
112 ::
error (
"invalid use of colon in function argument list");
131 retval = (*f) (args, nargout);
146 catch (octave_execution_exception)
void stash_jit(jit_type &type)
octave_value_list(* fcn)(const octave_value_list &, int)
jit_type * to_jit(void) const
octave_idx_type length(void) const
void error(const char *fmt,...)
#define DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA(t, n, c)
void gripe_library_execution_error(void)
#define END_PROFILER_BLOCK
void make_storable_values(void)
static const std::list< octave_lvalue > * curr_lvalue_list
void add_fcn(void(*fcn)(void))
bool has_magic_colon(void) const
#define panic_impossible()
OCTAVE_EMPTY_CPP_ARG std::string type_name(void) const
static void push(octave_function *f, symbol_table::scope_id scope=symbol_table::current_scope(), symbol_table::context_id context=symbol_table::current_context())
bool is_undefined(void) const
octave_value_list do_multi_index_op(int nargout, const octave_value_list &args)
octave_value & xelem(octave_idx_type i)
#define BEGIN_PROFILER_BLOCK(classname)
octave_value subsref(const std::string &type, const std::list< octave_value_list > &idx)