Public Types | Static Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes

octave_value_typeinfo Class Reference

#include "ov-typeinfo.h"

Collaboration diagram for octave_value_typeinfo:
Collaboration graph
[legend]

List of all members.

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 )(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 &)

Static Public Member Functions

static string_vector installed_type_names (void)
static bool instance_ok (void)
static assign_op_fcn lookup_assign_op (octave_value::assign_op op, int t_lhs, int t_rhs)
static assignany_op_fcn lookup_assignany_op (octave_value::assign_op op, int t_lhs)
static binary_class_op_fcn lookup_binary_class_op (octave_value::binary_op op)
static binary_class_op_fcn lookup_binary_class_op (octave_value::compound_binary_op op)
static binary_op_fcn lookup_binary_op (octave_value::binary_op op, int t1, int t2)
static binary_op_fcn lookup_binary_op (octave_value::compound_binary_op op, int t1, int t2)
static cat_op_fcn lookup_cat_op (int t1, int t2)
static non_const_unary_op_fcn lookup_non_const_unary_op (octave_value::unary_op op, int t)
static int lookup_pref_assign_conv (int t_lhs, int t_rhs)
static octave_value lookup_type (const std::string &nm)
static
octave_base_value::type_conv_fcn 
lookup_type_conv_op (int t, int t_result)
static unary_class_op_fcn lookup_unary_class_op (octave_value::unary_op op)
static unary_op_fcn lookup_unary_op (octave_value::unary_op op, int t)
static
octave_base_value::type_conv_fcn 
lookup_widening_op (int t, int t_result)
static bool register_assign_op (octave_value::assign_op, int, int, assign_op_fcn)
static bool register_assignany_op (octave_value::assign_op, int, assignany_op_fcn)
static bool register_binary_class_op (octave_value::binary_op, binary_class_op_fcn)
static bool register_binary_class_op (octave_value::compound_binary_op, binary_class_op_fcn)
static bool register_binary_op (octave_value::compound_binary_op, int, int, binary_op_fcn)
static bool register_binary_op (octave_value::binary_op, int, int, binary_op_fcn)
static bool register_cat_op (int, int, cat_op_fcn)
static bool register_non_const_unary_op (octave_value::unary_op, int, non_const_unary_op_fcn)
static bool register_pref_assign_conv (int, int, int)
static int register_type (const std::string &, const std::string &, const octave_value &)
static bool register_type_conv_op (int, int, octave_base_value::type_conv_fcn)
static bool register_unary_class_op (octave_value::unary_op, unary_class_op_fcn)
static bool register_unary_op (octave_value::unary_op, int, unary_op_fcn)
static bool register_widening_op (int, int, octave_base_value::type_conv_fcn)

Protected Member Functions

 octave_value_typeinfo (void)
 ~octave_value_typeinfo (void)

Private Member Functions

 octave_value_typeinfo (const octave_value_typeinfo &)
