comparison src/pt-decl.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
comparison
equal deleted inserted replaced
4211:4804f1151361 4212:8ad52ec4f374
74 74
75 tree_decl_elt& operator = (const tree_decl_elt&); 75 tree_decl_elt& operator = (const tree_decl_elt&);
76 }; 76 };
77 77
78 class 78 class
79 tree_decl_init_list : public SLList<tree_decl_elt *> 79 tree_decl_init_list
80 { 80 {
81 public: 81 public:
82 82
83 tree_decl_init_list (void) 83 tree_decl_init_list (void)
84 : SLList<tree_decl_elt *> () { } 84 : lst () { }
85 85
86 tree_decl_init_list (tree_decl_elt *t) 86 tree_decl_init_list (tree_decl_elt *t)
87 : SLList<tree_decl_elt *> () { append (t); } 87 : lst () { lst.append (t); }
88 88
89 ~tree_decl_init_list (void) 89 ~tree_decl_init_list (void)
90 { 90 {
91 while (! empty ()) 91 while (! lst.empty ())
92 { 92 {
93 tree_decl_elt *t = remove_front (); 93 tree_decl_elt *t = lst.remove_front ();
94 delete t; 94 delete t;
95 } 95 }
96 } 96 }
97 97
98 void append (tree_decl_elt *&s) { lst.append (s); }
99 void append (tree_decl_elt * const &s) { lst.append (s); }
100
101 tree_decl_elt *&operator () (Pix p) { return lst (p); }
102
103 tree_decl_elt * const &operator () (Pix p) const { return lst (p); }
104
105 Pix first (void) const { return lst.first (); }
106
107 void next (Pix& p) const { return lst.next (p); }
108
98 void eval (tree_decl_elt::eval_fcn); 109 void eval (tree_decl_elt::eval_fcn);
99 110
100 void accept (tree_walker& tw); 111 void accept (tree_walker& tw);
101 112
102 private: 113 private:
114
115 // The list of variables/initializers.
116 SLList<tree_decl_elt *> lst;
103 117
104 // No copying! 118 // No copying!
105 119
106 tree_decl_init_list (const tree_decl_init_list&); 120 tree_decl_init_list (const tree_decl_init_list&);
107 121