diff src/pt-select.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 e35b034d3523
line wrap: on
line diff
--- a/src/pt-select.h	Thu Dec 05 04:43:20 2002 +0000
+++ b/src/pt-select.h	Fri Dec 06 21:29:19 2002 +0000
@@ -27,13 +27,12 @@
 #pragma interface
 #endif
 
-#include <SLList.h>
-
 class expression;
 class tree_statement_list;
 
 class tree_walker;
 
+#include "base-list.h"
 #include "comment-list.h"
 #include "pt-cmd.h"
 
@@ -88,45 +87,30 @@
 };
 
 class
-tree_if_command_list
+tree_if_command_list : public octave_base_list<tree_if_clause *>
 {
 public:
 
-  tree_if_command_list (void)
-    : lst () { }
+  tree_if_command_list (void) { }
 
-  tree_if_command_list (tree_if_clause *t)
-    : lst () { lst.append (t); }
+  tree_if_command_list (tree_if_clause *t) { append (t); }
 
   ~tree_if_command_list (void)
     {
-      while (! lst.empty ())
+      while (! empty ())
 	{
-	  tree_if_clause *t = lst.remove_front ();
-	  delete t;
+	  iterator p = begin ();
+	  delete *p;
+	  erase (p);
 	}
     }
 
-  void append (tree_if_clause *&s) { lst.append (s); }
-  void append (tree_if_clause * const &s) { lst.append (s); }
-
-  tree_if_clause *&operator () (Pix p) { return lst (p); }
-
-  tree_if_clause * const &operator () (Pix p) const { return lst (p); }
-
-  Pix first (void) const { return lst.first (); }
-
-  void next (Pix& p) const { return lst.next (p); }
-
   void eval (void);
 
   void accept (tree_walker& tw);
 
 private:
 
-  // The list of if/elseif clauses.
-  SLList<tree_if_clause *> lst;
-
   // No copying!
 
   tree_if_command_list (const tree_if_command_list&);
@@ -230,45 +214,30 @@
 };
 
 class
-tree_switch_case_list
+tree_switch_case_list : public octave_base_list<tree_switch_case *>
 {
 public:
 
-  tree_switch_case_list (void)
-    : lst () { }
+  tree_switch_case_list (void) { }
 
-  tree_switch_case_list (tree_switch_case *t)
-    : lst () { lst.append (t); }
+  tree_switch_case_list (tree_switch_case *t) { append (t); }
 
   ~tree_switch_case_list (void)
     {
-      while (! lst.empty ())
+      while (! empty ())
 	{
-	  tree_switch_case *t = lst.remove_front ();
-	  delete t;
+	  iterator p = begin ();
+	  delete *p;
+	  erase (p);
 	}
     }
 
-  void append (tree_switch_case *&s) { lst.append (s); }
-  void append (tree_switch_case * const &s) { lst.append (s); }
-
-  tree_switch_case *&operator () (Pix p) { return lst (p); }
-
-  tree_switch_case * const &operator () (Pix p) const { return lst (p); }
-
-  Pix first (void) const { return lst.first (); }
-
-  void next (Pix& p) const { return lst.next (p); }
-
   void eval (const octave_value& val);
 
   void accept (tree_walker& tw);
 
 private:
 
-  // The list of switch cases.
-  SLList<tree_switch_case *> lst;
-
   // No copying!
 
   tree_switch_case_list (const tree_switch_case_list&);