Files Classes Functions Hierarchy
#include <rpnfunc.h>
Public Member Functions | |
| varrecall () | |
| varrecall (deque< rpnbase * > &ds, bool const evaluate=true) | |
| ~varrecall () | |
| rpnbase * | copy () const |
| void | visit (deque< rpnbase * > &ds, rpnstring &n) |
| void | visit (deque< rpnbase * > &ds, rpninteger &n) |
| string const | name () const |
| void | eval (deque< rpnbase * > &ds) |
Definition at line 634 of file rpnfunc.h.
| varrecall::varrecall | ( | ) | [inline] |
Definition at line 1689 of file rpnfunc.cpp.
References eval().
01690 { 01691 if (evaluate) 01692 eval(ds); 01693 else 01694 ds.push_front(this); 01695 }
| rpnbase * varrecall::copy | ( | ) | const [virtual] |
Reimplemented from rpnfunction.
Definition at line 1697 of file rpnfunc.cpp.
References varrecall().
01698 { 01699 return new varrecall(); 01700 }
| void varrecall::eval | ( | deque< rpnbase * > & | ds | ) | [virtual] |
Reimplemented from rpnfunction.
Definition at line 1702 of file rpnfunc.cpp.
References rpnbase::accept(), and rpnbase::dec().
Referenced by varrecall().
| string const varrecall::name | ( | ) | const [inline, virtual] |
| void varrecall::visit | ( | deque< rpnbase * > & | ds, | |
| rpninteger & | n | |||
| ) | [virtual] |
Reimplemented from rpnfunction.
Definition at line 1720 of file rpnfunc.cpp.
References rpnbase::dec(), and rpninteger::num.
01721 { 01722 rpnbase* x0 = ds.front(); 01723 ds.pop_front(); 01724 01725 if (n.num>=0) 01726 { 01727 unsigned int const n2 = (unsigned int)(n.num); 01728 if (n2<ds.size()) 01729 ds.push_front( ds[n.num]->copy() ); 01730 } 01731 01732 x0->dec(); 01733 }
Reimplemented from rpnfunction.
Definition at line 1710 of file rpnfunc.cpp.
References rpnbase::dec(), and rpnstring::str.
01711 { 01712 rpnbase* x0 = ds.front(); 01713 ds.pop_front(); 01714 01715 rpnprogramstackstate().recall(ds,s.str); 01716 01717 x0->dec(); 01718 }
1.5.8