string_vector do_installed_type_names (void)
assign_op_fcn do_lookup_assign_op (octave_value::assign_op, int, int)
assignany_op_fcn do_lookup_assignany_op (octave_value::assign_op, int)
binary_class_op_fcn do_lookup_binary_class_op (octave_value::compound_binary_op)
binary_class_op_fcn do_lookup_binary_class_op (octave_value::binary_op)
binary_op_fcn do_lookup_binary_op (octave_value::binary_op, int, int)
binary_op_fcn do_lookup_binary_op (octave_value::compound_binary_op, int, int)
cat_op_fcn do_lookup_cat_op (int, int)
non_const_unary_op_fcn do_lookup_non_const_unary_op (octave_value::unary_op, int)
int do_lookup_pref_assign_conv (int, int)
octave_value do_lookup_type (const std::string &nm)
octave_base_value::type_conv_fcn do_lookup_type_conv_op (int, int)
unary_class_op_fcn do_lookup_unary_class_op (octave_value::unary_op)
unary_op_fcn do_lookup_unary_op (octave_value::unary_op, int)
octave_base_value::type_conv_fcn do_lookup_widening_op (int, int)
bool do_register_assign_op (octave_value::assign_op, int, int, assign_op_fcn)
bool do_register_assignany_op (octave_value::assign_op, int, assignany_op_fcn)
bool do_register_binary_class_op (octave_value::binary_op, binary_class_op_fcn)
bool do_register_binary_class_op (octave_value::compound_binary_op, binary_class_op_fcn)
bool do_register_binary_op (octave_value::compound_binary_op, int, int, binary_op_fcn)
bool do_register_binary_op (octave_value::binary_op, int, int, binary_op_fcn)
bool do_register_cat_op (int, int, cat_op_fcn)
bool do_register_non_const_unary_op (octave_value::unary_op, int, non_const_unary_op_fcn)
bool do_register_pref_assign_conv (int, int, int)
int do_register_type (const std::string &, const std::string &, const octave_value &)
bool do_register_type_conv_op (int, int, octave_base_value::type_conv_fcn)
bool do_register_unary_class_op (octave_value::unary_op, unary_class_op_fcn)
bool do_register_unary_op (octave_value::unary_op, int, unary_op_fcn)
bool do_register_widening_op (int, int, octave_base_value::type_conv_fcn)
octave_value_typeinfooperator= (const octave_value_typeinfo &)

Static Private Member Functions

static void cleanup_instance (void)

Private Attributes

Array< void * > assign_ops
Array< void * > assignany_ops
Array< void * > binary_class_ops
Array< void * > binary_ops
Array< void * > cat_ops
Array< void * > compound_binary_class_ops
Array< void * > compound_binary_ops
Array< void * > non_const_unary_ops
int num_types
Array< intpref_assign_conv
Array< void * > type_conv_ops
Array< std::string > types
Array< void * > unary_class_ops
Array< void * > unary_ops
Array< octave_valuevals
Array< void * > widening_ops

Static Private Attributes

static const int init_tab_sz
static octave_value_typeinfoinstance

Detailed Description

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


Member Typedef Documentation

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

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

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

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

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

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

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

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


Constructor & Destructor Documentation

octave_value_typeinfo::octave_value_typeinfo ( void   )  [inline, protected]

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

Referenced by instance_ok().

octave_value_typeinfo::~octave_value_typeinfo ( void   )  [inline, protected]

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

octave_value_typeinfo::octave_value_typeinfo ( const octave_value_typeinfo  )  [private]

Member Function Documentation

static void octave_value_typeinfo::cleanup_instance ( void   )  [inline, static, private]

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

Referenced by instance_ok().

string_vector octave_value_typeinfo::do_installed_type_names ( void   )  [private]

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

References num_types, and types.

octave_value_typeinfo::assign_op_fcn octave_value_typeinfo::do_lookup_assign_op ( octave_value::assign_op  op,
int  t_lhs,
int  t_rhs 
) [private]

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

References assign_ops, and Array< T >::checkelem().

octave_value_typeinfo::assignany_op_fcn octave_value_typeinfo::do_lookup_assignany_op ( octave_value::assign_op  op,
int  t_lhs 
) [private]

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

References assignany_ops, and Array< T >::checkelem().

octave_value_typeinfo::binary_class_op_fcn octave_value_typeinfo::do_lookup_binary_class_op ( octave_value::binary_op  op  )  [private]

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

References binary_class_ops, and Array< T >::checkelem().

octave_value_typeinfo::binary_class_op_fcn octave_value_typeinfo::do_lookup_binary_class_op ( octave_value::compound_binary_op  op  )  [private]

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

References Array< T >::checkelem(), and compound_binary_class_ops.

octave_value_typeinfo::binary_op_fcn octave_value_typeinfo::do_lookup_binary_op ( octave_value::compound_binary_op  op,
int  t1,
int  t2 
) [private]

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

References Array< T >::checkelem(), and compound_binary_ops.

