proj home

Files   Classes   Functions   Hierarchy  

isrpnreal Class Reference

#include <rpnfunc.h>

Inheritance diagram for isrpnreal:
Collaboration diagram for isrpnreal:

List of all members.

Public Member Functions

 isrpnreal ()
 isrpnreal (deque< rpnbase * > &ds, bool const evaluate=true)
 ~isrpnreal ()
rpnbasecopy () const
string const name () const
void eval (deque< rpnbase * > &ds)


Detailed Description

Definition at line 959 of file rpnfunc.h.


Constructor & Destructor Documentation

isrpnreal::isrpnreal (  )  [inline]

Definition at line 963 of file rpnfunc.h.

Referenced by copy().

00963 {}

isrpnreal::isrpnreal ( deque< rpnbase * > &  ds,
bool const   evaluate = true 
)

Definition at line 2978 of file rpnfunc.cpp.

References eval().

02979 {
02980   if (evaluate)
02981     eval(ds);
02982   else
02983     ds.push_front(this);
02984 }

isrpnreal::~isrpnreal (  )  [inline]

Definition at line 965 of file rpnfunc.h.

00965 {}


Member Function Documentation

rpnbase * isrpnreal::copy (  )  const [virtual]

Reimplemented from rpnfunction.

Definition at line 2986 of file rpnfunc.cpp.

References isrpnreal().

02987 {
02988   return new isrpnreal();
02989 }

void isrpnreal::eval ( deque< rpnbase * > &  ds  )  [virtual]

Reimplemented from rpnfunction.

Definition at line 2991 of file rpnfunc.cpp.

References rpnbase::dec(), rpnbase::isreal(), and rpninteger::num.

Referenced by isrpnreal().

02992 {
02993   if(ds.empty())
02994     return;
02995 
02996   ds[0]->accept(ds,*this);
02997 
02998   rpninteger* res = new rpninteger();
02999   res->num = 0;
03000 
03001   if( ds[0]->isreal() )
03002     res->num = 1;
03003 
03004   ds.push_front(res);
03005 
03006   dec();
03007 }

string const isrpnreal::name (  )  const [inline, virtual]

Reimplemented from rpnfunction.

Definition at line 968 of file rpnfunc.h.

00968 { return string("isreal"); }


The documentation for this class was generated from the following files:

Generated on Fri Mar 4 00:50:03 2011 for Chelton Evans Source by  doxygen 1.5.8