GNU Octave  8.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
type_info Class Reference

#include "ov-typeinfo.h"

Collaboration diagram for type_info:

Public Types

typedef octave_value(* assign_op_fcn) (octave_base_value &, const octave_value_list &, const octave_base_value &)
 
typedef octave_value(* assignany_op_fcn) (octave_base_value &, const octave_value_list &, const octave_value &)
 
typedef octave_value(* binary_class_op_fcn) (const octave_value &, const octave_value &)
 
typedef octave_value(* binary_op_fcn) (const octave_base_value &, const octave_base_value &)
 
typedef octave_value(* cat_op_fcn) (const octave_base_value &, const octave_base_value &, const Array< octave_idx_type > &ra_idx)
 
typedef void(* non_const_unary_op_fcn) (octave_base_value &)
 
typedef octave_value(* unary_class_op_fcn) (const octave_value &)
 
typedef octave_value(* unary_op_fcn) (const octave_base_value &)
 

Public Member Functions

 type_info (const type_info &)=delete
 
 type_info (int init_tab_sz=16)
 
 ~type_info (void)=default
 
octave_scalar_map assign_ops_map (void) const
 
octave_scalar_map assignany_ops_map (void) const
 
octave_scalar_map binary_ops_map (void) const
 
octave_scalar_map compound_binary_ops_map (void) const
 
bool install_assign_op (octave_value::assign_op op, int t_lhs, int t_rhs, assign_op_fcn f)
 
bool install_assignany_op (octave_value::assign_op op, int t_lhs, assignany_op_fcn f)
 
bool install_binary_class_op (octave_value::binary_op op, binary_class_op_fcn f)
 
bool install_binary_class_op (octave_value::compound_binary_op op, binary_class_op_fcn f)
 
bool install_binary_op (octave_value::binary_op op, int t1, int t2, binary_op_fcn f)
 
bool install_binary_op (octave_value::compound_binary_op op, int t_lhs, int t_rhs, binary_op_fcn f)
 
bool install_cat_op (int t1, int t2, cat_op_fcn f)
 
bool install_non_const_unary_op (octave_value::unary_op op, int t, non_const_unary_op_fcn f)
 
bool install_pref_assign_conv (int t_lhs, int t_rhs, int t_result)
 
bool install_unary_class_op (octave_value::unary_op op, unary_class_op_fcn f)
 
bool install_unary_op (octave_value::unary_op op, int t, unary_op_fcn f)
 
bool install_widening_op (int t, int t_result, octave_base_value::type_conv_fcn f)
 
octave_scalar_map installed_type_info (void) const
 
string_vector installed_type_names (void) const
 
assign_op_fcn lookup_assign_op (octave_value::assign_op, int, int)
 
assignany_op_fcn lookup_assignany_op (octave_value::assign_op, int)
 
binary_class_op_fcn lookup_binary_class_op (octave_value::binary_op)
 
binary_class_op_fcn lookup_binary_class_op (octave_value::compound_binary_op)
 
binary_op_fcn lookup_binary_op (octave_value::binary_op, int, int)
 
binary_op_fcn lookup_binary_op (octave_value::compound_binary_op, int, int)
 
cat_op_fcn lookup_cat_op (int, int)
 
non_const_unary_op_fcn lookup_non_const_unary_op (octave_value::unary_op, int)
 
int lookup_pref_assign_conv (int, int)
 
octave_value lookup_type (const std::string &nm)
 
unary_class_op_fcn lookup_unary_class_op (octave_value::unary_op)
 
unary_op_fcn lookup_unary_op (octave_value::unary_op, int)
 
octave_base_value::type_conv_fcn lookup_widening_op (int, int)
 
octave_scalar_map non_const_unary_ops_map (void) const
 
type_infooperator= (const type_info &)=delete
 
bool register_assign_op (octave_value::assign_op, int, int, assign_op_fcn, bool abort_on_duplicate=false)
 