octave_value_typeinfo::binary_op_fcn octave_value_typeinfo::do_lookup_binary_op ( octave_value::binary_op  op,
int  t1,
int  t2 
) [private]

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

References binary_ops, and Array< T >::checkelem().

octave_value_typeinfo::cat_op_fcn octave_value_typeinfo::do_lookup_cat_op ( int  t1,
int  t2 
) [private]

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

References cat_ops, and Array< T >::checkelem().

octave_value_typeinfo::non_const_unary_op_fcn octave_value_typeinfo::do_lookup_non_const_unary_op ( octave_value::unary_op  op,
int  t 
) [private]

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

int octave_value_typeinfo::do_lookup_pref_assign_conv ( int  t_lhs,
int  t_rhs 
) [private]

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

References Array< T >::checkelem(), and pref_assign_conv.

octave_value octave_value_typeinfo::do_lookup_type ( const std::string &  nm  )  [private]

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

References octave_value::make_unique(), num_types, types, and vals.

octave_base_value::type_conv_fcn octave_value_typeinfo::do_lookup_type_conv_op ( int  t,
int  t_result 
) [private]

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

References Array< T >::checkelem(), and type_conv_ops.

octave_value_typeinfo::unary_class_op_fcn octave_value_typeinfo::do_lookup_unary_class_op ( octave_value::unary_op  op  )  [private]

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

References Array< T >::checkelem(), and unary_class_ops.

octave_value_typeinfo::unary_op_fcn octave_value_typeinfo::do_lookup_unary_op ( octave_value::unary_op  op,
int  t 
) [private]

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

References Array< T >::checkelem(), and unary_ops.

octave_base_value::type_conv_fcn octave_value_typeinfo::do_lookup_widening_op ( int  t,
int  t_result 
) [private]

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

References Array< T >::checkelem(), and widening_ops.

bool octave_value_typeinfo::do_register_assign_op ( octave_value::assign_op  op,
int  t_lhs,
int  t_rhs,
octave_value_typeinfo::assign_op_fcn  f 
) [private]
bool octave_value_typeinfo::do_register_assignany_op ( octave_value::assign_op  op,
int  t_lhs,
octave_value_typeinfo::assignany_op_fcn  f 
) [private]
bool octave_value_typeinfo::do_register_binary_class_op ( octave_value::compound_binary_op  op,
octave_value_typeinfo::binary_class_op_fcn  f 
) [private]
bool octave_value_typeinfo::do_register_binary_class_op ( octave_value::binary_op  op,
octave_value_typeinfo::binary_class_op_fcn  f 
) [private]
bool octave_value_typeinfo::do_register_binary_op ( octave_value::binary_op  op,
int  t1,
int  t2,
octave_value_typeinfo::binary_op_fcn  f 
) [private]
bool octave_value_typeinfo::do_register_binary_op ( octave_value::compound_binary_op  op,
int  t1,
int  t2,
octave_value_typeinfo::binary_op_fcn  f 
) [private]
bool octave_value_typeinfo::do_register_cat_op ( int  t1,
int  t2,
octave_value_typeinfo::cat_op_fcn  f 
) [private]

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

References cat_ops, Array< T >::checkelem(), lookup_cat_op(), types, and warning().

Referenced by register_cat_op().

bool octave_value_typeinfo::do_register_non_const_unary_op ( octave_value::unary_op  op,
int  t,
octave_value_typeinfo::non_const_unary_op_fcn  f 
) [private]

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

References octave_value::unary_op_as_string(), and warning().

Referenced by register_non_const_unary_op().

bool octave_value_typeinfo::do_register_pref_assign_conv ( int  t_lhs,
int  t_rhs,
int  t_result 
) [private]
int octave_value_typeinfo::do_register_type ( const std::string &  t_name,
const std::string &  ,
const octave_value val 
) [private]
bool octave_value_typeinfo::do_register_type_conv_op ( int  t,
int  t_result,
octave_base_value::type_conv_fcn  f 
) [private]

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

References warning().

Referenced by register_type_conv_op().

