diff src/ov.cc @ 4994:48d0defe9445

[project @ 2004-09-15 20:31:31 by jwe]
author jwe
date Wed, 15 Sep 2004 20:31:31 +0000
parents 25c2664861bc
children d117a9fb83be
line wrap: on
line diff
--- a/src/ov.cc	Wed Sep 15 18:28:56 2004 +0000
+++ b/src/ov.cc	Wed Sep 15 20:31:31 2004 +0000
@@ -844,6 +844,22 @@
 }
 
 octave_value_list
+octave_value::next_subsref (int nargout, const std::string& type,
+			    const std::list<octave_value_list>& idx,
+			    size_t skip) 
+{
+  if (! error_state && idx.size () > skip)
+    {
+      std::list<octave_value_list> new_idx (idx);
+      for (size_t i = 0; i < skip; i++)
+	new_idx.erase (new_idx.begin ());
+      return subsref (type.substr (skip), new_idx, nargout);
+    }
+  else
+    return *this;
+}
+
+octave_value_list
 octave_value::do_multi_index_op (int nargout, const octave_value_list& idx)
 {
   return rep->do_multi_index_op (nargout, idx);