bool register_assignany_op (octave_value::assign_op, int, assignany_op_fcn, bool abort_on_duplicate=false)
 
bool register_binary_class_op (octave_value::binary_op, binary_class_op_fcn, bool abort_on_duplicate=false)
 
bool register_binary_class_op (octave_value::compound_binary_op, binary_class_op_fcn, bool abort_on_duplicate=false)
 
bool register_binary_op (octave_value::binary_op, int, int, binary_op_fcn, bool abort_on_duplicate=false)
 
bool register_binary_op (octave_value::compound_binary_op, int, int, binary_op_fcn, bool abort_on_duplicate=false)
 
bool register_cat_op (int, int, cat_op_fcn, bool abort_on_duplicate=false)
 
bool register_non_const_unary_op (octave_value::unary_op, int, non_const_unary_op_fcn, bool abort_on_duplicate=false)
 
bool register_pref_assign_conv (int, int, int, bool abort_on_duplicate=false)
 
int register_type (const std::string &, const std::string &, const octave_value &, bool abort_on_duplicate=false)
 
bool register_unary_class_op (octave_value::unary_op, unary_class_op_fcn, bool abort_on_duplicate=false)
 
bool register_unary_op (octave_value::unary_op, int, unary_op_fcn, bool abort_on_duplicate=false)
 
bool register_widening_op (int, int, octave_base_value::type_conv_fcn, bool abort_on_duplicate=false)
 
octave_scalar_map unary_ops_map (void) const
 

Private Attributes

Array< void * > m_assign_ops
 
Array< void * > m_assignany_ops
 
Array< void * > m_binary_class_ops
 
Array< void * > m_binary_ops
 
Array< void * > m_cat_ops
 
Array< void * > m_compound_binary_class_ops
 
Array< void * > m_compound_binary_ops
 
Array< void * > m_non_const_unary_ops
 
int m_num_types
 
Array< int > m_pref_assign_conv
 
Array< std::string > m_types
 
Array< void * > m_unary_class_ops
 
Array< void * > m_unary_ops
 
Array< octave_value * > m_vals
 
Array< void * > m_widening_ops
 

Detailed Description

Definition at line 42 of file ov-typeinfo.h.

Member Typedef Documentation

◆ assign_op_fcn

typedef octave_value(* type_info::assign_op_fcn) (octave_base_value &, const octave_value_list &, const octave_base_value &)

Definition at line 64 of file ov-typeinfo.h.

◆ assignany_op_fcn

typedef octave_value(* type_info::assignany_op_fcn) (octave_base_value &, const octave_value_list &, const octave_value &)

Definition at line 67 of file ov-typeinfo.h.

◆ binary_class_op_fcn

typedef octave_value(* type_info::binary_class_op_fcn) (const octave_value &, const octave_value &)

Definition at line 54 of file ov-typeinfo.h.

◆ binary_op_fcn

typedef octave_value(* type_info::binary_op_fcn) (const octave_base_value &, const octave_base_value &)

Definition at line 57 of file ov-typeinfo.h.

◆ cat_op_fcn

typedef octave_value(* type_info::cat_op_fcn) (const octave_base_value &, const octave_base_value &, const Array< octave_idx_type > &ra_idx)

Definition at line 60 of file ov-typeinfo.h.

◆ non_const_unary_op_fcn

typedef void(* type_info::non_const_unary_op_fcn) (octave_base_value &)

Definition at line 52 of file ov-typeinfo.h.

◆ unary_class_op_fcn

typedef octave_value(* type_info::unary_class_op_fcn) (const octave_value &)

Definition at line 48 of file ov-typeinfo.h.

◆ unary_op_fcn

typedef octave_value(* type_info::unary_op_fcn) (const octave_base_value &)

Definition at line 50 of file ov-typeinfo.h.

Constructor & Destructor Documentation

◆ type_info() [1/2]

type_info::type_info ( int  init_tab_sz = 16)
explicit

Definition at line 68 of file ov-typeinfo.cc.

References install_ops(), and install_types().

