proj home

Files   Classes   Functions   Hierarchy  

vardel Class Reference

#include <rpnfunc.h>

Inheritance diagram for vardel:
Collaboration diagram for vardel:

List of all members.

Public Member Functions

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


Detailed Description

Definition at line 422 of file rpnfunc.h.


Constructor & Destructor Documentation

vardel::vardel (  )  [inline]

Definition at line 426 of file rpnfunc.h.

Referenced by copy().

00426 {}

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

Definition at line 1082 of file rpnfunc.cpp.

References eval().

01083 {
01084   if (evaluate)
01085     eval(ds);
01086   else
01087     ds.push_front(this);
01088 }

vardel::~vardel (  )  [inline]

Definition at line 428 of file rpnfunc.h.

00428 {}


Member Function Documentation

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

Reimplemented from rpnfunction.

Definition at line 1090 of file rpnfunc.cpp.

References vardel().

01091 {
01092   return new vardel();
01093 }

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

Reimplemented from rpnfunction.

Definition at line 1095 of file rpnfunc.cpp.

References rpnbase::accept(), and rpnbase::dec().

Referenced by vardel().

01096 {
01097   if (!ds.empty())
01098     ds[0]->accept(ds,*this);
01099 
01100   dec();
01101 }

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

Reimplemented from rpnfunction.

Definition at line 433 of file rpnfunc.h.

00433 { return string("rm"); }

void vardel::visit ( deque< rpnbase * > &  ds,
rpnstring n 
) [virtual]

Reimplemented from rpnfunction.

Definition at line 1103 of file rpnfunc.cpp.

References rpnbase::dec(), and rpnstring::str.

01104 {
01105   rpnbase* x0 = ds.front();
01106   ds.pop_front();
01107   
01108   rpnprogramstackstate().erase(s.str);
01109 
01110   x0->dec();
01111 }


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

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