diff src/ov.h @ 2409:47e5f57fb4bd

[project @ 1996-10-15 16:44:26 by jwe]
author jwe
date Tue, 15 Oct 1996 16:44:26 +0000
parents 2142216bf85a
children 367485171742
line wrap: on
line diff
--- a/src/ov.h	Tue Oct 15 16:39:38 1996 +0000
+++ b/src/ov.h	Tue Oct 15 16:44:26 1996 +0000
@@ -70,9 +70,7 @@
   typedef octave_value (*assign_op_fcn)
     (octave_value&, const octave_value_list&, const octave_value&);
 
-  typedef octave_value * (*widening_op_fcn) (const octave_value&);
-
-  typedef octave_value * (*numeric_conv_fcn) (const octave_value&);
+  typedef octave_value * (*type_conv_fcn) (const octave_value&);
 
   enum binary_op
   {
@@ -175,12 +173,26 @@
       return *this;
     }
 
-  virtual numeric_conv_fcn numeric_conversion_function (void) const
+  virtual type_conv_fcn numeric_conversion_function (void) const
     { return rep->numeric_conversion_function (); }
 
+  void maybe_mutate (void);
+
+  virtual octave_value *try_narrow_conversion (void)
+    { return rep->try_narrow_conversion (); }
+
   virtual octave_value index (const octave_value_list& idx) const
     { return rep->index (idx); }
 
+  bool convert_and_assign (const octave_value_list& idx,
+			   const octave_value& rhs);
+
+  bool try_assignment_with_conversion (const octave_value_list& idx,
+				       const octave_value& rhs);
+
+  bool try_assignment (const octave_value_list& idx,
+		       const octave_value& rhs);
+
   octave_value& assign (const octave_value_list& idx, const octave_value& rhs);
 
   virtual idx_vector index_vector (void) const