◆ type_info() [2/2]

type_info::type_info ( const type_info )
delete

◆ ~type_info()

type_info::~type_info ( void  )
default

Member Function Documentation

◆ assign_ops_map()

◆ assignany_ops_map()

◆ binary_ops_map()

◆ compound_binary_ops_map()

◆ install_assign_op()

bool type_info::install_assign_op ( octave_value::assign_op  op,
int  t_lhs,
int  t_rhs,
assign_op_fcn  f 
)
inline

Definition at line 128 of file ov-typeinfo.h.

References f.

◆ install_assignany_op()

bool type_info::install_assignany_op ( octave_value::assign_op  op,
int  t_lhs,
assignany_op_fcn  f 
)
inline

Definition at line 134 of file ov-typeinfo.h.

References f.

◆ install_binary_class_op() [1/2]

bool type_info::install_binary_class_op ( octave_value::binary_op  op,
binary_class_op_fcn  f 
)
inline

Definition at line 99 of file ov-typeinfo.h.

References f.

◆ install_binary_class_op() [2/2]

bool type_info::install_binary_class_op ( octave_value::compound_binary_op  op,
binary_class_op_fcn  f 
)
inline

Definition at line 111 of file ov-typeinfo.h.

References f.

◆ install_binary_op() [1/2]

bool type_info::install_binary_op ( octave_value::binary_op  op,
int  t1,
int  t2,
binary_op_fcn  f 
)
inline

Definition at line 105 of file ov-typeinfo.h.

References f.

◆ install_binary_op() [2/2]

bool type_info::install_binary_op ( octave_value::compound_binary_op  op,
int  t_lhs,
int  t_rhs,
binary_op_fcn  f 
)
inline

Definition at line 117 of file ov-typeinfo.h.

References f.

◆ install_cat_op()

bool type_info::install_cat_op ( int  t1,
int  t2,
cat_op_fcn  f 
)
inline

Definition at line 123 of file ov-typeinfo.h.

References f.

◆ install_non_const_unary_op()

bool type_info::install_non_const_unary_op ( octave_value::unary_op  op,
int  t,
non_const_unary_op_fcn  f 
)
inline

Definition at line 93 of file ov-typeinfo.h.

References f.

◆ install_pref_assign_conv()

bool type_info::install_pref_assign_conv ( int  t_lhs,
int  t_rhs,
int  t_result 
)
inline

Definition at line 140 of file ov-typeinfo.h.

◆ install_unary_class_op()

bool type_info::install_unary_class_op ( octave_value::unary_op  op,
unary_class_op_fcn  f 
)
inline

Definition at line 82 of file ov-typeinfo.h.

References f.

◆ install_unary_op()

bool type_info::install_unary_op ( octave_value::unary_op  op,
int  t,
unary_op_fcn  f 
)
inline

Definition at line 88 of file ov-typeinfo.h.

References f.

◆ install_widening_op()

bool type_info::install_widening_op ( int  t,
int  t_result,
octave_base_value::type_conv_fcn  f 
)
inline

Definition at line 145 of file ov-typeinfo.h.

References f.

◆ installed_type_info()

◆ installed_type_names()

string_vector type_info::installed_type_names ( void  ) const

Definition at line 584 of file ov-typeinfo.cc.

References m_num_types, and m_types.

Referenced by Ftypeinfo(), installed_type_info(), and installed_type_names().

◆ lookup_assign_op()

type_info::assign_op_fcn type_info::lookup_assign_op ( octave_value::assign_op  op,
int  t_lhs,
int  t_rhs 
)

Definition at line 556 of file ov-typeinfo.cc.

References Array< T, Alloc >::checkelem(), f, and m_assign_ops.

Referenced by lookup_assign_op(), and register_assign_op().

◆ lookup_assignany_op()

type_info::assignany_op_fcn type_info::lookup_assignany_op ( octave_value::assign_op  op,
int  t_lhs 
)

Definition at line 564 of file ov-typeinfo.cc.

