proj home

Files   Classes   Functions   Hierarchy  

varexists Class Reference

#include <rpnfunc.h>

Inheritance diagram for varexists:
Collaboration diagram for varexists:

List of all members.

Public Member Functions

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


Detailed Description

Definition at line 601 of file rpnfunc.h.


Constructor & Destructor Documentation

varexists::varexists (  )  [inline]

Definition at line 605 of file rpnfunc.h.

Referenced by copy().

00605 {}

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

Definition at line 1586 of file rpnfunc.cpp.

References eval().

01587 {
01588   if (evaluate)
01589     eval(ds);
01590   else
01591     ds.push_front(this);
01592 }

varexists::~varexists (  )  [inline]

Definition at line 607 of file rpnfunc.h.

00607 {}


Member Function Documentation

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

Reimplemented from rpnfunction.

Definition at line 1594 of file rpnfunc.cpp.

References varexists().

01595 {
01596   return new varexists();
01597 }

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

Reimplemented from rpnfunction.

Definition at line 1599 of file rpnfunc.cpp.

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

Referenced by varexists().

01600 {
01601   if (!ds.empty())
01602     ds[0]->accept(ds,*this);
01603 
01604   dec();
01605 }

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

Reimplemented from rpnfunction.

Definition at line 612 of file rpnfunc.h.

00612 { return string("isvar"); }

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

Reimplemented from rpnfunction.

Definition at line 1607 of file rpnfunc.cpp.

References rpnstring::str.

01608 {
01609   bool res;
01610   rpnprogramstackstate().exists(res,s.str);
01611   new rpninteger(ds,res);
01612 }


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