Files Classes Functions Hierarchy
#include <rpnfunc.h>
Public Member Functions | |
| isrpnprogram () | |
| isrpnprogram (deque< rpnbase * > &ds, bool const evaluate=true) | |
| ~isrpnprogram () | |
| rpnbase * | copy () const |
| string const | name () const |
| void | eval (deque< rpnbase * > &ds) |
Definition at line 987 of file rpnfunc.h.
| isrpnprogram::isrpnprogram | ( | ) | [inline] |
Definition at line 3047 of file rpnfunc.cpp.
References eval().
03048 { 03049 if (evaluate) 03050 eval(ds); 03051 else 03052 ds.push_front(this); 03053 }
| rpnbase * isrpnprogram::copy | ( | ) | const [virtual] |
Reimplemented from rpnfunction.
Definition at line 3055 of file rpnfunc.cpp.
References isrpnprogram().
03056 { 03057 return new isrpnprogram(); 03058 }
| void isrpnprogram::eval | ( | deque< rpnbase * > & | ds | ) | [virtual] |
Reimplemented from rpnfunction.
Definition at line 3060 of file rpnfunc.cpp.
References rpnbase::dec(), rpnbase::isprogram(), and rpninteger::num.
Referenced by isrpnprogram().
03061 { 03062 if(ds.empty()) 03063 return; 03064 03065 ds[0]->accept(ds,*this); 03066 03067 rpninteger* res = new rpninteger(); 03068 res->num = 0; 03069 03070 if( ds[0]->isprogram() ) 03071 res->num = 1; 03072 03073 ds.push_front(res); 03074 03075 dec(); 03076 }
| string const isrpnprogram::name | ( | ) | const [inline, virtual] |
1.5.8