26 #if ! defined (octave_ov_typeinfo_h)
27 #define octave_ov_typeinfo_h 1
29 #include "octave-config.h"
68 explicit type_info (
int init_tab_sz = 16);
153 bool abort_on_duplicate =
false);
156 bool abort_on_duplicate =
false);
160 bool abort_on_duplicate =
false);
164 bool abort_on_duplicate =
false);
171 bool abort_on_duplicate =
false);
177 bool abort_on_duplicate =
false);
180 bool abort_on_duplicate =
false);
183 bool abort_on_duplicate =
false);
186 bool abort_on_duplicate =
false);
189 bool abort_on_duplicate =
false);
289 const std::string& c_name,
bool install_assign_op(octave_value::assign_op op, int t_lhs, int t_rhs, assign_op_fcn f)
unary_class_op_fcn lookup_unary_class_op(octave_value::unary_op)
octave_value(* assignany_op_fcn)(octave_base_value &, const octave_value_list &, const octave_value &)
bool install_binary_op(octave_value::binary_op op, int t1, int t2, binary_op_fcn f)
octave_scalar_map compound_binary_ops_map(void) const
bool install_widening_op(int t, int t_result, octave_base_value::type_conv_fcn f)
Array< void * > assignany_ops
Array< void * > unary_ops
octave_value lookup_type(const std::string &nm)
unary_op_fcn lookup_unary_op(octave_value::unary_op, int)
bool register_unary_class_op(octave_value::unary_op, unary_class_op_fcn, bool abort_on_duplicate=false)
bool install_pref_assign_conv(int t_lhs, int t_rhs, int t_result)
octave_value(* binary_class_op_fcn)(const octave_value &, const octave_value &)
Array< octave_value * > vals
bool install_cat_op(int t1, int t2, cat_op_fcn f)
non_const_unary_op_fcn lookup_non_const_unary_op(octave_value::unary_op, int)
octave_scalar_map non_const_unary_ops_map(void) const
bool register_binary_class_op(octave_value::binary_op, binary_class_op_fcn, bool abort_on_duplicate=false)
octave_scalar_map binary_ops_map(void) const
Array< int > pref_assign_conv
Array< void * > non_const_unary_ops
Array< void * > compound_binary_class_ops
int lookup_pref_assign_conv(int, int)
assign_op_fcn lookup_assign_op(octave_value::assign_op, int, int)
assignany_op_fcn lookup_assignany_op(octave_value::assign_op, int)
Array< void * > binary_class_ops
bool install_unary_class_op(octave_value::unary_op op, unary_class_op_fcn f)
Array< void * > compound_binary_ops
octave_value(* unary_class_op_fcn)(const octave_value &)
bool install_unary_op(octave_value::unary_op op, int t, unary_op_fcn f)
Array< void * > widening_ops
type_info(int init_tab_sz=16)
bool register_binary_op(octave_value::binary_op, int, int, binary_op_fcn, bool abort_on_duplicate=false)
bool install_non_const_unary_op(octave_value::unary_op op, int t, non_const_unary_op_fcn f)
bool install_binary_class_op(octave_value::compound_binary_op op, binary_class_op_fcn f)
bool register_cat_op(int, int, cat_op_fcn, bool abort_on_duplicate=false)
octave_scalar_map unary_ops_map(void) const
bool register_assign_op(octave_value::assign_op, int, int, assign_op_fcn, bool abort_on_duplicate=false)
octave_value(* assign_op_fcn)(octave_base_value &, const octave_value_list &, const octave_base_value &)
Array< void * > assign_ops
int register_type(const std::string &, const std::string &, const octave_value &, bool abort_on_duplicate=false)
octave_value(* binary_op_fcn)(const octave_base_value &, const octave_base_value &)
octave_scalar_map installed_type_info(void) const
octave_value(* unary_op_fcn)(const octave_base_value &)
bool register_non_const_unary_op(octave_value::unary_op, int, non_const_unary_op_fcn, bool abort_on_duplicate=false)
octave_value(* cat_op_fcn)(octave_base_value &, const octave_base_value &, const Array< octave_idx_type > &ra_idx)
binary_class_op_fcn lookup_binary_class_op(octave_value::binary_op)
Array< void * > binary_ops
octave_base_value::type_conv_fcn lookup_widening_op(int, int)
bool install_binary_op(octave_value::compound_binary_op op, int t_lhs, int t_rhs, binary_op_fcn f)
bool register_assignany_op(octave_value::assign_op, int, assignany_op_fcn, bool abort_on_duplicate=false)
bool register_widening_op(int, int, octave_base_value::type_conv_fcn, bool abort_on_duplicate=false)
type_info(const type_info &)=delete
binary_op_fcn lookup_binary_op(octave_value::binary_op, int, int)
Array< void * > unary_class_ops
Array< std::string > types
bool install_binary_class_op(octave_value::binary_op op, binary_class_op_fcn f)
octave_scalar_map assign_ops_map(void) const
bool install_assignany_op(octave_value::assign_op op, int t_lhs, assignany_op_fcn f)
cat_op_fcn lookup_cat_op(int, int)
type_info & operator=(const type_info &)=delete
string_vector installed_type_names(void) const
void(* non_const_unary_op_fcn)(octave_base_value &)
octave_scalar_map assignany_ops_map(void) const
bool register_pref_assign_conv(int, int, int, bool abort_on_duplicate=false)
bool register_unary_op(octave_value::unary_op, int, unary_op_fcn, bool abort_on_duplicate=false)
octave_base_value *(* type_conv_fcn)(const octave_base_value &)
binary_class_op_fcn lookup_binary_class_op(octave_value::binary_op op)
octave::type_info::cat_op_fcn cat_op_fcn
octave::type_info::assign_op_fcn assign_op_fcn
unary_class_op_fcn lookup_unary_class_op(octave_value::unary_op op)
int lookup_pref_assign_conv(int t_lhs, int t_rhs)
unary_op_fcn lookup_unary_op(octave_value::unary_op op, int t)
octave::type_info::unary_class_op_fcn unary_class_op_fcn
octave::type_info::assignany_op_fcn assignany_op_fcn
string_vector installed_type_names(void)
octave_value lookup_type(const std::string &nm)
assign_op_fcn lookup_assign_op(octave_value::assign_op op, int t_lhs, int t_rhs)
non_const_unary_op_fcn lookup_non_const_unary_op(octave_value::unary_op op, int t)
assignany_op_fcn lookup_assignany_op(octave_value::assign_op op, int t_lhs)
binary_op_fcn lookup_binary_op(octave_value::binary_op op, int t1, int t2)
int register_type(const std::string &t_name, const std::string &c_name, const octave_value &val)
octave_scalar_map installed_type_info(void)
octave::type_info::non_const_unary_op_fcn non_const_unary_op_fcn
octave::type_info::unary_op_fcn unary_op_fcn
octave::type_info::binary_class_op_fcn binary_class_op_fcn
octave::type_info::binary_op_fcn binary_op_fcn
octave_base_value::type_conv_fcn lookup_widening_op(int t, int t_result)
cat_op_fcn lookup_cat_op(int t1, int t2)
static double f(double k, double l_nu, double c_pm)
const octave_base_value const Array< octave_idx_type > & ra_idx
return octave_value(v1.char_array_value() . concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string()) ? '\'' :'"'))