Mercurial > hg > octave-lyh
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 +++ b/src/pt-select.h @@ -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&);