Files Classes Functions Hierarchy
#include <rpnfunc.h>
Public Member Functions | |
| rpnascii () | |
| rpnascii (deque< rpnbase * > &ds, bool const evaluate=true) | |
| ~rpnascii () | |
| rpnbase * | copy () const |
| void | visit (deque< rpnbase * > &ds, rpninteger &n) |
| void | visit (deque< rpnbase * > &ds, rpnstring &s) |
| string const | name () const |
| void | eval (deque< rpnbase * > &ds) |
Definition at line 1386 of file rpnfunc.h.
| rpnascii::rpnascii | ( | ) | [inline] |
Definition at line 4244 of file rpnfunc.cpp.
References eval().
04245 { 04246 if (evaluate) 04247 eval(ds); 04248 else 04249 ds.push_front(this); 04250 }
| rpnbase * rpnascii::copy | ( | ) | const [virtual] |
Reimplemented from rpnfunction.
Definition at line 4252 of file rpnfunc.cpp.
References rpnascii().
04253 { 04254 return new rpnascii(); 04255 }
| void rpnascii::eval | ( | deque< rpnbase * > & | ds | ) | [virtual] |
Reimplemented from rpnfunction.
Definition at line 4257 of file rpnfunc.cpp.
References rpnbase::accept(), and rpnbase::dec().
Referenced by rpnascii().
| string const rpnascii::name | ( | ) | const [inline, virtual] |
Reimplemented from rpnfunction.
Definition at line 4278 of file rpnfunc.cpp.
References rpnbase::dec(), and rpnstring::str.
04279 { 04280 if (s.str.empty()) 04281 return; 04282 04283 rpnbase* x0 = ds.front(); 04284 ds.pop_front(); 04285 04286 long int num = s.str[0]; 04287 04288 new rpninteger(ds,num); 04289 04290 x0->dec(); 04291 }
| void rpnascii::visit | ( | deque< rpnbase * > & | ds, | |
| rpninteger & | n | |||
| ) | [virtual] |
Reimplemented from rpnfunction.
Definition at line 4265 of file rpnfunc.cpp.
References rpnbase::dec(), and rpninteger::num.
04266 { 04267 rpnbase* x0 = ds.front(); 04268 ds.pop_front(); 04269 04270 char ch = (char)(n.num); 04271 string s; s+= ch; 04272 04273 new rpnstring(ds,s); 04274 04275 x0->dec(); 04276 }
1.5.8