diff src/pt-arg-list.h @ 4219:23d06c9e1edd

[project @ 2002-12-06 21:29:17 by jwe]
author jwe
date Fri, 06 Dec 2002 21:29:19 +0000
parents 8ad52ec4f374
children 90e44267e8cf
line wrap: on
line diff
--- a/src/pt-arg-list.h	Thu Dec 05 04:43:20 2002 +0000
+++ b/src/pt-arg-list.h	Fri Dec 06 21:29:19 2002 +0000
@@ -27,8 +27,6 @@
 #pragma interface
 #endif
 
-#include <SLList.h>
-
 class octave_value_list;
 
 class tree_expression;
@@ -37,38 +35,29 @@
 
 #include "str-vec.h"
 
+#include "base-list.h"
+
 // Argument lists.  Used to hold the list of expressions that are the
 // arguments in a function call or index expression.
 
 class
-tree_argument_list
+tree_argument_list : public octave_base_list<tree_expression *>
 {
 public:
 
-  tree_argument_list (void)
-    : lst () { }
+  tree_argument_list (void) { }
 
-  tree_argument_list (tree_expression *t)
-    : lst () { lst.append (t); }
+  tree_argument_list (tree_expression *t) { append (t); }
 
   ~tree_argument_list (void);
 
-  int length (void) const { return lst.length (); }
-
-  void append (tree_expression *&s) { lst.append (s); }
-  void append (tree_expression * const &s) { lst.append (s); }
-
-  tree_expression *&operator () (Pix p) { return lst (p); }
-
-  tree_expression * const &operator () (Pix p) const { return lst (p); }
-
-  Pix first (void) const { return lst.first (); }
-
-  void next (Pix& p) const { return lst.next (p); }
-
-  int remove_front (tree_expression *x) { return lst.remove_front (x); }
-
-  tree_expression *remove_front (void) { return lst.remove_front (); }
+  tree_expression *remove_front (void)
+    {
+      iterator p = begin ();
+      tree_expression *retval = *p;
+      erase (p);
+      return retval;
+    }
 
   int nargout_count (void) const;
 
@@ -82,9 +71,6 @@
 
 private:
 
-  // The list of argument list elements.
-  SLList<tree_expression *> lst;
-
   // No copying!
 
   tree_argument_list (const tree_argument_list&);