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