bool octave_value_typeinfo::do_register_unary_class_op ( octave_value::unary_op  op,
octave_value_typeinfo::unary_class_op_fcn  f 
) [private]
bool octave_value_typeinfo::do_register_unary_op ( octave_value::unary_op  op,
int  t,
octave_value_typeinfo::unary_op_fcn  f 
) [private]
bool octave_value_typeinfo::do_register_widening_op ( int  t,
int  t_result,
octave_base_value::type_conv_fcn  f 
) [private]

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

References warning().

Referenced by register_widening_op().

static string_vector octave_value_typeinfo::installed_type_names ( void   )  [inline, static]

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

Referenced by DEFUN().

bool octave_value_typeinfo::instance_ok ( void   )  [static]
static assign_op_fcn octave_value_typeinfo::lookup_assign_op ( octave_value::assign_op  op,
int  t_lhs,
int  t_rhs 
) [inline, static]
static assignany_op_fcn octave_value_typeinfo::lookup_assignany_op ( octave_value::assign_op  op,
int  t_lhs 
) [inline, static]

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

Referenced by do_register_assignany_op().

static binary_class_op_fcn octave_value_typeinfo::lookup_binary_class_op ( octave_value::binary_op  op  )  [inline, static]

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

Referenced by do_binary_op(), and do_register_binary_class_op().

static binary_class_op_fcn octave_value_typeinfo::lookup_binary_class_op ( octave_value::compound_binary_op  op  )  [inline, static]

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

static binary_op_fcn octave_value_typeinfo::lookup_binary_op ( octave_value::binary_op  op,
int  t1,
int  t2 
) [inline, static]

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

Referenced by do_binary_op(), and do_register_binary_op().

static binary_op_fcn octave_value_typeinfo::lookup_binary_op ( octave_value::compound_binary_op  op,
int  t1,
int  t2 
) [inline, static]

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

static cat_op_fcn octave_value_typeinfo::lookup_cat_op ( int  t1,
int  t2 
) [inline, static]

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

Referenced by do_cat_op(), and do_register_cat_op().

static non_const_unary_op_fcn octave_value_typeinfo::lookup_non_const_unary_op ( octave_value::unary_op  op,
int  t 
) [inline, static]

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

Referenced by octave_value::do_non_const_unary_op().

static int octave_value_typeinfo::lookup_pref_assign_conv ( int  t_lhs,
int  t_rhs 
) [inline, static]
static octave_value octave_value_typeinfo::lookup_type ( const std::string &  nm  )  [inline, static]

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

Referenced by read_ascii_data(), and read_binary_data().

static octave_base_value::type_conv_fcn octave_value_typeinfo::lookup_type_conv_op ( int  t,
int  t_result 
) [inline, static]

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

Referenced by octave_type_conv_body().

static unary_class_op_fcn octave_value_typeinfo::lookup_unary_class_op ( octave_value::unary_op  op  )  [inline, static]

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

Referenced by do_register_unary_class_op(), and do_unary_op().

static unary_op_fcn octave_value_typeinfo::lookup_unary_op ( octave_value::unary_op  op,
int  t 
) [inline, static]

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

Referenced by do_register_unary_op(), and do_unary_op().

static octave_base_value::type_conv_fcn octave_value_typeinfo::lookup_widening_op ( int  t,
int  t_result 
) [inline, static]

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

Referenced by octave_base_value::numeric_assign().

octave_value_typeinfo& octave_value_typeinfo::operator= ( const octave_value_typeinfo  )  [private]
bool octave_value_typeinfo::register_assign_op ( octave_value::assign_op  op,
int  t_lhs,
int  t_rhs,
octave_value_typeinfo::assign_op_fcn  f 
) [static]

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

References do_register_assign_op(), instance, and instance_ok().

bool octave_value_typeinfo::register_assignany_op ( octave_value::assign_op  op,
int  t_lhs,
octave_value_typeinfo::assignany_op_fcn  f 
) [static]

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

References do_register_assignany_op(), instance, and instance_ok().

