Files Classes Functions Hierarchy
#include <rpnfunc.h>
Public Member Functions | |
| vartree () | |
| vartree (deque< rpnbase * > &ds, bool const evaluate=true) | |
| ~vartree () | |
| rpnbase * | copy () const |
| void | draw (rpnprogram *p, unsigned int depth) |
| string const | name () const |
| void | eval (deque< rpnbase * > &ds) |
Definition at line 518 of file rpnfunc.h.
| vartree::vartree | ( | ) | [inline] |
Definition at line 1307 of file rpnfunc.cpp.
References eval().
01308 { 01309 if (evaluate) 01310 eval(ds); 01311 else 01312 ds.push_front(this); 01313 }
| rpnbase * vartree::copy | ( | ) | const [virtual] |
Reimplemented from rpnfunction.
Definition at line 1315 of file rpnfunc.cpp.
References vartree().
01316 { 01317 return new vartree(); 01318 }
| void vartree::draw | ( | rpnprogram * | p, | |
| unsigned int | depth | |||
| ) |
Definition at line 1320 of file rpnfunc.cpp.
References rpnprogram::variables.
Referenced by eval().
01321 { 01322 if(p->variables.empty()) 01323 return; 01324 01325 string space; 01326 for (unsigned int i=0; i<depth; ++i) 01327 space += " "; 01328 01329 for (unsigned int i=0, imax=p->variables.size(); i<imax; ++i) 01330 { 01331 if (p->variables[i]->x->isprogram()) 01332 { 01333 cout << space << p->variables[i]->varname << endl; 01334 draw((rpnprogram*)(p->variables[i]->x),depth+1); 01335 } 01336 } 01337 }
| void vartree::eval | ( | deque< rpnbase * > & | ds | ) | [virtual] |
Reimplemented from rpnfunction.
Definition at line 1339 of file rpnfunc.cpp.
References rpnbase::dec(), and draw().
Referenced by vartree().
01340 { 01341 cout << "." << endl; 01342 draw(rpnprogramstackstate().ps->front(),1); 01343 01344 dec(); 01345 }
| string const vartree::name | ( | ) | const [inline, virtual] |
1.5.8