131 @deftypefn {Built-in Function} {} end\n\
132 The magic index @qcode{\"end\"} refers to the last valid entry in an indexing\n\
160 args(1) = index_position + 1;
163 std::string class_name = indexed_object->
class_name ();
174 if (num_indices < ndims)
176 for (
int i = num_indices; i < ndims; i++)
177 dv(num_indices-1) *= dv(i);
179 if (num_indices == 1)
192 if (index_position < ndims)
193 retval = dv(index_position);
198 ::error (
"invalid use of end");
211 && ! (
object->is_function ()
212 ||
object->is_function_handle ()));
220 indexed_object = object;
225 std::list<octave_value_list> args;
228 for (
int k = 0; k < len; k++)
247 ::error (
"evaluating argument list element number %d", k+1);
256 args.push_back (tmp);
269 std::list<octave_lvalue>
272 std::list<octave_lvalue> retval;
280 retval.push_back (elt->
lvalue ());
305 std::list<std::string>
308 std::list<std::string> retval;
318 retval.push_back (id->
name ());
325 retval.push_back (idx_expr->
name ());
345 new_list->
append (elt ? elt->
dup (scope, context) : 0);
bool is_object(void) const
size_t length(void) const
virtual bool has_magic_end(void) const =0
virtual bool is_constant(void) const
static octave_value find_method(const std::string &name, const std::string &dispatch_type)
bool all_elements_are_constant(void) const
octave_value_list convert_to_const_vector(const octave_value *object=0)
bool is_defined(void) const
bool list_includes_magic_tilde
void resize(int n, int fill_value=0)
virtual tree_expression * dup(symbol_table::scope_id, symbol_table::context_id context) const =0
void error(const char *fmt,...)
octave_value_list feval(const std::string &name, const octave_value_list &args, int nargout)
static int index_position
std::string name(void) const
std::list< std::string > variable_names(void) const
std::list< tree_expression * >::iterator iterator
bool has_magic_end(void) const
string_vector get_arg_names(void) const
void append(const elt_type &s)
bool list_includes_magic_end
static llvm::LLVMContext & context
void append(const element_type &s)
std::string name(void) const
virtual bool is_index_expression(void) const
virtual void visit_argument_list(tree_argument_list &)=0
#define DEFCONSTFUN(name, args_name, nargout_name, doc)
std::list< tree_expression * >::const_iterator const_iterator
bool is_valid_lvalue_list(void) const
dim_vector dims(void) const
tree_argument_list * dup(symbol_table::scope_id scope, symbol_table::context_id context) const
octave_function * function_value(bool silent=false) const
void accept(tree_walker &tw)
static const octave_value * indexed_object
std::string str_print_code(void)
virtual octave_value rvalue1(int nargout=1)
bool is_cs_list(void) const
virtual octave_lvalue lvalue(void)
std::string class_name(void) const
octave_value_list list_value(void) const
iterator erase(iterator pos)
~tree_argument_list(void)
virtual bool is_identifier(void) const
std::list< octave_lvalue > lvalue_list(void)