References Array< T, Alloc >::checkelem(), f, and m_assignany_ops.

Referenced by lookup_assignany_op(), and register_assignany_op().

◆ lookup_binary_class_op() [1/2]

type_info::binary_class_op_fcn type_info::lookup_binary_class_op ( octave_value::binary_op  op)

Definition at line 520 of file ov-typeinfo.cc.

References Array< T, Alloc >::checkelem(), f, and m_binary_class_ops.

Referenced by lookup_binary_class_op().

◆ lookup_binary_class_op() [2/2]

type_info::binary_class_op_fcn type_info::lookup_binary_class_op ( octave_value::compound_binary_op  op)

Definition at line 534 of file ov-typeinfo.cc.

References Array< T, Alloc >::checkelem(), f, and m_compound_binary_class_ops.

◆ lookup_binary_op() [1/2]

type_info::binary_op_fcn type_info::lookup_binary_op ( octave_value::binary_op  op,
int  t1,
int  t2 
)

Definition at line 527 of file ov-typeinfo.cc.

References Array< T, Alloc >::checkelem(), f, and m_binary_ops.

Referenced by lookup_binary_op().

◆ lookup_binary_op() [2/2]

type_info::binary_op_fcn type_info::lookup_binary_op ( octave_value::compound_binary_op  op,
int  t1,
int  t2 
)

Definition at line 541 of file ov-typeinfo.cc.

References Array< T, Alloc >::checkelem(), f, and m_compound_binary_ops.

◆ lookup_cat_op()

type_info::cat_op_fcn type_info::lookup_cat_op ( int  t1,
int  t2 
)

Definition at line 549 of file ov-typeinfo.cc.

References Array< T, Alloc >::checkelem(), f, and m_cat_ops.

Referenced by lookup_cat_op(), and register_cat_op().

◆ lookup_non_const_unary_op()

type_info::non_const_unary_op_fcn type_info::lookup_non_const_unary_op ( octave_value::unary_op  op,
int  t 
)

◆ lookup_pref_assign_conv()

int type_info::lookup_pref_assign_conv ( int  t_lhs,
int  t_rhs 
)

◆ lookup_type()

octave_value type_info::lookup_type ( const std::string &  nm)

◆ lookup_unary_class_op()

type_info::unary_class_op_fcn type_info::lookup_unary_class_op ( octave_value::unary_op  op)

◆ lookup_unary_op()

type_info::unary_op_fcn type_info::lookup_unary_op ( octave_value::unary_op  op,
int  t 
)

Definition at line 506 of file ov-typeinfo.cc.

References Array< T, Alloc >::checkelem(), f, and m_unary_ops.

Referenced by lookup_unary_op(), and register_unary_op().

◆ lookup_widening_op()

octave_base_value::type_conv_fcn type_info::lookup_widening_op ( int  t,
int  t_result 
)

Definition at line 577 of file ov-typeinfo.cc.

References Array< T, Alloc >::checkelem(), f, and m_widening_ops.

Referenced by lookup_widening_op(), and register_widening_op().

◆ non_const_unary_ops_map()

◆ operator=()

type_info& type_info::operator= ( const type_info )
delete

◆ register_assign_op()

bool type_info::register_assign_op ( octave_value::assign_op  ,
int  ,
int  ,
assign_op_fcn  ,
bool  abort_on_duplicate = false 
)

◆ register_assignany_op()

bool type_info::register_assignany_op ( octave_value::assign_op  ,
int  ,
assignany_op_fcn  ,
bool  abort_on_duplicate = false 
)

◆ register_binary_class_op() [1/2]

bool type_info::register_binary_class_op ( octave_value::binary_op  ,
binary_class_op_fcn  ,
bool  abort_on_duplicate = false 
)

◆ register_binary_class_op() [2/2]

bool type_info::register_binary_class_op ( octave_value::compound_binary_op  ,
binary_class_op_fcn  ,
bool  abort_on_duplicate = false 
)

