diff src/oct-obj.cc @ 2872:6285237ed3b9

[project @ 1997-04-19 01:30:58 by jwe]
author jwe
date Sat, 19 Apr 1997 01:30:58 +0000
parents 8b262e771614
children b9e64477f703
line wrap: on
line diff
--- a/src/oct-obj.cc	Sat Apr 19 01:26:39 1997 +0000
+++ b/src/oct-obj.cc	Sat Apr 19 01:30:58 1997 +0000
@@ -31,8 +31,67 @@
 #include "error.h"
 #include "oct-obj.h"
 
-int
-octave_value_list::all_strings (void) const
+octave_value_list&
+octave_value_list::prepend (const octave_value& val)
+{
+  int n = length ();
+
+  resize (n + 1);
+
+  while (n > 0)
+    {
+      elem (n) = elem (n - 1);
+      n--;
+    }
+
+  elem (0) = val;
+  
+  return *this;
+}
+
+octave_value_list&
+octave_value_list::append (const octave_value& val)
+{
+  int n = length ();
+
+  resize (n + 1);
+
+  elem (n) = val;
+
+  return *this;
+}
+
+octave_value_list&
+octave_value_list::append (const octave_value_list& lst)
+{
+  int len = length ();
+  int lst_len = lst.length ();
+
+  resize (len + lst_len);
+
+  for (int i = 0; i < lst_len; i++)
+    elem (len + i) = lst (i);
+
+  return *this;
+}
+
+octave_value_list&
+octave_value_list::reverse (void)
+{
+  int n = length ();
+
+  for (int i = 0; i < n / 2; i++)
+    {
+      octave_value tmp = elem (i);
+      elem (i) = elem (n - i - 1);
+      elem (n - i - 1) = tmp;
+    }
+
+  return *this;
+}
+
+bool
+octave_value_list::all_strings_p (void) const
 {
   int n = length ();
 
@@ -48,7 +107,7 @@
 {
   string_vector argv;
 
-  if (all_strings ())
+  if (all_strings_p ())
     {
       int n = length ();
       argv.resize (n+1);