24 #if !defined (octave_ov_fcn_handle_h)
25 #define octave_ov_fcn_handle_h 1
52 : fcn (), nm (), has_overloads (false), overloads () { }
55 : fcn (), nm (n), has_overloads (false), overloads () { }
61 has_overloads (fh.has_overloads), overloads ()
77 const std::list<octave_value_list>& idx)
84 const std::list<octave_value_list>& idx,
88 const std::list<octave_value_list>& idx,
90 const std::list<octave_lvalue>* lvalue_list);
97 const std::list<octave_lvalue>* lvalue_list);
125 has_overloads =
true;
126 builtin_overloads[btyp] = ov_fcn;
134 has_overloads =
true;
135 overloads[dispatch_type] = ov_fcn;
140 bool save_ascii (std::ostream& os);
142 bool load_ascii (std::istream& is);
144 bool save_binary (std::ostream& os,
bool& save_as_floats);
146 bool load_binary (std::istream& is,
bool swap,
149 bool save_hdf5 (
octave_hdf5_id loc_id,
const char *name,
bool save_as_floats);
153 void print (std::ostream& os,
bool pr_as_read_syntax =
false);
155 void print_raw (std::ostream& os,
bool pr_as_read_syntax =
false)
const;
162 bool set_fcn (
const std::string &octaveroot,
const std::string& fpath);
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)
octave_user_function * user_function_value(bool=false)
static const std::string anonymous
octave_fcn_handle * fcn_handle_value(bool=false)
dim_vector dims(void) const
octave_idx_type length(void) const
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
F77_RET_T const double const double * f
bool is_defined(void) const
octave_value_list arg_template
octave_value builtin_overloads[btyp_num_types]
octave_base_value * clone(void) const
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)
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)