◆ register_binary_op() [1/2]

bool type_info::register_binary_op ( octave_value::binary_op  ,
int  ,
int  ,
binary_op_fcn  ,
bool  abort_on_duplicate = false 
)

◆ register_binary_op() [2/2]

bool type_info::register_binary_op ( octave_value::compound_binary_op  ,
int  ,
int  ,
binary_op_fcn  ,
bool  abort_on_duplicate = false 
)

◆ register_cat_op()

bool type_info::register_cat_op ( int  ,
int  ,
cat_op_fcn  ,
bool  abort_on_duplicate = false 
)

◆ register_non_const_unary_op()

bool type_info::register_non_const_unary_op ( octave_value::unary_op  ,
int  ,
non_const_unary_op_fcn  ,
bool  abort_on_duplicate = false 
)

◆ register_pref_assign_conv()

bool type_info::register_pref_assign_conv ( int  t_lhs,
int  t_rhs,
int  t_result,
bool  abort_on_duplicate = false 
)

◆ register_type()

◆ register_unary_class_op()

bool type_info::register_unary_class_op ( octave_value::unary_op  ,
unary_class_op_fcn  ,
bool  abort_on_duplicate = false 
)

◆ register_unary_op()

bool type_info::register_unary_op ( octave_value::unary_op  op,
int  t,
unary_op_fcn  f,
bool  abort_on_duplicate = false 
)

◆ register_widening_op()

bool type_info::register_widening_op ( int  t,
int  t_result,
octave_base_value::type_conv_fcn  f,
bool  abort_on_duplicate = false 
)

◆ unary_ops_map()

Member Data Documentation

◆ m_assign_ops

Array<void *> type_info::m_assign_ops
private

Definition at line 262 of file ov-typeinfo.h.

Referenced by assign_ops_map(), lookup_assign_op(), register_assign_op(), and register_type().

◆ m_assignany_ops

Array<void *> type_info::m_assignany_ops
private

◆ m_binary_class_ops

Array<void *> type_info::m_binary_class_ops
private

Definition at line 252 of file ov-typeinfo.h.

Referenced by lookup_binary_class_op().

◆ m_binary_ops

Array<void *> type_info::m_binary_ops
private

Definition at line 254 of file ov-typeinfo.h.

Referenced by binary_ops_map(), lookup_binary_op(), and register_type().

◆ m_cat_ops

Array<void *> type_info::m_cat_ops
private

Definition at line 260 of file ov-typeinfo.h.

Referenced by installed_type_info(), lookup_cat_op(), register_cat_op(), and register_type().

◆ m_compound_binary_class_ops

Array<void *> type_info::m_compound_binary_class_ops
private

Definition at line 256 of file ov-typeinfo.h.

Referenced by lookup_binary_class_op().

◆ m_compound_binary_ops

Array<void *> type_info::m_compound_binary_ops
private

Definition at line 258 of file ov-typeinfo.h.

Referenced by compound_binary_ops_map(), lookup_binary_op(), and register_type().

◆ m_non_const_unary_ops

Array<void *> type_info::m_non_const_unary_ops
private

◆ m_num_types

◆ m_pref_assign_conv

Array<int> type_info::m_pref_assign_conv
private

◆ m_types

◆ m_unary_class_ops

Array<void *> type_info::m_unary_class_ops
private

Definition at line 246 of file ov-typeinfo.h.

Referenced by lookup_unary_class_op(), and register_unary_class_op().

◆ m_unary_ops

Array<void *> type_info::m_unary_ops
private

Definition at line 248 of file ov-typeinfo.h.

Referenced by lookup_unary_op(), register_type(), register_unary_op(), and unary_ops_map().

◆ m_vals

Array<octave_value *> type_info::m_vals
private

Definition at line 244 of file ov-typeinfo.h.

Referenced by lookup_type(), and register_type().

◆ m_widening_ops

Array<void *> type_info::m_widening_ops
private

The documentation for this class was generated from the following files: