proj home

Files   Classes   Functions   Hierarchy  

rpnpop Class Reference

#include <rpnfunc.h>

Inheritance diagram for rpnpop:
Collaboration diagram for rpnpop:

List of all members.

Public Member Functions

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


Detailed Description

Definition at line 42 of file rpnfunc.h.


Constructor & Destructor Documentation

rpnpop::rpnpop (  )  [inline]

Definition at line 46 of file rpnfunc.h.

Referenced by copy().

00046 {}

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

Definition at line 114 of file rpnfunc.cpp.

References eval().

00115 {
00116   if (evaluate)
00117     eval(ds);
00118   else
00119     ds.push_front(this);
00120 }

rpnpop::~rpnpop (  )  [inline]

Definition at line 48 of file rpnfunc.h.

00048 {}


Member Function Documentation

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

Reimplemented from rpnfunction.

Definition at line 122 of file rpnfunc.cpp.

References rpnpop().

00123 {
00124   return new rpnpop(); 
00125 }

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

Reimplemented from rpnfunction.

Definition at line 127 of file rpnfunc.cpp.

References rpnbase::dec().

Referenced by rpnpop().

00128 {
00129 //cout << "rpnpop::eval" << endl;
00130   if (!rpnprogramstackstate().ds2.empty())
00131   {
00132     ds.push_front( rpnprogramstackstate().ds2.front() );
00133     rpnprogramstackstate().ds2.pop_front();
00134   }
00135 
00136   dec();
00137 }

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

Reimplemented from rpnfunction.

Definition at line 51 of file rpnfunc.h.

00051 { return string("pop"); }


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

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