proj home

Files   Classes   Functions   Hierarchy  

rpnclearvar Class Reference

#include <rpnfunc.h>

Inheritance diagram for rpnclearvar:
Collaboration diagram for rpnclearvar:

List of all members.

Public Member Functions

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


Detailed Description

Definition at line 130 of file rpnfunc.h.


Constructor & Destructor Documentation

rpnclearvar::rpnclearvar (  )  [inline]

Definition at line 134 of file rpnfunc.h.

Referenced by copy().

00134 {}

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

Definition at line 308 of file rpnfunc.cpp.

References eval().

00309 {
00310   if (evaluate)
00311     eval(ds);
00312   else
00313     ds.push_front(this);
00314 }

rpnclearvar::~rpnclearvar (  )  [inline]

Definition at line 136 of file rpnfunc.h.

00136 {}


Member Function Documentation

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

Reimplemented from rpnfunction.

Definition at line 316 of file rpnfunc.cpp.

References rpnclearvar().

00317 {
00318   return new rpnclearvar(); 
00319 }

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

Reimplemented from rpnfunction.

Definition at line 321 of file rpnfunc.cpp.

References rpnbase::dec().

Referenced by rpnclearvar().

00322 {
00323   deque<rpnvar*>& var = rpnprogramstackstate().vs();
00324   if (!var.empty())
00325   {
00326     for (unsigned int i=0, imax=var.size(); i<imax; ++i)
00327       var[i]->dec();
00328 
00329     var.clear();
00330   }
00331 
00332   dec();
00333 }

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

Reimplemented from rpnfunction.

Definition at line 139 of file rpnfunc.h.

00139 { return string("clearvar"); }


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

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