24 #if ! defined (octave_ov_fcn_handle_h)
25 #define octave_ov_fcn_handle_h 1
27 #include "octave-config.h"
53 :
fcn (),
nm (), has_overloads (
false), overloads () { }
56 :
fcn (),
nm (n), has_overloads (
false), overloads () { }
62 has_overloads (fh.has_overloads), overloads ()
78 const std::list<octave_value_list>& idx)
85 const std::list<octave_value_list>& idx,
89 const std::list<octave_value_list>& idx,
91 const std::list<octave_lvalue>* lvalue_list);
98 const std::list<octave_lvalue>* lvalue_list);
126 has_overloads =
true;
127 builtin_overloads[btyp] = ov_fcn;
135 has_overloads =
true;
136 overloads[dispatch_type] = ov_fcn;
141 bool save_ascii (std::ostream& os);
143 bool load_ascii (std::istream&
is);
147 bool load_binary (std::istream&
is,
bool swap,
154 void print (std::ostream& os,
bool pr_as_read_syntax =
false);
156 void print_raw (std::ostream& os,
bool pr_as_read_syntax =
false)
const;
188 bool local_funcs =
true);
198 const std::vector<int>& mask,
int exp_nargin);
210 const std::list<octave_lvalue>* lvalue_list);
octave_value subsref(const std::string &type, const std::list< octave_value_list > &idx)
octave_fcn_handle(const octave_fcn_handle &fh)
static const std::string anonymous
octave_fcn_handle * fcn_handle_value(bool=false)
F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T F77_REAL F77_REAL &F77_RET_T F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE const F77_DBLE * f
octave_idx_type length(void) const
idx subsref(val, idx) esult
std::vector< int > arg_mask
octave_value make_fcn_handle(const std::string &nm, bool local_funcs=true)
std::map< std::string, octave_value > str_ov_map
octave_value fcn_val(void) const
bool is_overloaded(void) const
octave_fcn_handle(const std::string &n)
builtin_type_t builtin_type(void) const
#define DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
OCTAVE_EXPORT octave_value_list isdir nd deftypefn *std::string nm
virtual octave_user_function * user_function_value(bool silent=false)
OCTAVE_EXPORT octave_value_list return the number of command line arguments passed to Octave If called with the optional argument the function xample nargout(@histc)
bool is_defined(void) const
octave_value_list arg_template
octave_value builtin_overloads[btyp_num_types]
the exceeded dimensions are set to if fewer subscripts than dimensions are the exceeding dimensions are merged into the final requested dimension For consider the following dims
octave_base_value * clone(void) const
=val(i)}if ode{val(i)}occurs in table i
void set_overload(const std::string &dispatch_type, const octave_value &ov_fcn)
bool print_as_scalar(void) const
octave_base_value * empty_clone(void) const
void set_overload(builtin_type_t btyp, const octave_value &ov_fcn)
bool is_function_handle(void) const
virtual octave_function * function_value(bool silent=false)
write the output to stdout if nargout is
Vector representing the dimensions (size) of an Array.
If this string is the system will ring the terminal sometimes it is useful to be able to print the original representation of the string
octave_function * function_value(bool=false)
return octave_value(v1.char_array_value().concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string())? '\'': '"'))
std::string fcn_name(void) const
octave_user_function * user_function_value(bool=false)