proj home

Files   Classes   Functions   Hierarchy  

isrpnprogram Class Reference

#include <rpnfunc.h>

Inheritance diagram for isrpnprogram:
Collaboration diagram for isrpnprogram:

List of all members.

Public Member Functions

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


Detailed Description

Definition at line 987 of file rpnfunc.h.


Constructor & Destructor Documentation

isrpnprogram::isrpnprogram (  )  [inline]

Definition at line 991 of file rpnfunc.h.

Referenced by copy().

00991 {}

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

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 }

isrpnprogram::~isrpnprogram (  )  [inline]

Definition at line 993 of file rpnfunc.h.

00993 {}


Member Function Documentation

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]

Reimplemented from rpnfunction.

Definition at line 996 of file rpnfunc.h.

00996 { return string("isprogram"); }


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