Mercurial > hg > octave-nkf
diff src/ov-typeinfo.cc @ 2882:05926e1b367d
[project @ 1997-04-24 09:48:59 by jwe]
author | jwe |
---|---|
date | Thu, 24 Apr 1997 09:51:05 +0000 |
parents | 8b262e771614 |
children | 66ef74ee5d9f |
line wrap: on
line diff
--- a/src/ov-typeinfo.cc +++ b/src/ov-typeinfo.cc @@ -51,6 +51,7 @@ template class Array<assign_op_fcn>; template class Array2<assign_op_fcn>; +template class Array3<assign_op_fcn>; template class Array<type_conv_fcn>; template class Array2<type_conv_fcn>; @@ -76,13 +77,14 @@ } bool -octave_value_typeinfo::register_assign_op (int t_lhs, int t_rhs, +octave_value_typeinfo::register_assign_op (octave_value::assign_op op, + int t_lhs, int t_rhs, assign_op_fcn f) { if (! instance) instance = new octave_value_typeinfo (); - return instance->do_register_assign_op (t_lhs, t_rhs, f); + return instance->do_register_assign_op (op, t_lhs, t_rhs, f); } bool @@ -125,7 +127,8 @@ binary_ops.resize (static_cast<int> (octave_value::num_binary_ops), len, len, static_cast<binary_op_fcn> (0)); - assign_ops.resize (len, len, static_cast<assign_op_fcn> (0)); + assign_ops.resize (static_cast<int> (octave_value::num_assign_ops), + len, len, static_cast<assign_op_fcn> (0)); pref_assign_conv.resize (len, len, -1); @@ -150,10 +153,11 @@ } bool -octave_value_typeinfo::do_register_assign_op (int t_lhs, int t_rhs, +octave_value_typeinfo::do_register_assign_op (octave_value::assign_op op, + int t_lhs, int t_rhs, assign_op_fcn f) { - assign_ops.checkelem (t_lhs, t_rhs) = f; + assign_ops.checkelem (static_cast<int> (op), t_lhs, t_rhs) = f; return false; } @@ -186,9 +190,10 @@ } assign_op_fcn -octave_value_typeinfo::do_lookup_assign_op (int t_lhs, int t_rhs) +octave_value_typeinfo::do_lookup_assign_op (octave_value::assign_op op, + int t_lhs, int t_rhs) { - return assign_ops.checkelem (t_lhs, t_rhs); + return assign_ops.checkelem (static_cast<int> (op), t_lhs, t_rhs); } int