Mercurial > hg > octave-lyh
diff src/pt-arg-list.h @ 4212:8ad52ec4f374
[project @ 2002-12-04 03:50:45 by jwe]
author | jwe |
---|---|
date | Wed, 04 Dec 2002 03:50:45 +0000 |
parents | 5719210fff4c |
children | 23d06c9e1edd |
line wrap: on
line diff
--- a/src/pt-arg-list.h +++ b/src/pt-arg-list.h @@ -41,18 +41,35 @@ // arguments in a function call or index expression. class -tree_argument_list : public SLList<tree_expression *> +tree_argument_list { public: tree_argument_list (void) - : SLList<tree_expression *> () { } + : lst () { } tree_argument_list (tree_expression *t) - : SLList<tree_expression *> () { append (t); } + : lst () { lst.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 (); } + int nargout_count (void) const; bool all_elements_are_constant (void) const; @@ -65,6 +82,9 @@ private: + // The list of argument list elements. + SLList<tree_expression *> lst; + // No copying! tree_argument_list (const tree_argument_list&);