diff src/ov-base.h @ 3933:f9ea3dcf58ee

[project @ 2002-05-15 03:21:00 by jwe]
author jwe
date Wed, 15 May 2002 03:21:01 +0000
parents 71bd2d124119
children 95663a3a2682
line wrap: on
line diff
--- a/src/ov-base.h	Tue May 07 18:10:44 2002 +0000
+++ b/src/ov-base.h	Wed May 15 03:21:01 2002 +0000
@@ -62,7 +62,8 @@
 
   ~octave_base_value (void) { }
 
-  octave_value *clone (void) { return new octave_base_value (*this); }
+  octave_value *clone (void) const { return new octave_base_value (*this); }
+  octave_value *empty_clone (void) const { return new octave_base_value (); }
 
   type_conv_fcn numeric_conversion_function (void) const
     { return static_cast<type_conv_fcn> (0); }
@@ -70,20 +71,26 @@
   octave_value *try_narrowing_conversion (void)
     { return static_cast<octave_value *> (0); }
 
-  octave_value do_index_op (const octave_value_list& idx);
+  octave_value subsref (const std::string type,
+			const SLList<octave_value_list>& idx);
+
+  octave_value_list subsref (const std::string type,
+			     const SLList<octave_value_list>& idx,
+			     int nargout);
+
+  octave_value do_index_op (const octave_value_list& idx, int resize_ok);
+
+  octave_value do_index_op (const octave_value_list& idx)
+    { return do_index_op (idx, 0); }
 
   octave_value_list
   do_multi_index_op (int nargout, const octave_value_list& idx);
 
   idx_vector index_vector (void) const;
 
-  octave_value
-  do_struct_elt_index_op (const std::string& nm, const octave_value_list& idx,
-			  bool silent);
-
-  octave_value do_struct_elt_index_op (const std::string& nm, bool silent);
-
-  octave_lvalue struct_elt_ref (octave_value *parent, const std::string& nm);
+  octave_value subsasgn (const std::string type,
+			 const SLList<octave_value_list>& idx,
+			 const octave_value& rhs);
 
   int rows (void) const { return -1; }
 
@@ -184,6 +191,8 @@
 
   Octave_map map_value (void) const;
 
+  string_vector map_keys (void) const;
+
   octave_stream stream_value (void) const;
 
   int stream_number (void) const;
@@ -206,6 +215,8 @@
 
   bool print_name_tag (std::ostream& os, const std::string& name) const;
 
+  void print_info (std::ostream& os, const std::string& prefix) const;
+
 private:
 
   DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA