diff src/ov-typeinfo.cc @ 3196:3ac3e8edc258

[project @ 1998-10-28 23:04:39 by jwe]
author jwe
date Wed, 28 Oct 1998 23:11:11 +0000
parents 38de16594cb4
children bc61b0e8d60e
line wrap: on
line diff
--- a/src/ov-typeinfo.cc	Wed Oct 28 23:01:17 1998 +0000
+++ b/src/ov-typeinfo.cc	Wed Oct 28 23:11:11 1998 +0000
@@ -98,6 +98,14 @@
 }
 
 bool
+octave_value_typeinfo::register_assignany_op (octave_value::assign_op op,
+					       int t_lhs, assign_op_fcn f)
+{
+  return (instance_ok ())
+    ? instance->do_register_assignany_op (op, t_lhs, f) : -1;
+}
+
+bool
 octave_value_typeinfo::register_pref_assign_conv (int t_lhs, int t_rhs,
 						  int t_result) 
 {
@@ -136,6 +144,9 @@
       assign_ops.resize (static_cast<int> (octave_value::num_assign_ops),
 			 len, len, static_cast<assign_op_fcn> (0));
 
+      assignany_ops.resize (static_cast<int> (octave_value::num_assign_ops),
+			    len, static_cast<assign_op_fcn> (0));
+
       pref_assign_conv.resize (len, len, -1);
 
       widening_ops.resize (len, len, static_cast<type_conv_fcn> (0));
@@ -169,6 +180,15 @@
 }
 
 bool
+octave_value_typeinfo::do_register_assignany_op (octave_value::assign_op op,
+						  int t_lhs, assign_op_fcn f)
+{
+  assignany_ops.checkelem (static_cast<int> (op), t_lhs) = f;
+
+  return false;
+}
+
+bool
 octave_value_typeinfo::do_register_pref_assign_conv (int t_lhs, int t_rhs,
 						     int t_result) 
 {
@@ -202,6 +222,13 @@
   return assign_ops.checkelem (static_cast<int> (op), t_lhs, t_rhs);
 }
 
+assign_op_fcn
+octave_value_typeinfo::do_lookup_assignany_op (octave_value::assign_op op,
+					       int t_lhs)
+{
+  return assignany_ops.checkelem (static_cast<int> (op), t_lhs);
+}
+
 int
 octave_value_typeinfo::do_lookup_pref_assign_conv (int t_lhs, int t_rhs)
 {