Files Classes Functions Hierarchy
#include <rpnfunc.h>
Public Member Functions | |
| thenif () | |
| thenif (deque< rpnbase * > &ds, bool const evaluate=true) | |
| ~thenif () | |
| rpnbase * | copy () const |
| void | visit (deque< rpnbase * > &ds, rpnreal &n) |
| void | visit (deque< rpnbase * > &ds, rpninteger &n) |
| string const | name () const |
| void | eval (deque< rpnbase * > &ds) |
Definition at line 355 of file rpnfunc.h.
| thenif::thenif | ( | ) | [inline] |
Definition at line 786 of file rpnfunc.cpp.
References eval().
00787 { 00788 if (evaluate) 00789 eval(ds); 00790 else 00791 ds.push_front(this); 00792 }
| rpnbase * thenif::copy | ( | ) | const [virtual] |
Reimplemented from rpnfunction.
Definition at line 794 of file rpnfunc.cpp.
References thenif().
00795 { 00796 return new thenif(); 00797 }
| void thenif::eval | ( | deque< rpnbase * > & | ds | ) | [virtual] |
Reimplemented from rpnfunction.
Definition at line 799 of file rpnfunc.cpp.
References rpnbase::accept(), and rpnbase::dec().
Referenced by thenif().
| string const thenif::name | ( | ) | const [inline, virtual] |
| void thenif::visit | ( | deque< rpnbase * > & | ds, | |
| rpninteger & | n | |||
| ) | [virtual] |
Reimplemented from rpnfunction.
Definition at line 823 of file rpnfunc.cpp.
References rpnbase::dec(), rpnbase::eval(), and rpninteger::num.
00824 { 00825 rpnbase* x0 = ds.front(); 00826 ds.pop_front(); 00827 // x0 is a pointer to n 00828 rpnbase* x1 = ds.front(); 00829 ds.pop_front(); 00830 00831 if (n.num != 0) 00832 x1->eval(ds); 00833 else 00834 x1->dec(); 00835 00836 x0->dec(); 00837 }
Reimplemented from rpnfunction.
Definition at line 807 of file rpnfunc.cpp.
References rpnbase::dec(), rpnbase::eval(), and rpnreal::num.
00808 { 00809 rpnbase* x0 = ds.front(); 00810 ds.pop_front(); 00811 // x0 is a pointer to n 00812 rpnbase* x1 = ds.front(); 00813 ds.pop_front(); 00814 00815 if (n.num != 0) 00816 x1->eval(ds); 00817 else 00818 x1->dec(); 00819 00820 x0->dec(); 00821 }
1.5.8