bool octave_value_typeinfo::register_binary_class_op ( octave_value::compound_binary_op  op,
octave_value_typeinfo::binary_class_op_fcn  f 
) [static]

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

References do_register_binary_class_op(), instance, and instance_ok().

bool octave_value_typeinfo::register_binary_class_op ( octave_value::binary_op  op,
octave_value_typeinfo::binary_class_op_fcn  f 
) [static]

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

References do_register_binary_class_op(), instance, and instance_ok().

bool octave_value_typeinfo::register_binary_op ( octave_value::compound_binary_op  op,
int  t1,
int  t2,
octave_value_typeinfo::binary_op_fcn  f 
) [static]

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

References do_register_binary_op(), instance, and instance_ok().

bool octave_value_typeinfo::register_binary_op ( octave_value::binary_op  op,
int  t1,
int  t2,
octave_value_typeinfo::binary_op_fcn  f 
) [static]

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

References do_register_binary_op(), instance, and instance_ok().

Referenced by install_m_s_ops().

bool octave_value_typeinfo::register_cat_op ( int  t1,
int  t2,
octave_value_typeinfo::cat_op_fcn  f 
) [static]

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

References do_register_cat_op(), instance, and instance_ok().

bool octave_value_typeinfo::register_non_const_unary_op ( octave_value::unary_op  op,
int  t,
octave_value_typeinfo::non_const_unary_op_fcn  f 
) [static]

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

References do_register_non_const_unary_op(), instance, and instance_ok().

bool octave_value_typeinfo::register_pref_assign_conv ( int  t_lhs,
int  t_rhs,
int  t_result 
) [static]

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

References do_register_pref_assign_conv(), instance, and instance_ok().

int octave_value_typeinfo::register_type ( const std::string &  t_name,
const std::string &  c_name,
const octave_value val 
) [static]

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

References do_register_type(), instance, and instance_ok().

bool octave_value_typeinfo::register_type_conv_op ( int  t,
int  t_result,
octave_base_value::type_conv_fcn  f 
) [static]

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

References do_register_type_conv_op(), instance, and instance_ok().

bool octave_value_typeinfo::register_unary_class_op ( octave_value::unary_op  op,
octave_value_typeinfo::unary_class_op_fcn  f 
) [static]

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

References do_register_unary_class_op(), instance, and instance_ok().

bool octave_value_typeinfo::register_unary_op ( octave_value::unary_op  op,
int  t,
octave_value_typeinfo::unary_op_fcn  f 
) [static]

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

References do_register_unary_op(), instance, and instance_ok().

bool octave_value_typeinfo::register_widening_op ( int  t,
int  t_result,
octave_base_value::type_conv_fcn  f 
) [static]

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

References do_register_widening_op(), instance, and instance_ok().


Member Data Documentation

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

Referenced by do_lookup_assign_op(), do_register_assign_op(), and do_register_type().

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

Referenced by do_lookup_binary_class_op(), and do_register_binary_class_op().

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

Referenced by do_lookup_binary_op(), do_register_binary_op(), and do_register_type().

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

Referenced by do_lookup_cat_op(), do_register_cat_op(), and do_register_type().

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

Referenced by do_lookup_binary_class_op(), and do_register_binary_class_op().

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

Referenced by do_lookup_binary_op(), do_register_binary_op(), and do_register_type().

const int octave_value_typeinfo::init_tab_sz [static, private]

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

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

Referenced by do_register_type().

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

Referenced by do_installed_type_names(), do_lookup_type(), and do_register_type().

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

Referenced by do_lookup_type_conv_op(), and do_register_type().

Array<std::string> octave_value_typeinfo::types [private]

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

Referenced by do_lookup_unary_class_op(), and do_register_unary_class_op().

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

Referenced by do_lookup_unary_op(), do_register_type(), and do_register_unary_op().

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

Referenced by do_lookup_type(), and do_register_type().

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

Referenced by do_lookup_widening_op(), and do_register_type().


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines