24 #if ! defined (octave_ov_fcn_handle_h) 25 #define octave_ov_fcn_handle_h 1 27 #include "octave-config.h" 58 :
fcn (),
nm (), has_overloads (
false), overloads () { }
61 :
fcn (),
nm (n), has_overloads (
false), overloads () { }
67 has_overloads (fh.has_overloads), overloads ()
83 const std::list<octave_value_list>& idx)
90 const std::list<octave_value_list>& idx,
119 has_overloads =
true;
120 builtin_overloads[btyp] = ov_fcn;
128 has_overloads =
true;
129 overloads[dispatch_type] = ov_fcn;
134 bool save_ascii (std::ostream&
os);
136 bool load_ascii (std::istream&
is);
140 bool load_binary (std::istream&
is,
bool swap,
147 void print (std::ostream&
os,
bool pr_as_read_syntax =
false);
149 void print_raw (std::ostream&
os,
bool pr_as_read_syntax =
false)
const;
177 bool parse_anon_fcn_handle (
const std::string& fcn_text);
185 bool local_funcs =
true);
195 const std::vector<int>& mask,
int exp_nargin);
octave_value fcn_val(void) const
bool print_as_scalar(void) const
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
bool is_defined(void) const
octave_base_value * clone(void) const
octave_fcn_handle * fcn_handle_value(bool=false)
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 const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE * f
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
builtin_type_t builtin_type(void) const
octave_fcn_handle(const std::string &n)
bool is_overloaded(void) const
bool is_function_handle(void) const
#define DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
nd deftypefn *std::string name
OCTAVE_EXPORT octave_value_list isdir nd deftypefn *std::string nm
std::string fcn_name(void) const
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)
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
return octave_value(v1.char_array_value() . concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string()) ? '\'' :'"'))
void set_overload(const std::string &dispatch_type, const octave_value &ov_fcn)
octave_base_value * empty_clone(void) const
void set_overload(builtin_type_t btyp, const octave_value &ov_fcn)
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)
octave_user_function * user_function_value(bool=false)