Files Classes Functions Hierarchy
#include <rpnfunc.h>
Public Member Functions | |
| rpnlessthan () | |
| rpnlessthan (deque< rpnbase * > &ds, bool const evaluate=true) | |
| ~rpnlessthan () | |
| 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 726 of file rpnfunc.h.
| rpnlessthan::rpnlessthan | ( | ) | [inline] |
Definition at line 1967 of file rpnfunc.cpp.
References eval().
01968 { 01969 if (evaluate) 01970 eval(ds); 01971 else 01972 ds.push_front(this); 01973 }
| rpnbase * rpnlessthan::copy | ( | ) | const [virtual] |
Reimplemented from rpnfunction.
Definition at line 1975 of file rpnfunc.cpp.
References rpnlessthan().
01976 { 01977 return new rpnlessthan(); 01978 }
| void rpnlessthan::eval | ( | deque< rpnbase * > & | ds | ) | [virtual] |
Reimplemented from rpnfunction.
Definition at line 1980 of file rpnfunc.cpp.
References rpnbase::accept(), and rpnbase::dec().
Referenced by rpnlessthan().
| string const rpnlessthan::name | ( | ) | const [inline, virtual] |
| void rpnlessthan::visit | ( | deque< rpnbase * > & | ds, | |
| rpninteger & | n | |||
| ) | [virtual] |
Reimplemented from rpnfunction.
Definition at line 2009 of file rpnfunc.cpp.
References rpnbase::dec(), rpnbase::isinteger(), rpnbase::isreal(), and rpninteger::num.
02010 { 02011 rpnbase* x0 = ds.front(); 02012 ds.pop_front(); 02013 rpnbase* x1 = ds.front(); 02014 ds.pop_front(); 02015 02016 if ( x1->isreal()) 02017 { 02018 new rpninteger(ds, ((rpnreal*)x1)->num < n.num ); 02019 } 02020 else 02021 if ( x1->isinteger()) 02022 { 02023 new rpninteger(ds, ((rpninteger*)x1)->num < n.num ); 02024 } 02025 02026 x0->dec(); 02027 x1->dec(); 02028 }
Reimplemented from rpnfunction.
Definition at line 1988 of file rpnfunc.cpp.
References rpnbase::dec(), rpnbase::isinteger(), rpnbase::isreal(), and rpnreal::num.
01989 { 01990 rpnbase* x0 = ds.front(); 01991 ds.pop_front(); 01992 rpnbase* x1 = ds.front(); 01993 ds.pop_front(); 01994 01995 if ( x1->isinteger()) 01996 { 01997 new rpninteger(ds, ((rpninteger*)x1)->num < n.num ); 01998 } 01999 else 02000 if (x1->isreal()) 02001 { 02002 new rpninteger(ds, ((rpnreal*)x1)->num < n.num ); 02003 } 02004 02005 x0->dec(); 02006 x1->dec(); 02007 }
1.5.8